@jaak.ai/stamps 2.0.0 → 2.1.0-dev.2
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 +11 -1
- package/dist/cjs/jaak-stamps-webcomponent.cjs.js +1 -1
- package/dist/cjs/jaak-stamps.cjs.entry.js +759 -623
- package/dist/cjs/jaak-stamps.cjs.entry.js.map +1 -1
- package/dist/cjs/jaak-stamps.entry.cjs.js.map +1 -1
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/collection/components/my-component/my-component.css +178 -11
- package/dist/collection/components/my-component/my-component.js +566 -250
- package/dist/collection/components/my-component/my-component.js.map +1 -1
- package/dist/collection/services/CameraService.js +156 -344
- package/dist/collection/services/CameraService.js.map +1 -1
- package/dist/collection/services/DetectionService.js +68 -38
- package/dist/collection/services/DetectionService.js.map +1 -1
- package/dist/collection/services/EventBusService.js +1 -1
- package/dist/collection/services/EventBusService.js.map +1 -1
- package/dist/collection/services/ServiceContainer.js +4 -13
- package/dist/collection/services/ServiceContainer.js.map +1 -1
- package/dist/collection/services/interfaces/ICameraService.js.map +1 -1
- package/dist/collection/types/component-types.js.map +1 -1
- package/dist/components/jaak-stamps.js +763 -626
- package/dist/components/jaak-stamps.js.map +1 -1
- package/dist/esm/jaak-stamps-webcomponent.js +1 -1
- package/dist/esm/jaak-stamps.entry.js +759 -623
- package/dist/esm/jaak-stamps.entry.js.map +1 -1
- package/dist/esm/loader.js +1 -1
- package/dist/jaak-stamps-webcomponent/jaak-stamps-webcomponent.esm.js +1 -1
- package/dist/jaak-stamps-webcomponent/jaak-stamps.entry.esm.js.map +1 -1
- package/dist/jaak-stamps-webcomponent/p-41e88688.entry.js +2 -0
- package/dist/jaak-stamps-webcomponent/p-41e88688.entry.js.map +1 -0
- package/dist/types/components/my-component/my-component.d.ts +68 -17
- package/dist/types/components.d.ts +14 -8
- package/dist/types/services/CameraService.d.ts +12 -14
- package/dist/types/services/DetectionService.d.ts +10 -3
- package/dist/types/services/ServiceContainer.d.ts +1 -2
- package/dist/types/services/interfaces/ICameraService.d.ts +3 -12
- package/dist/types/types/component-types.d.ts +3 -0
- package/package.json +2 -2
- package/dist/collection/services/LoggerService.js +0 -40
- package/dist/collection/services/LoggerService.js.map +0 -1
- package/dist/collection/services/interfaces/ILogger.js +0 -2
- package/dist/collection/services/interfaces/ILogger.js.map +0 -1
- package/dist/jaak-stamps-webcomponent/p-2264b5b4.entry.js +0 -2
- package/dist/jaak-stamps-webcomponent/p-2264b5b4.entry.js.map +0 -1
- package/dist/types/services/LoggerService.d.ts +0 -12
- package/dist/types/services/interfaces/ILogger.d.ts +0 -8
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { LoggerService } from "./LoggerService";
|
|
2
1
|
import { EventBusService } from "./EventBusService";
|
|
3
2
|
import { StateManagerService } from "./StateManagerService";
|
|
4
3
|
import { CameraService } from "./CameraService";
|
|
@@ -11,13 +10,11 @@ export class ServiceContainer {
|
|
|
11
10
|
initializeServices(config) {
|
|
12
11
|
// Initialize services in dependency order
|
|
13
12
|
const eventBus = new EventBusService();
|
|
14
|
-
const logger = new LoggerService(config.debug);
|
|
15
13
|
const stateManager = new StateManagerService(eventBus);
|
|
16
|
-
const cameraService = new CameraService(
|
|
17
|
-
const detectionService = new DetectionService(
|
|
14
|
+
const cameraService = new CameraService(eventBus, config.preferredCamera);
|
|
15
|
+
const detectionService = new DetectionService(config.debug, config.useDocumentClassification, config.useDocumentDetector);
|
|
18
16
|
// Register services
|
|
19
17
|
this.services.set('eventBus', eventBus);
|
|
20
|
-
this.services.set('logger', logger);
|
|
21
18
|
this.services.set('stateManager', stateManager);
|
|
22
19
|
this.services.set('cameraService', cameraService);
|
|
23
20
|
this.services.set('detectionService', detectionService);
|
|
@@ -29,9 +26,6 @@ export class ServiceContainer {
|
|
|
29
26
|
}
|
|
30
27
|
return service;
|
|
31
28
|
}
|
|
32
|
-
getLogger() {
|
|
33
|
-
return this.get('logger');
|
|
34
|
-
}
|
|
35
29
|
getEventBus() {
|
|
36
30
|
return this.get('eventBus');
|
|
37
31
|
}
|
|
@@ -45,13 +39,10 @@ export class ServiceContainer {
|
|
|
45
39
|
return this.get('detectionService');
|
|
46
40
|
}
|
|
47
41
|
updateConfig(config) {
|
|
48
|
-
if (config.debug !== undefined) {
|
|
49
|
-
const logger = this.services.get('logger');
|
|
50
|
-
logger.setDebugMode(config.debug);
|
|
51
|
-
}
|
|
52
42
|
// Reinitialize services that depend on configuration changes
|
|
53
43
|
if (config.preferredCamera !== undefined ||
|
|
54
|
-
config.useDocumentClassification !== undefined
|
|
44
|
+
config.useDocumentClassification !== undefined ||
|
|
45
|
+
config.useDocumentDetector !== undefined) {
|
|
55
46
|
// Would need to reinitialize specific services
|
|
56
47
|
// For simplicity, this is omitted in this example
|
|
57
48
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ServiceContainer.js","sourceRoot":"","sources":["../../src/services/ServiceContainer.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ServiceContainer.js","sourceRoot":"","sources":["../../src/services/ServiceContainer.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAatD,MAAM,OAAO,gBAAgB;IACnB,QAAQ,GAAG,IAAI,GAAG,EAAe,CAAC;IAE1C,YAAY,MAAuB;QACjC,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC;IAClC,CAAC;IAEO,kBAAkB,CAAC,MAAuB;QAChD,0CAA0C;QAC1C,MAAM,QAAQ,GAAG,IAAI,eAAe,EAAE,CAAC;QACvC,MAAM,YAAY,GAAG,IAAI,mBAAmB,CAAC,QAAQ,CAAC,CAAC;QACvD,MAAM,aAAa,GAAG,IAAI,aAAa,CAAC,QAAQ,EAAE,MAAM,CAAC,eAAe,CAAC,CAAC;QAC1E,MAAM,gBAAgB,GAAG,IAAI,gBAAgB,CAC3C,MAAM,CAAC,KAAK,EACZ,MAAM,CAAC,yBAAyB,EAChC,MAAM,CAAC,mBAAmB,CAC3B,CAAC;QAEF,oBAAoB;QACpB,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;QACxC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,cAAc,EAAE,YAAY,CAAC,CAAC;QAChD,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,eAAe,EAAE,aAAa,CAAC,CAAC;QAClD,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,kBAAkB,EAAE,gBAAgB,CAAC,CAAC;IAC1D,CAAC;IAED,GAAG,CAAI,WAAmB;QACxB,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QAC/C,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,WAAW,WAAW,YAAY,CAAC,CAAC;QACtD,CAAC;QACD,OAAO,OAAY,CAAC;IACtB,CAAC;IAGD,WAAW;QACT,OAAO,IAAI,CAAC,GAAG,CAAY,UAAU,CAAC,CAAC;IACzC,CAAC;IAED,eAAe;QACb,OAAO,IAAI,CAAC,GAAG,CAAgB,cAAc,CAAC,CAAC;IACjD,CAAC;IAED,gBAAgB;QACd,OAAO,IAAI,CAAC,GAAG,CAAiB,eAAe,CAAC,CAAC;IACnD,CAAC;IAED,mBAAmB;QACjB,OAAO,IAAI,CAAC,GAAG,CAAoB,kBAAkB,CAAC,CAAC;IACzD,CAAC;IAED,YAAY,CAAC,MAAgC;QAC3C,6DAA6D;QAC7D,IAAI,MAAM,CAAC,eAAe,KAAK,SAAS;YACpC,MAAM,CAAC,yBAAyB,KAAK,SAAS;YAC9C,MAAM,CAAC,mBAAmB,KAAK,SAAS,EAAE,CAAC;YAC7C,+CAA+C;YAC/C,kDAAkD;QACpD,CAAC;IACH,CAAC;IAED,OAAO;QACL,oCAAoC;QACpC,IAAI,CAAC,mBAAmB,EAAE,CAAC,OAAO,EAAE,CAAC;QACrC,IAAI,CAAC,WAAW,EAAE,CAAC,KAAK,EAAE,CAAC;QAC3B,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;IACxB,CAAC;CACF","sourcesContent":["import { ICameraService } from './interfaces/ICameraService';\nimport { IDetectionService } from './interfaces/IDetectionService';\nimport { IStateManager } from './interfaces/IStateManager';\nimport { IEventBus } from './interfaces/IEventBus';\n\nimport { EventBusService } from './EventBusService';\nimport { StateManagerService } from './StateManagerService';\nimport { CameraService } from './CameraService';\nimport { DetectionService } from './DetectionService';\n\nexport interface ComponentConfig {\n debug: boolean;\n alignmentTolerance: number;\n maskSize: number;\n cropMargin: number;\n useDocumentClassification: boolean;\n useDocumentDetector: boolean;\n preferredCamera: 'auto' | 'front' | 'back';\n captureDelay: number;\n}\n\nexport class ServiceContainer {\n private services = new Map<string, any>();\n\n constructor(config: ComponentConfig) {\n this.initializeServices(config);\n }\n\n private initializeServices(config: ComponentConfig): void {\n // Initialize services in dependency order\n const eventBus = new EventBusService();\n const stateManager = new StateManagerService(eventBus);\n const cameraService = new CameraService(eventBus, config.preferredCamera);\n const detectionService = new DetectionService(\n config.debug, \n config.useDocumentClassification,\n config.useDocumentDetector\n );\n\n // Register services\n this.services.set('eventBus', eventBus);\n this.services.set('stateManager', stateManager);\n this.services.set('cameraService', cameraService);\n this.services.set('detectionService', detectionService);\n }\n\n get<T>(serviceName: string): T {\n const service = this.services.get(serviceName);\n if (!service) {\n throw new Error(`Service ${serviceName} not found`);\n }\n return service as T;\n }\n\n\n getEventBus(): IEventBus {\n return this.get<IEventBus>('eventBus');\n }\n\n getStateManager(): IStateManager {\n return this.get<IStateManager>('stateManager');\n }\n\n getCameraService(): ICameraService {\n return this.get<ICameraService>('cameraService');\n }\n\n getDetectionService(): IDetectionService {\n return this.get<IDetectionService>('detectionService');\n }\n\n updateConfig(config: Partial<ComponentConfig>): void {\n // Reinitialize services that depend on configuration changes\n if (config.preferredCamera !== undefined || \n config.useDocumentClassification !== undefined ||\n config.useDocumentDetector !== undefined) {\n // Would need to reinitialize specific services\n // For simplicity, this is omitted in this example\n }\n }\n\n cleanup(): void {\n // Cleanup services in reverse order\n this.getDetectionService().cleanup();\n this.getEventBus().clear();\n this.services.clear();\n }\n}"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ICameraService.js","sourceRoot":"","sources":["../../../src/services/interfaces/ICameraService.ts"],"names":[],"mappings":"","sourcesContent":["export interface CameraInfo {\n id: string;\n label: string;\n selected: boolean;\n
|
|
1
|
+
{"version":3,"file":"ICameraService.js","sourceRoot":"","sources":["../../../src/services/interfaces/ICameraService.ts"],"names":[],"mappings":"","sourcesContent":["export interface CameraInfo {\n id: string;\n label: string;\n selected: boolean;\n hasAutofocus: boolean;\n}\n\n\nexport interface ICameraService {\n detectDeviceType(): Promise<'mobile' | 'desktop' | 'tablet'>;\n enumerateDevices(): Promise<MediaDeviceInfo[]>;\n getAvailableCameras(): MediaDeviceInfo[];\n isMultipleCamerasAvailable(): boolean;\n getSelectedCameraId(): string | null;\n setSelectedCamera(cameraId: string): Promise<void>;\n getPreferredFacing(): 'environment' | 'user' | null;\n setupCamera(constraints?: MediaTrackConstraints): Promise<MediaStream>;\n switchCamera(cameraId: string): Promise<void>;\n isRearCamera(stream: MediaStream): boolean;\n getCameraInfo(): Promise<{\n availableCameras: CameraInfo[];\n selectedCameraId: string | null;\n deviceType: string;\n isMultipleCamerasAvailable: boolean;\n preferredFacing: 'environment' | 'user' | null;\n }>;\n}"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"component-types.js","sourceRoot":"","sources":["../../src/types/component-types.ts"],"names":[],"mappings":"AAAA;;GAEG","sourcesContent":["/**\n * Type definitions for component methods to avoid absolute paths in components.d.ts\n */\n\nexport interface CameraInfoResponse {\n availableCameras: Array<{ id: string; label: string; selected: boolean }>;\n selectedCameraId: string | null;\n deviceType: string;\n isMultipleCamerasAvailable: boolean;\n preferredFacing: 'environment' | 'user' | null;\n}\n\nexport interface CapturedImagesResponse {\n front: {\n fullFrame: string | null;\n cropped: string | null;\n };\n back: {\n fullFrame: string | null;\n cropped: string | null;\n };\n metadata: {\n totalImages: number;\n processCompleted: boolean;\n backCaptureSkipped: boolean;\n };\n}\n\n\nexport interface StatusResponse {\n isVideoActive: boolean;\n captureStep: 'front' | 'back' | 'completed';\n hasImages: boolean;\n isProcessCompleted: boolean;\n isModelPreloaded: boolean;\n}"]}
|
|
1
|
+
{"version":3,"file":"component-types.js","sourceRoot":"","sources":["../../src/types/component-types.ts"],"names":[],"mappings":"AAAA;;GAEG","sourcesContent":["/**\n * Type definitions for component methods to avoid absolute paths in components.d.ts\n */\n\nexport interface CameraInfoResponse {\n availableCameras: Array<{ id: string; label: string; selected: boolean }>;\n selectedCameraId: string | null;\n deviceType: string;\n isMultipleCamerasAvailable: boolean;\n preferredFacing: 'environment' | 'user' | null;\n error?: string;\n}\n\nexport interface CapturedImagesResponse {\n front: {\n fullFrame: string | null;\n cropped: string | null;\n };\n back: {\n fullFrame: string | null;\n cropped: string | null;\n };\n metadata: {\n totalImages: number;\n processCompleted: boolean;\n backCaptureSkipped: boolean;\n };\n}\n\n\nexport interface StatusResponse {\n isVideoActive: boolean;\n captureStep: 'front' | 'back' | 'completed';\n hasImages: boolean;\n isProcessCompleted: boolean;\n isModelPreloaded: boolean;\n componentStatus?: 'initializing' | 'loading' | 'ready' | 'error';\n componentMessage?: string;\n}"]}
|