@neo4j-cypher/query-tools 2.0.0-next.36 → 2.0.0-next.38

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 (162) hide show
  1. package/CHANGELOG.md +21 -0
  2. package/dist/cjs/index.cjs +1848 -0
  3. package/dist/cjs/index.cjs.map +7 -0
  4. package/dist/esm/package.json +9 -8
  5. package/dist/esm/src/connectionErrorHandler.d.ts +1 -2
  6. package/dist/esm/src/connectionErrorHandler.js +1 -1
  7. package/dist/esm/src/connectionErrorHandler.js.map +1 -1
  8. package/dist/esm/src/cypher-execution/extract-unique-nodes-and-relationships.d.ts +1 -1
  9. package/dist/esm/src/cypher-execution/extract-unique-nodes-and-relationships.test.js +0 -4
  10. package/dist/esm/src/cypher-execution/extract-unique-nodes-and-relationships.test.js.map +1 -1
  11. package/dist/esm/src/cypher-execution/query-result.js +2 -9
  12. package/dist/esm/src/cypher-execution/query-result.js.map +1 -1
  13. package/dist/esm/src/data-transforms/record-to-string.js +1 -2
  14. package/dist/esm/src/data-transforms/record-to-string.js.map +1 -1
  15. package/dist/esm/src/integration-tests/pollingIntegrationTests.test.js.map +1 -1
  16. package/dist/esm/src/integration-tests/setupTestContainer.d.ts +1 -1
  17. package/dist/esm/src/integration-tests/setupTestContainer.js +1 -1
  18. package/dist/esm/src/integration-tests/setupTestContainer.js.map +1 -1
  19. package/dist/esm/src/metadataPoller.d.ts +4 -4
  20. package/dist/esm/src/metadataPoller.js +1 -1
  21. package/dist/esm/src/metadataPoller.js.map +1 -1
  22. package/dist/esm/src/neo4jConnection.d.ts +4 -4
  23. package/dist/esm/src/neo4jConnection.js +2 -2
  24. package/dist/esm/src/neo4jConnection.js.map +1 -1
  25. package/dist/esm/src/queries/dataSummary.d.ts +1 -1
  26. package/dist/esm/src/queries/dataSummary.js.map +1 -1
  27. package/dist/esm/src/queries/databases.d.ts +3 -13
  28. package/dist/esm/src/queries/databases.js +2 -5
  29. package/dist/esm/src/queries/databases.js.map +1 -1
  30. package/dist/esm/src/queries/functions.d.ts +1 -3
  31. package/dist/esm/src/queries/functions.js +2 -3
  32. package/dist/esm/src/queries/functions.js.map +1 -1
  33. package/dist/esm/src/queries/graphSchema.d.ts +2 -2
  34. package/dist/esm/src/queries/graphSchema.js +1 -1
  35. package/dist/esm/src/queries/graphSchema.js.map +1 -1
  36. package/dist/esm/src/queries/procedures.d.ts +1 -3
  37. package/dist/esm/src/queries/procedures.js +2 -3
  38. package/dist/esm/src/queries/procedures.js.map +1 -1
  39. package/dist/esm/src/queries/version.d.ts +1 -1
  40. package/dist/esm/src/result-transformers/graph-result-transformer.d.ts +4 -3
  41. package/dist/esm/src/result-transformers/graph-result-transformer.js +2 -2
  42. package/dist/esm/src/result-transformers/graph-result-transformer.js.map +1 -1
  43. package/dist/esm/src/schemaPoller.d.ts +3 -3
  44. package/dist/esm/src/schemaPoller.js.map +1 -1
  45. package/dist/esm/src/types/sdkTypes.d.ts +1 -6
  46. package/dist/esm/tsconfig.tsbuildinfo +1 -1
  47. package/dist/types/src/connectionErrorHandler.d.ts +1 -2
  48. package/dist/types/src/cypher-execution/extract-unique-nodes-and-relationships.d.ts +1 -1
  49. package/dist/types/src/integration-tests/setupTestContainer.d.ts +1 -1
  50. package/dist/types/src/metadataPoller.d.ts +4 -4
  51. package/dist/types/src/neo4jConnection.d.ts +4 -4
  52. package/dist/types/src/queries/dataSummary.d.ts +1 -1
  53. package/dist/types/src/queries/databases.d.ts +3 -13
  54. package/dist/types/src/queries/functions.d.ts +1 -3
  55. package/dist/types/src/queries/graphSchema.d.ts +2 -2
  56. package/dist/types/src/queries/procedures.d.ts +1 -3
  57. package/dist/types/src/queries/version.d.ts +1 -1
  58. package/dist/types/src/result-transformers/graph-result-transformer.d.ts +4 -3
  59. package/dist/types/src/schemaPoller.d.ts +3 -3
  60. package/dist/types/src/types/sdkTypes.d.ts +1 -6
  61. package/dist/types/tsconfig.tsbuildinfo +1 -1
  62. package/package.json +10 -9
  63. package/src/connectionErrorHandler.ts +6 -3
  64. package/src/cypher-execution/extract-unique-nodes-and-relationships.test.ts +0 -4
  65. package/src/cypher-execution/extract-unique-nodes-and-relationships.ts +1 -1
  66. package/src/cypher-execution/query-result.ts +1 -13
  67. package/src/data-transforms/record-to-string.ts +2 -3
  68. package/src/integration-tests/pollingIntegrationTests.test.ts +6 -5
  69. package/src/integration-tests/setupTestContainer.ts +3 -2
  70. package/src/metadataPoller.ts +14 -10
  71. package/src/neo4jConnection.ts +6 -6
  72. package/src/queries/dataSummary.ts +4 -4
  73. package/src/queries/databases.ts +5 -7
  74. package/src/queries/functions.ts +7 -4
  75. package/src/queries/graphSchema.ts +8 -7
  76. package/src/queries/procedures.ts +7 -4
  77. package/src/queries/version.ts +1 -1
  78. package/src/result-transformers/graph-result-transformer.ts +5 -11
  79. package/src/schemaPoller.ts +4 -3
  80. package/src/types/sdkTypes.ts +1 -7
  81. package/tsconfig.json +4 -4
  82. package/tsconfig.node.json +1 -2
  83. package/dist/cjs/package.json +0 -46
  84. package/dist/cjs/src/connectionErrorHandler.d.ts +0 -12
  85. package/dist/cjs/src/connectionErrorHandler.js +0 -41
  86. package/dist/cjs/src/connectionErrorHandler.js.map +0 -1
  87. package/dist/cjs/src/cypher-execution/extract-unique-nodes-and-relationships.d.ts +0 -33
  88. package/dist/cjs/src/cypher-execution/extract-unique-nodes-and-relationships.js +0 -93
  89. package/dist/cjs/src/cypher-execution/extract-unique-nodes-and-relationships.js.map +0 -1
  90. package/dist/cjs/src/cypher-execution/extract-unique-nodes-and-relationships.test.d.ts +0 -1
  91. package/dist/cjs/src/cypher-execution/extract-unique-nodes-and-relationships.test.js +0 -129
  92. package/dist/cjs/src/cypher-execution/extract-unique-nodes-and-relationships.test.js.map +0 -1
  93. package/dist/cjs/src/cypher-execution/query-result.d.ts +0 -11
  94. package/dist/cjs/src/cypher-execution/query-result.js +0 -239
  95. package/dist/cjs/src/cypher-execution/query-result.js.map +0 -1
  96. package/dist/cjs/src/data-transforms/clean-type.d.ts +0 -6
  97. package/dist/cjs/src/data-transforms/clean-type.js +0 -16
  98. package/dist/cjs/src/data-transforms/clean-type.js.map +0 -1
  99. package/dist/cjs/src/data-transforms/cypher-type-names.d.ts +0 -6
  100. package/dist/cjs/src/data-transforms/cypher-type-names.js +0 -91
  101. package/dist/cjs/src/data-transforms/cypher-type-names.js.map +0 -1
  102. package/dist/cjs/src/data-transforms/format-float.d.ts +0 -1
  103. package/dist/cjs/src/data-transforms/format-float.js +0 -14
  104. package/dist/cjs/src/data-transforms/format-float.js.map +0 -1
  105. package/dist/cjs/src/data-transforms/record-to-string.d.ts +0 -8
  106. package/dist/cjs/src/data-transforms/record-to-string.js +0 -185
  107. package/dist/cjs/src/data-transforms/record-to-string.js.map +0 -1
  108. package/dist/cjs/src/index.d.ts +0 -17
  109. package/dist/cjs/src/index.js +0 -33
  110. package/dist/cjs/src/index.js.map +0 -1
  111. package/dist/cjs/src/integration-tests/pollingIntegrationTests.test.d.ts +0 -1
  112. package/dist/cjs/src/integration-tests/pollingIntegrationTests.test.js +0 -42
  113. package/dist/cjs/src/integration-tests/pollingIntegrationTests.test.js.map +0 -1
  114. package/dist/cjs/src/integration-tests/setupTestContainer.d.ts +0 -10
  115. package/dist/cjs/src/integration-tests/setupTestContainer.js +0 -23
  116. package/dist/cjs/src/integration-tests/setupTestContainer.js.map +0 -1
  117. package/dist/cjs/src/metadataPoller.d.ts +0 -34
  118. package/dist/cjs/src/metadataPoller.js +0 -214
  119. package/dist/cjs/src/metadataPoller.js.map +0 -1
  120. package/dist/cjs/src/neo4jConnection.d.ts +0 -36
  121. package/dist/cjs/src/neo4jConnection.js +0 -128
  122. package/dist/cjs/src/neo4jConnection.js.map +0 -1
  123. package/dist/cjs/src/queries/dataSummary.d.ts +0 -7
  124. package/dist/cjs/src/queries/dataSummary.js +0 -33
  125. package/dist/cjs/src/queries/dataSummary.js.map +0 -1
  126. package/dist/cjs/src/queries/databases.d.ts +0 -38
  127. package/dist/cjs/src/queries/databases.js +0 -114
  128. package/dist/cjs/src/queries/databases.js.map +0 -1
  129. package/dist/cjs/src/queries/functions.d.ts +0 -16
  130. package/dist/cjs/src/queries/functions.js +0 -88
  131. package/dist/cjs/src/queries/functions.js.map +0 -1
  132. package/dist/cjs/src/queries/graphSchema.d.ts +0 -28
  133. package/dist/cjs/src/queries/graphSchema.js +0 -88
  134. package/dist/cjs/src/queries/graphSchema.js.map +0 -1
  135. package/dist/cjs/src/queries/procedures.d.ts +0 -16
  136. package/dist/cjs/src/queries/procedures.js +0 -106
  137. package/dist/cjs/src/queries/procedures.js.map +0 -1
  138. package/dist/cjs/src/queries/roles.d.ts +0 -11
  139. package/dist/cjs/src/queries/roles.js +0 -24
  140. package/dist/cjs/src/queries/roles.js.map +0 -1
  141. package/dist/cjs/src/queries/users.d.ts +0 -15
  142. package/dist/cjs/src/queries/users.js +0 -24
  143. package/dist/cjs/src/queries/users.js.map +0 -1
  144. package/dist/cjs/src/queries/version.d.ts +0 -7
  145. package/dist/cjs/src/queries/version.js +0 -32
  146. package/dist/cjs/src/queries/version.js.map +0 -1
  147. package/dist/cjs/src/result-transformers/graph-result-transformer.d.ts +0 -36
  148. package/dist/cjs/src/result-transformers/graph-result-transformer.js +0 -37
  149. package/dist/cjs/src/result-transformers/graph-result-transformer.js.map +0 -1
  150. package/dist/cjs/src/schemaPoller.d.ts +0 -45
  151. package/dist/cjs/src/schemaPoller.js +0 -199
  152. package/dist/cjs/src/schemaPoller.js.map +0 -1
  153. package/dist/cjs/src/types/cypher-data-types.d.ts +0 -41
  154. package/dist/cjs/src/types/cypher-data-types.js +0 -47
  155. package/dist/cjs/src/types/cypher-data-types.js.map +0 -1
  156. package/dist/cjs/src/types/sdkTypes.d.ts +0 -23
  157. package/dist/cjs/src/types/sdkTypes.js +0 -11
  158. package/dist/cjs/src/types/sdkTypes.js.map +0 -1
  159. package/dist/cjs/tsconfig.tsbuildinfo +0 -1
  160. package/dist/cjs/vitest.config.d.mts +0 -2
  161. package/dist/cjs/vitest.config.mjs +0 -10
  162. package/dist/cjs/vitest.config.mjs.map +0 -1
@@ -1,88 +0,0 @@
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
- exports.functionSchema = void 0;
7
- exports.listFunctions = listFunctions;
8
- const ajv_1 = __importDefault(require("ajv"));
9
- const neo4j_driver_1 = require("neo4j-driver");
10
- const clean_type_js_1 = require("../data-transforms/clean-type.js");
11
- function cleanTypes(result) {
12
- return {
13
- ...result,
14
- argumentDescription: result.argumentDescription.map(clean_type_js_1.cleanTypeDescription),
15
- returnDescription: (0, clean_type_js_1.cleanType)(result.returnDescription),
16
- };
17
- }
18
- exports.functionSchema = {
19
- type: 'object',
20
- properties: {
21
- aggregating: { type: 'boolean' },
22
- argumentDescription: {
23
- type: 'array',
24
- items: {
25
- type: 'object',
26
- properties: {
27
- name: { type: 'string' },
28
- description: { type: 'string' },
29
- type: { type: 'string' },
30
- default: { type: 'string', nullable: true },
31
- isDeprecated: { type: 'boolean', default: false },
32
- },
33
- required: ['name', 'description', 'type', 'isDeprecated'],
34
- },
35
- },
36
- category: { type: 'string' },
37
- description: { type: 'string' },
38
- isBuiltIn: { type: 'boolean' },
39
- name: { type: 'string' },
40
- returnDescription: { type: 'string' },
41
- signature: { type: 'string' },
42
- isDeprecated: { type: 'boolean', default: false },
43
- deprecatedBy: { type: 'string', nullable: true },
44
- },
45
- required: [
46
- 'aggregating',
47
- 'argumentDescription',
48
- 'category',
49
- 'description',
50
- 'isBuiltIn',
51
- 'isDeprecated',
52
- 'name',
53
- 'returnDescription',
54
- 'signature',
55
- ],
56
- additionalProperties: true,
57
- };
58
- const validateFunction = new ajv_1.default({ useDefaults: true }).compile(exports.functionSchema);
59
- /**
60
- * Gets available functions in your database
61
- * https://neo4j.com/docs/cypher-manual/current/clauses/listing-functions/
62
- */
63
- function listFunctions({ executableByMe, cypherVersion } = {
64
- executableByMe: false,
65
- cypherVersion: undefined,
66
- }) {
67
- const query = `${cypherVersion ? cypherVersion + ' ' : ''}
68
- SHOW FUNCTIONS
69
- ${executableByMe ? 'EXECUTABLE BY CURRENT USER' : ''}
70
- YIELD *`;
71
- const resultTransformer = neo4j_driver_1.resultTransformers.mapped({
72
- map(record) {
73
- const objResult = record.toObject();
74
- validateFunction(objResult);
75
- // eslint-disable-next-line @typescript-eslint/consistent-type-assertions
76
- const result = cleanTypes(objResult);
77
- return result;
78
- },
79
- collect(functions, summary) {
80
- return { functions, summary };
81
- },
82
- });
83
- return {
84
- query,
85
- queryConfig: { resultTransformer, routing: 'READ', database: 'system' },
86
- };
87
- }
88
- //# sourceMappingURL=functions.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"functions.js","sourceRoot":"","sources":["../../../../src/queries/functions.ts"],"names":[],"mappings":"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"}
@@ -1,28 +0,0 @@
1
- import { ExecuteQueryArgs } from '../types/sdkTypes.js';
2
- export type NeoNode = {
3
- labels: string[];
4
- elementId: string;
5
- };
6
- type NeoRel = {
7
- type: string;
8
- endNodeElementId: string;
9
- startNodeElementId: string;
10
- };
11
- export type GraphSchema = {
12
- nodes: NeoNode[];
13
- relationships: NeoRel[];
14
- };
15
- export declare const validateGraphSchema: import("ajv").ValidateFunction<GraphSchema>;
16
- export declare function listGraphSchema(database: string | undefined): ExecuteQueryArgs<{
17
- graphSchema: {
18
- from: string;
19
- to: string;
20
- relType: string;
21
- }[];
22
- }>;
23
- export declare function extractRelationshipsWithNamedNodes(graphSchemas: GraphSchema[]): {
24
- from: string;
25
- to: string;
26
- relType: string;
27
- }[];
28
- export {};
@@ -1,88 +0,0 @@
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
- exports.validateGraphSchema = void 0;
7
- exports.listGraphSchema = listGraphSchema;
8
- exports.extractRelationshipsWithNamedNodes = extractRelationshipsWithNamedNodes;
9
- const neo4j_driver_1 = require("neo4j-driver");
10
- const ajv_1 = __importDefault(require("ajv"));
11
- const graphSchemaSchema = {
12
- type: 'object',
13
- properties: {
14
- nodes: {
15
- type: 'array',
16
- items: {
17
- type: 'object',
18
- properties: {
19
- labels: {
20
- type: 'array',
21
- items: { type: 'string' },
22
- },
23
- elementId: { type: 'string' },
24
- },
25
- required: ['labels', 'elementId'],
26
- additionalProperties: true,
27
- },
28
- },
29
- relationships: {
30
- type: 'array',
31
- items: {
32
- type: 'object',
33
- properties: {
34
- type: { type: 'string' },
35
- endNodeElementId: { type: 'string' },
36
- startNodeElementId: { type: 'string' },
37
- },
38
- required: ['type', 'endNodeElementId', 'startNodeElementId'],
39
- additionalProperties: true,
40
- },
41
- },
42
- },
43
- required: ['nodes', 'relationships'],
44
- additionalProperties: true,
45
- };
46
- //exported for testing
47
- exports.validateGraphSchema = new ajv_1.default({ useDefaults: true }).compile(graphSchemaSchema);
48
- function listGraphSchema(database) {
49
- const query = `CALL db.schema.visualization() YIELD *`;
50
- const resultTransformer = neo4j_driver_1.resultTransformers.mapped({
51
- map(record) {
52
- const objResult = record.toObject();
53
- (0, exports.validateGraphSchema)(objResult);
54
- return objResult;
55
- },
56
- collect(records, summary) {
57
- return {
58
- summary,
59
- graphSchema: extractRelationshipsWithNamedNodes(records),
60
- };
61
- },
62
- });
63
- return {
64
- query,
65
- queryConfig: { resultTransformer, routing: 'READ', database },
66
- };
67
- }
68
- //exported for testing
69
- function extractRelationshipsWithNamedNodes(graphSchemas) {
70
- const items = [];
71
- if (graphSchemas.length !== 1) {
72
- return items;
73
- }
74
- const graphSchema = graphSchemas[0];
75
- const nodes = {};
76
- for (const node of graphSchema.nodes) {
77
- //Query should only return 1 label
78
- nodes[node.elementId] = node.labels[0];
79
- }
80
- for (const rel of graphSchema.relationships) {
81
- const from = nodes[rel.startNodeElementId];
82
- const to = nodes[rel.endNodeElementId];
83
- const relType = rel.type;
84
- items.push({ from, to, relType });
85
- }
86
- return items;
87
- }
88
- //# sourceMappingURL=graphSchema.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"graphSchema.js","sourceRoot":"","sources":["../../../../src/queries/graphSchema.ts"],"names":[],"mappings":"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"}
@@ -1,16 +0,0 @@
1
- import { CypherVersion, Neo4jProcedure } from '@neo4j-cypher/language-support';
2
- import { JSONSchemaType } from 'ajv';
3
- import type { ExecuteQueryArgs } from '../types/sdkTypes.js';
4
- type ListProcedureArgs = {
5
- executableByMe: boolean;
6
- cypherVersion?: CypherVersion;
7
- };
8
- export declare const procedureSchema: JSONSchemaType<Neo4jProcedure>;
9
- /**
10
- * Gets available procedures on your database
11
- * https://neo4j.com/docs/cypher-manual/current/clauses/listing-procedures/
12
- */
13
- export declare function listProcedures({ executableByMe, cypherVersion }?: ListProcedureArgs): ExecuteQueryArgs<{
14
- procedures: Neo4jProcedure[];
15
- }>;
16
- export {};
@@ -1,106 +0,0 @@
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
- exports.procedureSchema = void 0;
7
- exports.listProcedures = listProcedures;
8
- const ajv_1 = __importDefault(require("ajv"));
9
- const neo4j_driver_1 = require("neo4j-driver");
10
- const clean_type_js_1 = require("../data-transforms/clean-type.js");
11
- exports.procedureSchema = {
12
- type: 'object',
13
- properties: {
14
- admin: { type: 'boolean' },
15
- argumentDescription: {
16
- type: 'array',
17
- items: {
18
- type: 'object',
19
- properties: {
20
- name: { type: 'string' },
21
- description: { type: 'string' },
22
- type: { type: 'string' },
23
- default: { type: 'string', nullable: true },
24
- isDeprecated: { type: 'boolean', default: false },
25
- },
26
- required: ['name', 'description', 'type', 'isDeprecated'],
27
- },
28
- },
29
- description: { type: 'string' },
30
- mode: { type: 'string' },
31
- name: { type: 'string' },
32
- option: { type: 'object' },
33
- returnDescription: {
34
- type: 'array',
35
- items: {
36
- type: 'object',
37
- properties: {
38
- name: { type: 'string' },
39
- description: { type: 'string' },
40
- type: { type: 'string' },
41
- isDeprecated: { type: 'boolean', default: false },
42
- },
43
- required: ['name', 'description', 'type', 'isDeprecated'],
44
- },
45
- },
46
- signature: { type: 'string' },
47
- worksOnSystem: { type: 'boolean' },
48
- deprecatedBy: { type: 'string', nullable: true },
49
- },
50
- required: [
51
- 'admin',
52
- 'argumentDescription',
53
- 'description',
54
- 'mode',
55
- 'name',
56
- 'option',
57
- 'returnDescription',
58
- 'signature',
59
- 'worksOnSystem',
60
- ],
61
- additionalProperties: true,
62
- };
63
- const validateProcedure = new ajv_1.default({ useDefaults: true }).compile(exports.procedureSchema);
64
- function cleanTypes(result) {
65
- return {
66
- ...result,
67
- argumentDescription: result.argumentDescription.map(clean_type_js_1.cleanTypeDescription),
68
- returnDescription: result.returnDescription.map(clean_type_js_1.cleanTypeDescription),
69
- };
70
- }
71
- /**
72
- * Gets available procedures on your database
73
- * https://neo4j.com/docs/cypher-manual/current/clauses/listing-procedures/
74
- */
75
- function listProcedures({ executableByMe, cypherVersion } = {
76
- executableByMe: false,
77
- cypherVersion: undefined,
78
- }) {
79
- const query = `${cypherVersion ? cypherVersion + ' ' : ''}
80
- SHOW PROCEDURES
81
- ${executableByMe ? 'EXECUTABLE BY CURRENT USER' : ''}
82
- YIELD *`;
83
- const resultTransformer = neo4j_driver_1.resultTransformers.mapped({
84
- map(record) {
85
- // Assign default values (e.g. isDeprecated) in case they are not present
86
- const objResult = record.toObject();
87
- validateProcedure(objResult);
88
- // Type is verified in integration tests
89
- // eslint-disable-next-line @typescript-eslint/consistent-type-assertions
90
- const result = cleanTypes(objResult);
91
- return result;
92
- },
93
- collect(procedures, summary) {
94
- return { procedures, summary };
95
- },
96
- });
97
- return {
98
- query,
99
- queryConfig: {
100
- routing: 'READ',
101
- database: 'system',
102
- resultTransformer,
103
- },
104
- };
105
- }
106
- //# sourceMappingURL=procedures.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"procedures.js","sourceRoot":"","sources":["../../../../src/queries/procedures.ts"],"names":[],"mappings":"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"}
@@ -1,11 +0,0 @@
1
- import type { ExecuteQueryArgs } from '../types/sdkTypes.js';
2
- export type Neo4jRole = {
3
- role: string;
4
- };
5
- /**
6
- * Gets available roles in your database
7
- * https://neo4j.com/docs/operations-manual/current/authentication-authorization/manage-roles/#access-control-list-roles
8
- */
9
- export declare function listRoles(): ExecuteQueryArgs<{
10
- roles: Neo4jRole[];
11
- }>;
@@ -1,24 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.listRoles = listRoles;
4
- const neo4j_driver_1 = require("neo4j-driver");
5
- /**
6
- * Gets available roles in your database
7
- * https://neo4j.com/docs/operations-manual/current/authentication-authorization/manage-roles/#access-control-list-roles
8
- */
9
- function listRoles() {
10
- const query = `SHOW ROLES`;
11
- const resultTransformer = neo4j_driver_1.resultTransformers.mapped({
12
- map(record) {
13
- return record.toObject();
14
- },
15
- collect(roles, summary) {
16
- return { roles, summary };
17
- },
18
- });
19
- return {
20
- query,
21
- queryConfig: { resultTransformer, routing: 'READ', database: 'system' },
22
- };
23
- }
24
- //# sourceMappingURL=roles.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"roles.js","sourceRoot":"","sources":["../../../../src/queries/roles.ts"],"names":[],"mappings":";;AAWA,8BAkBC;AA7BD,+CAAkD;AAOlD;;;GAGG;AACH,SAAgB,SAAS;IAGvB,MAAM,KAAK,GAAG,YAAY,CAAC;IAE3B,MAAM,iBAAiB,GAAG,iCAAkB,CAAC,MAAM,CAAC;QAClD,GAAG,CAAC,MAAM;YACR,OAAO,MAAM,CAAC,QAAQ,EAAe,CAAC;QACxC,CAAC;QACD,OAAO,CAAC,KAAK,EAAE,OAAO;YACpB,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;QAC5B,CAAC;KACF,CAAC,CAAC;IAEH,OAAO;QACL,KAAK;QACL,WAAW,EAAE,EAAE,iBAAiB,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE;KACxE,CAAC;AACJ,CAAC"}
@@ -1,15 +0,0 @@
1
- import type { ExecuteQueryArgs } from '../types/sdkTypes.js';
2
- export type Neo4jUser = {
3
- user: string;
4
- roles: string[];
5
- passwordChangeRequired: string;
6
- suspended?: boolean;
7
- home?: string;
8
- };
9
- /**
10
- * Gets available users in your database
11
- * https://neo4j.com/docs/cypher-manual/current/administration/access-control/manage-users/#access-control-list-users
12
- */
13
- export declare function listUsers(): ExecuteQueryArgs<{
14
- users: Neo4jUser[];
15
- }>;
@@ -1,24 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.listUsers = listUsers;
4
- const neo4j_driver_1 = require("neo4j-driver");
5
- /**
6
- * Gets available users in your database
7
- * https://neo4j.com/docs/cypher-manual/current/administration/access-control/manage-users/#access-control-list-users
8
- */
9
- function listUsers() {
10
- const query = `SHOW USERS`;
11
- const resultTransformer = neo4j_driver_1.resultTransformers.mapped({
12
- map(record) {
13
- return record.toObject();
14
- },
15
- collect(users, summary) {
16
- return { users, summary };
17
- },
18
- });
19
- return {
20
- query,
21
- queryConfig: { resultTransformer, routing: 'READ', database: 'system' },
22
- };
23
- }
24
- //# sourceMappingURL=users.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"users.js","sourceRoot":"","sources":["../../../../src/queries/users.ts"],"names":[],"mappings":";;AAgBA,8BAkBC;AAlCD,+CAAkD;AAYlD;;;GAGG;AACH,SAAgB,SAAS;IAGvB,MAAM,KAAK,GAAG,YAAY,CAAC;IAE3B,MAAM,iBAAiB,GAAG,iCAAkB,CAAC,MAAM,CAAC;QAClD,GAAG,CAAC,MAAM;YACR,OAAO,MAAM,CAAC,QAAQ,EAAe,CAAC;QACxC,CAAC;QACD,OAAO,CAAC,KAAK,EAAE,OAAO;YACpB,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;QAC5B,CAAC;KACF,CAAC,CAAC;IAEH,OAAO;QACL,KAAK;QACL,WAAW,EAAE,EAAE,iBAAiB,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE;KACxE,CAAC;AACJ,CAAC"}
@@ -1,7 +0,0 @@
1
- import { ExecuteQueryArgs } from '../types/sdkTypes.js';
2
- /**
3
- * Get dbms version
4
- */
5
- export declare function getVersion(): ExecuteQueryArgs<{
6
- serverVersion: string | undefined;
7
- }>;
@@ -1,32 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getVersion = getVersion;
4
- const neo4j_driver_1 = require("neo4j-driver");
5
- /**
6
- * Get dbms version
7
- */
8
- function getVersion() {
9
- const query = 'CALL dbms.components() YIELD name, versions';
10
- const resultTransformer = neo4j_driver_1.resultTransformers.mapped({
11
- map(record) {
12
- const obj = record.toObject();
13
- const name = obj.name;
14
- const versions = obj.versions;
15
- return { name, versions };
16
- },
17
- collect(rows, summary) {
18
- for (const row of rows) {
19
- if (row.name === 'Neo4j Kernel') {
20
- return { serverVersion: row.versions[0], summary };
21
- }
22
- }
23
- //We should not reach this unless the "name" field changes
24
- return { serverVersion: undefined, summary };
25
- },
26
- });
27
- return {
28
- query,
29
- queryConfig: { resultTransformer, routing: 'READ', database: 'system' },
30
- };
31
- }
32
- //# sourceMappingURL=version.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"version.js","sourceRoot":"","sources":["../../../../src/queries/version.ts"],"names":[],"mappings":";;AAMA,gCA4BC;AAlCD,+CAAkD;AAGlD;;GAEG;AACH,SAAgB,UAAU;IAGxB,MAAM,KAAK,GAAG,6CAA6C,CAAC;IAE5D,MAAM,iBAAiB,GAAG,iCAAkB,CAAC,MAAM,CAAC;QAClD,GAAG,CAAC,MAAM;YACR,MAAM,GAAG,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;YAC9B,MAAM,IAAI,GAAG,GAAG,CAAC,IAAc,CAAC;YAChC,MAAM,QAAQ,GAAG,GAAG,CAAC,QAAoB,CAAC;YAC1C,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;QAC5B,CAAC;QACD,OAAO,CAAC,IAAI,EAAE,OAAO;YACnB,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;gBACvB,IAAI,GAAG,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;oBAChC,OAAO,EAAE,aAAa,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC;gBACrD,CAAC;YACH,CAAC;YAED,0DAA0D;YAC1D,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC;QAC/C,CAAC;KACF,CAAC,CAAC;IAEH,OAAO;QACL,KAAK;QACL,WAAW,EAAE,EAAE,iBAAiB,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE;KACxE,CAAC;AACJ,CAAC"}
@@ -1,36 +0,0 @@
1
- import { Integer, Record, ResultSummary } from 'neo4j-driver';
2
- import { DeduplicatedNodesAndRels } from '../cypher-execution/extract-unique-nodes-and-relationships.js';
3
- /**
4
- * Result type for graph queries that includes deduplicated nodes and relationships
5
- * along with the original records and query summary.
6
- *
7
- * See {@link DeduplicatedNodesAndRels} for the type of the nodes and relationships.
8
- */
9
- export type GraphResult = DeduplicatedNodesAndRels & {
10
- /** Original Neo4j records returned by the query */
11
- records: Record[];
12
- summary: ResultSummary<Integer>;
13
- };
14
- /**
15
- * A result transformer that processes Neo4j query results into a graph format
16
- * with deduplicated nodes and relationships.
17
- *
18
- * This transformer extracts unique nodes and relationships from query records
19
- * while preserving the original records and summary information. It's particularly
20
- * useful for graph visualization and analysis where duplicate entities need to be
21
- * consolidated.
22
- *
23
- * @example
24
- * ```typescript
25
- * const result: GraphResult = await driver.executeQuery(
26
- * 'MATCH p=(name: $name)-[]->() RETURN p',
27
- * { name: 'John' },
28
- * { resultTransformer: graphResultTransformer },
29
- * );
30
- *
31
- * console.log(result.nodes, result.relationships);
32
- * ```
33
- *
34
- * @returns ResultTransformer producing {@link GraphResult}
35
- */
36
- export declare const graphResultTransformer: import("neo4j-driver").ResultTransformer<GraphResult>;
@@ -1,37 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.graphResultTransformer = void 0;
4
- const neo4j_driver_1 = require("neo4j-driver");
5
- const extract_unique_nodes_and_relationships_js_1 = require("../cypher-execution/extract-unique-nodes-and-relationships.js");
6
- /**
7
- * A result transformer that processes Neo4j query results into a graph format
8
- * with deduplicated nodes and relationships.
9
- *
10
- * This transformer extracts unique nodes and relationships from query records
11
- * while preserving the original records and summary information. It's particularly
12
- * useful for graph visualization and analysis where duplicate entities need to be
13
- * consolidated.
14
- *
15
- * @example
16
- * ```typescript
17
- * const result: GraphResult = await driver.executeQuery(
18
- * 'MATCH p=(name: $name)-[]->() RETURN p',
19
- * { name: 'John' },
20
- * { resultTransformer: graphResultTransformer },
21
- * );
22
- *
23
- * console.log(result.nodes, result.relationships);
24
- * ```
25
- *
26
- * @returns ResultTransformer producing {@link GraphResult}
27
- */
28
- exports.graphResultTransformer = neo4j_driver_1.resultTransformers.mapped({
29
- map(record) {
30
- return record;
31
- },
32
- collect(records, summary) {
33
- const { nodes, relationships, limitHit } = (0, extract_unique_nodes_and_relationships_js_1.extractUniqueNodesAndRels)(records);
34
- return { nodes, relationships, limitHit, records, summary };
35
- },
36
- });
37
- //# sourceMappingURL=graph-result-transformer.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"graph-result-transformer.js","sourceRoot":"","sources":["../../../../src/result-transformers/graph-result-transformer.ts"],"names":[],"mappings":";;;AAAA,+CAKsB;AAEtB,6HAGuE;AAcvE;;;;;;;;;;;;;;;;;;;;;GAqBG;AACU,QAAA,sBAAsB,GAAG,iCAAkB,CAAC,MAAM,CAAC;IAC9D,GAAG,CAAC,MAAM;QACR,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,OAAO,CAAC,OAAO,EAAE,OAAO;QACtB,MAAM,EAAE,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAE,GACtC,IAAA,qEAAyB,EAAC,OAAO,CAAC,CAAC;QACrC,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC;IAC9D,CAAC;CACF,CAAC,CAAC"}
@@ -1,45 +0,0 @@
1
- import { EventEmitter } from 'events';
2
- import { Config } from 'neo4j-driver';
3
- import { ConnectionError } from './connectionErrorHandler.js';
4
- import { MetadataPoller } from './metadataPoller.js';
5
- import { Neo4jConnection } from './neo4jConnection.js';
6
- export type ConnnectionResult = {
7
- success: boolean;
8
- retriable?: boolean;
9
- error?: ConnectionError;
10
- };
11
- export declare class Neo4jSchemaPoller {
12
- connection?: Neo4jConnection;
13
- metadata?: MetadataPoller;
14
- events: EventEmitter;
15
- private driver?;
16
- private reconnectionTimeout?;
17
- private retries;
18
- private lastError?;
19
- private parameters;
20
- setParameters(parameters: Record<string, unknown>): void;
21
- connect(url: string, credentials: {
22
- username: string;
23
- password: string;
24
- }, config: {
25
- driverConfig?: Config;
26
- appName: string;
27
- }, database?: string): Promise<ConnnectionResult>;
28
- persistentConnect(url: string, credentials: {
29
- username: string;
30
- password: string;
31
- }, config: {
32
- driverConfig?: Config;
33
- appName: string;
34
- }, database?: string): Promise<ConnnectionResult>;
35
- disconnect(): void;
36
- private getAvailableCypherVersions;
37
- private connectAndStartMetadataPoller;
38
- private initializeDriver;
39
- private setReconnectionTimeout;
40
- private handleSuccessfulConnection;
41
- private handleNonSuccessfulConnection;
42
- private handlePermanentlyFailingConnection;
43
- private formatConnectionErrorFriendlyMessage;
44
- private resetRetries;
45
- }