@ampsec/platform-client 84.27.0 → 84.28.1

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.
@@ -19,6 +19,10 @@ export declare const FINDING_BUCKET_KEYS: {
19
19
  * COMPLIANCE
20
20
  */
21
21
  readonly COMPLIANCE: "COMPLIANCE";
22
+ /**
23
+ * VIDEO COMPLIANCE TRAINING
24
+ */
25
+ readonly VIDEO_COMPLIANCE_TRAINING: "VIDEO_COMPLIANCE_TRAINING";
22
26
  /**
23
27
  * OTHER
24
28
  */
@@ -22,6 +22,10 @@ exports.FINDING_BUCKET_KEYS = {
22
22
  * COMPLIANCE
23
23
  */
24
24
  COMPLIANCE: 'COMPLIANCE',
25
+ /**
26
+ * VIDEO COMPLIANCE TRAINING
27
+ */
28
+ VIDEO_COMPLIANCE_TRAINING: 'VIDEO_COMPLIANCE_TRAINING',
25
29
  /**
26
30
  * OTHER
27
31
  */
@@ -1 +1 @@
1
- {"version":3,"file":"findingBuckets.js","sourceRoot":"","sources":["../../../../src/dto/enums/findingBuckets.ts"],"names":[],"mappings":";;;AAAa,QAAA,mBAAmB,GAAG;IACjC;;OAEG;IACH,WAAW,EAAE,aAAa;IAC1B,QAAQ,EAAE,UAAU;IACpB,QAAQ,EAAE,UAAU;IACpB,UAAU,EAAE,YAAY;IACxB;;OAEG;IACH,QAAQ,EAAE,UAAU;IACpB,QAAQ,EAAE,UAAU;IACpB,GAAG,EAAE,KAAK;IACV,MAAM,EAAE,QAAQ;IAChB,MAAM,EAAE,QAAQ;IAChB,aAAa,EAAE,eAAe;IAC9B;;OAEG;IACH,UAAU,EAAE,YAAY;IACxB;;OAEG;IACH,OAAO,EAAE,SAAS;CACV,CAAC"}
1
+ {"version":3,"file":"findingBuckets.js","sourceRoot":"","sources":["../../../../src/dto/enums/findingBuckets.ts"],"names":[],"mappings":";;;AAAa,QAAA,mBAAmB,GAAG;IACjC;;OAEG;IACH,WAAW,EAAE,aAAa;IAC1B,QAAQ,EAAE,UAAU;IACpB,QAAQ,EAAE,UAAU;IACpB,UAAU,EAAE,YAAY;IACxB;;OAEG;IACH,QAAQ,EAAE,UAAU;IACpB,QAAQ,EAAE,UAAU;IACpB,GAAG,EAAE,KAAK;IACV,MAAM,EAAE,QAAQ;IAChB,MAAM,EAAE,QAAQ;IAChB,aAAa,EAAE,eAAe;IAC9B;;OAEG;IACH,UAAU,EAAE,YAAY;IACxB;;OAEG;IACH,yBAAyB,EAAE,2BAA2B;IACtD;;OAEG;IACH,OAAO,EAAE,SAAS;CACV,CAAC"}
@@ -102,6 +102,7 @@ export type RawFindingsContext = {
102
102
  isComplianceBenchmark?: boolean;
103
103
  isComplianceBenchmarkRule?: boolean;
104
104
  isComplianceBenchmarkRuleViolation?: boolean;
105
+ isVideoComplianceTrainingCompleted?: boolean;
105
106
  };
106
107
  export type SaasComponentMeta = {
107
108
  _findings: RawFindingsContext;
@@ -0,0 +1,29 @@
1
+ import { z } from 'zod';
2
+ export declare const _TrainingDto: z.ZodObject<{
3
+ subject: z.ZodString;
4
+ videoUrl: z.ZodString;
5
+ thumbnailUrl: z.ZodOptional<z.ZodString>;
6
+ }, "strip", z.ZodTypeAny, {
7
+ subject: string;
8
+ videoUrl: string;
9
+ thumbnailUrl?: string | undefined;
10
+ }, {
11
+ subject: string;
12
+ videoUrl: string;
13
+ thumbnailUrl?: string | undefined;
14
+ }>;
15
+ export type TrainingDto = z.infer<typeof _TrainingDto>;
16
+ export declare const _TrainingUpsertDto: z.ZodObject<{
17
+ subject: z.ZodOptional<z.ZodString>;
18
+ videoUrl: z.ZodOptional<z.ZodString>;
19
+ thumbnailUrl: z.ZodOptional<z.ZodOptional<z.ZodString>>;
20
+ }, "strip", z.ZodTypeAny, {
21
+ subject?: string | undefined;
22
+ videoUrl?: string | undefined;
23
+ thumbnailUrl?: string | undefined;
24
+ }, {
25
+ subject?: string | undefined;
26
+ videoUrl?: string | undefined;
27
+ thumbnailUrl?: string | undefined;
28
+ }>;
29
+ export type TrainingUpsertDto = z.infer<typeof _TrainingUpsertDto>;
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports._TrainingUpsertDto = exports._TrainingDto = void 0;
4
+ const zod_1 = require("zod");
5
+ exports._TrainingDto = zod_1.z.object({
6
+ subject: zod_1.z.string(),
7
+ videoUrl: zod_1.z.string().url(),
8
+ thumbnailUrl: zod_1.z.string().url().optional(),
9
+ });
10
+ exports._TrainingUpsertDto = exports._TrainingDto.partial();
11
+ //# sourceMappingURL=trainings.dto.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"trainings.dto.js","sourceRoot":"","sources":["../../../src/dto/trainings.dto.ts"],"names":[],"mappings":";;;AAAA,6BAAsB;AAET,QAAA,YAAY,GAAG,OAAC,CAAC,MAAM,CAAC;IACnC,OAAO,EAAE,OAAC,CAAC,MAAM,EAAE;IACnB,QAAQ,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE;IAC1B,YAAY,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;CAC1C,CAAC,CAAC;AAIU,QAAA,kBAAkB,GAAG,oBAAY,CAAC,OAAO,EAAE,CAAC"}
@@ -6,6 +6,7 @@ import { FlowSpecsService } from './flowSpecs.service';
6
6
  import { CohortService } from './rest/CohortService';
7
7
  import { AgentsService } from './AgentsService';
8
8
  import { EngagementService } from './engagements.service';
9
+ import { TrainingsService } from './trainings.service';
9
10
  export type AmpApiOptions = AmpRestClientOptions;
10
11
  /**
11
12
  * AMP API
@@ -46,6 +47,7 @@ export declare class AmpApi {
46
47
  readonly settings: AmpSettingsService;
47
48
  readonly tenants: AmpEntityService<TenantUpsertDto, TenantDto>;
48
49
  readonly tokens: AmpDataService<TokenDto>;
50
+ readonly trainings: TrainingsService;
49
51
  readonly users: AmpDataService<UserDto>;
50
52
  readonly usersInsights: UsersInsightsService;
51
53
  readonly prediction: PredictionService;
@@ -9,6 +9,7 @@ const flowSpecs_service_1 = require("./flowSpecs.service");
9
9
  const CohortService_1 = require("./rest/CohortService");
10
10
  const AgentsService_1 = require("./AgentsService");
11
11
  const engagements_service_1 = require("./engagements.service");
12
+ const trainings_service_1 = require("./trainings.service");
12
13
  /**
13
14
  * AMP API
14
15
  * This client is a wrapper around the AMP REST API meant to be used by
@@ -49,6 +50,7 @@ class AmpApi {
49
50
  this.settings = new _1.AmpSettingsService(rest);
50
51
  this.tenants = new _1.AmpEntityServiceImpl(rest, constants_1.KIND.TENANTS);
51
52
  this.tokens = new _1.AmpDataServiceImpl(rest, constants_1.KIND.TOKENS);
53
+ this.trainings = new trainings_service_1.TrainingsService(rest, constants_1.KIND.TRAININGS);
52
54
  this.users = new _1.AmpDataServiceImpl(rest, constants_1.KIND.USERS);
53
55
  this.usersInsights = new usersInsights_service_1.UsersInsightsService(rest);
54
56
  this.prediction = new _1.PredictionService(rest, constants_1.KIND.FINDINGS);
@@ -1 +1 @@
1
- {"version":3,"file":"AmpApi.js","sourceRoot":"","sources":["../../../src/services/AmpApi.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AmpApi.js","sourceRoot":"","sources":["../../../src/services/AmpApi.ts"],"names":[],"mappings":"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"}
@@ -45,6 +45,7 @@ export declare const KIND: {
45
45
  TENANTS: string;
46
46
  TENANT_NOTES: string;
47
47
  TOKENS: string;
48
+ TRAININGS: string;
48
49
  USERS: string;
49
50
  USERS_INSIGHTS: string;
50
51
  WORKFLOW_PROGRESS: string;
@@ -44,6 +44,7 @@ exports.KIND = {
44
44
  TENANTS: 'tenants',
45
45
  TENANT_NOTES: 'tenant_notes',
46
46
  TOKENS: 'tokens',
47
+ TRAININGS: 'trainings',
47
48
  USERS: 'users',
48
49
  USERS_INSIGHTS: 'coverage',
49
50
  WORKFLOW_PROGRESS: 'workflow_progress',
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/services/constants.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/services/constants.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,23 @@
1
+ import { TrainingDto } from '../dto/trainings.dto';
2
+ import { TargetApi } from './constants';
3
+ import { RestClient, RestResponse } from './rest';
4
+ /**
5
+ * Service to manage compliance trainings.
6
+ */
7
+ export declare class TrainingsService {
8
+ protected readonly rest: RestClient;
9
+ protected readonly targetApi: string;
10
+ protected readonly kind: string;
11
+ constructor(rest: RestClient, kind: string, targetApi?: TargetApi);
12
+ createTraining: (trainingDto: TrainingDto) => Promise<RestResponse>;
13
+ getVideoUrl: (hmac: string) => Promise<{
14
+ success: boolean;
15
+ videoUrl: string;
16
+ }>;
17
+ completeTraining: (hmac: string) => Promise<{
18
+ success: boolean;
19
+ message: string;
20
+ findingsClosed: number;
21
+ }>;
22
+ }
23
+ export default TrainingsService;
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TrainingsService = void 0;
4
+ /**
5
+ * Service to manage compliance trainings.
6
+ */
7
+ class TrainingsService {
8
+ constructor(rest, kind, targetApi = 'api') {
9
+ // Creates a new training with the provided details
10
+ this.createTraining = async (trainingDto) => {
11
+ const res = await this.rest.call({
12
+ url: `/${this.targetApi}/v1/${this.kind}/create`,
13
+ method: 'POST',
14
+ data: trainingDto,
15
+ });
16
+ return res;
17
+ };
18
+ // Fetches the video URL for a given training identified by HMAC
19
+ this.getVideoUrl = async (hmac) => {
20
+ const res = await this.rest.call({
21
+ url: `/${this.targetApi}/v1/${this.kind}/${hmac}`,
22
+ method: 'GET',
23
+ });
24
+ return res;
25
+ };
26
+ // Marks the training identified by HMAC as complete
27
+ this.completeTraining = async (hmac) => {
28
+ const res = await this.rest.call({
29
+ url: `/${this.targetApi}/v1/${this.kind}/${hmac}/complete`,
30
+ method: 'POST',
31
+ });
32
+ return res;
33
+ };
34
+ this.rest = rest;
35
+ this.kind = kind;
36
+ this.targetApi = targetApi;
37
+ }
38
+ }
39
+ exports.TrainingsService = TrainingsService;
40
+ exports.default = TrainingsService;
41
+ //# sourceMappingURL=trainings.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"trainings.service.js","sourceRoot":"","sources":["../../../src/services/trainings.service.ts"],"names":[],"mappings":";;;AAIA;;GAEG;AACH,MAAa,gBAAgB;IAI3B,YAAY,IAAgB,EAAE,IAAY,EAAE,YAAuB,KAAK;QAMxE,mDAAmD;QACnD,mBAAc,GAAG,KAAK,EAAE,WAAwB,EAAyB,EAAE;YACzE,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;gBAC/B,GAAG,EAAE,IAAI,IAAI,CAAC,SAAS,OAAO,IAAI,CAAC,IAAI,SAAS;gBAChD,MAAM,EAAE,MAAM;gBACd,IAAI,EAAE,WAAW;aAClB,CAAC,CAAC;YACH,OAAO,GAAG,CAAC;QACb,CAAC,CAAC;QAEF,gEAAgE;QAChE,gBAAW,GAAG,KAAK,EAAE,IAAY,EAAiD,EAAE;YAClF,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;gBAC/B,GAAG,EAAE,IAAI,IAAI,CAAC,SAAS,OAAO,IAAI,CAAC,IAAI,IAAI,IAAI,EAAE;gBACjD,MAAM,EAAE,KAAK;aACd,CAAC,CAAC;YACH,OAAO,GAAsD,CAAC;QAChE,CAAC,CAAC;QAEF,oDAAoD;QACpD,qBAAgB,GAAG,KAAK,EAAE,IAAY,EAAwE,EAAE;YAC9G,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;gBAC/B,GAAG,EAAE,IAAI,IAAI,CAAC,SAAS,OAAO,IAAI,CAAC,IAAI,IAAI,IAAI,WAAW;gBAC1D,MAAM,EAAE,MAAM;aACf,CAAC,CAAC;YACH,OAAO,GAA6E,CAAC;QACvF,CAAC,CAAC;QA/BA,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC7B,CAAC;CA6BF;AArCD,4CAqCC;AAED,kBAAe,gBAAgB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ampsec/platform-client",
3
- "version": "84.27.0",
3
+ "version": "84.28.1",
4
4
  "description": "",
5
5
  "main": "build/src/index.js",
6
6
  "runkitExampleFilename": "example/main.js",
@@ -19,6 +19,10 @@ export const FINDING_BUCKET_KEYS = {
19
19
  * COMPLIANCE
20
20
  */
21
21
  COMPLIANCE: 'COMPLIANCE',
22
+ /**
23
+ * VIDEO COMPLIANCE TRAINING
24
+ */
25
+ VIDEO_COMPLIANCE_TRAINING: 'VIDEO_COMPLIANCE_TRAINING',
22
26
  /**
23
27
  * OTHER
24
28
  */
@@ -114,6 +114,7 @@ export type RawFindingsContext = {
114
114
  isComplianceBenchmark?: boolean;
115
115
  isComplianceBenchmarkRule?: boolean;
116
116
  isComplianceBenchmarkRuleViolation?: boolean;
117
+ isVideoComplianceTrainingCompleted?: boolean;
117
118
  };
118
119
 
119
120
  export type SaasComponentMeta = {
@@ -0,0 +1,12 @@
1
+ import {z} from 'zod';
2
+
3
+ export const _TrainingDto = z.object({
4
+ subject: z.string(),
5
+ videoUrl: z.string().url(),
6
+ thumbnailUrl: z.string().url().optional(),
7
+ });
8
+
9
+ export type TrainingDto = z.infer<typeof _TrainingDto>;
10
+
11
+ export const _TrainingUpsertDto = _TrainingDto.partial();
12
+ export type TrainingUpsertDto = z.infer<typeof _TrainingUpsertDto>;
@@ -39,6 +39,7 @@ import {FlowSpecsService} from './flowSpecs.service';
39
39
  import {CohortService} from './rest/CohortService';
40
40
  import {AgentsService} from './AgentsService';
41
41
  import {EngagementService} from './engagements.service';
42
+ import {TrainingsService} from './trainings.service';
42
43
 
43
44
  export type AmpApiOptions = AmpRestClientOptions;
44
45
 
@@ -81,6 +82,7 @@ export class AmpApi {
81
82
  readonly settings: AmpSettingsService;
82
83
  readonly tenants: AmpEntityService<TenantUpsertDto, TenantDto>;
83
84
  readonly tokens: AmpDataService<TokenDto>;
85
+ readonly trainings: TrainingsService;
84
86
  readonly users: AmpDataService<UserDto>;
85
87
  readonly usersInsights: UsersInsightsService;
86
88
  readonly prediction: PredictionService;
@@ -112,6 +114,7 @@ export class AmpApi {
112
114
  this.settings = new AmpSettingsService(rest);
113
115
  this.tenants = new AmpEntityServiceImpl<TenantUpsertDto, TenantDto>(rest, KIND.TENANTS);
114
116
  this.tokens = new AmpDataServiceImpl<TokenDto>(rest, KIND.TOKENS);
117
+ this.trainings = new TrainingsService(rest, KIND.TRAININGS);
115
118
  this.users = new AmpDataServiceImpl<UserDto>(rest, KIND.USERS);
116
119
  this.usersInsights = new UsersInsightsService(rest);
117
120
  this.prediction = new PredictionService(rest, KIND.FINDINGS);
@@ -48,6 +48,7 @@ export const KIND = {
48
48
  TENANTS: 'tenants',
49
49
  TENANT_NOTES: 'tenant_notes',
50
50
  TOKENS: 'tokens',
51
+ TRAININGS: 'trainings',
51
52
  USERS: 'users',
52
53
  USERS_INSIGHTS: 'coverage',
53
54
  WORKFLOW_PROGRESS: 'workflow_progress',
@@ -0,0 +1,47 @@
1
+ import {TrainingDto} from '../dto/trainings.dto';
2
+ import {TargetApi} from './constants';
3
+ import {RestClient, RestResponse} from './rest';
4
+
5
+ /**
6
+ * Service to manage compliance trainings.
7
+ */
8
+ export class TrainingsService {
9
+ protected readonly rest: RestClient;
10
+ protected readonly targetApi: string;
11
+ protected readonly kind: string;
12
+ constructor(rest: RestClient, kind: string, targetApi: TargetApi = 'api') {
13
+ this.rest = rest;
14
+ this.kind = kind;
15
+ this.targetApi = targetApi;
16
+ }
17
+
18
+ // Creates a new training with the provided details
19
+ createTraining = async (trainingDto: TrainingDto): Promise<RestResponse> => {
20
+ const res = await this.rest.call({
21
+ url: `/${this.targetApi}/v1/${this.kind}/create`,
22
+ method: 'POST',
23
+ data: trainingDto,
24
+ });
25
+ return res;
26
+ };
27
+
28
+ // Fetches the video URL for a given training identified by HMAC
29
+ getVideoUrl = async (hmac: string): Promise<{success: boolean; videoUrl: string}> => {
30
+ const res = await this.rest.call({
31
+ url: `/${this.targetApi}/v1/${this.kind}/${hmac}`,
32
+ method: 'GET',
33
+ });
34
+ return res as unknown as {success: boolean; videoUrl: string};
35
+ };
36
+
37
+ // Marks the training identified by HMAC as complete
38
+ completeTraining = async (hmac: string): Promise<{success: boolean; message: string; findingsClosed: number}> => {
39
+ const res = await this.rest.call({
40
+ url: `/${this.targetApi}/v1/${this.kind}/${hmac}/complete`,
41
+ method: 'POST',
42
+ });
43
+ return res as unknown as {success: boolean; message: string; findingsClosed: number};
44
+ };
45
+ }
46
+
47
+ export default TrainingsService;