@jaak.ai/stamps 2.4.1 → 2.5.1-dev.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/cjs/jaak-stamps.cjs.entry.js +5 -0
- package/dist/cjs/jaak-stamps.cjs.entry.js.map +1 -1
- package/dist/cjs/jaak-stamps.entry.cjs.js.map +1 -1
- package/dist/collection/services/ServiceContainer.js +5 -0
- package/dist/collection/services/ServiceContainer.js.map +1 -1
- package/dist/components/jaak-stamps.js +5 -0
- package/dist/components/jaak-stamps.js.map +1 -1
- package/dist/esm/jaak-stamps.entry.js +5 -0
- package/dist/esm/jaak-stamps.entry.js.map +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-bdff3893.entry.js → p-85901267.entry.js} +2 -2
- package/dist/jaak-stamps-webcomponent/p-85901267.entry.js.map +1 -0
- package/dist/types/services/ServiceContainer.d.ts +1 -0
- package/package.json +1 -1
- package/dist/jaak-stamps-webcomponent/p-bdff3893.entry.js.map +0 -1
|
@@ -6,6 +6,7 @@ import { TracingService } from "./TracingService";
|
|
|
6
6
|
import { MetricsService } from "./MetricsService";
|
|
7
7
|
export class ServiceContainer {
|
|
8
8
|
services = new Map();
|
|
9
|
+
cleanedUp = false;
|
|
9
10
|
constructor(config) {
|
|
10
11
|
this.initializeServices(config);
|
|
11
12
|
}
|
|
@@ -103,6 +104,10 @@ export class ServiceContainer {
|
|
|
103
104
|
}
|
|
104
105
|
}
|
|
105
106
|
async cleanup() {
|
|
107
|
+
if (this.cleanedUp) {
|
|
108
|
+
return;
|
|
109
|
+
}
|
|
110
|
+
this.cleanedUp = true;
|
|
106
111
|
// Cleanup services in reverse order
|
|
107
112
|
this.getDetectionService().cleanup();
|
|
108
113
|
// Cleanup metrics service if present
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ServiceContainer.js","sourceRoot":"","sources":["../../src/services/ServiceContainer.ts"],"names":[],"mappings":"AAOA,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;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAsBlD,MAAM,OAAO,gBAAgB;IACnB,QAAQ,GAAG,IAAI,GAAG,EAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"ServiceContainer.js","sourceRoot":"","sources":["../../src/services/ServiceContainer.ts"],"names":[],"mappings":"AAOA,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;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAsBlD,MAAM,OAAO,gBAAgB;IACnB,QAAQ,GAAG,IAAI,GAAG,EAAe,CAAC;IAClC,SAAS,GAAG,KAAK,CAAC;IAE1B,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,wCAAwC;QACxC,IAAI,cAAc,GAA2B,IAAI,CAAC;QAClD,IAAI,MAAM,CAAC,eAAe,KAAK,KAAK,EAAE,CAAC;YACrC,cAAc,GAAG,IAAI,cAAc,CAAC;gBAClC,YAAY,EAAE,MAAM,CAAC,qBAAqB,IAAI,qCAAqC;gBACnF,WAAW,EAAE,0BAA0B;gBACvC,cAAc,EAAE,OAAO;gBACvB,KAAK,EAAE,MAAM,CAAC,KAAK;gBACnB,UAAU,EAAE,MAAM,CAAC,UAAU;gBAC7B,QAAQ,EAAE,MAAM,CAAC,QAAQ;gBACzB,WAAW,EAAE,MAAM,CAAC,WAAW,IAAI,YAAY;gBAC/C,4BAA4B,EAAE,MAAM,CAAC,4BAA4B,IAAI,EAAE;gBACvE,yBAAyB,EAAE,IAAI;aAChC,CAAC,CAAC;YACH,cAAc,CAAC,UAAU,EAAE,CAAC;QAC9B,CAAC;QAED,wCAAwC;QACxC,IAAI,cAAc,GAA2B,IAAI,CAAC;QAClD,IAAI,MAAM,CAAC,aAAa,KAAK,KAAK,EAAE,CAAC;YACnC,cAAc,GAAG,IAAI,cAAc,CAAC;gBAClC,YAAY,EAAE,MAAM,CAAC,mBAAmB,IAAI,sCAAsC;gBAClF,WAAW,EAAE,0BAA0B;gBACvC,cAAc,EAAE,OAAO;gBACvB,KAAK,EAAE,MAAM,CAAC,KAAK;gBACnB,UAAU,EAAE,MAAM,CAAC,UAAU;gBAC7B,QAAQ,EAAE,MAAM,CAAC,QAAQ;gBACzB,WAAW,EAAE,MAAM,CAAC,WAAW,IAAI,YAAY;gBAC/C,oBAAoB,EAAE,MAAM,CAAC,2BAA2B,IAAI,KAAK;aAClE,CAAC,CAAC;YACH,cAAc,CAAC,UAAU,EAAE,CAAC;QAC9B,CAAC;QAED,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;QACxD,IAAI,cAAc,EAAE,CAAC;YACnB,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,gBAAgB,EAAE,cAAc,CAAC,CAAC;QACtD,CAAC;QACD,IAAI,cAAc,EAAE,CAAC;YACnB,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,gBAAgB,EAAE,cAAc,CAAC,CAAC;QACtD,CAAC;IACH,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,iBAAiB;QACf,IAAI,CAAC;YACH,OAAO,IAAI,CAAC,GAAG,CAAkB,gBAAgB,CAAC,CAAC;QACrD,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAED,iBAAiB;QACf,IAAI,CAAC;YACH,OAAO,IAAI,CAAC,GAAG,CAAkB,gBAAgB,CAAC,CAAC;QACrD,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,IAAI,CAAC;QACd,CAAC;IACH,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,KAAK,CAAC,OAAO;QACX,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACnB,OAAO;QACT,CAAC;QACD,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QAEtB,oCAAoC;QACpC,IAAI,CAAC,mBAAmB,EAAE,CAAC,OAAO,EAAE,CAAC;QAErC,qCAAqC;QACrC,MAAM,cAAc,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAChD,IAAI,cAAc,EAAE,CAAC;YACnB,MAAM,cAAc,CAAC,OAAO,EAAE,CAAC;QACjC,CAAC;QAED,qCAAqC;QACrC,MAAM,cAAc,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAChD,IAAI,cAAc,EAAE,CAAC;YACnB,MAAM,cAAc,CAAC,OAAO,EAAE,CAAC;QACjC,CAAC;QAED,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';\nimport { ITracingService } from './interfaces/ITracingService';\nimport { IMetricsService } from './interfaces/IMetricsService';\n\nimport { EventBusService } from './EventBusService';\nimport { StateManagerService } from './StateManagerService';\nimport { CameraService } from './CameraService';\nimport { DetectionService } from './DetectionService';\nimport { TracingService } from './TracingService';\nimport { MetricsService } from './MetricsService';\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 telemetryCollectorUrl?: string;\n metricsCollectorUrl?: string;\n enableTelemetry?: boolean;\n enableMetrics?: boolean;\n customerId?: string;\n tenantId?: string;\n environment?: string;\n propagateTraceHeaderCorsUrls?: (string | RegExp)[];\n metricsExportIntervalMillis?: number;\n}\n\nexport class ServiceContainer {\n private services = new Map<string, any>();\n private cleanedUp = false;\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 // Initialize tracing service if enabled\n let tracingService: ITracingService | null = null;\n if (config.enableTelemetry !== false) {\n tracingService = new TracingService({\n collectorUrl: config.telemetryCollectorUrl || 'https://collector.jaak.ai/v1/traces',\n serviceName: 'jaak-stamps-webcomponent',\n serviceVersion: '2.1.0',\n debug: config.debug,\n customerId: config.customerId,\n tenantId: config.tenantId,\n environment: config.environment || 'production',\n propagateTraceHeaderCorsUrls: config.propagateTraceHeaderCorsUrls || [],\n enableAutoInstrumentation: true,\n });\n tracingService.initialize();\n }\n\n // Initialize metrics service if enabled\n let metricsService: IMetricsService | null = null;\n if (config.enableMetrics !== false) {\n metricsService = new MetricsService({\n collectorUrl: config.metricsCollectorUrl || 'https://collector.jaak.ai/v1/metrics',\n serviceName: 'jaak-stamps-webcomponent',\n serviceVersion: '2.1.0',\n debug: config.debug,\n customerId: config.customerId,\n tenantId: config.tenantId,\n environment: config.environment || 'production',\n exportIntervalMillis: config.metricsExportIntervalMillis || 60000,\n });\n metricsService.initialize();\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 if (tracingService) {\n this.services.set('tracingService', tracingService);\n }\n if (metricsService) {\n this.services.set('metricsService', metricsService);\n }\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 getTracingService(): ITracingService | null {\n try {\n return this.get<ITracingService>('tracingService');\n } catch {\n return null;\n }\n }\n\n getMetricsService(): IMetricsService | null {\n try {\n return this.get<IMetricsService>('metricsService');\n } catch {\n return null;\n }\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 async cleanup(): Promise<void> {\n if (this.cleanedUp) {\n return;\n }\n this.cleanedUp = true;\n\n // Cleanup services in reverse order\n this.getDetectionService().cleanup();\n\n // Cleanup metrics service if present\n const metricsService = this.getMetricsService();\n if (metricsService) {\n await metricsService.cleanup();\n }\n\n // Cleanup tracing service if present\n const tracingService = this.getTracingService();\n if (tracingService) {\n await tracingService.cleanup();\n }\n\n this.getEventBus().clear();\n this.services.clear();\n }\n}"]}
|
|
@@ -18425,6 +18425,7 @@ class MetricsService {
|
|
|
18425
18425
|
|
|
18426
18426
|
class ServiceContainer {
|
|
18427
18427
|
services = new Map();
|
|
18428
|
+
cleanedUp = false;
|
|
18428
18429
|
constructor(config) {
|
|
18429
18430
|
this.initializeServices(config);
|
|
18430
18431
|
}
|
|
@@ -18515,6 +18516,10 @@ class ServiceContainer {
|
|
|
18515
18516
|
updateConfig(config) {
|
|
18516
18517
|
}
|
|
18517
18518
|
async cleanup() {
|
|
18519
|
+
if (this.cleanedUp) {
|
|
18520
|
+
return;
|
|
18521
|
+
}
|
|
18522
|
+
this.cleanedUp = true;
|
|
18518
18523
|
// Cleanup services in reverse order
|
|
18519
18524
|
this.getDetectionService().cleanup();
|
|
18520
18525
|
// Cleanup metrics service if present
|