@jupiterone/integration-sdk-runtime 13.3.0 → 13.5.0
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.
- package/dist/src/storage/FileSystemGraphObjectStore/FileSystemGraphObjectStore.d.ts +3 -3
- package/dist/src/storage/FileSystemGraphObjectStore/FileSystemGraphObjectStore.js +5 -3
- package/dist/src/storage/FileSystemGraphObjectStore/FileSystemGraphObjectStore.js.map +1 -1
- package/dist/src/storage/FileSystemGraphObjectStore/indices.d.ts +6 -2
- package/dist/src/storage/FileSystemGraphObjectStore/indices.js +18 -6
- package/dist/src/storage/FileSystemGraphObjectStore/indices.js.map +1 -1
- package/dist/src/storage/memory.d.ts +3 -3
- package/dist/src/storage/memory.js +10 -6
- package/dist/src/storage/memory.js.map +1 -1
- package/dist/tsconfig.dist.tsbuildinfo +1 -1
- package/package.json +4 -4
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Entity, GraphObjectFilter, GraphObjectIteratee, Relationship, GraphObjectStore, GraphObjectIndexMetadata, GetIndexMetadataForGraphObjectTypeParams, IntegrationStep } from '@jupiterone/integration-sdk-core';
|
|
1
|
+
import { Entity, GraphObjectFilter, GraphObjectIteratee, Relationship, GraphObjectStore, GraphObjectIndexMetadata, GetIndexMetadataForGraphObjectTypeParams, IntegrationStep, GraphObjectIterateeOptions } from '@jupiterone/integration-sdk-core';
|
|
2
2
|
export declare const DEFAULT_GRAPH_OBJECT_BUFFER_THRESHOLD = 500;
|
|
3
3
|
export declare const DEFAULT_GRAPH_OBJECT_FILE_SIZE = 500;
|
|
4
4
|
export declare const MAX_GRAPH_OBJECT_BUFFER_THRESHOLD_IN_BYTES: 1073741824;
|
|
@@ -35,8 +35,8 @@ export declare class FileSystemGraphObjectStore implements GraphObjectStore {
|
|
|
35
35
|
* located on disk.
|
|
36
36
|
*/
|
|
37
37
|
findEntity(_key: string | undefined): Promise<Entity | undefined>;
|
|
38
|
-
iterateEntities<T extends Entity = Entity>(filter: GraphObjectFilter, iteratee: GraphObjectIteratee<T
|
|
39
|
-
iterateRelationships<T extends Relationship = Relationship>(filter: GraphObjectFilter, iteratee: GraphObjectIteratee<T
|
|
38
|
+
iterateEntities<T extends Entity = Entity>(filter: GraphObjectFilter, iteratee: GraphObjectIteratee<T>, options?: GraphObjectIterateeOptions): Promise<void>;
|
|
39
|
+
iterateRelationships<T extends Relationship = Relationship>(filter: GraphObjectFilter, iteratee: GraphObjectIteratee<T>, options?: GraphObjectIterateeOptions): Promise<void>;
|
|
40
40
|
flush(onEntitiesFlushed?: (entities: Entity[]) => Promise<void>, onRelationshipsFlushed?: (relationships: Relationship[]) => Promise<void>): Promise<void>;
|
|
41
41
|
/**
|
|
42
42
|
* Asynchronously flushes entity data to disk.
|
|
@@ -99,7 +99,7 @@ class FileSystemGraphObjectStore {
|
|
|
99
99
|
});
|
|
100
100
|
return entities[entityLocationOnDisk.index];
|
|
101
101
|
}
|
|
102
|
-
async iterateEntities(filter, iteratee) {
|
|
102
|
+
async iterateEntities(filter, iteratee, options) {
|
|
103
103
|
//TODO: Remove maps. This is a hack we did to avoid returning duplicated entities.
|
|
104
104
|
//This should not work this way.
|
|
105
105
|
//There is a detailed description of the changes to come to avoid having to do this
|
|
@@ -108,9 +108,10 @@ class FileSystemGraphObjectStore {
|
|
|
108
108
|
await this.localGraphObjectStore.iterateEntities(filter, (obj) => {
|
|
109
109
|
iteratedEntities.set(obj._key, true);
|
|
110
110
|
return iteratee(obj);
|
|
111
|
-
});
|
|
111
|
+
}, options);
|
|
112
112
|
await (0, indices_1.iterateEntityTypeIndex)({
|
|
113
113
|
type: filter._type,
|
|
114
|
+
options,
|
|
114
115
|
iteratee: (obj) => {
|
|
115
116
|
if (iteratedEntities.has(obj._key)) {
|
|
116
117
|
return;
|
|
@@ -119,7 +120,7 @@ class FileSystemGraphObjectStore {
|
|
|
119
120
|
},
|
|
120
121
|
});
|
|
121
122
|
}
|
|
122
|
-
async iterateRelationships(filter, iteratee) {
|
|
123
|
+
async iterateRelationships(filter, iteratee, options) {
|
|
123
124
|
//TODO: Remove maps. This is a hack we did to avoid returning duplicated relationships.
|
|
124
125
|
//This should not work this way.
|
|
125
126
|
//There is a detailed description of the changes to come to avoid having to do this
|
|
@@ -131,6 +132,7 @@ class FileSystemGraphObjectStore {
|
|
|
131
132
|
});
|
|
132
133
|
await (0, indices_1.iterateRelationshipTypeIndex)({
|
|
133
134
|
type: filter._type,
|
|
135
|
+
options,
|
|
134
136
|
iteratee: (obj) => {
|
|
135
137
|
if (iteratedRelationships.has(obj._key)) {
|
|
136
138
|
return;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FileSystemGraphObjectStore.js","sourceRoot":"","sources":["../../../../src/storage/FileSystemGraphObjectStore/FileSystemGraphObjectStore.ts"],"names":[],"mappings":";;;AAAA,2CAAkC;
|
|
1
|
+
{"version":3,"file":"FileSystemGraphObjectStore.js","sourceRoot":"","sources":["../../../../src/storage/FileSystemGraphObjectStore/FileSystemGraphObjectStore.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,8 +3,12 @@ import { WalkDirectoryIterateeInput } from '../../fileSystem';
|
|
|
3
3
|
interface BaseIterateCollectionIndexParams<GraphObject> {
|
|
4
4
|
type: string;
|
|
5
5
|
iteratee: GraphObjectIteratee<GraphObject>;
|
|
6
|
+
options?: BaseIterateCollectionIndexOptionsParams;
|
|
6
7
|
}
|
|
7
|
-
|
|
8
|
-
|
|
8
|
+
interface BaseIterateCollectionIndexOptionsParams {
|
|
9
|
+
concurrency?: number;
|
|
10
|
+
}
|
|
11
|
+
export declare function iterateEntityTypeIndex<T extends Entity = Entity>({ type, iteratee, options, }: BaseIterateCollectionIndexParams<T>): Promise<void>;
|
|
12
|
+
export declare function iterateRelationshipTypeIndex<T extends Relationship = Relationship>({ type, iteratee, options }: BaseIterateCollectionIndexParams<T>): Promise<void>;
|
|
9
13
|
export declare function readGraphObjectFile<T>({ filePath, }: WalkDirectoryIterateeInput): Promise<T>;
|
|
10
14
|
export {};
|
|
@@ -1,4 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
2
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
6
|
exports.iterateEntityTypeIndex = iterateEntityTypeIndex;
|
|
4
7
|
exports.iterateRelationshipTypeIndex = iterateRelationshipTypeIndex;
|
|
@@ -7,28 +10,37 @@ const integration_sdk_core_1 = require("@jupiterone/integration-sdk-core");
|
|
|
7
10
|
const fileSystem_1 = require("../../fileSystem");
|
|
8
11
|
const path_1 = require("./path");
|
|
9
12
|
const __1 = require("../..");
|
|
10
|
-
|
|
13
|
+
const p_map_1 = __importDefault(require("p-map"));
|
|
14
|
+
/**
|
|
15
|
+
* Iterates through graph files.
|
|
16
|
+
* If concurrency is specified, it'll process the graph objects concurrently.
|
|
17
|
+
* @param type
|
|
18
|
+
* @param collectionType
|
|
19
|
+
* @param concurrency
|
|
20
|
+
* @param iteratee
|
|
21
|
+
*/
|
|
22
|
+
async function iterateCollectionTypeIndex({ type, collectionType, options, iteratee, }) {
|
|
11
23
|
const path = (0, path_1.buildIndexDirectoryPath)({
|
|
12
24
|
collectionType,
|
|
13
25
|
type,
|
|
14
26
|
});
|
|
15
27
|
await (0, __1.iterateParsedGraphFiles)(async (data) => {
|
|
16
|
-
|
|
17
|
-
await iteratee(graphObj);
|
|
18
|
-
}
|
|
28
|
+
await (0, p_map_1.default)(data[collectionType] || [], (graphObj) => iteratee(graphObj), { concurrency: options?.concurrency ?? 1 });
|
|
19
29
|
}, path);
|
|
20
30
|
}
|
|
21
|
-
async function iterateEntityTypeIndex({ type, iteratee, }) {
|
|
31
|
+
async function iterateEntityTypeIndex({ type, iteratee, options, }) {
|
|
22
32
|
await iterateCollectionTypeIndex({
|
|
23
33
|
type,
|
|
24
34
|
iteratee,
|
|
35
|
+
options,
|
|
25
36
|
collectionType: 'entities',
|
|
26
37
|
});
|
|
27
38
|
}
|
|
28
|
-
async function iterateRelationshipTypeIndex({ type, iteratee }) {
|
|
39
|
+
async function iterateRelationshipTypeIndex({ type, iteratee, options }) {
|
|
29
40
|
await iterateCollectionTypeIndex({
|
|
30
41
|
type,
|
|
31
42
|
iteratee,
|
|
43
|
+
options,
|
|
32
44
|
collectionType: 'relationships',
|
|
33
45
|
});
|
|
34
46
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"indices.js","sourceRoot":"","sources":["../../../../src/storage/FileSystemGraphObjectStore/indices.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"indices.js","sourceRoot":"","sources":["../../../../src/storage/FileSystemGraphObjectStore/indices.ts"],"names":[],"mappings":";;;;;AAuDA,wDAWC;AAED,oEASC;AAED,kDAaC;AA5FD,2EAK0C;AAC1C,iDAAgF;AAEhF,iCAAiD;AACjD,6BAAgD;AAChD,kDAAyB;AAiBzB;;;;;;;GAOG;AACH,KAAK,UAAU,0BAA0B,CAAkC,EACzE,IAAI,EACJ,cAAc,EACd,OAAO,EACP,QAAQ,GACwB;IAChC,MAAM,IAAI,GAAG,IAAA,8BAAuB,EAAC;QACnC,cAAc;QACd,IAAI;KACL,CAAC,CAAC;IAEH,MAAM,IAAA,2BAAuB,EAAC,KAAK,EAAE,IAAI,EAAE,EAAE;QAC3C,MAAM,IAAA,eAAI,EACP,IAAI,CAAC,cAAc,CAAS,IAAI,EAAE,EACnC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAChC,EAAE,WAAW,EAAE,OAAO,EAAE,WAAW,IAAI,CAAC,EAAE,CAC3C,CAAC;IACJ,CAAC,EAAE,IAAI,CAAC,CAAC;AACX,CAAC;AAEM,KAAK,UAAU,sBAAsB,CAA4B,EACtE,IAAI,EACJ,QAAQ,EACR,OAAO,GAC6B;IACpC,MAAM,0BAA0B,CAAC;QAC/B,IAAI;QACJ,QAAQ;QACR,OAAO;QACP,cAAc,EAAE,UAAU;KAC3B,CAAC,CAAC;AACL,CAAC;AAEM,KAAK,UAAU,4BAA4B,CAEhD,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAuC;IAChE,MAAM,0BAA0B,CAAC;QAC/B,IAAI;QACJ,QAAQ;QACR,OAAO;QACP,cAAc,EAAE,eAAe;KAChC,CAAC,CAAC;AACL,CAAC;AAEM,KAAK,UAAU,mBAAmB,CAAI,EAC3C,QAAQ,GACmB;IAC3B,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,IAAA,6BAAgB,EAAI,QAAQ,CAAC,CAAC;QACrD,OAAO,QAAQ,CAAC;IAClB,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,IAAI,uCAAgB,CAAC;YACzB,IAAI,EAAE,mBAAmB;YACzB,OAAO,EAAE,uCAAuC,QAAQ,GAAG;YAC3D,KAAK,EAAE,GAAG;SACX,CAAC,CAAC;IACL,CAAC;AACH,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Entity, GraphObjectFilter, GraphObjectIteratee, GraphObjectStore, Relationship } from '@jupiterone/integration-sdk-core';
|
|
1
|
+
import { Entity, GraphObjectFilter, GraphObjectIteratee, GraphObjectIterateeOptions, GraphObjectStore, Relationship } from '@jupiterone/integration-sdk-core';
|
|
2
2
|
export interface GraphObjectMetadata {
|
|
3
3
|
stepId: string;
|
|
4
4
|
}
|
|
@@ -49,8 +49,8 @@ export declare class InMemoryGraphObjectStore implements GraphObjectStore {
|
|
|
49
49
|
* @notImplemented
|
|
50
50
|
*/
|
|
51
51
|
flush(): Promise<void>;
|
|
52
|
-
iterateEntities<T extends Entity = Entity>(filter: GraphObjectFilter, iteratee: GraphObjectIteratee<T
|
|
53
|
-
iterateRelationships<T extends Relationship = Relationship>(filter: GraphObjectFilter, iteratee: GraphObjectIteratee<T
|
|
52
|
+
iterateEntities<T extends Entity = Entity>(filter: GraphObjectFilter, iteratee: GraphObjectIteratee<T>, options?: GraphObjectIterateeOptions): Promise<void>;
|
|
53
|
+
iterateRelationships<T extends Relationship = Relationship>(filter: GraphObjectFilter, iteratee: GraphObjectIteratee<T>, options?: GraphObjectIterateeOptions): Promise<void>;
|
|
54
54
|
/**
|
|
55
55
|
* Instead of clearing the entire map, we want to delete old data individually.
|
|
56
56
|
* This will allow us to eventually run steps in parallel without locking when
|
|
@@ -1,8 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
2
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
6
|
exports.InMemoryGraphObjectStore = void 0;
|
|
4
7
|
const integration_sdk_core_1 = require("@jupiterone/integration-sdk-core");
|
|
5
8
|
const batchBySize_1 = require("../synchronization/batchBySize");
|
|
9
|
+
const p_map_1 = __importDefault(require("p-map"));
|
|
6
10
|
/**
|
|
7
11
|
* Stores entities and relationships in memory and may be used to buffer data in
|
|
8
12
|
* memory before flushing to another datastore (e.g. disk).
|
|
@@ -102,12 +106,12 @@ class InMemoryGraphObjectStore {
|
|
|
102
106
|
code: 'FLUSH_NOT_IMPLEMENTED',
|
|
103
107
|
});
|
|
104
108
|
}
|
|
105
|
-
async iterateEntities(filter, iteratee) {
|
|
109
|
+
async iterateEntities(filter, iteratee, options) {
|
|
106
110
|
const entityTypeKeysMap = this.entityTypeToKeysMap.get(filter._type);
|
|
107
111
|
if (!entityTypeKeysMap) {
|
|
108
112
|
return;
|
|
109
113
|
}
|
|
110
|
-
|
|
114
|
+
await (0, p_map_1.default)(entityTypeKeysMap, async ([_key]) => {
|
|
111
115
|
const graphObjectData = this.entityKeyToEntityMap.get(_key);
|
|
112
116
|
if (!graphObjectData) {
|
|
113
117
|
// NOTE: This should never happen. Our data structures should stay in
|
|
@@ -115,14 +119,14 @@ class InMemoryGraphObjectStore {
|
|
|
115
119
|
throw new integration_sdk_core_1.IntegrationMissingKeyError(`Failed to find entity (_type=${filter._type}, _key=${_key})`);
|
|
116
120
|
}
|
|
117
121
|
await iteratee(graphObjectData.entity);
|
|
118
|
-
}
|
|
122
|
+
}, { concurrency: options?.concurrency ?? 1 });
|
|
119
123
|
}
|
|
120
|
-
async iterateRelationships(filter, iteratee) {
|
|
124
|
+
async iterateRelationships(filter, iteratee, options) {
|
|
121
125
|
const relationshipTypeKeysMap = this.relationshipTypeToKeysMap.get(filter._type);
|
|
122
126
|
if (!relationshipTypeKeysMap) {
|
|
123
127
|
return;
|
|
124
128
|
}
|
|
125
|
-
|
|
129
|
+
await (0, p_map_1.default)(relationshipTypeKeysMap, async ([_key]) => {
|
|
126
130
|
const graphObjectData = this.relationshipKeyToRelationshipMap.get(_key);
|
|
127
131
|
if (!graphObjectData) {
|
|
128
132
|
// NOTE: This should never happen. Our data structures should stay in
|
|
@@ -130,7 +134,7 @@ class InMemoryGraphObjectStore {
|
|
|
130
134
|
throw new integration_sdk_core_1.IntegrationMissingKeyError(`Failed to find relationship (_type=${filter._type}, _key=${_key})`);
|
|
131
135
|
}
|
|
132
136
|
await iteratee(graphObjectData.relationship);
|
|
133
|
-
}
|
|
137
|
+
}, { concurrency: options?.concurrency ?? 1 });
|
|
134
138
|
}
|
|
135
139
|
/**
|
|
136
140
|
* Instead of clearing the entire map, we want to delete old data individually.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"memory.js","sourceRoot":"","sources":["../../../src/storage/memory.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"memory.js","sourceRoot":"","sources":["../../../src/storage/memory.ts"],"names":[],"mappings":"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"}
|