@aelionsdk/capability 1.0.0-rc.1 → 1.2.0-rc.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/README.md +25 -4
- package/dist/fallback.d.ts +62 -0
- package/dist/fallback.d.ts.map +1 -0
- package/dist/fallback.js +57 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/probe.d.ts.map +1 -1
- package/dist/probe.js +35 -0
- package/dist/types.d.ts +18 -0
- package/dist/types.d.ts.map +1 -1
- package/package.json +3 -3
package/README.md
CHANGED
|
@@ -1,7 +1,28 @@
|
|
|
1
|
-
#
|
|
1
|
+
# `@aelionsdk/capability`
|
|
2
2
|
|
|
3
|
-
Browser media capability probing for
|
|
3
|
+
Browser media, graphics, storage and execution capability probing for
|
|
4
|
+
AelionSDK.
|
|
4
5
|
|
|
5
|
-
Install
|
|
6
|
+
## Install
|
|
6
7
|
|
|
7
|
-
|
|
8
|
+
```bash
|
|
9
|
+
npm install @aelionsdk/capability@next
|
|
10
|
+
```
|
|
11
|
+
|
|
12
|
+
`next` currently resolves to `1.2.0-rc.1`. Product applications should normally
|
|
13
|
+
use the capability APIs exposed by `@aelionsdk/sdk`; this package is for custom
|
|
14
|
+
preflight screens and execution hosts.
|
|
15
|
+
|
|
16
|
+
## Public surface
|
|
17
|
+
|
|
18
|
+
- browser capability probes;
|
|
19
|
+
- capability reports and typed results;
|
|
20
|
+
- fail-closed gates for required features and export profiles.
|
|
21
|
+
|
|
22
|
+
A declared browser API is not proof that a codec configuration works. Run the
|
|
23
|
+
relevant gate with the actual dimensions, frame rate, sample rate and channel
|
|
24
|
+
count before starting a job.
|
|
25
|
+
|
|
26
|
+
See the [capability preflight guide](https://foyonaczy.github.io/AelionSDK/production/capability-preflight/)
|
|
27
|
+
and [API reference](https://foyonaczy.github.io/AelionSDK/api/aelionsdk/capability/overview/).
|
|
28
|
+
Licensed under MIT.
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import type { Diagnostic } from '@aelionsdk/core';
|
|
2
|
+
/** Whether the codec operation is a decode or an encode. */
|
|
3
|
+
export type CodecOperation = 'decode' | 'encode';
|
|
4
|
+
/** Whether the codec path is video or audio. */
|
|
5
|
+
export type CodecClass = 'video' | 'audio';
|
|
6
|
+
/** The codec execution the SDK is being asked to perform. */
|
|
7
|
+
export interface CodecIdentity {
|
|
8
|
+
readonly class: CodecClass;
|
|
9
|
+
readonly operation: CodecOperation;
|
|
10
|
+
/** WebCodecs codec string, e.g. `avc1.64001f` or `mp4a.40.2`. */
|
|
11
|
+
readonly codec: string;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Contract for a software codec fallback backend (e.g. a WASM decoder).
|
|
15
|
+
*
|
|
16
|
+
* The engine negotiates through this interface but ships no backend in 1.1:
|
|
17
|
+
* an application registers one after the codec strategy is chosen. The
|
|
18
|
+
* interface intentionally mirrors the WebCodecs lifecycle so a future WASM
|
|
19
|
+
* adapter can implement it without reshaping the negotiation path.
|
|
20
|
+
*/
|
|
21
|
+
export interface CodecFallbackProvider {
|
|
22
|
+
/** Stable provider id, e.g. `wasm-h264`. */
|
|
23
|
+
readonly id: string;
|
|
24
|
+
/** True when the backend is loaded and ready to accept work. */
|
|
25
|
+
readonly ready: boolean;
|
|
26
|
+
/** Whether this provider can execute the requested codec path. */
|
|
27
|
+
supports(identity: CodecIdentity): boolean;
|
|
28
|
+
}
|
|
29
|
+
/** Negotiated execution path for a single codec operation. */
|
|
30
|
+
export type CodecExecutionPath = {
|
|
31
|
+
readonly path: 'hardware';
|
|
32
|
+
} | {
|
|
33
|
+
readonly path: 'fallback';
|
|
34
|
+
readonly providerId: string;
|
|
35
|
+
} | {
|
|
36
|
+
readonly path: 'unavailable';
|
|
37
|
+
};
|
|
38
|
+
/**
|
|
39
|
+
* Negotiated execution path for a single codec operation plus any diagnostics
|
|
40
|
+
* the negotiation produced (for example a `CAPABILITY_CODEC_FALLBACK_USED`
|
|
41
|
+
* warning or a `CAPABILITY_CODEC_NO_BACKEND` error).
|
|
42
|
+
*/
|
|
43
|
+
export type CodecExecutionDecision = CodecExecutionPath & {
|
|
44
|
+
readonly diagnostics: readonly Diagnostic[];
|
|
45
|
+
};
|
|
46
|
+
/**
|
|
47
|
+
* Negotiate how to execute a codec operation: hardware when the platform
|
|
48
|
+
* reports it, otherwise the first ready provider that supports the identity,
|
|
49
|
+
* otherwise fail closed with a diagnostic.
|
|
50
|
+
*/
|
|
51
|
+
export declare function selectCodecExecution(identity: CodecIdentity, hardwareSupported: boolean, providers: readonly CodecFallbackProvider[]): CodecExecutionDecision;
|
|
52
|
+
/** Bounded registry of software codec fallback providers. */
|
|
53
|
+
export declare class CodecFallbackRegistry {
|
|
54
|
+
#private;
|
|
55
|
+
register(provider: CodecFallbackProvider): void;
|
|
56
|
+
unregister(id: string): void;
|
|
57
|
+
clear(): void;
|
|
58
|
+
providers(): readonly CodecFallbackProvider[];
|
|
59
|
+
}
|
|
60
|
+
/** The default process-wide registry used when no application instance is passed. */
|
|
61
|
+
export declare const codecFallbackRegistry: CodecFallbackRegistry;
|
|
62
|
+
//# sourceMappingURL=fallback.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fallback.d.ts","sourceRoot":"","sources":["../src/fallback.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAElD,4DAA4D;AAC5D,MAAM,MAAM,cAAc,GAAG,QAAQ,GAAG,QAAQ,CAAC;AACjD,gDAAgD;AAChD,MAAM,MAAM,UAAU,GAAG,OAAO,GAAG,OAAO,CAAC;AAE3C,6DAA6D;AAC7D,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAC;IAC3B,QAAQ,CAAC,SAAS,EAAE,cAAc,CAAC;IACnC,iEAAiE;IACjE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,qBAAqB;IACpC,4CAA4C;IAC5C,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,gEAAgE;IAChE,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,kEAAkE;IAClE,QAAQ,CAAC,QAAQ,EAAE,aAAa,GAAG,OAAO,CAAC;CAC5C;AAED,8DAA8D;AAC9D,MAAM,MAAM,kBAAkB,GAC1B;IAAE,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAA;CAAE,GAC7B;IAAE,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;CAAE,GAC1D;IAAE,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAA;CAAE,CAAC;AAErC;;;;GAIG;AACH,MAAM,MAAM,sBAAsB,GAAG,kBAAkB,GAAG;IACxD,QAAQ,CAAC,WAAW,EAAE,SAAS,UAAU,EAAE,CAAC;CAC7C,CAAC;AAWF;;;;GAIG;AACH,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,aAAa,EACvB,iBAAiB,EAAE,OAAO,EAC1B,SAAS,EAAE,SAAS,qBAAqB,EAAE,GAC1C,sBAAsB,CA4BxB;AAED,6DAA6D;AAC7D,qBAAa,qBAAqB;;IAGzB,QAAQ,CAAC,QAAQ,EAAE,qBAAqB,GAAG,IAAI;IAO/C,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAK5B,KAAK,IAAI,IAAI;IAIb,SAAS,IAAI,SAAS,qBAAqB,EAAE;CAGrD;AAED,qFAAqF;AACrF,eAAO,MAAM,qBAAqB,uBAA8B,CAAC"}
|
package/dist/fallback.js
ADDED
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
function decisionDiagnostic(code, message, recoverable) {
|
|
2
|
+
return {
|
|
3
|
+
code,
|
|
4
|
+
severity: recoverable ? 'warning' : 'error',
|
|
5
|
+
message,
|
|
6
|
+
recoverable,
|
|
7
|
+
};
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* Negotiate how to execute a codec operation: hardware when the platform
|
|
11
|
+
* reports it, otherwise the first ready provider that supports the identity,
|
|
12
|
+
* otherwise fail closed with a diagnostic.
|
|
13
|
+
*/
|
|
14
|
+
export function selectCodecExecution(identity, hardwareSupported, providers) {
|
|
15
|
+
if (hardwareSupported) {
|
|
16
|
+
return { path: 'hardware', diagnostics: [] };
|
|
17
|
+
}
|
|
18
|
+
const provider = providers.find(candidate => candidate.ready && candidate.supports(identity));
|
|
19
|
+
if (provider !== undefined) {
|
|
20
|
+
return {
|
|
21
|
+
path: 'fallback',
|
|
22
|
+
providerId: provider.id,
|
|
23
|
+
diagnostics: [
|
|
24
|
+
decisionDiagnostic('CAPABILITY_CODEC_FALLBACK_USED', `${identity.class} ${identity.operation} for ${identity.codec} runs through the ${provider.id} software fallback`, true),
|
|
25
|
+
],
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
return {
|
|
29
|
+
path: 'unavailable',
|
|
30
|
+
diagnostics: [
|
|
31
|
+
decisionDiagnostic('CAPABILITY_CODEC_NO_BACKEND', `${identity.class} ${identity.operation} for ${identity.codec} has no hardware support and no registered software fallback`, false),
|
|
32
|
+
],
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
/** Bounded registry of software codec fallback providers. */
|
|
36
|
+
export class CodecFallbackRegistry {
|
|
37
|
+
#providers = [];
|
|
38
|
+
register(provider) {
|
|
39
|
+
if (this.#providers.some(existing => existing.id === provider.id)) {
|
|
40
|
+
throw new TypeError(`Codec fallback ${provider.id} is already registered`);
|
|
41
|
+
}
|
|
42
|
+
this.#providers.push(provider);
|
|
43
|
+
}
|
|
44
|
+
unregister(id) {
|
|
45
|
+
const index = this.#providers.findIndex(provider => provider.id === id);
|
|
46
|
+
if (index !== -1)
|
|
47
|
+
this.#providers.splice(index, 1);
|
|
48
|
+
}
|
|
49
|
+
clear() {
|
|
50
|
+
this.#providers.length = 0;
|
|
51
|
+
}
|
|
52
|
+
providers() {
|
|
53
|
+
return [...this.#providers];
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
/** The default process-wide registry used when no application instance is passed. */
|
|
57
|
+
export const codecFallbackRegistry = new CodecFallbackRegistry();
|
package/dist/index.d.ts
CHANGED
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC"}
|
package/dist/index.js
CHANGED
package/dist/probe.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"probe.d.ts","sourceRoot":"","sources":["../src/probe.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAIV,sBAAsB,EACtB,gBAAgB,
|
|
1
|
+
{"version":3,"file":"probe.d.ts","sourceRoot":"","sources":["../src/probe.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAIV,sBAAsB,EACtB,gBAAgB,EAOjB,MAAM,YAAY,CAAC;AAghBpB,wBAAsB,iBAAiB,CACrC,OAAO,GAAE,sBAA2B,GACnC,OAAO,CAAC,gBAAgB,CAAC,CAwD3B"}
|
package/dist/probe.js
CHANGED
|
@@ -375,6 +375,35 @@ function probeColor() {
|
|
|
375
375
|
},
|
|
376
376
|
};
|
|
377
377
|
}
|
|
378
|
+
async function probeImageFormat(format) {
|
|
379
|
+
const mime = `image/${format}`;
|
|
380
|
+
// ImageDecoder is typed as always-present by the DOM lib, but runtime
|
|
381
|
+
// availability varies; read it through globalThis so the guard is real.
|
|
382
|
+
const imageDecoder = globalThis.ImageDecoder;
|
|
383
|
+
if (imageDecoder === undefined) {
|
|
384
|
+
// No decoder-capability API: report unknown rather than guessing. The
|
|
385
|
+
// createImageBitmap path used by decodeStillImage may still support the
|
|
386
|
+
// format, so claiming unsupported here would be wrong.
|
|
387
|
+
return failed('CAPABILITY_IMAGE_FORMAT_UNKNOWN', `ImageDecoder is unavailable; ${mime} decode support is unknown`, undefined);
|
|
388
|
+
}
|
|
389
|
+
try {
|
|
390
|
+
return (await imageDecoder.isTypeSupported(mime))
|
|
391
|
+
? supported({ mime })
|
|
392
|
+
: unsupported('CAPABILITY_IMAGE_FORMAT_UNSUPPORTED', `${mime} decode is unsupported`);
|
|
393
|
+
}
|
|
394
|
+
catch (cause) {
|
|
395
|
+
return failed('CAPABILITY_IMAGE_FORMAT_PROBE_FAILED', `Failed to probe ${mime}`, cause);
|
|
396
|
+
}
|
|
397
|
+
}
|
|
398
|
+
async function probeImages() {
|
|
399
|
+
const [avif, jpeg, png, webp] = await Promise.all([
|
|
400
|
+
probeImageFormat('avif'),
|
|
401
|
+
probeImageFormat('jpeg'),
|
|
402
|
+
probeImageFormat('png'),
|
|
403
|
+
probeImageFormat('webp'),
|
|
404
|
+
]);
|
|
405
|
+
return { avif, jpeg, png, webp };
|
|
406
|
+
}
|
|
378
407
|
function tier(codecs, gpu, audio) {
|
|
379
408
|
const hasVideoDecode = codecs.some(codec => codec.kind === 'video-decoder' && codec.supported);
|
|
380
409
|
if (hasVideoDecode &&
|
|
@@ -399,6 +428,7 @@ export async function probeCapabilities(options = {}) {
|
|
|
399
428
|
const audio = probeAudio();
|
|
400
429
|
const storage = probeStorage();
|
|
401
430
|
const color = probeColor();
|
|
431
|
+
const images = await probeImages();
|
|
402
432
|
const diagnostics = [
|
|
403
433
|
...codecs.flatMap(codec => codec.diagnostics),
|
|
404
434
|
...(gpu.webgpu.diagnostics ?? []),
|
|
@@ -413,6 +443,10 @@ export async function probeCapabilities(options = {}) {
|
|
|
413
443
|
...(storage.transferableStreams.diagnostics ?? []),
|
|
414
444
|
...(color.displayP3Gamut.diagnostics ?? []),
|
|
415
445
|
...(color.highDynamicRange.diagnostics ?? []),
|
|
446
|
+
...(images.avif.diagnostics ?? []),
|
|
447
|
+
...(images.jpeg.diagnostics ?? []),
|
|
448
|
+
...(images.png.diagnostics ?? []),
|
|
449
|
+
...(images.webp.diagnostics ?? []),
|
|
416
450
|
];
|
|
417
451
|
return {
|
|
418
452
|
schemaVersion: '1.0.0',
|
|
@@ -424,6 +458,7 @@ export async function probeCapabilities(options = {}) {
|
|
|
424
458
|
audio,
|
|
425
459
|
storage,
|
|
426
460
|
color,
|
|
461
|
+
images,
|
|
427
462
|
wasm: typeof WebAssembly === 'object'
|
|
428
463
|
? { available: supported() }
|
|
429
464
|
: {
|
package/dist/types.d.ts
CHANGED
|
@@ -35,6 +35,23 @@ export interface StorageCapability {
|
|
|
35
35
|
readonly fileSystemAccess: CapabilityProbe;
|
|
36
36
|
readonly transferableStreams: CapabilityProbe;
|
|
37
37
|
}
|
|
38
|
+
/**
|
|
39
|
+
* Still-image decode capability for the formats the SDK accepts through
|
|
40
|
+
* {@link ImageDecoder}/`createImageBitmap`. Probes report what the platform can
|
|
41
|
+
* deterministically signal; a probe with `status: 'unknown'` means the platform
|
|
42
|
+
* exposes no decoder-capability API (e.g. no `ImageDecoder`), not that the
|
|
43
|
+
* format is unsupported.
|
|
44
|
+
*/
|
|
45
|
+
export interface ImageFormatCapability {
|
|
46
|
+
/** AVIF still decode. */
|
|
47
|
+
readonly avif: CapabilityProbe;
|
|
48
|
+
/** JPEG still decode. */
|
|
49
|
+
readonly jpeg: CapabilityProbe;
|
|
50
|
+
/** PNG still decode. */
|
|
51
|
+
readonly png: CapabilityProbe;
|
|
52
|
+
/** WebP still decode. */
|
|
53
|
+
readonly webp: CapabilityProbe;
|
|
54
|
+
}
|
|
38
55
|
export interface ColorCapability {
|
|
39
56
|
readonly displayP3Gamut: CapabilityProbe;
|
|
40
57
|
readonly highDynamicRange: CapabilityProbe;
|
|
@@ -72,6 +89,7 @@ export interface CapabilityReport {
|
|
|
72
89
|
readonly audio: AudioCapability;
|
|
73
90
|
readonly storage: StorageCapability;
|
|
74
91
|
readonly color: ColorCapability;
|
|
92
|
+
readonly images: ImageFormatCapability;
|
|
75
93
|
readonly wasm: {
|
|
76
94
|
readonly available: CapabilityProbe;
|
|
77
95
|
};
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aelionsdk/capability",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.2.0-rc.1",
|
|
4
4
|
"description": "Browser media capability probing for AelionSDK",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
@@ -27,14 +27,14 @@
|
|
|
27
27
|
"!dist/.tsbuildinfo"
|
|
28
28
|
],
|
|
29
29
|
"engines": {
|
|
30
|
-
"node": ">=
|
|
30
|
+
"node": ">=24 <25"
|
|
31
31
|
},
|
|
32
32
|
"publishConfig": {
|
|
33
33
|
"access": "public",
|
|
34
34
|
"provenance": true
|
|
35
35
|
},
|
|
36
36
|
"dependencies": {
|
|
37
|
-
"@aelionsdk/core": "1.
|
|
37
|
+
"@aelionsdk/core": "1.2.0-rc.1"
|
|
38
38
|
},
|
|
39
39
|
"scripts": {
|
|
40
40
|
"build": "tsc -b",
|