@binalyze/air-sdk 5.2.0 → 5.4.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.
Files changed (62) hide show
  1. package/dist/domains/acquisitions.js +18 -12
  2. package/dist/domains/acquisitions.js.map +1 -1
  3. package/dist/domains/api-tokens.js +48 -26
  4. package/dist/domains/api-tokens.js.map +1 -1
  5. package/dist/domains/assets.js +133 -62
  6. package/dist/domains/assets.js.map +1 -1
  7. package/dist/domains/baseline.js +46 -23
  8. package/dist/domains/baseline.js.map +1 -1
  9. package/dist/domains/cases.js +94 -60
  10. package/dist/domains/cases.js.map +1 -1
  11. package/dist/domains/interact.js +46 -24
  12. package/dist/domains/interact.js.map +1 -1
  13. package/dist/domains/organization.js +151 -49
  14. package/dist/domains/organization.js.map +1 -1
  15. package/dist/domains/repositories.js +14 -7
  16. package/dist/domains/repositories.js.map +1 -1
  17. package/dist/domains/tasks.js +28 -23
  18. package/dist/domains/tasks.js.map +1 -1
  19. package/dist/domains/triage.js +87 -21
  20. package/dist/domains/triage.js.map +1 -1
  21. package/dist/domains/users.js +16 -9
  22. package/dist/domains/users.js.map +1 -1
  23. package/dist/generated/bindings.d.ts +1 -0
  24. package/dist/generated/bindings.js +1 -0
  25. package/dist/generated/bindings.js.map +1 -1
  26. package/dist/sdk/typescript-axios/client/client.gen.js +52 -19
  27. package/dist/sdk/typescript-axios/client/client.gen.js.map +1 -1
  28. package/dist/sdk/typescript-axios/client/types.gen.d.ts +14 -12
  29. package/dist/sdk/typescript-axios/client/utils.gen.d.ts +1 -7
  30. package/dist/sdk/typescript-axios/client/utils.gen.js +29 -82
  31. package/dist/sdk/typescript-axios/client/utils.gen.js.map +1 -1
  32. package/dist/sdk/typescript-axios/client.gen.d.ts +1 -1
  33. package/dist/sdk/typescript-axios/core/bodySerializer.gen.js +3 -0
  34. package/dist/sdk/typescript-axios/core/bodySerializer.gen.js.map +1 -1
  35. package/dist/sdk/typescript-axios/core/serverSentEvents.gen.d.ts +71 -0
  36. package/dist/sdk/typescript-axios/core/serverSentEvents.gen.js +141 -0
  37. package/dist/sdk/typescript-axios/core/serverSentEvents.gen.js.map +1 -0
  38. package/dist/sdk/typescript-axios/core/types.gen.d.ts +12 -12
  39. package/dist/sdk/typescript-axios/core/utils.gen.d.ts +19 -0
  40. package/dist/sdk/typescript-axios/core/utils.gen.js +95 -0
  41. package/dist/sdk/typescript-axios/core/utils.gen.js.map +1 -0
  42. package/dist/sdk/typescript-axios/index.js +2 -2
  43. package/dist/sdk/typescript-axios/index.js.map +1 -1
  44. package/dist/sdk/typescript-axios/sdk.gen.d.ts +175 -26
  45. package/dist/sdk/typescript-axios/sdk.gen.js +651 -115
  46. package/dist/sdk/typescript-axios/sdk.gen.js.map +1 -1
  47. package/dist/sdk/typescript-axios/types.gen.d.ts +4260 -975
  48. package/dist/types/acquisitions.d.ts +10 -5
  49. package/dist/types/api-tokens.d.ts +41 -14
  50. package/dist/types/assets.d.ts +158 -7
  51. package/dist/types/baseline.d.ts +34 -3
  52. package/dist/types/cases.d.ts +140 -13
  53. package/dist/types/interact.d.ts +60 -7
  54. package/dist/types/organization.d.ts +72 -11
  55. package/dist/types/repositories.d.ts +22 -2
  56. package/dist/types/tasks.d.ts +132 -5
  57. package/dist/types/triage.d.ts +45 -9
  58. package/dist/types/users.d.ts +22 -2
  59. package/dist/utils/utils.d.ts +28 -0
  60. package/dist/utils/utils.js +80 -0
  61. package/dist/utils/utils.js.map +1 -1
  62. package/package.json +1 -1
@@ -1,10 +1,15 @@
1
+ import type { AcquisitionProfileDto, AssignedTaskDto } from '../generated/bindings';
2
+ export interface AssignedTask extends AssignedTaskDto {
3
+ }
1
4
  export interface AcquisitionsAPI {
2
- getProfile: (id: string) => Promise<any>;
3
- assignEvidenceTask: (params: {
5
+ getProfile: (options: {
6
+ id: string;
7
+ }) => Promise<AcquisitionProfileDto>;
8
+ assignEvidenceTask: (options: {
4
9
  acquisitionProfileId: string;
5
- organizationId: number;
10
+ organizationId?: number;
6
11
  endpointId: string;
7
- caseId: string;
12
+ caseId?: string;
8
13
  taskName?: string;
9
- }) => Promise<any>;
14
+ }) => Promise<Array<AssignedTask>>;
10
15
  }
@@ -1,16 +1,43 @@
1
+ import type { ApiTokensCreateData, ApiTokensDeleteResponses, ApiTokensUpdateData } from '../generated/bindings';
2
+ export interface ApiToken {
3
+ _id: string;
4
+ name: string;
5
+ description?: string | null;
6
+ username: string;
7
+ token?: string;
8
+ expirationDate?: string | null;
9
+ lastUsedAt?: string | null;
10
+ roleId: string;
11
+ createdAt?: string;
12
+ updatedAt?: string;
13
+ }
14
+ export interface ApiTokensPage extends Array<ApiToken> {
15
+ _pagination?: {
16
+ totalEntityCount?: number;
17
+ pageSize?: number;
18
+ currentPage?: number;
19
+ totalPageCount?: number;
20
+ };
21
+ }
22
+ export interface GetApiTokensOptions {
23
+ organizationIds?: number | number[];
24
+ pageNumber?: number;
25
+ pageSize?: number;
26
+ searchTerm?: string;
27
+ }
1
28
  export interface ApiTokensAPI {
2
- get: (id: string) => Promise<any>;
3
- getMany: (organizationId: number, pageNumber?: number, pageSize?: number) => Promise<any>;
4
- create: (input: {
5
- name: string;
6
- roleId: string;
7
- description?: string;
8
- expirationDate?: string;
9
- } | any) => Promise<any>;
10
- update: (id: string, input: {
11
- roleId?: string;
12
- description?: string;
13
- expirationDate?: string;
14
- } | any) => Promise<any>;
15
- delete: (id: string) => Promise<any>;
29
+ get: (options: {
30
+ id: string;
31
+ }) => Promise<ApiToken>;
32
+ getMany: (options?: GetApiTokensOptions) => Promise<ApiTokensPage>;
33
+ create: (options: {
34
+ input: ApiTokensCreateData['body'];
35
+ }) => Promise<ApiToken>;
36
+ update: (options: {
37
+ id: string;
38
+ input?: ApiTokensUpdateData['body'];
39
+ }) => Promise<ApiToken>;
40
+ delete: (options: {
41
+ id: string;
42
+ }) => Promise<ApiTokensDeleteResponses[200]>;
16
43
  }
@@ -1,9 +1,160 @@
1
+ import type { AddTagsToEndpointsByFilterDto, AssetsAddTagsData, AssetsAssignIsolationTaskData, AssetsAssignIsolationTaskResponses, AssetsAssignRebootTaskData, AssetsAssignRebootTaskResponses, AssetsAssignShutdownTaskData, AssetsAssignShutdownTaskResponses, AssetsGetManyData, AssetsGetMany4Data, AssetsGetTasksData, AssetsRemoveTagsData, FilterEndpointDto, FilterEndpointTasksDto, RemoveTagsFromEndpointsByFilterDto, RebootEndpointDto, SetIsolationOnEndpointDto, ShutdownEndpointDto } from '../generated/bindings';
2
+ export interface AssetEntity {
3
+ _id: string;
4
+ name?: string;
5
+ buildArch?: string;
6
+ tags?: string[];
7
+ isolationStatus?: string;
8
+ netInterfaces?: unknown[];
9
+ createdAt?: string;
10
+ updatedAt?: string;
11
+ organizationId?: number;
12
+ ipAddress?: string;
13
+ groupId?: string;
14
+ groupFullPath?: string;
15
+ label?: string | null;
16
+ os?: string;
17
+ isServer?: boolean;
18
+ agentInstalled?: boolean;
19
+ lastSeen?: string;
20
+ version?: string;
21
+ versionNo?: number;
22
+ registeredAt?: string;
23
+ platform?: string;
24
+ securityToken?: string;
25
+ systemResources?: Record<string, unknown>;
26
+ cloud?: Record<string, unknown>;
27
+ hasEvidence?: boolean;
28
+ relayServerId?: string | null;
29
+ connectionRoute?: string | null;
30
+ features?: Record<string, unknown>;
31
+ assetId?: number;
32
+ assetType?: string;
33
+ timezoneOffset?: number;
34
+ vendorId?: string | null;
35
+ vendorDeviceId?: string | null;
36
+ responderId?: string;
37
+ excludedFromUpdates?: boolean;
38
+ unsupportedOsToUpdate?: boolean;
39
+ lastRelayId?: string | null;
40
+ lastRelaySeen?: string | null;
41
+ onlineStatus?: string;
42
+ issues?: string[];
43
+ versionUpdating?: boolean;
44
+ managedStatus?: string;
45
+ }
46
+ export interface AssetsPage extends Array<AssetEntity> {
47
+ _pagination?: {
48
+ totalEntityCount?: number;
49
+ pageSize?: number;
50
+ currentPage?: number;
51
+ totalPageCount?: number;
52
+ };
53
+ }
54
+ export type Asset = AssetEntity;
55
+ export interface AssetTaskEntity {
56
+ _id: string;
57
+ taskId?: string;
58
+ name?: string;
59
+ type?: string;
60
+ endpointId?: string;
61
+ endpointName?: string;
62
+ organizationId?: number;
63
+ status?: string;
64
+ subStatus?: string | null;
65
+ recurrence?: unknown | null;
66
+ progress?: number;
67
+ durations?: Record<string, number>;
68
+ duration?: number;
69
+ caseIds?: string[];
70
+ metadata?: Record<string, unknown>;
71
+ createdAt?: string;
72
+ createdBy?: string;
73
+ updatedAt?: string;
74
+ displayType?: string;
75
+ response?: Record<string, unknown>;
76
+ reportUrl?: string;
77
+ }
78
+ export interface AssetTasksPage extends Array<AssetTaskEntity> {
79
+ _pagination?: {
80
+ totalEntityCount?: number;
81
+ pageSize?: number;
82
+ currentPage?: number;
83
+ totalPageCount?: number;
84
+ };
85
+ }
86
+ export type AssetAssignedTask = (AssetsAssignRebootTaskResponses[201] extends Array<infer R> ? R : never) | (AssetsAssignShutdownTaskResponses[201] extends Array<infer R> ? R : never) | (AssetsAssignIsolationTaskResponses[201] extends Array<infer R> ? R : never);
87
+ export interface AssetAssignedTasksPage extends Array<AssetAssignedTaskEntity> {
88
+ _pagination?: {
89
+ totalEntityCount?: number;
90
+ pageSize?: number;
91
+ currentPage?: number;
92
+ totalPageCount?: number;
93
+ };
94
+ }
95
+ export interface GetAssetsOptions {
96
+ pageNumber?: number;
97
+ pageSize?: number;
98
+ sortBy?: NonNullable<AssetsGetManyData['query']>['sortBy'];
99
+ sortType?: NonNullable<AssetsGetManyData['query']>['sortType'];
100
+ filter?: Partial<FilterEndpointDto>;
101
+ }
102
+ export interface GetAssetOptions {
103
+ id: AssetsGetMany4Data['path']['id'];
104
+ }
105
+ export interface GetAssetTasksOptions {
106
+ id: AssetsGetTasksData['path']['id'];
107
+ pageNumber?: number;
108
+ pageSize?: number;
109
+ sortBy?: NonNullable<AssetsGetTasksData['query']>['sortBy'];
110
+ sortType?: NonNullable<AssetsGetTasksData['query']>['sortType'];
111
+ filter?: FilterEndpointTasksDto;
112
+ }
113
+ export interface UpdateAssetTagsOptions {
114
+ filter?: Partial<FilterEndpointDto> & {
115
+ organizationIds?: number[];
116
+ };
117
+ tags: AddTagsToEndpointsByFilterDto['tags'];
118
+ }
119
+ export interface RemoveAssetTagsOptions {
120
+ filter?: Partial<FilterEndpointDto> & {
121
+ organizationIds?: number[];
122
+ };
123
+ tags: RemoveTagsFromEndpointsByFilterDto['tags'];
124
+ }
125
+ export type AssignIsolationTaskOptions = Omit<SetIsolationOnEndpointDto, 'organizationId' | 'filter'> & {
126
+ organizationId?: number;
127
+ filter?: Partial<FilterEndpointDto> & {
128
+ organizationIds?: number[];
129
+ };
130
+ };
131
+ export type AssignRebootTaskOptions = RebootEndpointDto;
132
+ export type AssignShutdownTaskOptions = ShutdownEndpointDto;
1
133
  export interface AssetsAPI {
2
- getMany: (organizationId: number, pageNumber?: number, pageSize?: number) => Promise<any>;
3
- getTasks: (id: string, pageNumber?: number, pageSize?: number) => Promise<any>;
4
- addTags: (organizationId: number, tags: string[]) => Promise<any>;
5
- removeTags: (organizationId: number, tags: string[]) => Promise<any>;
6
- assignIsolationTask: (id: string, enabled: boolean, organizationId: number) => Promise<any>;
7
- assignRebootTask: (id: string, organizationId: number) => Promise<any>;
8
- assignShutdownTask: (id: string, organizationId: number) => Promise<any>;
134
+ get: (options: GetAssetOptions) => Promise<Asset>;
135
+ getMany: (options?: GetAssetsOptions) => Promise<AssetsPage>;
136
+ getTasks: (options: GetAssetTasksOptions) => Promise<AssetTasksPage>;
137
+ addTags: (options: UpdateAssetTagsOptions) => Promise<AddTagsResult>;
138
+ removeTags: (options: RemoveAssetTagsOptions) => Promise<RemoveTagsResult>;
139
+ assignIsolationTask: (options: AssignIsolationTaskOptions) => Promise<AssetAssignedTasksPage>;
140
+ assignRebootTask: (options: AssignRebootTaskOptions) => Promise<AssetAssignedTask[]>;
141
+ assignShutdownTask: (options: AssignShutdownTaskOptions) => Promise<AssetAssignedTask[]>;
142
+ }
143
+ export type AssetsAddTagsPayload = AssetsAddTagsData['body'];
144
+ export type AssetsRemoveTagsPayload = AssetsRemoveTagsData['body'];
145
+ export type AssetsAssignIsolationTaskPayload = AssetsAssignIsolationTaskData['body'];
146
+ export type AssetsAssignRebootTaskPayload = AssetsAssignRebootTaskData['body'];
147
+ export type AssetsAssignShutdownTaskPayload = AssetsAssignShutdownTaskData['body'];
148
+ export interface AddTagsResult {
149
+ success: boolean;
150
+ statusCode?: number;
151
+ message?: string;
152
+ matchedCount?: number;
153
+ }
154
+ export type RemoveTagsResult = AddTagsResult;
155
+ export interface AssetAssignedTaskEntity {
156
+ _id: string;
157
+ name: string;
158
+ organizationId: number;
159
+ taskDetailsViewUrl: string;
9
160
  }
@@ -1,5 +1,36 @@
1
+ import type { AssignedTaskDto } from '../generated/bindings';
2
+ export interface BaselineAssignedTask extends AssignedTaskDto {
3
+ taskId: string;
4
+ taskName?: string;
5
+ }
6
+ export interface BaselineAcquireFilter {
7
+ organizationIds?: number[];
8
+ includedEndpointIds?: string[];
9
+ excludedEndpointIds?: string[];
10
+ [key: string]: unknown;
11
+ }
12
+ export interface BaselineAcquireOptions {
13
+ filter: BaselineAcquireFilter;
14
+ caseId?: string;
15
+ }
16
+ export interface BaselineCompareOptions {
17
+ taskIds: string[];
18
+ endpointId?: string;
19
+ vendorDeviceId?: string;
20
+ taskName?: string;
21
+ caseId?: string;
22
+ }
23
+ export interface BaselineComparisonReportOptions {
24
+ endpointId: string;
25
+ taskId: string;
26
+ }
27
+ export interface BaselineComparisonReportByVendorDeviceIdOptions {
28
+ vendorDeviceId: string;
29
+ taskId: string;
30
+ }
1
31
  export interface BaselineAPI {
2
- acquire: (endpointId: string, organizationId: number, caseId?: string) => Promise<any>;
3
- compare: (endpointId: string, taskIds: string[], taskName?: string, caseId?: string) => Promise<any>;
4
- getComparisonReport: (endpointId: string, taskId: string) => Promise<any>;
32
+ acquire: (options: BaselineAcquireOptions) => Promise<BaselineAssignedTask[]>;
33
+ compare: (options: BaselineCompareOptions) => Promise<BaselineAssignedTask>;
34
+ getComparisonReport: (options: BaselineComparisonReportOptions) => Promise<string>;
35
+ getComparisonReportByVendorDeviceId: (options: BaselineComparisonReportByVendorDeviceIdOptions) => Promise<string>;
5
36
  }
@@ -1,16 +1,143 @@
1
+ import type { CaseDto, CreateCaseDto, FilterCaseActivitiesDto, FilterCaseTasksDto, FilterCaseUsersDto, FilterUserCasesDto, FilterEndpointDto } from '../generated/bindings';
2
+ import type { AssetsPage } from './assets';
3
+ import type { TaskAssignmentsPage } from './tasks';
4
+ export interface CaseEntity {
5
+ createdAt?: string;
6
+ updatedAt?: string;
7
+ }
8
+ export type Case = CaseDto & CaseEntity;
9
+ export interface CasesPage extends Array<Case> {
10
+ _pagination?: {
11
+ totalEntityCount?: number;
12
+ pageSize?: number;
13
+ currentPage?: number;
14
+ totalPageCount?: number;
15
+ };
16
+ }
17
+ export interface GetCasesOptions {
18
+ pageNumber?: number;
19
+ pageSize?: number;
20
+ sortBy?: string;
21
+ sortType?: 'ASC' | 'DESC';
22
+ filter?: Partial<FilterUserCasesDto>;
23
+ }
1
24
  export interface CasesAPI {
2
- checkName: (name: string) => Promise<any>;
3
- get: (id: string) => Promise<any>;
4
- getMany: (pageNumber?: number, pageSize?: number, filter?: unknown) => Promise<any>;
5
- changeOwner: (id: string, newOwnerId: string) => Promise<any>;
6
- close: (id: string) => Promise<any>;
7
- create: (input: {
25
+ checkName: (options: {
8
26
  name: string;
9
- organizationId: number;
10
- visibility: 'public-to-organization' | 'private-to-users';
11
- } | any) => Promise<any>;
12
- getActivities: (id: string, pageNumber?: number, pageSize?: number, filter?: unknown) => Promise<any>;
13
- getEndpoints: (id: string, pageNumber?: number, pageSize?: number, filter?: unknown) => Promise<any>;
14
- getTasks: (id: string, pageNumber?: number, pageSize?: number, filter?: unknown) => Promise<any>;
15
- getUsers: (id: string, pageNumber?: number, pageSize?: number, filter?: unknown) => Promise<any>;
27
+ }) => Promise<boolean>;
28
+ get: (options: {
29
+ id: string;
30
+ }) => Promise<Case>;
31
+ getMany: (options?: GetCasesOptions) => Promise<CasesPage>;
32
+ changeOwner: (options: {
33
+ id: string;
34
+ newOwnerId: string;
35
+ }) => Promise<Case>;
36
+ close: (options: {
37
+ id: string;
38
+ }) => Promise<Case>;
39
+ create: (options: {
40
+ input: CreateCaseInput;
41
+ }) => Promise<Case>;
42
+ getActivities: (options: {
43
+ id: string;
44
+ pageNumber?: number;
45
+ pageSize?: number;
46
+ filter?: FilterCaseActivitiesDto;
47
+ }) => Promise<CaseActivitiesPage>;
48
+ getEndpoints: (options: {
49
+ id: string;
50
+ pageNumber?: number;
51
+ pageSize?: number;
52
+ filter?: Partial<FilterEndpointDto>;
53
+ }) => Promise<AssetsPage>;
54
+ getTasks: (options: {
55
+ id: string;
56
+ pageNumber?: number;
57
+ pageSize?: number;
58
+ filter?: FilterCaseTasksDto;
59
+ }) => Promise<TaskAssignmentsPage>;
60
+ getUsers: (options: {
61
+ id: string;
62
+ pageNumber?: number;
63
+ pageSize?: number;
64
+ filter?: FilterCaseUsersDto;
65
+ }) => Promise<CaseUsersPage>;
66
+ }
67
+ export type CreateCaseInput = Omit<CreateCaseDto, 'organizationId' | 'visibility' | 'assignedUserIds'> & {
68
+ organizationId?: number;
69
+ visibility?: NonNullable<CreateCaseDto['visibility']>;
70
+ assignedUserIds?: CreateCaseDto['assignedUserIds'];
71
+ };
72
+ export interface CaseActivityOptions {
73
+ username?: string;
74
+ apiTokenName?: string;
75
+ eventOrigin?: string;
76
+ organizationIds?: number[];
77
+ }
78
+ export interface CaseActivityData {
79
+ [key: string]: unknown;
80
+ name?: string;
81
+ caseId?: string;
82
+ options?: CaseActivityOptions;
83
+ organizationId?: number;
84
+ organizationIds?: number[];
85
+ ownerUser?: string;
86
+ visibility?: string;
87
+ eventSource?: string;
88
+ eventVersion?: number;
89
+ assignedUsers?: string[];
90
+ publishedDate?: string;
91
+ oldCaseOwnerName?: string;
92
+ newCaseOwnerName?: string;
93
+ endpointId?: string;
94
+ endpointName?: string;
95
+ }
96
+ export interface CaseActivityEntity {
97
+ id: number;
98
+ caseId: string;
99
+ type: string;
100
+ performedBy: string;
101
+ data: CaseActivityData;
102
+ createdAt: string;
103
+ description?: string | null;
104
+ }
105
+ export interface CaseActivitiesPage extends Array<CaseActivityEntity> {
106
+ _pagination?: {
107
+ totalEntityCount?: number;
108
+ pageSize?: number;
109
+ currentPage?: number;
110
+ totalPageCount?: number;
111
+ };
112
+ }
113
+ export interface CaseUserEntity {
114
+ _id: string;
115
+ email?: string;
116
+ username?: string;
117
+ roles?: unknown[];
118
+ profile?: {
119
+ name?: string;
120
+ surname?: string;
121
+ department?: string;
122
+ };
123
+ hasPassword?: boolean;
124
+ organizationIds?: number[] | 'ALL';
125
+ tfaEnabled?: boolean;
126
+ isAuthorizedForAllOrganizations?: boolean;
127
+ isGlobalAdmin?: boolean;
128
+ isOrganizationAdmin?: boolean;
129
+ isNotInOrganizations?: boolean;
130
+ lastLogin?: string | null;
131
+ onlineStatus?: string;
132
+ createdAt?: string;
133
+ updatedAt?: string;
134
+ strategy?: string;
135
+ }
136
+ export interface CaseUsersPage extends Array<CaseUserEntity> {
137
+ _pagination?: {
138
+ totalEntityCount?: number;
139
+ pageSize?: number;
140
+ currentPage?: number;
141
+ totalPageCount?: number;
142
+ };
16
143
  }
@@ -1,9 +1,62 @@
1
+ import type { InteractShellAssignTaskData, InteractShellAssignTaskResponses, InteractSessionCloseData, InteractSessionCloseResponses, InteractSessionExecuteAsyncCommandData, InteractSessionExecuteAsyncCommandResponses, InteractSessionExecuteCommandData, InteractSessionExecuteCommandResponses, InteractSessionGetCommandMessageData, InteractSessionGetCommandMessageResponses, InteractSessionInterruptCommandData, InteractSessionInterruptCommandResponses } from '../generated/bindings';
2
+ export interface InteractCommandOption {
3
+ name: string;
4
+ abbreviations: string[];
5
+ effect: string;
6
+ required: boolean;
7
+ }
8
+ export interface InteractCommand {
9
+ command: string[];
10
+ description?: string;
11
+ options: InteractCommandOption[];
12
+ privilege: string;
13
+ usage: string[];
14
+ }
15
+ export type InteractShellSession = InteractShellAssignTaskResponses[201];
16
+ export type InteractCommandExecutionResult = InteractSessionExecuteCommandResponses[200];
17
+ export type InteractAsyncCommandResult = InteractSessionExecuteAsyncCommandResponses[200];
18
+ export type InteractCommandMessage = InteractSessionGetCommandMessageResponses[200];
19
+ export type InteractInterruptCommandResult = InteractSessionInterruptCommandResponses[200];
20
+ export type InteractCloseSessionResult = InteractSessionCloseResponses[200];
21
+ export interface CloseSessionResult {
22
+ success: boolean;
23
+ sessionId?: string;
24
+ statusCode?: number;
25
+ message?: string;
26
+ }
27
+ type InteractShellAssignTaskBody = InteractShellAssignTaskData['body'];
28
+ export type CreateInteractShellSessionOptions = Omit<InteractShellAssignTaskBody, 'vendorId' | 'assetId' | 'vendorDeviceId' | 'taskName' | 'caseId' | 'taskConfig'> & {
29
+ vendorId?: string;
30
+ assetId?: string;
31
+ vendorDeviceId?: string;
32
+ taskName?: string;
33
+ caseId?: string;
34
+ taskConfig?: InteractShellAssignTaskBody['taskConfig'];
35
+ };
36
+ export type ExecuteInteractCommandOptions = InteractSessionExecuteCommandData['body'] & {
37
+ sessionId: InteractSessionExecuteCommandData['path']['sessionId'];
38
+ };
39
+ export type ExecuteInteractAsyncCommandOptions = InteractSessionExecuteAsyncCommandData['body'] & {
40
+ sessionId: InteractSessionExecuteAsyncCommandData['path']['sessionId'];
41
+ };
42
+ export interface GetInteractCommandMessageOptions {
43
+ sessionId: InteractSessionGetCommandMessageData['path']['sessionId'];
44
+ messageId: InteractSessionGetCommandMessageData['path']['messageId'];
45
+ }
46
+ export interface InterruptInteractCommandOptions {
47
+ sessionId: InteractSessionInterruptCommandData['path']['sessionId'];
48
+ messageId: InteractSessionInterruptCommandData['path']['messageId'];
49
+ }
50
+ export interface CloseInteractSessionOptions {
51
+ sessionId: InteractSessionCloseData['path']['sessionId'];
52
+ }
1
53
  export interface InteractAPI {
2
- getCommands: () => Promise<any>;
3
- createShellSession: (assetId: string, caseId: string, taskName: string, taskConfig?: unknown) => Promise<any>;
4
- executeSyncCommand: (sessionId: string, command: string) => Promise<any>;
5
- executeAsyncCommand: (sessionId: string, command: string) => Promise<any>;
6
- getCommandMessage: (sessionId: string, messageId: string) => Promise<any>;
7
- interruptCommand: (sessionId: string, messageId: string) => Promise<any>;
8
- closeSession: (sessionId: string) => Promise<any>;
54
+ getCommands: () => Promise<InteractCommand[]>;
55
+ createShellSession: (options: CreateInteractShellSessionOptions) => Promise<InteractShellSession>;
56
+ executeCommand: (options: ExecuteInteractCommandOptions) => Promise<InteractCommandExecutionResult>;
57
+ executeAsyncCommand: (options: ExecuteInteractAsyncCommandOptions) => Promise<InteractAsyncCommandResult>;
58
+ getCommandMessage: (options: GetInteractCommandMessageOptions) => Promise<InteractCommandMessage>;
59
+ interruptCommand: (options: InterruptInteractCommandOptions) => Promise<InteractInterruptCommandResult>;
60
+ closeSession: (options: CloseInteractSessionOptions) => Promise<CloseSessionResult>;
9
61
  }
62
+ export {};
@@ -1,13 +1,74 @@
1
+ import type { OrganizationsGetManyData, OrganizationGetResponses, OrganizationGetData, OrganizationCreateData, OrganizationCreateResponses, OrganizationUpdateData, OrganizationRemoveUsersData, OrganizationAssignUsersData, OrganizationRemoveTagsData, OrganizationAddTagsData, OrganizationGetUsersResponses, OrganizationUpdateShareableDeploymentStatusData, OrganizationUpdateDeploymentTokenData, FilterOrganizationUsersDto } from '../generated/bindings';
2
+ export type Organization = OrganizationGetResponses[200];
3
+ export type OrganizationsPage = (OrganizationListItem[]) & {
4
+ _pagination?: {
5
+ totalEntityCount?: number;
6
+ pageSize?: number;
7
+ currentPage?: number;
8
+ totalPageCount?: number;
9
+ };
10
+ };
11
+ export type OrganizationUser = OrganizationGetUsersResponses[200] extends infer T ? T extends {
12
+ entities: Array<infer U>;
13
+ } ? U : unknown : unknown;
14
+ export type OrganizationUsersPage = (OrganizationUser[]) & {
15
+ _pagination?: {
16
+ totalEntityCount?: number;
17
+ pageSize?: number;
18
+ currentPage?: number;
19
+ totalPageCount?: number;
20
+ };
21
+ };
22
+ export type OrganizationListItem = OrganizationCreateResponses[201];
23
+ export type AssignUsersResult = {
24
+ organization: Organization;
25
+ requestedUserIds: string[];
26
+ assignedUserIds: string[];
27
+ notAssignedUserIds: string[];
28
+ };
1
29
  export interface OrganizationAPI {
2
- addTags: (organizationId: number, tags: string[]) => Promise<any>;
3
- assignUsers: (organizationId: number, userIds: string[]) => Promise<any>;
4
- checkNameExists: (name: string) => Promise<any>;
5
- create: (input: any) => Promise<any>;
6
- get: (organizationId: number) => Promise<any>;
7
- getMany: (pageNumber?: number, pageSize?: number, filter?: unknown) => Promise<any>;
8
- getUsers: (organizationId: number, pageNumber?: number, pageSize?: number, filter?: unknown) => Promise<any>;
9
- removeTags: (organizationId: number, tags: string[]) => Promise<any>;
10
- removeUsers: (organizationId: number, userIds: string[]) => Promise<any>;
11
- update: (organizationId: number, input: any) => Promise<any>;
12
- updateShareableDeploymentStatus: (organizationId: number, status: boolean) => Promise<any>;
30
+ addTags: (options: {
31
+ id?: number;
32
+ tags: OrganizationAddTagsData['body']['tags'];
33
+ }) => Promise<OrganizationListItem>;
34
+ assignUsers: (options: {
35
+ id?: number;
36
+ userIds: OrganizationAssignUsersData['body']['userIds'];
37
+ }) => Promise<AssignUsersResult>;
38
+ checkNameExists: (options: {
39
+ name: string;
40
+ }) => Promise<boolean>;
41
+ create: (options: {
42
+ input: OrganizationCreateData['body'];
43
+ }) => Promise<OrganizationListItem>;
44
+ get: (options?: OrganizationGetData['path']) => Promise<Organization>;
45
+ getMany: (options?: OrganizationsGetManyData['query']) => Promise<OrganizationsPage>;
46
+ getUsers: (options?: {
47
+ id?: number;
48
+ pageNumber?: number;
49
+ pageSize?: number;
50
+ sortType?: 'ASC' | 'DESC';
51
+ sortBy?: string;
52
+ filter?: FilterOrganizationUsersDto;
53
+ }) => Promise<OrganizationUsersPage>;
54
+ removeTags: (options: {
55
+ id?: number;
56
+ tags: OrganizationRemoveTagsData['body']['tags'];
57
+ }) => Promise<OrganizationListItem>;
58
+ removeUsers: (options: {
59
+ id?: number;
60
+ userIds: OrganizationRemoveUsersData['body']['userIds'];
61
+ }) => Promise<Organization>;
62
+ update: (options: {
63
+ id?: number;
64
+ input: OrganizationUpdateData['body'];
65
+ }) => Promise<OrganizationListItem>;
66
+ updateShareableDeploymentStatus: (options: {
67
+ id?: number;
68
+ status: OrganizationUpdateShareableDeploymentStatusData['body']['status'];
69
+ }) => Promise<boolean>;
70
+ updateDeploymentToken: (options: {
71
+ id?: number;
72
+ token: OrganizationUpdateDeploymentTokenData['body']['deploymentToken'];
73
+ }) => Promise<string>;
13
74
  }
@@ -1,4 +1,24 @@
1
+ import type { EvidenceRepositoryFilterDto, EvidenceRepositoriesGetResponses } from '../generated/bindings';
2
+ export type EvidenceRepository = EvidenceRepositoriesGetResponses[200];
3
+ export type EvidenceRepositoriesPage = (EvidenceRepository[]) & {
4
+ _pagination?: {
5
+ totalEntityCount?: number;
6
+ pageSize?: number;
7
+ currentPage?: number;
8
+ totalPageCount?: number;
9
+ };
10
+ };
11
+ export interface GetEvidenceRepositoryOptions {
12
+ id: string;
13
+ }
14
+ export interface GetEvidenceRepositoriesOptions {
15
+ pageNumber?: number;
16
+ pageSize?: number;
17
+ sortBy?: string;
18
+ sortType?: 'ASC' | 'DESC';
19
+ filter?: Partial<EvidenceRepositoryFilterDto>;
20
+ }
1
21
  export interface RepositoriesAPI {
2
- get: (id: string) => Promise<any>;
3
- getMany: (organizationIds: number[], pageNumber?: number, pageSize?: number) => Promise<any>;
22
+ get: (options: GetEvidenceRepositoryOptions) => Promise<EvidenceRepository>;
23
+ getMany: (options?: GetEvidenceRepositoriesOptions) => Promise<EvidenceRepositoriesPage>;
4
24
  }