@camstack/types 0.1.8 → 0.1.10
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/__tests__/addon-capability-provider.test.d.ts +2 -0
- package/dist/__tests__/addon-capability-provider.test.d.ts.map +1 -0
- package/dist/__tests__/addon-declaration.test.d.ts +2 -0
- package/dist/__tests__/addon-declaration.test.d.ts.map +1 -0
- package/dist/__tests__/capability.test.d.ts +2 -0
- package/dist/__tests__/capability.test.d.ts.map +1 -0
- package/dist/catalogs/coco-classmap.d.ts +5 -0
- package/dist/catalogs/coco-classmap.d.ts.map +1 -0
- package/dist/catalogs/index.d.ts +2 -0
- package/dist/catalogs/index.d.ts.map +1 -0
- package/dist/constants.d.ts +3 -0
- package/dist/constants.d.ts.map +1 -0
- package/dist/generated/addon-api.d.ts +4974 -0
- package/dist/generated/addon-api.d.ts.map +1 -0
- package/dist/index.d.ts +82 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +550 -744
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +529 -777
- package/dist/index.mjs.map +1 -1
- package/dist/interfaces/addon-i18n.d.ts +41 -0
- package/dist/interfaces/addon-i18n.d.ts.map +1 -0
- package/dist/interfaces/addon-routes.d.ts +50 -0
- package/dist/interfaces/addon-routes.d.ts.map +1 -0
- package/dist/interfaces/addon.d.ts +294 -0
- package/dist/interfaces/addon.d.ts.map +1 -0
- package/dist/interfaces/advanced-notifier.d.ts +59 -0
- package/dist/interfaces/advanced-notifier.d.ts.map +1 -0
- package/dist/interfaces/agent-protocol.d.ts +189 -0
- package/dist/interfaces/agent-protocol.d.ts.map +1 -0
- package/dist/interfaces/agent.d.ts +87 -0
- package/dist/interfaces/agent.d.ts.map +1 -0
- package/dist/interfaces/analysis-persistence.d.ts +278 -0
- package/dist/interfaces/analysis-persistence.d.ts.map +1 -0
- package/dist/interfaces/analysis.d.ts +27 -0
- package/dist/interfaces/analysis.d.ts.map +1 -0
- package/dist/interfaces/api-shared.d.ts +176 -0
- package/dist/interfaces/api-shared.d.ts.map +1 -0
- package/dist/interfaces/auth-provider.d.ts +39 -0
- package/dist/interfaces/auth-provider.d.ts.map +1 -0
- package/dist/interfaces/auth.d.ts +47 -0
- package/dist/interfaces/auth.d.ts.map +1 -0
- package/dist/interfaces/camera-pipeline.d.ts +121 -0
- package/dist/interfaces/camera-pipeline.d.ts.map +1 -0
- package/dist/interfaces/capability.d.ts +84 -0
- package/dist/interfaces/capability.d.ts.map +1 -0
- package/dist/interfaces/classifier.d.ts +8 -0
- package/dist/interfaces/classifier.d.ts.map +1 -0
- package/dist/interfaces/config-ui.d.ts +152 -0
- package/dist/interfaces/config-ui.d.ts.map +1 -0
- package/dist/interfaces/context.d.ts +44 -0
- package/dist/interfaces/context.d.ts.map +1 -0
- package/dist/interfaces/cropper.d.ts +8 -0
- package/dist/interfaces/cropper.d.ts.map +1 -0
- package/dist/interfaces/decoder.d.ts +27 -0
- package/dist/interfaces/decoder.d.ts.map +1 -0
- package/dist/interfaces/detection-addon.d.ts +15 -0
- package/dist/interfaces/detection-addon.d.ts.map +1 -0
- package/dist/interfaces/detector.d.ts +8 -0
- package/dist/interfaces/detector.d.ts.map +1 -0
- package/dist/interfaces/device-capabilities/accessory.d.ts +14 -0
- package/dist/interfaces/device-capabilities/accessory.d.ts.map +1 -0
- package/dist/interfaces/device-capabilities/audio-detector.d.ts +12 -0
- package/dist/interfaces/device-capabilities/audio-detector.d.ts.map +1 -0
- package/dist/interfaces/device-capabilities/camera.d.ts +22 -0
- package/dist/interfaces/device-capabilities/camera.d.ts.map +1 -0
- package/dist/interfaces/device-capabilities/doorbell.d.ts +10 -0
- package/dist/interfaces/device-capabilities/doorbell.d.ts.map +1 -0
- package/dist/interfaces/device-capabilities/events.d.ts +47 -0
- package/dist/interfaces/device-capabilities/events.d.ts.map +1 -0
- package/dist/interfaces/device-capabilities/index.d.ts +15 -0
- package/dist/interfaces/device-capabilities/index.d.ts.map +1 -0
- package/dist/interfaces/device-capabilities/motion-sensor.d.ts +7 -0
- package/dist/interfaces/device-capabilities/motion-sensor.d.ts.map +1 -0
- package/dist/interfaces/device-capabilities/native-detection.d.ts +14 -0
- package/dist/interfaces/device-capabilities/native-detection.d.ts.map +1 -0
- package/dist/interfaces/device-capabilities/object-detector.d.ts +59 -0
- package/dist/interfaces/device-capabilities/object-detector.d.ts.map +1 -0
- package/dist/interfaces/device-capabilities/pan-tilt-zoom.d.ts +29 -0
- package/dist/interfaces/device-capabilities/pan-tilt-zoom.d.ts.map +1 -0
- package/dist/interfaces/device-capabilities/recording.d.ts +18 -0
- package/dist/interfaces/device-capabilities/recording.d.ts.map +1 -0
- package/dist/interfaces/device-capabilities/siren.d.ts +8 -0
- package/dist/interfaces/device-capabilities/siren.d.ts.map +1 -0
- package/dist/interfaces/device-capabilities/status-light.d.ts +7 -0
- package/dist/interfaces/device-capabilities/status-light.d.ts.map +1 -0
- package/dist/interfaces/device-capabilities/switch.d.ts +8 -0
- package/dist/interfaces/device-capabilities/switch.d.ts.map +1 -0
- package/dist/interfaces/device-capabilities/two-way-audio.d.ts +8 -0
- package/dist/interfaces/device-capabilities/two-way-audio.d.ts.map +1 -0
- package/dist/interfaces/device-capability.d.ts +14 -0
- package/dist/interfaces/device-capability.d.ts.map +1 -0
- package/dist/interfaces/device-provider.d.ts +43 -0
- package/dist/interfaces/device-provider.d.ts.map +1 -0
- package/dist/interfaces/device.d.ts +40 -0
- package/dist/interfaces/device.d.ts.map +1 -0
- package/dist/interfaces/event-bus.d.ts +244 -0
- package/dist/interfaces/event-bus.d.ts.map +1 -0
- package/dist/interfaces/feature-flags.d.ts +14 -0
- package/dist/interfaces/feature-flags.d.ts.map +1 -0
- package/dist/interfaces/ffmpeg.d.ts +10 -0
- package/dist/interfaces/ffmpeg.d.ts.map +1 -0
- package/dist/interfaces/inference-capabilities.d.ts +101 -0
- package/dist/interfaces/inference-capabilities.d.ts.map +1 -0
- package/dist/interfaces/inference-engine.d.ts +17 -0
- package/dist/interfaces/inference-engine.d.ts.map +1 -0
- package/dist/interfaces/lifecycle.d.ts +19 -0
- package/dist/interfaces/lifecycle.d.ts.map +1 -0
- package/dist/interfaces/logging.d.ts +33 -0
- package/dist/interfaces/logging.d.ts.map +1 -0
- package/dist/interfaces/model-catalog.d.ts +25 -0
- package/dist/interfaces/model-catalog.d.ts.map +1 -0
- package/dist/interfaces/network-quality.d.ts +25 -0
- package/dist/interfaces/network-quality.d.ts.map +1 -0
- package/dist/interfaces/network.d.ts +43 -0
- package/dist/interfaces/network.d.ts.map +1 -0
- package/dist/interfaces/notification.d.ts +53 -0
- package/dist/interfaces/notification.d.ts.map +1 -0
- package/dist/interfaces/pipeline-runner.d.ts +23 -0
- package/dist/interfaces/pipeline-runner.d.ts.map +1 -0
- package/dist/interfaces/pipeline-slot.d.ts +10 -0
- package/dist/interfaces/pipeline-slot.d.ts.map +1 -0
- package/dist/interfaces/platform.d.ts +55 -0
- package/dist/interfaces/platform.d.ts.map +1 -0
- package/dist/interfaces/process.d.ts +41 -0
- package/dist/interfaces/process.d.ts.map +1 -0
- package/dist/interfaces/python-env.d.ts +20 -0
- package/dist/interfaces/python-env.d.ts.map +1 -0
- package/dist/interfaces/refiner.d.ts +8 -0
- package/dist/interfaces/refiner.d.ts.map +1 -0
- package/dist/interfaces/repl.d.ts +26 -0
- package/dist/interfaces/repl.d.ts.map +1 -0
- package/dist/interfaces/repositories.d.ts +20 -0
- package/dist/interfaces/repositories.d.ts.map +1 -0
- package/dist/interfaces/restreamer.d.ts +24 -0
- package/dist/interfaces/restreamer.d.ts.map +1 -0
- package/dist/interfaces/router.d.ts +30 -0
- package/dist/interfaces/router.d.ts.map +1 -0
- package/dist/interfaces/scene-intelligence.d.ts +21 -0
- package/dist/interfaces/scene-intelligence.d.ts.map +1 -0
- package/dist/interfaces/scoped-token.d.ts +22 -0
- package/dist/interfaces/scoped-token.d.ts.map +1 -0
- package/dist/interfaces/server-analysis.d.ts +146 -0
- package/dist/interfaces/server-analysis.d.ts.map +1 -0
- package/dist/interfaces/server-network.d.ts +78 -0
- package/dist/interfaces/server-network.d.ts.map +1 -0
- package/dist/interfaces/storage-backend.d.ts +27 -0
- package/dist/interfaces/storage-backend.d.ts.map +1 -0
- package/dist/interfaces/storage.d.ts +174 -0
- package/dist/interfaces/storage.d.ts.map +1 -0
- package/dist/interfaces/stream-broker.d.ts +92 -0
- package/dist/interfaces/stream-broker.d.ts.map +1 -0
- package/dist/interfaces/streaming.d.ts +29 -0
- package/dist/interfaces/streaming.d.ts.map +1 -0
- package/dist/interfaces/task-handler.d.ts +46 -0
- package/dist/interfaces/task-handler.d.ts.map +1 -0
- package/dist/interfaces/webrtc-provider.d.ts +11 -0
- package/dist/interfaces/webrtc-provider.d.ts.map +1 -0
- package/dist/interfaces/worker-protocol.d.ts +110 -0
- package/dist/interfaces/worker-protocol.d.ts.map +1 -0
- package/dist/schemas/system-settings-schemas.d.ts +27 -0
- package/dist/schemas/system-settings-schemas.d.ts.map +1 -0
- package/dist/types/analytics.d.ts +75 -0
- package/dist/types/analytics.d.ts.map +1 -0
- package/dist/types/benchmark.d.ts +112 -0
- package/dist/types/benchmark.d.ts.map +1 -0
- package/dist/types/camera-detection.d.ts +34 -0
- package/dist/types/camera-detection.d.ts.map +1 -0
- package/dist/types/config.d.ts +37 -0
- package/dist/types/config.d.ts.map +1 -0
- package/dist/types/detection.d.ts +93 -0
- package/dist/types/detection.d.ts.map +1 -0
- package/dist/types/device-type.d.ts +10 -0
- package/dist/types/device-type.d.ts.map +1 -0
- package/dist/types/entities.d.ts +35 -0
- package/dist/types/entities.d.ts.map +1 -0
- package/dist/types/events.d.ts +35 -0
- package/dist/types/events.d.ts.map +1 -0
- package/dist/types/io.d.ts +25 -0
- package/dist/types/io.d.ts.map +1 -0
- package/dist/types/labels.d.ts +12 -0
- package/dist/types/labels.d.ts.map +1 -0
- package/dist/types/live-state.d.ts +47 -0
- package/dist/types/live-state.d.ts.map +1 -0
- package/dist/types/models.d.ts +79 -0
- package/dist/types/models.d.ts.map +1 -0
- package/dist/types/pipeline-schema.d.ts +78 -0
- package/dist/types/pipeline-schema.d.ts.map +1 -0
- package/dist/types/pipeline.d.ts +42 -0
- package/dist/types/pipeline.d.ts.map +1 -0
- package/dist/types/tracked.d.ts +21 -0
- package/dist/types/tracked.d.ts.map +1 -0
- package/dist/types/zones.d.ts +48 -0
- package/dist/types/zones.d.ts.map +1 -0
- package/dist/utils/cosine-similarity.d.ts +3 -0
- package/dist/utils/cosine-similarity.d.ts.map +1 -0
- package/dist/utils/hf-url.d.ts +2 -0
- package/dist/utils/hf-url.d.ts.map +1 -0
- package/package.json +5 -5
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export interface FeatureManifest {
|
|
2
|
+
streaming: boolean;
|
|
3
|
+
notifications: boolean;
|
|
4
|
+
objectDetection: boolean;
|
|
5
|
+
remoteAccess: boolean;
|
|
6
|
+
agentCluster: boolean;
|
|
7
|
+
smartHome: boolean;
|
|
8
|
+
recordings: boolean;
|
|
9
|
+
backup: boolean;
|
|
10
|
+
repl: boolean;
|
|
11
|
+
}
|
|
12
|
+
export type FeatureFlag = keyof FeatureManifest;
|
|
13
|
+
export declare const DEFAULT_FEATURES: FeatureManifest;
|
|
14
|
+
//# sourceMappingURL=feature-flags.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"feature-flags.d.ts","sourceRoot":"","sources":["../../src/interfaces/feature-flags.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,eAAe;IAC9B,SAAS,EAAE,OAAO,CAAA;IAClB,aAAa,EAAE,OAAO,CAAA;IACtB,eAAe,EAAE,OAAO,CAAA;IACxB,YAAY,EAAE,OAAO,CAAA;IACrB,YAAY,EAAE,OAAO,CAAA;IACrB,SAAS,EAAE,OAAO,CAAA;IAClB,UAAU,EAAE,OAAO,CAAA;IACnB,MAAM,EAAE,OAAO,CAAA;IACf,IAAI,EAAE,OAAO,CAAA;CACd;AAED,MAAM,MAAM,WAAW,GAAG,MAAM,eAAe,CAAA;AAE/C,eAAO,MAAM,gBAAgB,EAAE,eAU9B,CAAA"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export interface FfmpegConfig {
|
|
2
|
+
readonly path: string;
|
|
3
|
+
readonly hwaccel?: 'vaapi' | 'qsv' | 'videotoolbox' | 'cuda' | 'v4l2m2m' | 'none';
|
|
4
|
+
readonly inputArgs?: readonly string[];
|
|
5
|
+
readonly outputArgs?: readonly string[];
|
|
6
|
+
readonly videoCodec?: string;
|
|
7
|
+
readonly audioCodec?: string;
|
|
8
|
+
readonly threads?: number;
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=ffmpeg.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ffmpeg.d.ts","sourceRoot":"","sources":["../../src/interfaces/ffmpeg.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,KAAK,GAAG,cAAc,GAAG,MAAM,GAAG,SAAS,GAAG,MAAM,CAAA;IACjF,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;IACtC,QAAQ,CAAC,UAAU,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;IACvC,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAA;IAC5B,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAA;IAC5B,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAC1B"}
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
import type { ModelFormat } from '../types/models.js';
|
|
2
|
+
/** A hardware backend available for inference (e.g. CPU, CoreML, CUDA) */
|
|
3
|
+
export interface BackendInfo {
|
|
4
|
+
/** Backend identifier — matches engine-resolver backend param */
|
|
5
|
+
readonly id: string;
|
|
6
|
+
/** Human-readable label */
|
|
7
|
+
readonly label: string;
|
|
8
|
+
/** Whether this backend is available on the current agent/hub */
|
|
9
|
+
readonly available: boolean;
|
|
10
|
+
/** Device type for display */
|
|
11
|
+
readonly device: string;
|
|
12
|
+
}
|
|
13
|
+
/** A Python-specific backend with its associated model format */
|
|
14
|
+
export interface PythonBackendInfo extends BackendInfo {
|
|
15
|
+
/** The model format this backend needs (coreml → .mlpackage, openvino → .xml, etc.) */
|
|
16
|
+
readonly modelFormat: ModelFormat;
|
|
17
|
+
/** Python module required (e.g. 'coremltools', 'openvino', 'torch') */
|
|
18
|
+
readonly pythonModule: string;
|
|
19
|
+
}
|
|
20
|
+
/** Node.js runtime — uses onnxruntime-node, always loads .onnx files */
|
|
21
|
+
export interface NodeRuntimeInfo {
|
|
22
|
+
readonly available: true;
|
|
23
|
+
/** ONNX execution provider backends (cpu, coreml, cuda, tensorrt) */
|
|
24
|
+
readonly backends: readonly BackendInfo[];
|
|
25
|
+
/** Node.js always uses ONNX format */
|
|
26
|
+
readonly modelFormat: 'onnx';
|
|
27
|
+
}
|
|
28
|
+
/** Python runtime — uses subprocess with native model formats */
|
|
29
|
+
export interface PythonRuntimeInfo {
|
|
30
|
+
readonly available: boolean;
|
|
31
|
+
readonly pythonPath?: string;
|
|
32
|
+
/** Each Python backend uses a different model format */
|
|
33
|
+
readonly backends: readonly PythonBackendInfo[];
|
|
34
|
+
}
|
|
35
|
+
/** All runtimes available on an agent/hub */
|
|
36
|
+
export interface RuntimeCapabilities {
|
|
37
|
+
readonly node: NodeRuntimeInfo;
|
|
38
|
+
readonly python: PythonRuntimeInfo;
|
|
39
|
+
}
|
|
40
|
+
/** Download status of a specific model format */
|
|
41
|
+
export interface ModelFormatStatus {
|
|
42
|
+
readonly url: string;
|
|
43
|
+
readonly sizeMB: number;
|
|
44
|
+
readonly downloaded: boolean;
|
|
45
|
+
readonly filePath?: string;
|
|
46
|
+
}
|
|
47
|
+
/** A model from the catalog with download status per format */
|
|
48
|
+
export interface ModelAvailability {
|
|
49
|
+
readonly id: string;
|
|
50
|
+
readonly name: string;
|
|
51
|
+
readonly description: string;
|
|
52
|
+
readonly inputSize: {
|
|
53
|
+
readonly width: number;
|
|
54
|
+
readonly height: number;
|
|
55
|
+
};
|
|
56
|
+
readonly formats: Partial<Readonly<Record<ModelFormat, ModelFormatStatus>>>;
|
|
57
|
+
}
|
|
58
|
+
/** Detection addon with its available models */
|
|
59
|
+
export interface AddonCapabilityInfo {
|
|
60
|
+
readonly id: string;
|
|
61
|
+
readonly name: string;
|
|
62
|
+
readonly models: readonly ModelAvailability[];
|
|
63
|
+
}
|
|
64
|
+
/** Complete inference capabilities for an agent/hub */
|
|
65
|
+
export interface InferenceCapabilities {
|
|
66
|
+
readonly agentId: string;
|
|
67
|
+
readonly agentName: string;
|
|
68
|
+
readonly platform: string;
|
|
69
|
+
readonly arch: string;
|
|
70
|
+
readonly addons: readonly AddonCapabilityInfo[];
|
|
71
|
+
readonly runtimes: RuntimeCapabilities;
|
|
72
|
+
readonly modelsDir: string;
|
|
73
|
+
/** Platform scores from PlatformScorer — available after boot probe */
|
|
74
|
+
readonly platformScores?: readonly import('./platform.js').PlatformScore[];
|
|
75
|
+
}
|
|
76
|
+
/** Configuration to create/retrieve a managed inference engine */
|
|
77
|
+
export interface EngineConfig {
|
|
78
|
+
readonly addonId: string;
|
|
79
|
+
readonly modelId: string;
|
|
80
|
+
/** 'node' = onnxruntime-node, 'python' = Python subprocess */
|
|
81
|
+
readonly runtime: 'node' | 'python';
|
|
82
|
+
/** Backend within that runtime (e.g. 'cpu', 'coreml', 'cuda') */
|
|
83
|
+
readonly backend: string;
|
|
84
|
+
}
|
|
85
|
+
/** Progress event emitted during model download */
|
|
86
|
+
export interface ModelDownloadProgress {
|
|
87
|
+
readonly modelId: string;
|
|
88
|
+
readonly format: ModelFormat;
|
|
89
|
+
readonly downloadedBytes: number;
|
|
90
|
+
readonly totalBytes: number;
|
|
91
|
+
readonly percent: number;
|
|
92
|
+
}
|
|
93
|
+
/** Result of a benchmark model download */
|
|
94
|
+
export interface BenchmarkDownloadResult {
|
|
95
|
+
readonly modelId: string;
|
|
96
|
+
readonly format: ModelFormat;
|
|
97
|
+
readonly filePath: string;
|
|
98
|
+
readonly sizeMB: number;
|
|
99
|
+
readonly durationMs: number;
|
|
100
|
+
}
|
|
101
|
+
//# sourceMappingURL=inference-capabilities.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"inference-capabilities.d.ts","sourceRoot":"","sources":["../../src/interfaces/inference-capabilities.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { DetectionRuntime, DetectionDevice } from '../types/config.js';
|
|
2
|
+
import type { ModelCatalogEntry } from '../types/models.js';
|
|
3
|
+
export interface IInferenceEngine {
|
|
4
|
+
readonly runtime: DetectionRuntime;
|
|
5
|
+
readonly device: DetectionDevice;
|
|
6
|
+
run(input: Float32Array, inputShape: readonly number[]): Promise<Float32Array>;
|
|
7
|
+
/** Run inference and return all named output tensors. Used by multi-output models (e.g. YOLO-seg). */
|
|
8
|
+
runMultiOutput(input: Float32Array, inputShape: readonly number[]): Promise<Record<string, Float32Array>>;
|
|
9
|
+
dispose(): Promise<void>;
|
|
10
|
+
}
|
|
11
|
+
export interface ResolveEngineOptions {
|
|
12
|
+
readonly runtime: DetectionRuntime | 'auto';
|
|
13
|
+
readonly backend: string;
|
|
14
|
+
readonly modelEntry: ModelCatalogEntry;
|
|
15
|
+
readonly modelsDir: string;
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=inference-engine.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"inference-engine.d.ts","sourceRoot":"","sources":["../../src/interfaces/inference-engine.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AAC3E,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAA;AAE3D,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,OAAO,EAAE,gBAAgB,CAAA;IAClC,QAAQ,CAAC,MAAM,EAAE,eAAe,CAAA;IAChC,GAAG,CAAC,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,SAAS,MAAM,EAAE,GAAG,OAAO,CAAC,YAAY,CAAC,CAAA;IAC9E,sGAAsG;IACtG,cAAc,CAAC,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,SAAS,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC,CAAA;IACzG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;CACzB;AAED,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,OAAO,EAAE,gBAAgB,GAAG,MAAM,CAAA;IAC3C,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,UAAU,EAAE,iBAAiB,CAAA;IACtC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;CAC3B"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
export type ElementState = 'stopped' | 'starting' | 'running' | 'stopping' | 'error' | 'disabled';
|
|
2
|
+
export interface ElementStatus {
|
|
3
|
+
state: ElementState;
|
|
4
|
+
error?: string;
|
|
5
|
+
startedAt?: number;
|
|
6
|
+
stoppedAt?: number;
|
|
7
|
+
restartCount: number;
|
|
8
|
+
uptime: number;
|
|
9
|
+
}
|
|
10
|
+
export interface ILifecycleManaged {
|
|
11
|
+
readonly id: string;
|
|
12
|
+
getStatus(): ElementStatus;
|
|
13
|
+
start(): Promise<void>;
|
|
14
|
+
stop(): Promise<void>;
|
|
15
|
+
restart(): Promise<void>;
|
|
16
|
+
enable(): Promise<void>;
|
|
17
|
+
disable(): Promise<void>;
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=lifecycle.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lifecycle.d.ts","sourceRoot":"","sources":["../../src/interfaces/lifecycle.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,YAAY,GAAG,SAAS,GAAG,UAAU,GAAG,SAAS,GAAG,UAAU,GAAG,OAAO,GAAG,UAAU,CAAA;AAEjG,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,YAAY,CAAA;IACnB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,YAAY,EAAE,MAAM,CAAA;IACpB,MAAM,EAAE,MAAM,CAAA;CACf;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IACnB,SAAS,IAAI,aAAa,CAAA;IAC1B,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;IACtB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;IACrB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;IACxB,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;IACvB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;CACzB"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
export type LogLevel = 'debug' | 'info' | 'warn' | 'error';
|
|
2
|
+
export interface LogEntry {
|
|
3
|
+
timestamp: Date;
|
|
4
|
+
level: LogLevel;
|
|
5
|
+
scope: string[];
|
|
6
|
+
message: string;
|
|
7
|
+
meta?: Record<string, unknown>;
|
|
8
|
+
}
|
|
9
|
+
export interface LogFilter {
|
|
10
|
+
scope?: string[];
|
|
11
|
+
level?: LogLevel;
|
|
12
|
+
since?: Date;
|
|
13
|
+
until?: Date;
|
|
14
|
+
limit?: number;
|
|
15
|
+
}
|
|
16
|
+
export interface ILogDestination {
|
|
17
|
+
initialize(): Promise<void>;
|
|
18
|
+
shutdown(): Promise<void>;
|
|
19
|
+
write(entry: LogEntry): void;
|
|
20
|
+
query?(filter: LogFilter): Promise<readonly LogEntry[]>;
|
|
21
|
+
}
|
|
22
|
+
export interface IScopedLogger {
|
|
23
|
+
debug(message: string, meta?: Record<string, unknown>): void;
|
|
24
|
+
info(message: string, meta?: Record<string, unknown>): void;
|
|
25
|
+
warn(message: string, meta?: Record<string, unknown>): void;
|
|
26
|
+
error(message: string, meta?: Record<string, unknown>): void;
|
|
27
|
+
child(scope: string): IScopedLogger;
|
|
28
|
+
}
|
|
29
|
+
/** Factory that creates scoped loggers */
|
|
30
|
+
export type LoggerFactory = {
|
|
31
|
+
createLogger(scope: string): IScopedLogger;
|
|
32
|
+
};
|
|
33
|
+
//# sourceMappingURL=logging.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logging.d.ts","sourceRoot":"","sources":["../../src/interfaces/logging.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,QAAQ,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAA;AAE1D,MAAM,WAAW,QAAQ;IACvB,SAAS,EAAE,IAAI,CAAA;IACf,KAAK,EAAE,QAAQ,CAAA;IACf,KAAK,EAAE,MAAM,EAAE,CAAA;IACf,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAC/B;AAED,MAAM,WAAW,SAAS;IACxB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAA;IAChB,KAAK,CAAC,EAAE,QAAQ,CAAA;IAChB,KAAK,CAAC,EAAE,IAAI,CAAA;IACZ,KAAK,CAAC,EAAE,IAAI,CAAA;IACZ,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAED,MAAM,WAAW,eAAe;IAC9B,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;IAC3B,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;IACzB,KAAK,CAAC,KAAK,EAAE,QAAQ,GAAG,IAAI,CAAA;IAC5B,KAAK,CAAC,CAAC,MAAM,EAAE,SAAS,GAAG,OAAO,CAAC,SAAS,QAAQ,EAAE,CAAC,CAAA;CACxD;AAED,MAAM,WAAW,aAAa;IAC5B,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAA;IAC5D,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAA;IAC3D,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAA;IAC3D,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAA;IAC5D,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,aAAa,CAAA;CACpC;AAED,0CAA0C;AAC1C,MAAM,MAAM,aAAa,GAAG;IAC1B,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,aAAa,CAAA;CAC3C,CAAA"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
export type ModelType = 'detection' | 'face-detection' | 'face-recognition' | 'plate-detection' | 'ocr' | 'embedding' | 'audio-classification' | 'custom';
|
|
2
|
+
export type ModelFormat = 'onnx' | 'tflite' | 'coreml' | 'openvino';
|
|
3
|
+
export interface ServerModelCatalogEntry {
|
|
4
|
+
readonly id: string;
|
|
5
|
+
readonly name: string;
|
|
6
|
+
readonly description: string;
|
|
7
|
+
readonly type: ModelType;
|
|
8
|
+
readonly format: ModelFormat;
|
|
9
|
+
readonly available: boolean;
|
|
10
|
+
readonly downloadUrl?: string;
|
|
11
|
+
readonly fallbackDownloadUrls?: readonly string[];
|
|
12
|
+
readonly sizeMB?: number;
|
|
13
|
+
readonly exportHint?: string;
|
|
14
|
+
readonly inputSize: {
|
|
15
|
+
readonly width: number;
|
|
16
|
+
readonly height: number;
|
|
17
|
+
readonly channels?: number;
|
|
18
|
+
};
|
|
19
|
+
readonly labels?: readonly string[];
|
|
20
|
+
}
|
|
21
|
+
export interface IModelCatalogProvider {
|
|
22
|
+
readonly pluginId: string;
|
|
23
|
+
getModelCatalog(): ServerModelCatalogEntry[];
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=model-catalog.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"model-catalog.d.ts","sourceRoot":"","sources":["../../src/interfaces/model-catalog.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,SAAS,GACjB,WAAW,GACX,gBAAgB,GAChB,kBAAkB,GAClB,iBAAiB,GACjB,KAAK,GACL,WAAW,GACX,sBAAsB,GACtB,QAAQ,CAAA;AAEZ,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,QAAQ,GAAG,QAAQ,GAAG,UAAU,CAAA;AAEnE,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;IAC5B,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAA;IACxB,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAA;IAC5B,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAA;IAC3B,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAA;IAC7B,QAAQ,CAAC,oBAAoB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;IACjD,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAA;IAC5B,QAAQ,CAAC,SAAS,EAAE;QAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;IACnG,QAAQ,CAAC,MAAM,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;CACpC;AAED,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,eAAe,IAAI,uBAAuB,EAAE,CAAA;CAC7C"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
export interface StreamNetworkStats {
|
|
2
|
+
readonly nominalBitrateKbps: number;
|
|
3
|
+
readonly observedBitrateKbps: number;
|
|
4
|
+
readonly peakBitrateKbps: number;
|
|
5
|
+
readonly packetLossPercent: number;
|
|
6
|
+
readonly lastUpdated: number;
|
|
7
|
+
}
|
|
8
|
+
export interface ClientNetworkStats {
|
|
9
|
+
readonly rttMs: number;
|
|
10
|
+
readonly jitterMs: number;
|
|
11
|
+
readonly estimatedBandwidthKbps: number;
|
|
12
|
+
readonly lastUpdated: number;
|
|
13
|
+
}
|
|
14
|
+
export interface DeviceNetworkStats {
|
|
15
|
+
readonly deviceId: string;
|
|
16
|
+
readonly streams: Readonly<Record<string, StreamNetworkStats>>;
|
|
17
|
+
readonly client?: ClientNetworkStats;
|
|
18
|
+
}
|
|
19
|
+
export interface INetworkQualityTracker {
|
|
20
|
+
reportStreamStats(deviceId: string, streamId: string, bitrateKbps: number, packetLoss?: number): void;
|
|
21
|
+
reportClientStats(deviceId: string, stats: Omit<ClientNetworkStats, 'lastUpdated'>): void;
|
|
22
|
+
getDeviceStats(deviceId: string): DeviceNetworkStats | null;
|
|
23
|
+
getAllStats(): readonly DeviceNetworkStats[];
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=network-quality.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"network-quality.d.ts","sourceRoot":"","sources":["../../src/interfaces/network-quality.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAA;IACnC,QAAQ,CAAC,mBAAmB,EAAE,MAAM,CAAA;IACpC,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAA;IAChC,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAA;IAClC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;CAC7B;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,sBAAsB,EAAE,MAAM,CAAA;IACvC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;CAC7B;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC,CAAA;IAC9D,QAAQ,CAAC,MAAM,CAAC,EAAE,kBAAkB,CAAA;CACrC;AAED,MAAM,WAAW,sBAAsB;IACrC,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACrG,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,kBAAkB,EAAE,aAAa,CAAC,GAAG,IAAI,CAAA;IACzF,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,kBAAkB,GAAG,IAAI,CAAA;IAC3D,WAAW,IAAI,SAAS,kBAAkB,EAAE,CAAA;CAC7C"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
export interface NetworkAddress {
|
|
2
|
+
readonly host: string;
|
|
3
|
+
readonly port: number;
|
|
4
|
+
readonly protocol: 'http' | 'https';
|
|
5
|
+
}
|
|
6
|
+
export interface PublicAddress {
|
|
7
|
+
readonly url: string;
|
|
8
|
+
readonly provider: string;
|
|
9
|
+
}
|
|
10
|
+
export interface INetworkProvider {
|
|
11
|
+
getLocalAddress(): NetworkAddress;
|
|
12
|
+
getPublicAddress(): PublicAddress | null;
|
|
13
|
+
registerRemoteAccess(provider: IRemoteAccessProvider): void;
|
|
14
|
+
unregisterRemoteAccess(providerId: string): void;
|
|
15
|
+
onPublicAddressChange(callback: (address: PublicAddress | null) => void): () => void;
|
|
16
|
+
}
|
|
17
|
+
export type RemoteAccessStatus = 'connected' | 'connecting' | 'disconnected' | 'error';
|
|
18
|
+
export interface IRemoteAccessProvider {
|
|
19
|
+
readonly id: string;
|
|
20
|
+
readonly name: string;
|
|
21
|
+
getPublicUrl(): string | null;
|
|
22
|
+
getStatus(): RemoteAccessStatus;
|
|
23
|
+
start(): Promise<void>;
|
|
24
|
+
stop(): Promise<void>;
|
|
25
|
+
onStatusChange?(callback: (status: RemoteAccessStatus) => void): () => void;
|
|
26
|
+
}
|
|
27
|
+
export interface ITurnProvider {
|
|
28
|
+
readonly id: string;
|
|
29
|
+
readonly name: string;
|
|
30
|
+
getCredentials(): Promise<TurnCredentials>;
|
|
31
|
+
getServers(): TurnServer[];
|
|
32
|
+
}
|
|
33
|
+
export interface TurnCredentials {
|
|
34
|
+
readonly username: string;
|
|
35
|
+
readonly credential: string;
|
|
36
|
+
readonly ttl: number;
|
|
37
|
+
}
|
|
38
|
+
export interface TurnServer {
|
|
39
|
+
readonly urls: string;
|
|
40
|
+
readonly username?: string;
|
|
41
|
+
readonly credential?: string;
|
|
42
|
+
}
|
|
43
|
+
//# sourceMappingURL=network.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"network.d.ts","sourceRoot":"","sources":["../../src/interfaces/network.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAA;CACpC;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;CAC1B;AAED,MAAM,WAAW,gBAAgB;IAC/B,eAAe,IAAI,cAAc,CAAA;IACjC,gBAAgB,IAAI,aAAa,GAAG,IAAI,CAAA;IACxC,oBAAoB,CAAC,QAAQ,EAAE,qBAAqB,GAAG,IAAI,CAAA;IAC3D,sBAAsB,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAA;IAChD,qBAAqB,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,aAAa,GAAG,IAAI,KAAK,IAAI,GAAG,MAAM,IAAI,CAAA;CACrF;AAED,MAAM,MAAM,kBAAkB,GAAG,WAAW,GAAG,YAAY,GAAG,cAAc,GAAG,OAAO,CAAA;AAEtF,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,YAAY,IAAI,MAAM,GAAG,IAAI,CAAA;IAC7B,SAAS,IAAI,kBAAkB,CAAA;IAC/B,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;IACtB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;IACrB,cAAc,CAAC,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,kBAAkB,KAAK,IAAI,GAAG,MAAM,IAAI,CAAA;CAC5E;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,cAAc,IAAI,OAAO,CAAC,eAAe,CAAC,CAAA;IAC1C,UAAU,IAAI,UAAU,EAAE,CAAA;CAC3B;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;CACrB;AAED,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAA;CAC7B"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import type { ConfigUISchema } from './config-ui.js';
|
|
2
|
+
/**
|
|
3
|
+
* A notification to be sent through configured output channels.
|
|
4
|
+
*/
|
|
5
|
+
export interface Notification {
|
|
6
|
+
readonly title: string;
|
|
7
|
+
readonly message: string;
|
|
8
|
+
readonly severity: 'info' | 'warning' | 'critical';
|
|
9
|
+
readonly category: string;
|
|
10
|
+
readonly data?: Record<string, unknown>;
|
|
11
|
+
readonly imageUrl?: string;
|
|
12
|
+
readonly deviceId?: string;
|
|
13
|
+
readonly timestamp: number;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* A toast notification for the admin UI.
|
|
17
|
+
*/
|
|
18
|
+
export interface Toast {
|
|
19
|
+
readonly title: string;
|
|
20
|
+
readonly message: string;
|
|
21
|
+
readonly severity: 'info' | 'warning' | 'critical';
|
|
22
|
+
readonly duration?: number;
|
|
23
|
+
readonly action?: {
|
|
24
|
+
readonly label: string;
|
|
25
|
+
readonly url: string;
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Service interface for broadcasting toast notifications to connected clients.
|
|
30
|
+
*/
|
|
31
|
+
export interface IToastService {
|
|
32
|
+
broadcast(toast: Toast): void;
|
|
33
|
+
sendToUser(userId: string, toast: Toast): void;
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Pluggable notification output channel.
|
|
37
|
+
* Each addon implements a notification channel (Telegram, webhook, email, etc.).
|
|
38
|
+
*/
|
|
39
|
+
export interface INotificationOutput {
|
|
40
|
+
readonly id: string;
|
|
41
|
+
readonly name: string;
|
|
42
|
+
readonly icon: string;
|
|
43
|
+
/** Send a notification */
|
|
44
|
+
send(notification: Notification): Promise<void>;
|
|
45
|
+
/** Test the notification channel */
|
|
46
|
+
sendTest?(): Promise<{
|
|
47
|
+
success: boolean;
|
|
48
|
+
error?: string;
|
|
49
|
+
}>;
|
|
50
|
+
/** Config schema for the admin UI */
|
|
51
|
+
getConfigSchema?(): ConfigUISchema;
|
|
52
|
+
}
|
|
53
|
+
//# sourceMappingURL=notification.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"notification.d.ts","sourceRoot":"","sources":["../../src/interfaces/notification.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAEpD;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,GAAG,UAAU,CAAA;IAClD,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IACvC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;CAC3B;AAED;;GAEG;AACH,MAAM,WAAW,KAAK;IACpB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,GAAG,UAAU,CAAA;IAClD,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,MAAM,CAAC,EAAE;QAChB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;QACtB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;KACrB,CAAA;CACF;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,SAAS,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,CAAA;IAC7B,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,GAAG,IAAI,CAAA;CAC/C;AAED;;;GAGG;AACH,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IAErB,0BAA0B;IAC1B,IAAI,CAAC,YAAY,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAE/C,oCAAoC;IACpC,QAAQ,CAAC,IAAI,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;IAE1D,qCAAqC;IACrC,eAAe,CAAC,IAAI,cAAc,CAAA;CACnC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import type { FrameInput } from '../types/io.js';
|
|
2
|
+
import type { CropInput } from '../types/detection.js';
|
|
3
|
+
import type { PipelineConfig, PipelineResult, StepResult, PipelineStatus } from '../types/pipeline.js';
|
|
4
|
+
export interface IPipelineRunner {
|
|
5
|
+
run(frame: FrameInput, config?: PipelineConfig): Promise<PipelineResult>;
|
|
6
|
+
runSingle(addonId: string, input: FrameInput | CropInput, config?: Record<string, unknown>): Promise<StepResult>;
|
|
7
|
+
getStatus(): PipelineStatus[];
|
|
8
|
+
}
|
|
9
|
+
export interface ValidationIssue {
|
|
10
|
+
readonly step?: string;
|
|
11
|
+
readonly addon?: string;
|
|
12
|
+
readonly message: string;
|
|
13
|
+
readonly severity: 'error' | 'warning';
|
|
14
|
+
}
|
|
15
|
+
export interface ValidationResult {
|
|
16
|
+
readonly valid: boolean;
|
|
17
|
+
readonly errors: readonly ValidationIssue[];
|
|
18
|
+
readonly warnings: readonly ValidationIssue[];
|
|
19
|
+
}
|
|
20
|
+
export interface IPipelineValidator {
|
|
21
|
+
validate(config: PipelineConfig): ValidationResult;
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=pipeline-runner.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pipeline-runner.d.ts","sourceRoot":"","sources":["../../src/interfaces/pipeline-runner.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAChD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAA;AACtD,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAEtG,MAAM,WAAW,eAAe;IAC9B,GAAG,CAAC,KAAK,EAAE,UAAU,EAAE,MAAM,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC,CAAA;IACxE,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,GAAG,SAAS,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,UAAU,CAAC,CAAA;IAChH,SAAS,IAAI,cAAc,EAAE,CAAA;CAC9B;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,QAAQ,EAAE,OAAO,GAAG,SAAS,CAAA;CACvC;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAA;IACvB,QAAQ,CAAC,MAAM,EAAE,SAAS,eAAe,EAAE,CAAA;IAC3C,QAAQ,CAAC,QAAQ,EAAE,SAAS,eAAe,EAAE,CAAA;CAC9C;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,MAAM,EAAE,cAAc,GAAG,gBAAgB,CAAA;CACnD"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { PipelineSlot } from '../types/pipeline.js';
|
|
2
|
+
import type { RequiredStep } from './addon.js';
|
|
3
|
+
export interface IPipelineSlotProvider {
|
|
4
|
+
readonly slot: PipelineSlot;
|
|
5
|
+
readonly inputClasses: readonly string[] | null;
|
|
6
|
+
readonly outputClasses: readonly string[];
|
|
7
|
+
readonly requiredSteps?: readonly RequiredStep[];
|
|
8
|
+
readonly slotPriority: number;
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=pipeline-slot.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pipeline-slot.d.ts","sourceRoot":"","sources":["../../src/interfaces/pipeline-slot.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AACxD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAE9C,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAA;IAC3B,QAAQ,CAAC,YAAY,EAAE,SAAS,MAAM,EAAE,GAAG,IAAI,CAAA;IAC/C,QAAQ,CAAC,aAAa,EAAE,SAAS,MAAM,EAAE,CAAA;IACzC,QAAQ,CAAC,aAAa,CAAC,EAAE,SAAS,YAAY,EAAE,CAAA;IAChD,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAA;CAC9B"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
/** Hardware information detected at boot */
|
|
2
|
+
export interface HardwareInfo {
|
|
3
|
+
readonly platform: 'darwin' | 'linux' | 'win32';
|
|
4
|
+
readonly arch: 'arm64' | 'x64';
|
|
5
|
+
readonly cpuModel: string;
|
|
6
|
+
readonly cpuCores: number;
|
|
7
|
+
readonly totalRAM_MB: number;
|
|
8
|
+
readonly availableRAM_MB: number;
|
|
9
|
+
readonly gpu: GpuInfo | null;
|
|
10
|
+
readonly npu: NpuInfo | null;
|
|
11
|
+
}
|
|
12
|
+
export interface GpuInfo {
|
|
13
|
+
readonly type: 'nvidia' | 'amd' | 'intel' | 'apple';
|
|
14
|
+
readonly name: string;
|
|
15
|
+
readonly memoryMB?: number;
|
|
16
|
+
}
|
|
17
|
+
export interface NpuInfo {
|
|
18
|
+
readonly type: 'apple-ane' | 'intel-npu';
|
|
19
|
+
}
|
|
20
|
+
/** A probed backend with availability and score */
|
|
21
|
+
export interface PlatformScore {
|
|
22
|
+
readonly runtime: 'node' | 'python';
|
|
23
|
+
readonly backend: string;
|
|
24
|
+
readonly format: 'onnx' | 'coreml' | 'openvino';
|
|
25
|
+
readonly score: number;
|
|
26
|
+
readonly reason: string;
|
|
27
|
+
readonly available: boolean;
|
|
28
|
+
}
|
|
29
|
+
/** Full platform capabilities — cached once per boot */
|
|
30
|
+
export interface PlatformCapabilities {
|
|
31
|
+
readonly hardware: HardwareInfo;
|
|
32
|
+
readonly scores: readonly PlatformScore[];
|
|
33
|
+
readonly bestScore: PlatformScore;
|
|
34
|
+
readonly pythonPath: string | null;
|
|
35
|
+
}
|
|
36
|
+
/** Model requirement declared by an addon */
|
|
37
|
+
export interface ModelRequirement {
|
|
38
|
+
readonly modelId: string;
|
|
39
|
+
readonly name: string;
|
|
40
|
+
/** Minimum RAM needed for inference (model + runtime overhead, in MB) */
|
|
41
|
+
readonly minRAM_MB: number;
|
|
42
|
+
/** Relative accuracy score 0-100 */
|
|
43
|
+
readonly accuracyScore: number;
|
|
44
|
+
/** Available formats in the model catalog */
|
|
45
|
+
readonly formats: readonly string[];
|
|
46
|
+
}
|
|
47
|
+
/** Resolved config — the tripletta chosen by the scorer for an addon */
|
|
48
|
+
export interface ResolvedInferenceConfig {
|
|
49
|
+
readonly modelId: string;
|
|
50
|
+
readonly runtime: 'node' | 'python';
|
|
51
|
+
readonly backend: string;
|
|
52
|
+
readonly format: string;
|
|
53
|
+
readonly reason: string;
|
|
54
|
+
}
|
|
55
|
+
//# sourceMappingURL=platform.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"platform.d.ts","sourceRoot":"","sources":["../../src/interfaces/platform.ts"],"names":[],"mappings":"AAAA,4CAA4C;AAC5C,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO,GAAG,OAAO,CAAA;IAC/C,QAAQ,CAAC,IAAI,EAAE,OAAO,GAAG,KAAK,CAAA;IAC9B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;IAC5B,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAA;IAChC,QAAQ,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI,CAAA;IAC5B,QAAQ,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI,CAAA;CAC7B;AAED,MAAM,WAAW,OAAO;IACtB,QAAQ,CAAC,IAAI,EAAE,QAAQ,GAAG,KAAK,GAAG,OAAO,GAAG,OAAO,CAAA;IACnD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAC3B;AAED,MAAM,WAAW,OAAO;IACtB,QAAQ,CAAC,IAAI,EAAE,WAAW,GAAG,WAAW,CAAA;CACzC;AAED,mDAAmD;AACnD,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,QAAQ,CAAA;IACnC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,QAAQ,GAAG,UAAU,CAAA;IAC/C,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAA;CAC5B;AAED,wDAAwD;AACxD,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,QAAQ,EAAE,YAAY,CAAA;IAC/B,QAAQ,CAAC,MAAM,EAAE,SAAS,aAAa,EAAE,CAAA;IACzC,QAAQ,CAAC,SAAS,EAAE,aAAa,CAAA;IACjC,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAA;CACnC;AAED,6CAA6C;AAC7C,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,yEAAyE;IACzE,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,oCAAoC;IACpC,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAA;IAC9B,6CAA6C;IAC7C,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAA;CACpC;AAED,wEAAwE;AACxE,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,QAAQ,CAAA;IACnC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CACxB"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import type { ElementState } from './lifecycle.js';
|
|
2
|
+
export interface ProcessStats {
|
|
3
|
+
pid: number;
|
|
4
|
+
cpu: number;
|
|
5
|
+
memory: number;
|
|
6
|
+
uptime: number;
|
|
7
|
+
restartCount: number;
|
|
8
|
+
}
|
|
9
|
+
export interface ProcessConfig {
|
|
10
|
+
id: string;
|
|
11
|
+
label: string;
|
|
12
|
+
command?: string;
|
|
13
|
+
modulePath?: string;
|
|
14
|
+
args?: string[];
|
|
15
|
+
env?: Record<string, string>;
|
|
16
|
+
autoRestart: boolean;
|
|
17
|
+
maxRestarts?: number;
|
|
18
|
+
healthCheck?: {
|
|
19
|
+
intervalMs: number;
|
|
20
|
+
timeoutMs: number;
|
|
21
|
+
failureThreshold: number;
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
export interface ManagedProcessStatus {
|
|
25
|
+
id: string;
|
|
26
|
+
label: string;
|
|
27
|
+
state: ElementState;
|
|
28
|
+
pid?: number;
|
|
29
|
+
stats?: ProcessStats;
|
|
30
|
+
lastCrashAt?: number;
|
|
31
|
+
lastCrashError?: string;
|
|
32
|
+
restartCount: number;
|
|
33
|
+
nextRestartAt?: number;
|
|
34
|
+
}
|
|
35
|
+
/** Minimal interface for ProcessManagerService used by addons */
|
|
36
|
+
export interface IProcessManager {
|
|
37
|
+
register(config: ProcessConfig): unknown;
|
|
38
|
+
start(id: string): Promise<void>;
|
|
39
|
+
stop(id: string): Promise<void>;
|
|
40
|
+
}
|
|
41
|
+
//# sourceMappingURL=process.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"process.d.ts","sourceRoot":"","sources":["../../src/interfaces/process.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAElD,MAAM,WAAW,YAAY;IAC3B,GAAG,EAAE,MAAM,CAAA;IACX,GAAG,EAAE,MAAM,CAAA;IACX,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,MAAM,CAAA;IACd,YAAY,EAAE,MAAM,CAAA;CACrB;AAED,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAA;IACf,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC5B,WAAW,EAAE,OAAO,CAAA;IACpB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,WAAW,CAAC,EAAE;QACZ,UAAU,EAAE,MAAM,CAAA;QAClB,SAAS,EAAE,MAAM,CAAA;QACjB,gBAAgB,EAAE,MAAM,CAAA;KACzB,CAAA;CACF;AAED,MAAM,WAAW,oBAAoB;IACnC,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,YAAY,CAAA;IACnB,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,KAAK,CAAC,EAAE,YAAY,CAAA;IACpB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,YAAY,EAAE,MAAM,CAAA;IACpB,aAAa,CAAC,EAAE,MAAM,CAAA;CACvB;AAED,iEAAiE;AACjE,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO,CAAA;IACxC,KAAK,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAChC,IAAI,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;CAChC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import type { ChildProcess } from 'node:child_process';
|
|
2
|
+
export interface PythonProbeResult {
|
|
3
|
+
readonly available: boolean;
|
|
4
|
+
readonly version?: string;
|
|
5
|
+
readonly path?: string;
|
|
6
|
+
readonly installedPackages?: readonly string[];
|
|
7
|
+
}
|
|
8
|
+
export interface PythonEnvReady {
|
|
9
|
+
readonly pythonPath: string;
|
|
10
|
+
readonly venvPath: string;
|
|
11
|
+
spawn(script: string, args: readonly string[]): ChildProcess;
|
|
12
|
+
}
|
|
13
|
+
export interface IPythonEnvironment {
|
|
14
|
+
probe(): Promise<PythonProbeResult>;
|
|
15
|
+
ensure(options: {
|
|
16
|
+
readonly packages: readonly string[];
|
|
17
|
+
}): Promise<PythonEnvReady>;
|
|
18
|
+
spawn(script: string, args: readonly string[]): ChildProcess;
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=python-env.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"python-env.d.ts","sourceRoot":"","sources":["../../src/interfaces/python-env.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AAEtD,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAA;IAC3B,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,iBAAiB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;CAC/C;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,MAAM,EAAE,GAAG,YAAY,CAAA;CAC7D;AAED,MAAM,WAAW,kBAAkB;IACjC,KAAK,IAAI,OAAO,CAAC,iBAAiB,CAAC,CAAA;IACnC,MAAM,CAAC,OAAO,EAAE;QAAE,QAAQ,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAA;KAAE,GAAG,OAAO,CAAC,cAAc,CAAC,CAAA;IAClF,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,MAAM,EAAE,GAAG,YAAY,CAAA;CAC7D"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { IPipelineSlotProvider } from './pipeline-slot.js';
|
|
2
|
+
import type { CropInput } from '../types/detection.js';
|
|
3
|
+
import type { RefinerOutput } from '../types/detection.js';
|
|
4
|
+
export interface IRefinerProvider extends IPipelineSlotProvider {
|
|
5
|
+
readonly slot: 'refiner';
|
|
6
|
+
refine(input: CropInput): Promise<RefinerOutput>;
|
|
7
|
+
}
|
|
8
|
+
//# sourceMappingURL=refiner.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"refiner.d.ts","sourceRoot":"","sources":["../../src/interfaces/refiner.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAA;AAC/D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAA;AACtD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAA;AAE1D,MAAM,WAAW,gBAAiB,SAAQ,qBAAqB;IAC7D,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAA;IACxB,MAAM,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC,aAAa,CAAC,CAAA;CACjD"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
export interface ReplContext {
|
|
2
|
+
scope: ReplScope;
|
|
3
|
+
variables: Record<string, unknown>;
|
|
4
|
+
}
|
|
5
|
+
export type ReplScope = {
|
|
6
|
+
type: 'system';
|
|
7
|
+
} | {
|
|
8
|
+
type: 'provider';
|
|
9
|
+
providerId: string;
|
|
10
|
+
} | {
|
|
11
|
+
type: 'device';
|
|
12
|
+
deviceId: string;
|
|
13
|
+
} | {
|
|
14
|
+
type: 'addon';
|
|
15
|
+
addonId: string;
|
|
16
|
+
};
|
|
17
|
+
export interface ReplResult {
|
|
18
|
+
output: string;
|
|
19
|
+
type: 'value' | 'error' | 'void';
|
|
20
|
+
duration: number;
|
|
21
|
+
}
|
|
22
|
+
export interface IReplEngine {
|
|
23
|
+
execute(code: string, context: ReplContext): Promise<ReplResult>;
|
|
24
|
+
getCompletions(partial: string, context: ReplContext): Promise<string[]>;
|
|
25
|
+
}
|
|
26
|
+
//# sourceMappingURL=repl.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"repl.d.ts","sourceRoot":"","sources":["../../src/interfaces/repl.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,SAAS,CAAA;IAChB,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CACnC;AAED,MAAM,MAAM,SAAS,GACjB;IAAE,IAAI,EAAE,QAAQ,CAAA;CAAE,GAClB;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,GACxC;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,GACpC;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAA;AAEtC,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,MAAM,CAAA;IACd,IAAI,EAAE,OAAO,GAAG,OAAO,GAAG,MAAM,CAAA;IAChC,QAAQ,EAAE,MAAM,CAAA;CACjB;AAED,MAAM,WAAW,WAAW;IAC1B,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC,CAAA;IAChE,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAA;CACzE"}
|