@osaas/client-transcode 0.12.1 → 0.13.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/README.md CHANGED
@@ -6,7 +6,8 @@ SDK for transcoding with Encore in Open Source Cloud and transfer result to S3 b
6
6
 
7
7
  Prerequisites
8
8
 
9
- - An account on [Open Source Cloud](www.osaas.io)
9
+ - An account on [Eyevinn Open Source Cloud](www.osaas.io)
10
+ - Business subscription with 5 services remaining
10
11
 
11
12
  ```
12
13
  npm install --save @osaas/client-transcode
@@ -16,53 +17,20 @@ Example code
16
17
 
17
18
  ```javascript
18
19
  import { Context, Log } from '@osaas/client-core';
19
- import { QueuePool } from '@osaas/client-transcode';
20
+ import { createVod, createVodPipeline } from '@osaas/client-transcode';
20
21
 
21
22
  async function main() {
22
23
  const ctx = new Context();
23
24
 
24
25
  try {
25
- const pool = new QueuePool({ context: ctx });
26
- await pool.init();
27
- await pool.transcode(
28
- new URL(
29
- 'https://testcontent.eyevinn.technology/mp4/stswe-tvplus-promo.mp4'
30
- ),
31
- new URL('s3://lab-testcontent-store/birme/'),
32
- {}
33
- );
34
- await pool.destroy();
35
- } catch (err) {
36
- Log().error(err);
37
- }
38
- }
39
-
40
- main();
41
- ```
42
-
43
- Transcode and create streaming package
44
-
45
- ```javascript
46
- import { Context, Log } from '@osaas/client-core';
47
- import { QueuePool } from '@osaas/client-transcode';
48
-
49
- async function main() {
50
- const ctx = new Context();
51
-
52
- try {
53
- const pool = new QueuePool({ context: ctx, usePackagingQueue: true });
54
- await pool.init();
55
- await pool.transcode(
56
- new URL(
57
- 'https://testcontent.eyevinn.technology/mp4/stswe-tvplus-promo.mp4'
58
- ),
59
- new URL('s3://lab-testcontent-store/birme/'),
60
- {
61
- packageDestination: new URL(
62
- 's3://lab-testcontent-storate/birme/output/'
63
- )
64
- }
65
- );
26
+ const ctx = new Context({ environment });
27
+ Log().info('Creating VOD pipeline');
28
+ const pipeline = await createVodPipeline(name, ctx);
29
+ Log().info('VOD pipeline created, starting job to create VOD');
30
+ const job = await createVod(pipeline, source, ctx);
31
+ if (job) {
32
+ Log().info('Created VOD will be available at: ' + job.vodUrl);
33
+ }
66
34
  } catch (err) {
67
35
  Log().error(err);
68
36
  }
package/lib/index.d.ts CHANGED
@@ -5,4 +5,5 @@ export { vmafCompare } from './vmaf';
5
5
  export { createStreamingPackage } from './packager';
6
6
  export { createLiveSingleBitrateHLS, removeLiveSingleBitrateHLS, listSingleBitrateHLS, createLiveMultiBitrateHLS, startLiveMultiBitrateHLS, stopLiveMultiBitrateHLS } from './live';
7
7
  export { SubtitlingPool } from './subtitling';
8
+ export { createVodPipeline, removeVodPipeline, createVod } from './vodpipeline';
8
9
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,sCAAsC;AACtC,OAAO,EAAE,sBAAsB,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAC1E,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AACnC,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AACrC,OAAO,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AACpD,OAAO,EACL,0BAA0B,EAC1B,0BAA0B,EAC1B,oBAAoB,EACpB,yBAAyB,EACzB,wBAAwB,EACxB,uBAAuB,EACxB,MAAM,QAAQ,CAAC;AAChB,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,sCAAsC;AACtC,OAAO,EAAE,sBAAsB,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAC1E,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AACnC,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AACrC,OAAO,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AACpD,OAAO,EACL,0BAA0B,EAC1B,0BAA0B,EAC1B,oBAAoB,EACpB,yBAAyB,EACzB,wBAAwB,EACxB,uBAAuB,EACxB,MAAM,QAAQ,CAAC;AAChB,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC"}
package/lib/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.SubtitlingPool = exports.stopLiveMultiBitrateHLS = exports.startLiveMultiBitrateHLS = exports.createLiveMultiBitrateHLS = exports.listSingleBitrateHLS = exports.removeLiveSingleBitrateHLS = exports.createLiveSingleBitrateHLS = exports.createStreamingPackage = exports.vmafCompare = exports.QueuePool = exports.Encore = exports.EncorePackager = exports.EncoreCallbackListener = void 0;
3
+ exports.createVod = exports.removeVodPipeline = exports.createVodPipeline = exports.SubtitlingPool = exports.stopLiveMultiBitrateHLS = exports.startLiveMultiBitrateHLS = exports.createLiveMultiBitrateHLS = exports.listSingleBitrateHLS = exports.removeLiveSingleBitrateHLS = exports.createLiveSingleBitrateHLS = exports.createStreamingPackage = exports.vmafCompare = exports.QueuePool = exports.Encore = exports.EncorePackager = exports.EncoreCallbackListener = void 0;
4
4
  /** @module @osaas/client-transcode */
5
5
  var encore_1 = require("./encore");
6
6
  Object.defineProperty(exports, "EncoreCallbackListener", { enumerable: true, get: function () { return encore_1.EncoreCallbackListener; } });
@@ -21,4 +21,8 @@ Object.defineProperty(exports, "startLiveMultiBitrateHLS", { enumerable: true, g
21
21
  Object.defineProperty(exports, "stopLiveMultiBitrateHLS", { enumerable: true, get: function () { return live_1.stopLiveMultiBitrateHLS; } });
22
22
  var subtitling_1 = require("./subtitling");
23
23
  Object.defineProperty(exports, "SubtitlingPool", { enumerable: true, get: function () { return subtitling_1.SubtitlingPool; } });
24
+ var vodpipeline_1 = require("./vodpipeline");
25
+ Object.defineProperty(exports, "createVodPipeline", { enumerable: true, get: function () { return vodpipeline_1.createVodPipeline; } });
26
+ Object.defineProperty(exports, "removeVodPipeline", { enumerable: true, get: function () { return vodpipeline_1.removeVodPipeline; } });
27
+ Object.defineProperty(exports, "createVod", { enumerable: true, get: function () { return vodpipeline_1.createVod; } });
24
28
  //# sourceMappingURL=index.js.map
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,sCAAsC;AACtC,mCAA0E;AAAjE,gHAAA,sBAAsB,OAAA;AAAE,wGAAA,cAAc,OAAA;AAAE,gGAAA,MAAM,OAAA;AACvD,+BAAmC;AAA1B,iGAAA,SAAS,OAAA;AAClB,+BAAqC;AAA5B,mGAAA,WAAW,OAAA;AACpB,uCAAoD;AAA3C,kHAAA,sBAAsB,OAAA;AAC/B,+BAOgB;AANd,kHAAA,0BAA0B,OAAA;AAC1B,kHAAA,0BAA0B,OAAA;AAC1B,4GAAA,oBAAoB,OAAA;AACpB,iHAAA,yBAAyB,OAAA;AACzB,gHAAA,wBAAwB,OAAA;AACxB,+GAAA,uBAAuB,OAAA;AAEzB,2CAA8C;AAArC,4GAAA,cAAc,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,sCAAsC;AACtC,mCAA0E;AAAjE,gHAAA,sBAAsB,OAAA;AAAE,wGAAA,cAAc,OAAA;AAAE,gGAAA,MAAM,OAAA;AACvD,+BAAmC;AAA1B,iGAAA,SAAS,OAAA;AAClB,+BAAqC;AAA5B,mGAAA,WAAW,OAAA;AACpB,uCAAoD;AAA3C,kHAAA,sBAAsB,OAAA;AAC/B,+BAOgB;AANd,kHAAA,0BAA0B,OAAA;AAC1B,kHAAA,0BAA0B,OAAA;AAC1B,4GAAA,oBAAoB,OAAA;AACpB,iHAAA,yBAAyB,OAAA;AACzB,gHAAA,wBAAwB,OAAA;AACxB,+GAAA,uBAAuB,OAAA;AAEzB,2CAA8C;AAArC,4GAAA,cAAc,OAAA;AACvB,6CAAgF;AAAvE,gHAAA,iBAAiB,OAAA;AAAE,gHAAA,iBAAiB,OAAA;AAAE,wGAAA,SAAS,OAAA"}
@@ -0,0 +1,19 @@
1
+ import { Context } from '@osaas/client-core';
2
+ export interface VodPipeline {
3
+ name: string;
4
+ jobs: string;
5
+ callbackUrl: string;
6
+ output: string;
7
+ endpoint: string;
8
+ }
9
+ export interface VodJob {
10
+ id: string;
11
+ vodUrl: string;
12
+ }
13
+ export declare function createVodPipeline(name: string, ctx: Context): Promise<VodPipeline>;
14
+ export declare function removeVodPipeline(name: string, context: Context): Promise<void>;
15
+ export declare function createVod(pipeline: VodPipeline, source: string, context: Context): Promise<{
16
+ id: string;
17
+ vodUrl: string;
18
+ }>;
19
+ //# sourceMappingURL=vodpipeline.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vodpipeline.d.ts","sourceRoot":"","sources":["../src/vodpipeline.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,OAAO,EAMR,MAAM,oBAAoB,CAAC;AAsB5B,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,MAAM;IACrB,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;CAChB;AAqLD,wBAAsB,iBAAiB,CACrC,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,OAAO,GACX,OAAO,CAAC,WAAW,CAAC,CA6BtB;AAED,wBAAsB,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,iBAyBrE;AAED,wBAAsB,SAAS,CAC7B,QAAQ,EAAE,WAAW,EACrB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,OAAO;;;GAsCjB"}
@@ -0,0 +1,230 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ exports.createVod = exports.removeVodPipeline = exports.createVodPipeline = void 0;
27
+ const client_core_1 = require("@osaas/client-core");
28
+ const client_services_1 = require("@osaas/client-services");
29
+ const Minio = __importStar(require("minio"));
30
+ const util_1 = require("./util");
31
+ const crypto_1 = require("crypto");
32
+ const node_path_1 = require("node:path");
33
+ function createPublicBucketPolicy(name) {
34
+ return {
35
+ Statement: [
36
+ {
37
+ Action: ['s3:GetBucketLocation', 's3:ListBucket'],
38
+ Effect: 'Allow',
39
+ Principal: {
40
+ AWS: ['*']
41
+ },
42
+ Resource: [`arn:aws:s3:::${name}`]
43
+ },
44
+ {
45
+ Action: ['s3:GetObject'],
46
+ Effect: 'Allow',
47
+ Principal: {
48
+ AWS: ['*']
49
+ },
50
+ Resource: [`arn:aws:s3:::${name}/*`]
51
+ }
52
+ ],
53
+ Version: '2012-10-17'
54
+ };
55
+ }
56
+ async function createEncore(name, ctx) {
57
+ const sat = await ctx.getServiceAccessToken('encore');
58
+ let instance = await (0, client_core_1.getInstance)(ctx, 'encore', name, sat);
59
+ if (!instance) {
60
+ const config = { name };
61
+ const newInstance = await (0, client_services_1.createEncoreInstance)(ctx, config);
62
+ if (!newInstance) {
63
+ throw new Error('Failed to create new Encore instance');
64
+ }
65
+ instance = newInstance;
66
+ await (0, client_core_1.waitForInstanceReady)('encore', name, ctx);
67
+ }
68
+ return {
69
+ jobs: new URL('/encoreJobs', instance.url).toString(),
70
+ url: instance.url.replace(/\/$/, '')
71
+ };
72
+ }
73
+ async function createRedis(name, ctx) {
74
+ const sat = await ctx.getServiceAccessToken('valkey-io-valkey');
75
+ let instance = await (0, client_core_1.getInstance)(ctx, 'valkey-io-valkey', name, sat);
76
+ if (!instance) {
77
+ const config = { name };
78
+ const newInstance = await (0, client_services_1.createValkeyIoValkeyInstance)(ctx, config);
79
+ await (0, client_core_1.waitForInstanceReady)('valkey-io-valkey', name, ctx);
80
+ await (0, util_1.delay)(2000);
81
+ instance = newInstance;
82
+ await (0, client_core_1.waitForInstanceReady)('valkey-io-valkey', name, ctx);
83
+ }
84
+ const ports = await (0, client_core_1.getPortsForInstance)(ctx, 'valkey-io-valkey', name, sat);
85
+ const redisPort = ports.find((port) => port.internalPort == 6379);
86
+ if (!redisPort) {
87
+ throw new Error(`Failed to get redis port for instance ${name}`);
88
+ }
89
+ return `redis://${redisPort.externalIp}:${redisPort.externalPort}`;
90
+ }
91
+ async function createCallbackListener(name, redisUrl, encoreUrl, ctx) {
92
+ const sat = await ctx.getServiceAccessToken('eyevinn-encore-callback-listener');
93
+ let instance = await (0, client_core_1.getInstance)(ctx, 'eyevinn-encore-callback-listener', name, sat);
94
+ if (!instance) {
95
+ const config = {
96
+ name,
97
+ RedisUrl: redisUrl,
98
+ RedisQueue: 'package',
99
+ EncoreUrl: encoreUrl
100
+ };
101
+ const newInstance = await (0, client_services_1.createEyevinnEncoreCallbackListenerInstance)(ctx, config);
102
+ if (!newInstance) {
103
+ throw new Error('Failed to create new callback listener instance');
104
+ }
105
+ instance = newInstance;
106
+ await (0, client_core_1.waitForInstanceReady)('eyevinn-encore-callback-listener', name, ctx);
107
+ }
108
+ return {
109
+ url: new URL('/encoreCallback', instance.url).toString()
110
+ };
111
+ }
112
+ async function createPackager(name, redisUrl, outputFolder, accessKeyId, secretAccessKey, s3EndpointUrl, ctx) {
113
+ const sat = await ctx.getServiceAccessToken('eyevinn-encore-packager');
114
+ let instance = await (0, client_core_1.getInstance)(ctx, 'eyevinn-encore-packager', name, sat);
115
+ if (!instance) {
116
+ const config = {
117
+ name,
118
+ RedisUrl: redisUrl,
119
+ RedisQueue: 'package',
120
+ OutputFolder: outputFolder,
121
+ AwsAccessKeyId: accessKeyId,
122
+ AwsSecretAccessKey: secretAccessKey,
123
+ S3EndpointUrl: s3EndpointUrl,
124
+ PersonalAccessToken: '{{secrets.osctoken}}'
125
+ };
126
+ const newInstance = await (0, client_services_1.createEyevinnEncorePackagerInstance)(ctx, config);
127
+ if (!newInstance) {
128
+ throw new Error('Failed to create new packager instance');
129
+ }
130
+ instance = newInstance;
131
+ await (0, client_core_1.waitForInstanceReady)('eyevinn-encore-packager', name, ctx);
132
+ }
133
+ return instance;
134
+ }
135
+ async function createStorageBucket(name, ctx) {
136
+ const sat = await ctx.getServiceAccessToken('minio-minio');
137
+ let instance = await (0, client_core_1.getInstance)(ctx, 'minio-minio', name, sat);
138
+ if (!instance) {
139
+ const rootPassword = (0, crypto_1.randomBytes)(16).toString('hex');
140
+ const config = {
141
+ name,
142
+ RootUser: 'root',
143
+ RootPassword: rootPassword
144
+ };
145
+ const newInstance = await (0, client_services_1.createMinioMinioInstance)(ctx, config);
146
+ if (!newInstance) {
147
+ throw new Error('Failed to create new Minio instance');
148
+ }
149
+ instance = newInstance;
150
+ await (0, client_core_1.waitForInstanceReady)('minio-minio', name, ctx);
151
+ await (0, util_1.delay)(2000);
152
+ const minioClient = new Minio.Client({
153
+ endPoint: new URL(instance.url).hostname,
154
+ accessKey: 'root',
155
+ secretKey: instance.RootPassword || ''
156
+ });
157
+ await minioClient.makeBucket(name);
158
+ await minioClient.setBucketPolicy(name, JSON.stringify(createPublicBucketPolicy(name)));
159
+ }
160
+ return {
161
+ name: instance.name,
162
+ endpoint: instance.url,
163
+ accessKeyId: 'root',
164
+ secretAccessKey: instance.RootPassword || ''
165
+ };
166
+ }
167
+ async function createVodPipeline(name, ctx) {
168
+ if (!(0, client_core_1.isValidInstanceName)(name)) {
169
+ throw new Error(`Invalid instance name: ${name}`);
170
+ }
171
+ const storage = await createStorageBucket(name, ctx);
172
+ const redisUrl = await createRedis(name, ctx);
173
+ const transcoder = await createEncore(name, ctx);
174
+ const encoreCallback = await createCallbackListener(name, redisUrl, transcoder.url, ctx);
175
+ const packager = await createPackager(name, redisUrl, `s3://${name}/`, storage.accessKeyId, storage.secretAccessKey, storage.endpoint, ctx);
176
+ return {
177
+ name,
178
+ jobs: transcoder.jobs,
179
+ callbackUrl: encoreCallback.url,
180
+ output: packager.OutputFolder,
181
+ endpoint: storage.endpoint
182
+ };
183
+ }
184
+ exports.createVodPipeline = createVodPipeline;
185
+ async function removeVodPipeline(name, context) {
186
+ await (0, client_core_1.removeInstance)(context, 'encore', name, await context.getServiceAccessToken('encore'));
187
+ await (0, client_core_1.removeInstance)(context, 'eyevinn-encore-callback-listener', name, await context.getServiceAccessToken('eyevinn-encore-callback-listener'));
188
+ await (0, client_core_1.removeInstance)(context, 'eyevinn-encore-packager', name, await context.getServiceAccessToken('eyevinn-encore-packager'));
189
+ await (0, client_core_1.removeInstance)(context, 'valkey-io-valkey', name, await context.getServiceAccessToken('valkey-io-valkey'));
190
+ }
191
+ exports.removeVodPipeline = removeVodPipeline;
192
+ async function createVod(pipeline, source, context) {
193
+ const sat = await context.getServiceAccessToken('encore');
194
+ const externalId = pipeline.name + '-' + Math.random().toString(36).substring(7);
195
+ const job = {
196
+ externalId,
197
+ profile: 'program',
198
+ outputFolder: '/usercontent/',
199
+ baseName: externalId,
200
+ progressCallbackUri: pipeline.callbackUrl,
201
+ inputs: [
202
+ {
203
+ uri: source,
204
+ seekTo: 0,
205
+ copyTs: true,
206
+ type: 'AudioVideo'
207
+ }
208
+ ]
209
+ };
210
+ const response = await fetch(pipeline.jobs, {
211
+ method: 'POST',
212
+ headers: {
213
+ Authorization: `Bearer ${sat}`,
214
+ 'Content-Type': 'application/json'
215
+ },
216
+ body: JSON.stringify(job)
217
+ });
218
+ if (response.ok) {
219
+ const createdJob = (await response.json());
220
+ const sourceName = (0, node_path_1.basename)(source, (0, node_path_1.extname)(source));
221
+ const vod = {
222
+ id: createdJob.id,
223
+ vodUrl: `${pipeline.endpoint}/${pipeline.name}/${sourceName}/${createdJob.id}/index.m3u8`
224
+ };
225
+ return vod;
226
+ }
227
+ throw new Error(`Failed to create job: ${response.statusText}`);
228
+ }
229
+ exports.createVod = createVod;
230
+ //# sourceMappingURL=vodpipeline.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vodpipeline.js","sourceRoot":"","sources":["../src/vodpipeline.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@osaas/client-transcode",
3
- "version": "0.12.1",
3
+ "version": "0.13.0",
4
4
  "description": "Open Source Cloud Client SDK transcode library",
5
5
  "author": "Eyevinn Open Source Cloud <osc@eyevinn.se>",
6
6
  "homepage": "https://www.osaas.io",
@@ -25,12 +25,14 @@
25
25
  "test": "jest --passWithNoTests"
26
26
  },
27
27
  "dependencies": {
28
- "@osaas/client-core": "^0.14.1",
29
- "@osaas/client-db": "^0.3.1",
30
- "chalk": "4.1.2"
28
+ "@osaas/client-core": "^0.15.0",
29
+ "@osaas/client-db": "^0.3.2",
30
+ "@osaas/client-services": "^0.2.4",
31
+ "chalk": "4.1.2",
32
+ "minio": "^8.0.2"
31
33
  },
32
34
  "publishConfig": {
33
35
  "access": "public"
34
36
  },
35
- "gitHead": "150c79d6eb21b0d67c947706facf4918a1b9f907"
37
+ "gitHead": "eb88400f144914fba52d8d37dfc9b26a7966a8bc"
36
38
  }