@osaas/client-services 0.7.0 → 0.9.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.
@@ -0,0 +1,355 @@
1
+ /**
2
+ * This file was auto-generated by openapi-typescript.
3
+ * Do not make direct changes to the file.
4
+ */
5
+ export interface paths {
6
+ '/': {
7
+ /** Say hello */
8
+ get: {
9
+ responses: {
10
+ /** The magical words! */
11
+ 200: {
12
+ schema: string;
13
+ };
14
+ };
15
+ };
16
+ };
17
+ '/slimserverinstance': {
18
+ /** List all running slimserver instances */
19
+ get: {
20
+ responses: {
21
+ /** Default Response */
22
+ 200: {
23
+ schema: {
24
+ /** @description Name of the slimserver instance */
25
+ name: string;
26
+ /** @description URL to instance API */
27
+ url: string;
28
+ resources: {
29
+ license: {
30
+ /** @description URL to license information */
31
+ url: string;
32
+ };
33
+ apiDocs?: {
34
+ /** @description URL to instance API documentation */
35
+ url: string;
36
+ };
37
+ app?: {
38
+ /** @description URL to instance application (GUI) */
39
+ url: string;
40
+ };
41
+ };
42
+ MusicBucketUrl?: string;
43
+ S3EndpointUrl?: string;
44
+ S3AccessKeyId?: string;
45
+ S3SecretAccessKey?: string;
46
+ S3Region?: string;
47
+ }[];
48
+ };
49
+ /** Default Response */
50
+ 500: {
51
+ schema: {
52
+ /** @description Reason why something failed */
53
+ reason: string;
54
+ };
55
+ };
56
+ };
57
+ };
58
+ /** Launch a new slimserver instance */
59
+ post: {
60
+ parameters: {
61
+ body: {
62
+ body?: {
63
+ /** @description Name of the slimserver instance */
64
+ name: string;
65
+ MusicBucketUrl?: string;
66
+ S3EndpointUrl?: string;
67
+ S3AccessKeyId?: string;
68
+ S3SecretAccessKey?: string;
69
+ S3Region?: string;
70
+ };
71
+ };
72
+ };
73
+ responses: {
74
+ /** Default Response */
75
+ 200: {
76
+ schema: {
77
+ /** @description Name of the slimserver instance */
78
+ name: string;
79
+ /** @description URL to instance API */
80
+ url: string;
81
+ resources: {
82
+ license: {
83
+ /** @description URL to license information */
84
+ url: string;
85
+ };
86
+ apiDocs?: {
87
+ /** @description URL to instance API documentation */
88
+ url: string;
89
+ };
90
+ app?: {
91
+ /** @description URL to instance application (GUI) */
92
+ url: string;
93
+ };
94
+ };
95
+ MusicBucketUrl?: string;
96
+ S3EndpointUrl?: string;
97
+ S3AccessKeyId?: string;
98
+ S3SecretAccessKey?: string;
99
+ S3Region?: string;
100
+ };
101
+ };
102
+ /** Default Response */
103
+ 403: {
104
+ schema: {
105
+ /** @description Reason why something failed */
106
+ reason: string;
107
+ };
108
+ };
109
+ /** Default Response */
110
+ 409: {
111
+ schema: {
112
+ /** @description Reason why something failed */
113
+ reason: string;
114
+ };
115
+ };
116
+ /** Default Response */
117
+ 500: {
118
+ schema: {
119
+ /** @description Reason why something failed */
120
+ reason: string;
121
+ };
122
+ };
123
+ };
124
+ };
125
+ };
126
+ '/slimserverinstance/{id}': {
127
+ /** Obtain status and resource URLs for an slimserver instance */
128
+ get: {
129
+ parameters: {
130
+ path: {
131
+ /** Name of the slimserver instance */
132
+ id: string;
133
+ };
134
+ };
135
+ responses: {
136
+ /** Default Response */
137
+ 200: {
138
+ schema: {
139
+ /** @description Name of the slimserver instance */
140
+ name: string;
141
+ /** @description URL to instance API */
142
+ url: string;
143
+ resources: {
144
+ license: {
145
+ /** @description URL to license information */
146
+ url: string;
147
+ };
148
+ apiDocs?: {
149
+ /** @description URL to instance API documentation */
150
+ url: string;
151
+ };
152
+ app?: {
153
+ /** @description URL to instance application (GUI) */
154
+ url: string;
155
+ };
156
+ };
157
+ MusicBucketUrl?: string;
158
+ S3EndpointUrl?: string;
159
+ S3AccessKeyId?: string;
160
+ S3SecretAccessKey?: string;
161
+ S3Region?: string;
162
+ };
163
+ };
164
+ /** Default Response */
165
+ 404: {
166
+ schema: {
167
+ /** @description Reason why something failed */
168
+ reason: string;
169
+ };
170
+ };
171
+ /** Default Response */
172
+ 500: {
173
+ schema: {
174
+ /** @description Reason why something failed */
175
+ reason: string;
176
+ };
177
+ };
178
+ };
179
+ };
180
+ /** Stop and remove an slimserver instance */
181
+ delete: {
182
+ parameters: {
183
+ path: {
184
+ /** Name of the slimserver instance */
185
+ id: string;
186
+ };
187
+ };
188
+ responses: {
189
+ /** Default Response */
190
+ 204: {
191
+ schema: string;
192
+ };
193
+ /** Default Response */
194
+ 500: {
195
+ schema: {
196
+ /** @description Reason why something failed */
197
+ reason: string;
198
+ };
199
+ };
200
+ };
201
+ };
202
+ };
203
+ '/health/{id}': {
204
+ /** Return status of slimserver instance */
205
+ get: {
206
+ parameters: {
207
+ path: {
208
+ /** Name of the slimserver instance */
209
+ id: string;
210
+ };
211
+ };
212
+ responses: {
213
+ /** Default Response */
214
+ 200: {
215
+ schema: {
216
+ /** @enum {string} */
217
+ status: 'starting' | 'running' | 'stopped' | 'failed' | 'unknown';
218
+ };
219
+ };
220
+ /** Default Response */
221
+ 500: {
222
+ schema: {
223
+ /** @description Reason why something failed */
224
+ reason: string;
225
+ };
226
+ };
227
+ };
228
+ };
229
+ };
230
+ '/logs/{id}': {
231
+ /** Return the latest logs from the slimserver instance */
232
+ get: {
233
+ parameters: {
234
+ query: {
235
+ timestamps?: boolean;
236
+ sinceSeconds?: number;
237
+ };
238
+ path: {
239
+ /** Name of the slimserver instance */
240
+ id: string;
241
+ };
242
+ };
243
+ responses: {
244
+ /** Default Response */
245
+ 200: {
246
+ schema: string;
247
+ };
248
+ /** Default Response */
249
+ 500: {
250
+ schema: {
251
+ /** @description Reason why something failed */
252
+ reason: string;
253
+ };
254
+ };
255
+ };
256
+ };
257
+ };
258
+ '/ports/{id}': {
259
+ /** Return the exposed extra ports for slimserver instance */
260
+ get: {
261
+ parameters: {
262
+ path: {
263
+ /** Name of the slimserver instance */
264
+ id: string;
265
+ };
266
+ };
267
+ responses: {
268
+ /** Default Response */
269
+ 200: {
270
+ schema: {
271
+ externalIp: string;
272
+ externalPort: number;
273
+ internalPort: number;
274
+ }[];
275
+ };
276
+ /** Default Response */
277
+ 500: {
278
+ schema: {
279
+ /** @description Reason why something failed */
280
+ reason: string;
281
+ };
282
+ };
283
+ };
284
+ };
285
+ };
286
+ }
287
+ export interface definitions {
288
+ }
289
+ export interface operations {
290
+ }
291
+ export interface external {
292
+ }
293
+ export type LmsCommunitySlimserver = paths['/slimserverinstance/{id}']['get']['responses']['200']['schema'];
294
+ export type LmsCommunitySlimserverConfig = paths['/slimserverinstance']['post']['parameters']['body']['body'];
295
+ import { Context } from '@osaas/client-core';
296
+ /**
297
+ * @namespace lms-community-slimserver
298
+ * @description Experience the ultimate audio streaming solution with Lyrion Music Server. Effortlessly stream local and internet music to any device, transforming your listening experience across platforms like Windows, macOS, and Linux.
299
+ * @author Eyevinn Technology AB <osc@eyevinn.se>
300
+ * @copyright 2025 Eyevinn Technology AB
301
+ *
302
+ */
303
+ /**
304
+ * @typedef {Object} LmsCommunitySlimserverConfig
305
+ * @property {string} name - Name of slimserver
306
+ * @property {string} [MusicBucketUrl] - MusicBucketUrl
307
+ * @property {string} [S3EndpointUrl] - S3EndpointUrl
308
+ * @property {string} [S3AccessKeyId] - S3AccessKeyId
309
+ * @property {string} [S3SecretAccessKey] - S3SecretAccessKey
310
+ * @property {string} [S3Region] - S3Region
311
+
312
+ *
313
+ */
314
+ /**
315
+ * @typedef {Object} LmsCommunitySlimserver
316
+ * @property {string} name - Name of the Lyrion Music Server instance
317
+ * @property {string} url - URL of the Lyrion Music Server instance
318
+ *
319
+ */
320
+ /**
321
+ * Create a new Lyrion Music Server instance
322
+ *
323
+ * @memberOf lms-community-slimserver
324
+ * @async
325
+ * @param {Context} context - Open Source Cloud configuration context
326
+ * @param {LmsCommunitySlimserverConfig} body - Service instance configuration
327
+ * @returns {LmsCommunitySlimserver} - Service instance
328
+ * @example
329
+ * import { Context, createLmsCommunitySlimserverInstance } from '@osaas/client-services';
330
+ *
331
+ * const ctx = new Context();
332
+ * const instance = await createLmsCommunitySlimserverInstance(ctx, { name: 'myinstance' });
333
+ * console.log(instance.url);
334
+ */
335
+ export declare function createLmsCommunitySlimserverInstance(ctx: Context, body: LmsCommunitySlimserverConfig): Promise<LmsCommunitySlimserver>;
336
+ /**
337
+ * Remove a Lyrion Music Server instance
338
+ *
339
+ * @memberOf lms-community-slimserver
340
+ * @async
341
+ * @param {Context} context - Open Source Cloud configuration context
342
+ * @param {string} name - Name of the slimserver to be removed
343
+ */
344
+ export declare function removeLmsCommunitySlimserverInstance(ctx: Context, name: string): Promise<void>;
345
+ /**
346
+ * Get a Lyrion Music Server instance
347
+ *
348
+ * @memberOf lms-community-slimserver
349
+ * @async
350
+ * @param {Context} context - Open Source Cloud configuration context
351
+ * @param {string} name - Name of the slimserver to be retrieved
352
+ * @returns {LmsCommunitySlimserver} - Service instance
353
+ */
354
+ export declare function getLmsCommunitySlimserverInstance(ctx: Context, name: string): Promise<LmsCommunitySlimserver>;
355
+ //# sourceMappingURL=lms-community-slimserver.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lms-community-slimserver.d.ts","sourceRoot":"","sources":["../../src/generated/lms-community-slimserver.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,82 @@
1
+ "use strict";
2
+ /**
3
+ * This file was auto-generated by openapi-typescript.
4
+ * Do not make direct changes to the file.
5
+ */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.getLmsCommunitySlimserverInstance = exports.removeLmsCommunitySlimserverInstance = exports.createLmsCommunitySlimserverInstance = void 0;
8
+ const client_core_1 = require("@osaas/client-core");
9
+ /**
10
+ * @namespace lms-community-slimserver
11
+ * @description Experience the ultimate audio streaming solution with Lyrion Music Server. Effortlessly stream local and internet music to any device, transforming your listening experience across platforms like Windows, macOS, and Linux.
12
+ * @author Eyevinn Technology AB <osc@eyevinn.se>
13
+ * @copyright 2025 Eyevinn Technology AB
14
+ *
15
+ */
16
+ /**
17
+ * @typedef {Object} LmsCommunitySlimserverConfig
18
+ * @property {string} name - Name of slimserver
19
+ * @property {string} [MusicBucketUrl] - MusicBucketUrl
20
+ * @property {string} [S3EndpointUrl] - S3EndpointUrl
21
+ * @property {string} [S3AccessKeyId] - S3AccessKeyId
22
+ * @property {string} [S3SecretAccessKey] - S3SecretAccessKey
23
+ * @property {string} [S3Region] - S3Region
24
+
25
+ *
26
+ */
27
+ /**
28
+ * @typedef {Object} LmsCommunitySlimserver
29
+ * @property {string} name - Name of the Lyrion Music Server instance
30
+ * @property {string} url - URL of the Lyrion Music Server instance
31
+ *
32
+ */
33
+ /**
34
+ * Create a new Lyrion Music Server instance
35
+ *
36
+ * @memberOf lms-community-slimserver
37
+ * @async
38
+ * @param {Context} context - Open Source Cloud configuration context
39
+ * @param {LmsCommunitySlimserverConfig} body - Service instance configuration
40
+ * @returns {LmsCommunitySlimserver} - Service instance
41
+ * @example
42
+ * import { Context, createLmsCommunitySlimserverInstance } from '@osaas/client-services';
43
+ *
44
+ * const ctx = new Context();
45
+ * const instance = await createLmsCommunitySlimserverInstance(ctx, { name: 'myinstance' });
46
+ * console.log(instance.url);
47
+ */
48
+ async function createLmsCommunitySlimserverInstance(ctx, body) {
49
+ const serviceAccessToken = await ctx.getServiceAccessToken('lms-community-slimserver');
50
+ const instance = await (0, client_core_1.createInstance)(ctx, 'lms-community-slimserver', serviceAccessToken, body);
51
+ await (0, client_core_1.waitForInstanceReady)('lms-community-slimserver', instance.name, ctx);
52
+ return instance;
53
+ }
54
+ exports.createLmsCommunitySlimserverInstance = createLmsCommunitySlimserverInstance;
55
+ /**
56
+ * Remove a Lyrion Music Server instance
57
+ *
58
+ * @memberOf lms-community-slimserver
59
+ * @async
60
+ * @param {Context} context - Open Source Cloud configuration context
61
+ * @param {string} name - Name of the slimserver to be removed
62
+ */
63
+ async function removeLmsCommunitySlimserverInstance(ctx, name) {
64
+ const serviceAccessToken = await ctx.getServiceAccessToken('lms-community-slimserver');
65
+ await (0, client_core_1.removeInstance)(ctx, 'lms-community-slimserver', name, serviceAccessToken);
66
+ }
67
+ exports.removeLmsCommunitySlimserverInstance = removeLmsCommunitySlimserverInstance;
68
+ /**
69
+ * Get a Lyrion Music Server instance
70
+ *
71
+ * @memberOf lms-community-slimserver
72
+ * @async
73
+ * @param {Context} context - Open Source Cloud configuration context
74
+ * @param {string} name - Name of the slimserver to be retrieved
75
+ * @returns {LmsCommunitySlimserver} - Service instance
76
+ */
77
+ async function getLmsCommunitySlimserverInstance(ctx, name) {
78
+ const serviceAccessToken = await ctx.getServiceAccessToken('lms-community-slimserver');
79
+ return await (0, client_core_1.getInstance)(ctx, 'lms-community-slimserver', name, serviceAccessToken);
80
+ }
81
+ exports.getLmsCommunitySlimserverInstance = getLmsCommunitySlimserverInstance;
82
+ //# sourceMappingURL=lms-community-slimserver.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lms-community-slimserver.js","sourceRoot":"","sources":["../../src/generated/lms-community-slimserver.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAwSH,oDAM4B;AAC5B;;;;;;GAMG;AAEH;;;;;;;;;;GAUG;AAEH;;;;;GAKG;AAEH;;;;;;;;;;;;;;GAcG;AACI,KAAK,UAAU,oCAAoC,CACxD,GAAY,EACZ,IAAkC;IAElC,MAAM,kBAAkB,GAAG,MAAM,GAAG,CAAC,qBAAqB,CACxD,0BAA0B,CAC3B,CAAC;IACF,MAAM,QAAQ,GAAG,MAAM,IAAA,4BAAc,EACnC,GAAG,EACH,0BAA0B,EAC1B,kBAAkB,EAClB,IAAI,CACL,CAAC;IACF,MAAM,IAAA,kCAAoB,EAAC,0BAA0B,EAAE,QAAQ,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IAC3E,OAAO,QAAQ,CAAC;AAClB,CAAC;AAfD,oFAeC;AAED;;;;;;;GAOG;AACI,KAAK,UAAU,oCAAoC,CACxD,GAAY,EACZ,IAAY;IAEZ,MAAM,kBAAkB,GAAG,MAAM,GAAG,CAAC,qBAAqB,CACxD,0BAA0B,CAC3B,CAAC;IACF,MAAM,IAAA,4BAAc,EAClB,GAAG,EACH,0BAA0B,EAC1B,IAAI,EACJ,kBAAkB,CACnB,CAAC;AACJ,CAAC;AAbD,oFAaC;AAED;;;;;;;;GAQG;AACI,KAAK,UAAU,iCAAiC,CACrD,GAAY,EACZ,IAAY;IAEZ,MAAM,kBAAkB,GAAG,MAAM,GAAG,CAAC,qBAAqB,CACxD,0BAA0B,CAC3B,CAAC;IACF,OAAO,MAAM,IAAA,yBAAW,EACtB,GAAG,EACH,0BAA0B,EAC1B,IAAI,EACJ,kBAAkB,CACnB,CAAC;AACJ,CAAC;AAbD,8EAaC"}