@simprints/simface-sdk 0.6.1 → 0.7.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.
package/dist/index.js CHANGED
@@ -23,13 +23,15 @@ export { SimFaceCapture } from './components/simface-capture.js';
23
23
  * and sends it to the backend for enrollment.
24
24
  *
25
25
  * If the user is already enrolled, returns { alreadyEnrolled: true }.
26
+ * The optional capture options let the host choose popup vs embedded capture
27
+ * and the preferred fallback policy.
26
28
  */
27
- export async function enroll(config, clientId) {
29
+ export async function enroll(config, clientId, captureOptions) {
28
30
  const client = new SimFaceAPIClient(config);
29
31
  // Validate API key first
30
32
  await client.validateAPIKey();
31
33
  // Capture face image
32
- const blob = await captureWithQualityCheck();
34
+ const blob = await captureWithQualityCheck(captureOptions);
33
35
  if (!blob) {
34
36
  return { success: false, clientId, message: 'Capture cancelled by user' };
35
37
  }
@@ -48,13 +50,15 @@ export async function enroll(config, clientId) {
48
50
  * and sends it to the backend for comparison against the enrolled image.
49
51
  *
50
52
  * If the user is not enrolled, returns { notEnrolled: true }.
53
+ * The optional capture options let the host choose popup vs embedded capture
54
+ * and the preferred fallback policy.
51
55
  */
52
- export async function verify(config, clientId) {
56
+ export async function verify(config, clientId, captureOptions) {
53
57
  const client = new SimFaceAPIClient(config);
54
58
  // Validate API key first
55
59
  await client.validateAPIKey();
56
60
  // Capture face image
57
- const blob = await captureWithQualityCheck();
61
+ const blob = await captureWithQualityCheck(captureOptions);
58
62
  if (!blob) {
59
63
  return { match: false, score: 0, threshold: 0, message: 'Capture cancelled by user' };
60
64
  }
@@ -63,7 +67,7 @@ export async function verify(config, clientId) {
63
67
  /**
64
68
  * Capture a face image with the camera flow's built-in quality validation.
65
69
  */
66
- async function captureWithQualityCheck() {
67
- return captureFromCamera();
70
+ async function captureWithQualityCheck(captureOptions) {
71
+ return captureFromCamera(captureOptions);
68
72
  }
69
73
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAGH,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAIzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,EAAE,iBAAiB,EAAE,yBAAyB,EAAE,MAAM,8BAA8B,CAAC;AAC5F,OAAO,EAAE,iBAAiB,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrF,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AAEjE;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,MAAM,CAAC,MAAqB,EAAE,QAAgB;IAClE,MAAM,MAAM,GAAG,IAAI,gBAAgB,CAAC,MAAM,CAAC,CAAC;IAE5C,yBAAyB;IACzB,MAAM,MAAM,CAAC,cAAc,EAAE,CAAC;IAE9B,qBAAqB;IACrB,MAAM,IAAI,GAAG,MAAM,uBAAuB,EAAE,CAAC;IAC7C,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,2BAA2B,EAAE,CAAC;IAC5E,CAAC;IAED,kBAAkB;IAClB,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IAEnD,+CAA+C;IAC/C,IAAI,MAAM,CAAC,eAAe,EAAE,CAAC;QAC3B,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,MAAM,CAAC,MAAqB,EAAE,QAAgB;IAClE,MAAM,MAAM,GAAG,IAAI,gBAAgB,CAAC,MAAM,CAAC,CAAC;IAE5C,yBAAyB;IACzB,MAAM,MAAM,CAAC,cAAc,EAAE,CAAC;IAE9B,qBAAqB;IACrB,MAAM,IAAI,GAAG,MAAM,uBAAuB,EAAE,CAAC;IAC7C,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,OAAO,EAAE,2BAA2B,EAAE,CAAC;IACxF,CAAC;IAED,OAAO,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;AACvC,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,uBAAuB;IACpC,OAAO,iBAAiB,EAAE,CAAC;AAC7B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAQH,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAazD,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,EAAE,iBAAiB,EAAE,yBAAyB,EAAE,MAAM,8BAA8B,CAAC;AAC5F,OAAO,EAAE,iBAAiB,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrF,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AAEjE;;;;;;;;;GASG;AACH,MAAM,CAAC,KAAK,UAAU,MAAM,CAC1B,MAAqB,EACrB,QAAgB,EAChB,cAAsC;IAEtC,MAAM,MAAM,GAAG,IAAI,gBAAgB,CAAC,MAAM,CAAC,CAAC;IAE5C,yBAAyB;IACzB,MAAM,MAAM,CAAC,cAAc,EAAE,CAAC;IAE9B,qBAAqB;IACrB,MAAM,IAAI,GAAG,MAAM,uBAAuB,CAAC,cAAc,CAAC,CAAC;IAC3D,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,2BAA2B,EAAE,CAAC;IAC5E,CAAC;IAED,kBAAkB;IAClB,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IAEnD,+CAA+C;IAC/C,IAAI,MAAM,CAAC,eAAe,EAAE,CAAC;QAC3B,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,CAAC,KAAK,UAAU,MAAM,CAC1B,MAAqB,EACrB,QAAgB,EAChB,cAAsC;IAEtC,MAAM,MAAM,GAAG,IAAI,gBAAgB,CAAC,MAAM,CAAC,CAAC;IAE5C,yBAAyB;IACzB,MAAM,MAAM,CAAC,cAAc,EAAE,CAAC;IAE9B,qBAAqB;IACrB,MAAM,IAAI,GAAG,MAAM,uBAAuB,CAAC,cAAc,CAAC,CAAC;IAC3D,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,OAAO,EAAE,2BAA2B,EAAE,CAAC;IACxF,CAAC;IAED,OAAO,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;AACvC,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,uBAAuB,CACpC,cAAsC;IAEtC,OAAO,iBAAiB,CAAC,cAAc,CAAC,CAAC;AAC3C,CAAC"}
@@ -1,18 +1,14 @@
1
1
  /**
2
2
  * Camera capture service.
3
3
  *
4
- * Uses realtime face guidance with automatic capture when supported and falls
5
- * back to a simpler manual capture flow when the browser cannot support it.
4
+ * Plans capture explicitly as an ordered fallback chain:
5
+ * auto camera -> manual camera -> media picker.
6
6
  */
7
+ import { blobToDataURL, blobToImage } from '../shared/capture-runtime.js';
8
+ import type { SimFaceCaptureOptions } from '../types/index.js';
7
9
  /**
8
- * Opens the device camera and returns a confirmed image Blob, or null if cancelled.
10
+ * Opens the configured capture presentation and returns a confirmed image Blob,
11
+ * or null if the user cancels.
9
12
  */
10
- export declare function captureFromCamera(): Promise<Blob | null>;
11
- /**
12
- * Loads a Blob as an HTMLImageElement for face detection analysis.
13
- */
14
- export declare function blobToImage(blob: Blob): Promise<HTMLImageElement>;
15
- /**
16
- * Creates a data URL from a Blob for display in an <img> tag.
17
- */
18
- export declare function blobToDataURL(blob: Blob): Promise<string>;
13
+ export declare function captureFromCamera(options?: SimFaceCaptureOptions): Promise<Blob | null>;
14
+ export { blobToImage, blobToDataURL };