@redseat/api 0.2.2 → 0.2.4

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.
@@ -17,15 +17,28 @@ export interface MediaItemReference {
17
17
  id: string;
18
18
  conf?: number;
19
19
  }
20
+ export interface FaceBBox {
21
+ x1: number;
22
+ y1: number;
23
+ x2: number;
24
+ y2: number;
25
+ videoS?: number;
26
+ videoPercent?: number;
27
+ }
20
28
  export interface FaceEmbedding {
21
29
  id: string;
22
30
  embedding?: number[];
23
31
  mediaRef?: string;
24
- bbox?: any;
32
+ bbox?: FaceBBox;
25
33
  confidence?: number;
26
34
  pose?: [number, number, number];
27
35
  personId?: string;
28
36
  }
37
+ export interface DetectedFaceResult {
38
+ faceId: string;
39
+ bbox?: FaceBBox;
40
+ confidence?: number;
41
+ }
29
42
  export interface BackupFile {
30
43
  backup: string;
31
44
  library?: string;
package/dist/library.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { IFile, ITag, IPerson, ISerie, IMovie, MediaRequest, IEpisode, ExternalImage, IBackupFile, ILibrary, SerieInMedia, DeletedQuery, RsDeleted, MovieSort, RsSort, SqlOrder, RsRequest } from './interfaces.js';
1
+ import { IFile, ITag, IPerson, ISerie, IMovie, MediaRequest, IEpisode, ExternalImage, IBackupFile, ILibrary, SerieInMedia, DeletedQuery, RsDeleted, MovieSort, RsSort, SqlOrder, RsRequest, DetectedFaceResult } from './interfaces.js';
2
2
  import { EncryptFileOptions, EncryptedFile } from './encryption.js';
3
3
  export interface MediaForUpdate {
4
4
  name?: string;
@@ -137,6 +137,7 @@ export declare class LibraryApi {
137
137
  mediaTransferSingle(mediaId: string, toLibraryId: string, formData: FormData, params?: Map<string, string>): Promise<void>;
138
138
  removeMedias(mediaIds: string[]): Promise<void>;
139
139
  getMediaMetadata(mediaId: string): Promise<IFile>;
140
+ mediaDetectFaces(mediaId: string): Promise<DetectedFaceResult[]>;
140
141
  getMediaBackupMetadatas(mediaId: string): Promise<IBackupFile[]>;
141
142
  clean(): Promise<string>;
142
143
  locs(): Promise<any>;
@@ -244,7 +245,7 @@ export declare class LibraryApi {
244
245
  assignFaces(request: any): Promise<any>;
245
246
  createPersonFromCluster(request: any): Promise<any>;
246
247
  splitCluster(request: any): Promise<any>;
247
- unassignFace(request: any): Promise<any>;
248
+ unassignFace(faceIds: string[]): Promise<any>;
248
249
  deleteFace(faceId: string): Promise<any>;
249
250
  getAssignedFaces(personId: string): Promise<any>;
250
251
  faceClusterPerson(personId: string): Promise<void>;
package/dist/library.js CHANGED
@@ -257,6 +257,10 @@ export class LibraryApi {
257
257
  const res = await this.client.get(this.getUrl(`/medias/${mediaId}/metadata`));
258
258
  return res.data;
259
259
  }
260
+ async mediaDetectFaces(mediaId) {
261
+ const res = await this.client.post(this.getUrl(`/medias/${mediaId}/faces`));
262
+ return res.data;
263
+ }
260
264
  async getMediaBackupMetadatas(mediaId) {
261
265
  const res = await this.client.get(this.getUrl(`/medias/${mediaId}/backups`));
262
266
  return res.data;
@@ -547,8 +551,8 @@ export class LibraryApi {
547
551
  const res = await this.client.post(this.getUrl('/people/faces/cluster/split'), request);
548
552
  return res.data;
549
553
  }
550
- async unassignFace(request) {
551
- const res = await this.client.post(this.getUrl('/people/faces/unassign'), request);
554
+ async unassignFace(faceIds) {
555
+ const res = await this.client.post(this.getUrl('/people/faces/unassign'), { faceIds });
552
556
  return res.data;
553
557
  }
554
558
  async deleteFace(faceId) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@redseat/api",
3
- "version": "0.2.2",
3
+ "version": "0.2.4",
4
4
  "description": "TypeScript API client library for interacting with Redseat servers",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",