@aelionsdk/sdk 0.1.0-beta.1 → 1.0.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.
@@ -0,0 +1,52 @@
1
+ #!/usr/bin/env node
2
+ import { migrateProjectFile } from './migrate-cli-lib.js';
3
+ function option(name) {
4
+ const exact = process.argv.indexOf(name);
5
+ if (exact >= 0)
6
+ return process.argv[exact + 1];
7
+ const prefix = `${name}=`;
8
+ return process.argv.find(value => value.startsWith(prefix))?.slice(prefix.length);
9
+ }
10
+ function flag(name) {
11
+ return process.argv.includes(name);
12
+ }
13
+ function required(value, description) {
14
+ if (value === undefined || value.length === 0)
15
+ throw new TypeError(`${description} is required`);
16
+ return value;
17
+ }
18
+ function migrationSource(value) {
19
+ if (value === 'webav' || value === 'diffusion')
20
+ return value;
21
+ throw new TypeError('--from must be webav or diffusion');
22
+ }
23
+ function strictMode() {
24
+ if (flag('--no-strict') || option('--strict') === 'false')
25
+ return false;
26
+ return true;
27
+ }
28
+ async function main() {
29
+ const positionalSource = process.argv[2];
30
+ const fromOption = option('--from');
31
+ const source = migrationSource(fromOption ?? positionalSource);
32
+ const inputPath = required(option('--input') ?? (fromOption === undefined ? process.argv[3] : undefined), '--input');
33
+ const assetsPath = option('--assets');
34
+ const outputPath = option('--out');
35
+ const reportPath = option('--report');
36
+ const report = await migrateProjectFile({
37
+ source,
38
+ inputPath,
39
+ ...(assetsPath === undefined ? {} : { assetsPath }),
40
+ ...(outputPath === undefined ? {} : { outputPath }),
41
+ ...(reportPath === undefined ? {} : { reportPath }),
42
+ strict: strictMode(),
43
+ dryRun: flag('--dry-run'),
44
+ });
45
+ process.stdout.write(`${JSON.stringify(report, null, 2)}\n`);
46
+ if (report.status === 'failed')
47
+ process.exitCode = 2;
48
+ }
49
+ void main().catch((error) => {
50
+ process.stderr.write(`${error instanceof Error ? error.message : String(error)}\nUsage: aelion-migrate --from <webav|diffusion> --input project.json [--assets assets.json] [--out project.aelion.json] [--report report.json] [--dry-run] [--strict=false]\n`);
51
+ process.exitCode = 1;
52
+ });
@@ -1,4 +1,5 @@
1
1
  import type { PcmSourceBlock } from '@aelionsdk/audio';
2
+ import { type JsonObject } from '@aelionsdk/core';
2
3
  import { PageMediaResourceGovernor, type CacheStore, type FetchRangeReaderOptions, type MediaResourceGovernorSnapshot, type RangeReader, type SampleIndex } from '@aelionsdk/media';
3
4
  import type { AelionMediaProvider, AelionMediaRequest } from './types.js';
4
5
  export type ProductionMediaRole = 'original' | 'proxy' | 'thumbnail' | 'waveform';
@@ -107,6 +108,7 @@ export declare class ProductionMediaProvider implements AelionMediaProvider {
107
108
  clear(): void;
108
109
  registerImageUrl(assetId: string, url: string, options?: ProductionMediaUrlOptions): void;
109
110
  snapshot(): ProductionMediaProviderSnapshot;
111
+ getDiagnosticSnapshot(): JsonObject;
110
112
  dispose(): void;
111
113
  }
112
114
  //# sourceMappingURL=production-media-provider.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"production-media-provider.d.ts","sourceRoot":"","sources":["../src/production-media-provider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"production-media-provider.d.ts","sourceRoot":"","sources":["../src/production-media-provider.ts"],"names":[],"mappings":"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"}
@@ -430,6 +430,9 @@ export class ProductionMediaProvider {
430
430
  disposed: this.#disposed,
431
431
  };
432
432
  }
433
+ getDiagnosticSnapshot() {
434
+ return this.snapshot();
435
+ }
433
436
  dispose() {
434
437
  if (this.#disposed)
435
438
  return;
@@ -11,6 +11,15 @@ export interface CreateProjectOptions {
11
11
  readonly frameRate?: Rational;
12
12
  readonly sampleRate?: 44_100 | 48_000 | 96_000;
13
13
  readonly channelLayout?: 'mono' | 'stereo' | '5.1';
14
+ readonly workingColorSpace?: 'srgb-linear' | 'display-p3-linear' | 'rec2020-linear';
15
+ readonly colorPrimaries?: 'bt709' | 'display-p3' | 'bt2020';
16
+ readonly transferFunction?: 'srgb' | 'gamma22' | 'pq' | 'hlg';
17
+ readonly matrixCoefficients?: 'rgb' | 'bt709' | 'bt2020-ncl';
18
+ readonly colorRange?: 'full' | 'limited';
19
+ readonly chromaSubsampling?: 'rgb' | '4:4:4' | '4:2:2' | '4:2:0';
20
+ readonly alphaMode?: 'opaque' | 'premultiplied';
21
+ readonly toneMapping?: 'none' | 'bt2390' | 'reinhard';
22
+ readonly bitDepth?: 8 | 10;
14
23
  readonly backgroundColor?: string | readonly [number, number, number, number];
15
24
  /** Omit for content-derived duration. */
16
25
  readonly durationUs?: number;
@@ -1 +1 @@
1
- {"version":3,"file":"project-builder.d.ts","sourceRoot":"","sources":["../src/project-builder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"project-builder.d.ts","sourceRoot":"","sources":["../src/project-builder.ts"],"names":[],"mappings":"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"}
@@ -99,7 +99,15 @@ export class ProjectBuilder {
99
99
  frameRate: { numerator: frameRate.numerator, denominator: frameRate.denominator },
100
100
  sampleRate: options.sampleRate ?? 48_000,
101
101
  channelLayout: options.channelLayout ?? 'stereo',
102
- workingColorSpace: 'srgb-linear',
102
+ workingColorSpace: options.workingColorSpace ?? 'srgb-linear',
103
+ colorPrimaries: options.colorPrimaries ?? 'bt709',
104
+ transferFunction: options.transferFunction ?? 'srgb',
105
+ matrixCoefficients: options.matrixCoefficients ?? 'rgb',
106
+ colorRange: options.colorRange ?? 'full',
107
+ chromaSubsampling: options.chromaSubsampling ?? '4:4:4',
108
+ alphaMode: options.alphaMode ?? 'premultiplied',
109
+ toneMapping: options.toneMapping ?? 'none',
110
+ bitDepth: options.bitDepth ?? 8,
103
111
  backgroundColor: options.backgroundColor === undefined
104
112
  ? { space: 'srgb-linear', rgba: [0, 0, 0, 1] }
105
113
  : this.#color(options.backgroundColor),
package/dist/session.d.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  import { type Diagnostic } from '@aelionsdk/core';
2
2
  import { type RenderIr } from '@aelionsdk/render-ir';
3
3
  import { AelionPlayer } from './player.js';
4
- import type { AelionAudioApi, AelionExportApi, AelionMediaProvider, AelionPreviewApi, AelionPreviewOptions, AelionSessionApi, AelionSessionEvent, AelionSessionEventOf, AelionSessionEventType, AelionSessionOptions, AelionSessionSnapshot, AelionSessionStats, AelionSessionState, AelionTransactionApi } from './types.js';
4
+ import type { AelionAudioApi, AelionDiagnosticReport, AelionDiagnosticReportOptions, AelionExportApi, AelionMediaProvider, AelionPreviewApi, AelionPreviewOptions, AelionSessionApi, AelionSessionEvent, AelionSessionEventOf, AelionSessionEventType, AelionSessionOptions, AelionSessionSnapshot, AelionSessionStats, AelionSessionState, AelionTransactionApi } from './types.js';
5
5
  export declare class AelionSession implements AelionSessionApi {
6
6
  #private;
7
7
  readonly player: AelionPlayer;
@@ -18,6 +18,7 @@ export declare class AelionSession implements AelionSessionApi {
18
18
  getSnapshot(): AelionSessionSnapshot;
19
19
  getCapabilitySnapshot(): import("@aelionsdk/capability").CapabilityReport | null;
20
20
  getDiagnostics(): readonly Diagnostic[];
21
+ createDiagnosticReport(options?: AelionDiagnosticReportOptions): AelionDiagnosticReport;
21
22
  getStats(): AelionSessionStats;
22
23
  subscribe(listener: (event: AelionSessionEvent) => void): () => void;
23
24
  subscribe<T extends AelionSessionEventType>(type: T, listener: (event: AelionSessionEventOf<T>) => void): () => void;
@@ -1 +1 @@
1
- {"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../src/session.ts"],"names":[],"mappings":"AAEA,OAAO,EAAe,KAAK,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAqB/D,OAAO,EAKL,KAAK,QAAQ,EACd,MAAM,sBAAsB,CAAC;AAe9B,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAI3C,OAAO,KAAK,EACV,cAAc,EAEd,eAAe,EAMf,mBAAmB,EAMnB,gBAAgB,EAChB,oBAAoB,EACpB,gBAAgB,EAChB,kBAAkB,EAClB,oBAAoB,EACpB,sBAAsB,EACtB,oBAAoB,EACpB,qBAAqB,EACrB,kBAAkB,EAClB,kBAAkB,EAClB,oBAAoB,EACrB,MAAM,YAAY,CAAC;AA+GpB,qBAAa,aAAc,YAAW,gBAAgB;;IAuCpD,SAAgB,MAAM,EAAE,YAAY,CAAC;IACrC,SAAgB,KAAK,EAAE,cAAc,CAAC;IACtC,SAAgB,WAAW,EAAE,oBAAoB,CAAC;IAClD,SAAgB,OAAO,EAAE,gBAAgB,CAAC;IAC1C,SAAgB,MAAM,EAAE,eAAe,CAAC;gBAErB,OAAO,GAAE,oBAAyB;IAqErD,IAAW,KAAK,IAAI,kBAAkB,CAErC;IAED,IAAW,QAAQ,IAAI,MAAM,GAAG,IAAI,CAEnC;IAEY,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAiH1C,WAAW,CAAC,OAAO,EAAE,oBAAoB;IAqCzC,iBAAiB,CAAC,MAAM,CAAC,EAAE,WAAW;IAS5C,WAAW,IAAI,qBAAqB;IAYpC,qBAAqB;IAIrB,cAAc,IAAI,SAAS,UAAU,EAAE;IAIvC,QAAQ,IAAI,kBAAkB;IAmD9B,SAAS,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,kBAAkB,KAAK,IAAI,GAAG,MAAM,IAAI;IACpE,SAAS,CAAC,CAAC,SAAS,sBAAsB,EAC/C,IAAI,EAAE,CAAC,EACP,QAAQ,EAAE,CAAC,KAAK,EAAE,oBAAoB,CAAC,CAAC,CAAC,KAAK,IAAI,GACjD,MAAM,IAAI;IAgBN,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAwDxB,SAAS,IAAI,QAAQ;IAMrB,YAAY;IAMZ,kBAAkB,IAAI,IAAI;CAysBlC"}
1
+ {"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../src/session.ts"],"names":[],"mappings":"AAEA,OAAO,EAAe,KAAK,UAAU,EAAmB,MAAM,iBAAiB,CAAC;AAqBhF,OAAO,EAKL,KAAK,QAAQ,EACd,MAAM,sBAAsB,CAAC;AAgB9B,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAI3C,OAAO,KAAK,EACV,cAAc,EAEd,sBAAsB,EACtB,6BAA6B,EAC7B,eAAe,EAMf,mBAAmB,EAMnB,gBAAgB,EAChB,oBAAoB,EACpB,gBAAgB,EAChB,kBAAkB,EAClB,oBAAoB,EACpB,sBAAsB,EACtB,oBAAoB,EACpB,qBAAqB,EACrB,kBAAkB,EAClB,kBAAkB,EAClB,oBAAoB,EACrB,MAAM,YAAY,CAAC;AAsJpB,qBAAa,aAAc,YAAW,gBAAgB;;IAkDpD,SAAgB,MAAM,EAAE,YAAY,CAAC;IACrC,SAAgB,KAAK,EAAE,cAAc,CAAC;IACtC,SAAgB,WAAW,EAAE,oBAAoB,CAAC;IAClD,SAAgB,OAAO,EAAE,gBAAgB,CAAC;IAC1C,SAAgB,MAAM,EAAE,eAAe,CAAC;gBAErB,OAAO,GAAE,oBAAyB;IAqErD,IAAW,KAAK,IAAI,kBAAkB,CAErC;IAED,IAAW,QAAQ,IAAI,MAAM,GAAG,IAAI,CAEnC;IAEY,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IA+H1C,WAAW,CAAC,OAAO,EAAE,oBAAoB;IA8CzC,iBAAiB,CAAC,MAAM,CAAC,EAAE,WAAW;IAoB5C,WAAW,IAAI,qBAAqB;IAYpC,qBAAqB;IAIrB,cAAc,IAAI,SAAS,UAAU,EAAE;IAIvC,sBAAsB,CAAC,OAAO,CAAC,EAAE,6BAA6B,GAAG,sBAAsB;IAmBvF,QAAQ,IAAI,kBAAkB;IA2D9B,SAAS,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,kBAAkB,KAAK,IAAI,GAAG,MAAM,IAAI;IACpE,SAAS,CAAC,CAAC,SAAS,sBAAsB,EAC/C,IAAI,EAAE,CAAC,EACP,QAAQ,EAAE,CAAC,KAAK,EAAE,oBAAoB,CAAC,CAAC,CAAC,KAAK,IAAI,GACjD,MAAM,IAAI;IAgBN,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAwDxB,SAAS,IAAI,QAAQ;IAMrB,YAAY;IAMZ,kBAAkB,IAAI,IAAI;CA6tBlC"}
package/dist/session.js CHANGED
@@ -8,6 +8,7 @@ import { RenderIrFrameRenderer, } from '@aelionsdk/renderer-worker';
8
8
  import { EditingCommands, TransactionEngine, TransactionHistory, } from '@aelionsdk/transaction';
9
9
  import { SessionAudioController, projectAudioMastering } from './audio-controller.js';
10
10
  import { createMasteredAudioRenderer } from './audio-mastering.js';
11
+ import { createAelionDiagnosticReport } from './diagnostic-report.js';
11
12
  import { AelionPlayer } from './player.js';
12
13
  import { normalizePreviewQuality } from './preview-quality.js';
13
14
  import { defaultSchemas } from './default-schemas.js';
@@ -83,6 +84,28 @@ function frameHasAlpha(frame) {
83
84
  return frame.format === 'I420A' || frame.format === 'RGBA' || frame.format === 'BGRA';
84
85
  }
85
86
  const DEFAULT_MAX_DIAGNOSTICS = 256;
87
+ function emptyOperationTiming() {
88
+ return {
89
+ count: 0,
90
+ succeeded: 0,
91
+ failed: 0,
92
+ cancelled: 0,
93
+ totalUs: 0,
94
+ maximumUs: 0,
95
+ lastUs: null,
96
+ };
97
+ }
98
+ function recordOperationTiming(timing, startedAt, outcome) {
99
+ const durationUs = Math.max(0, Math.round((performance.now() - startedAt) * 1_000));
100
+ timing.count += 1;
101
+ timing[outcome] += 1;
102
+ timing.totalUs += durationUs;
103
+ timing.maximumUs = Math.max(timing.maximumUs, durationUs);
104
+ timing.lastUs = durationUs;
105
+ }
106
+ function operationTimingSnapshot(timing) {
107
+ return Object.freeze({ ...timing });
108
+ }
86
109
  function diagnosticHistoryLimit(value) {
87
110
  const limit = value ?? DEFAULT_MAX_DIAGNOSTICS;
88
111
  if (!Number.isSafeInteger(limit) || limit <= 0) {
@@ -116,11 +139,14 @@ export class AelionSession {
116
139
  #lastPreviewWidth;
117
140
  #lastPreviewHeight;
118
141
  #lastPreviewRenderScale;
142
+ #lastPreviewTiming;
143
+ #lastPreviewResources;
119
144
  #exportJobsStarted = 0;
120
145
  #exportJobsCompleted = 0;
121
146
  #exportJobsFailed = 0;
122
147
  #exportJobsCancelled = 0;
123
148
  #activeExportJob;
149
+ #activeExportStartedAt;
124
150
  #nextExportJobId = 1;
125
151
  #loadGeneration = 0;
126
152
  #loadInProgress = 0;
@@ -128,6 +154,12 @@ export class AelionSession {
128
154
  #disposeTask;
129
155
  #activeInteractiveEdit;
130
156
  #nextInteractiveEditId = 1;
157
+ #operationTimings = {
158
+ projectLoad: emptyOperationTiming(),
159
+ capabilityProbe: emptyOperationTiming(),
160
+ preview: emptyOperationTiming(),
161
+ export: emptyOperationTiming(),
162
+ };
131
163
  player;
132
164
  audio;
133
165
  transaction;
@@ -204,11 +236,13 @@ export class AelionSession {
204
236
  return this.#engine?.revision ?? null;
205
237
  }
206
238
  async loadProject(value) {
239
+ const startedAt = performance.now();
207
240
  this.#assertActive();
208
241
  const validation = this.#validator.validate(value);
209
242
  if (!validation.ok) {
210
243
  for (const diagnostic of validation.diagnostics)
211
244
  this.#recordDiagnostic(diagnostic);
245
+ recordOperationTiming(this.#operationTimings.projectLoad, startedAt, 'failed');
212
246
  throw new AelionError(validation.diagnostics);
213
247
  }
214
248
  const generation = this.#loadGeneration + 1;
@@ -219,7 +253,12 @@ export class AelionSession {
219
253
  // Player resources after a newer Project has already become visible. Keep the
220
254
  // tail fulfilled so one failed/superseded load cannot block the next request.
221
255
  this.#loadTail = task.then(() => undefined, () => undefined);
222
- return task.finally(() => {
256
+ return task
257
+ .then(() => recordOperationTiming(this.#operationTimings.projectLoad, startedAt, 'succeeded'), (error) => {
258
+ recordOperationTiming(this.#operationTimings.projectLoad, startedAt, error instanceof DOMException && error.name === 'AbortError' ? 'cancelled' : 'failed');
259
+ throw error;
260
+ })
261
+ .finally(() => {
223
262
  this.#loadInProgress -= 1;
224
263
  });
225
264
  }
@@ -306,6 +345,7 @@ export class AelionSession {
306
345
  return this.#renderPreviewFrame(options);
307
346
  }
308
347
  async #renderPreviewFrame(options) {
348
+ const startedAt = performance.now();
309
349
  this.#previewRequestedFrames += 1;
310
350
  this.#emitStats();
311
351
  try {
@@ -329,24 +369,36 @@ export class AelionSession {
329
369
  this.#lastPreviewWidth = result.width;
330
370
  this.#lastPreviewHeight = result.height;
331
371
  this.#lastPreviewRenderScale = result.renderScale;
372
+ this.#lastPreviewTiming = result.timing;
373
+ this.#lastPreviewResources = result.resources;
374
+ recordOperationTiming(this.#operationTimings.preview, startedAt, 'succeeded');
332
375
  this.#emitStats();
333
376
  return result;
334
377
  }
335
378
  catch (error) {
336
379
  this.#previewFailedFrames += 1;
380
+ recordOperationTiming(this.#operationTimings.preview, startedAt, error instanceof DOMException && error.name === 'AbortError' ? 'cancelled' : 'failed');
337
381
  this.#recordErrorDiagnostics(error);
338
382
  this.#emitStats();
339
383
  throw error;
340
384
  }
341
385
  }
342
386
  async probeCapabilities(signal) {
387
+ const startedAt = performance.now();
343
388
  this.#assertActive();
344
- const capability = await probeCapabilities(signal === undefined ? {} : { signal });
345
- this.#capability = capability;
346
- for (const diagnostic of capability.diagnostics)
347
- this.#recordDiagnostic(diagnostic);
348
- this.#emit({ type: 'capability-changed', capability });
349
- return capability;
389
+ try {
390
+ const capability = await probeCapabilities(signal === undefined ? {} : { signal });
391
+ this.#capability = capability;
392
+ for (const diagnostic of capability.diagnostics)
393
+ this.#recordDiagnostic(diagnostic);
394
+ recordOperationTiming(this.#operationTimings.capabilityProbe, startedAt, 'succeeded');
395
+ this.#emit({ type: 'capability-changed', capability });
396
+ return capability;
397
+ }
398
+ catch (error) {
399
+ recordOperationTiming(this.#operationTimings.capabilityProbe, startedAt, error instanceof DOMException && error.name === 'AbortError' ? 'cancelled' : 'failed');
400
+ throw error;
401
+ }
350
402
  }
351
403
  getSnapshot() {
352
404
  return Object.freeze({
@@ -365,6 +417,25 @@ export class AelionSession {
365
417
  getDiagnostics() {
366
418
  return Object.freeze([...this.#diagnostics]);
367
419
  }
420
+ createDiagnosticReport(options) {
421
+ let media = null;
422
+ try {
423
+ media = this.#options.media?.getDiagnosticSnapshot?.() ?? null;
424
+ }
425
+ catch {
426
+ // Support report generation must remain available when a custom media
427
+ // provider's optional inspection hook is itself unhealthy.
428
+ }
429
+ return createAelionDiagnosticReport({
430
+ state: this.#state,
431
+ revision: this.revision,
432
+ capability: this.#capability ?? null,
433
+ diagnostics: this.getDiagnostics(),
434
+ stats: this.getStats(),
435
+ media,
436
+ ...(options === undefined ? {} : { options }),
437
+ });
438
+ }
368
439
  getStats() {
369
440
  const active = this.#activeExportJob?.getSnapshot();
370
441
  const renderer = this.#renderer?.snapshot();
@@ -385,6 +456,8 @@ export class AelionSession {
385
456
  lastWidth: this.#lastPreviewWidth ?? null,
386
457
  lastHeight: this.#lastPreviewHeight ?? null,
387
458
  lastRenderScale: this.#lastPreviewRenderScale ?? null,
459
+ lastTiming: this.#lastPreviewTiming ?? null,
460
+ lastResources: this.#lastPreviewResources ?? null,
388
461
  pendingFrames: renderer?.pendingFrames ?? 0,
389
462
  maxPendingFrames: renderer?.maxPendingFrames ?? this.#options.maxPendingFrames ?? 2,
390
463
  rendererPresent: renderer !== undefined,
@@ -412,6 +485,12 @@ export class AelionSession {
412
485
  activeJobId: active?.id ?? null,
413
486
  progress: active?.progress ?? 0,
414
487
  }),
488
+ timings: Object.freeze({
489
+ projectLoad: operationTimingSnapshot(this.#operationTimings.projectLoad),
490
+ capabilityProbe: operationTimingSnapshot(this.#operationTimings.capabilityProbe),
491
+ preview: operationTimingSnapshot(this.#operationTimings.preview),
492
+ export: operationTimingSnapshot(this.#operationTimings.export),
493
+ }),
415
494
  });
416
495
  }
417
496
  subscribe(typeOrListener, typedListener) {
@@ -777,6 +856,7 @@ export class AelionSession {
777
856
  const id = `export-${this.#nextExportJobId.toString()}`;
778
857
  this.#nextExportJobId += 1;
779
858
  this.#exportJobsStarted += 1;
859
+ this.#activeExportStartedAt = performance.now();
780
860
  const job = new ExportJob({
781
861
  id,
782
862
  ...(options.signal === undefined ? {} : { externalSignal: options.signal }),
@@ -796,11 +876,7 @@ export class AelionSession {
796
876
  }
797
877
  },
798
878
  onSnapshot: snapshot => this.#acceptExportSnapshot(snapshot),
799
- onSettled: settled => {
800
- if (this.#activeExportJob === settled)
801
- this.#activeExportJob = undefined;
802
- this.#emitStats();
803
- },
879
+ onSettled: settled => this.#acceptExportSettled(settled),
804
880
  });
805
881
  this.#activeExportJob = job;
806
882
  this.#emitStats();
@@ -828,6 +904,7 @@ export class AelionSession {
828
904
  const id = `export-${this.#nextExportJobId.toString()}`;
829
905
  this.#nextExportJobId += 1;
830
906
  this.#exportJobsStarted += 1;
907
+ this.#activeExportStartedAt = performance.now();
831
908
  const job = new ExportJob({
832
909
  id,
833
910
  ...(options.signal === undefined ? {} : { externalSignal: options.signal }),
@@ -926,11 +1003,7 @@ export class AelionSession {
926
1003
  }
927
1004
  },
928
1005
  onSnapshot: snapshot => this.#acceptExportSnapshot(snapshot),
929
- onSettled: settled => {
930
- if (this.#activeExportJob === settled)
931
- this.#activeExportJob = undefined;
932
- this.#emitStats();
933
- },
1006
+ onSettled: settled => this.#acceptExportSettled(settled),
934
1007
  });
935
1008
  this.#activeExportJob = job;
936
1009
  this.#emitStats();
@@ -967,6 +1040,7 @@ export class AelionSession {
967
1040
  const id = `export-${this.#nextExportJobId.toString()}`;
968
1041
  this.#nextExportJobId += 1;
969
1042
  this.#exportJobsStarted += 1;
1043
+ this.#activeExportStartedAt = performance.now();
970
1044
  const job = new ExportJob({
971
1045
  id,
972
1046
  ...(options.signal === undefined ? {} : { externalSignal: options.signal }),
@@ -976,7 +1050,11 @@ export class AelionSession {
976
1050
  return await runRemoteExport({
977
1051
  provider: options.provider,
978
1052
  authorizer: options.authorizer,
1053
+ ...(options.assetAuthorizer === undefined
1054
+ ? {}
1055
+ : { assetAuthorizer: options.assetAuthorizer }),
979
1056
  request: {
1057
+ protocolVersion: '1.0.0',
980
1058
  contentId,
981
1059
  idempotencyKey: options.idempotencyKey ?? contentId,
982
1060
  profileId: options.profile,
@@ -984,6 +1062,8 @@ export class AelionSession {
984
1062
  sequenceId,
985
1063
  revision,
986
1064
  manifest,
1065
+ assets: options.assets ?? [],
1066
+ assetAuthorizations: [],
987
1067
  },
988
1068
  signal,
989
1069
  onProgress: (progress, stage) => {
@@ -998,11 +1078,7 @@ export class AelionSession {
998
1078
  }
999
1079
  },
1000
1080
  onSnapshot: snapshot => this.#acceptExportSnapshot(snapshot),
1001
- onSettled: settled => {
1002
- if (this.#activeExportJob === settled)
1003
- this.#activeExportJob = undefined;
1004
- this.#emitStats();
1005
- },
1081
+ onSettled: settled => this.#acceptExportSettled(settled),
1006
1082
  });
1007
1083
  this.#activeExportJob = job;
1008
1084
  this.#emitStats();
@@ -1020,6 +1096,20 @@ export class AelionSession {
1020
1096
  this.#exportJobsFailed += 1;
1021
1097
  this.#emitStats();
1022
1098
  }
1099
+ #acceptExportSettled(settled) {
1100
+ if (this.#activeExportJob === settled)
1101
+ this.#activeExportJob = undefined;
1102
+ const startedAt = this.#activeExportStartedAt;
1103
+ this.#activeExportStartedAt = undefined;
1104
+ if (startedAt !== undefined) {
1105
+ recordOperationTiming(this.#operationTimings.export, startedAt, settled.state === 'completed'
1106
+ ? 'succeeded'
1107
+ : settled.state === 'cancelled'
1108
+ ? 'cancelled'
1109
+ : 'failed');
1110
+ }
1111
+ this.#emitStats();
1112
+ }
1023
1113
  #recordErrorDiagnostics(error) {
1024
1114
  if (error === null || typeof error !== 'object')
1025
1115
  return 0;
package/dist/types.d.ts CHANGED
@@ -1,11 +1,11 @@
1
1
  import type { LoudnessReport, PcmSourceBlock, SilenceDetectionResult, WaveformPeakResult } from '@aelionsdk/audio';
2
2
  import type { CapabilityReport } from '@aelionsdk/capability';
3
3
  import type { Diagnostic, JsonObject, JsonValue } from '@aelionsdk/core';
4
- import type { ExportProfileId, ExportProfileSelection, ExportPreflightReport, GifExportResult, RemoteExportAuthorizer, RemoteExportProvider, RemoteExportResult, StillImageExportResult, SelectExportProfileOptions, WavExportResult, WebMExportOptions, WebMExportResult } from '@aelionsdk/export';
4
+ import type { ExportProfileId, ExportProfileSelection, ExportPreflightReport, GifExportResult, RemoteExportAsset, RemoteExportAssetAuthorizer, RemoteExportAuthorizer, RemoteExportProvider, RemoteExportResult, StillImageExportResult, SelectExportProfileOptions, WavExportResult, WebMExportOptions, WebMExportResult } from '@aelionsdk/export';
5
5
  import type { WebGl2MaterialProgram } from '@aelionsdk/material-compiler';
6
6
  import type { AelionProject } from '@aelionsdk/project-schema';
7
7
  import type { CompileStats, IrMaterialDefinition, RenderIr } from '@aelionsdk/render-ir';
8
- import type { RenderIrFrameResult } from '@aelionsdk/renderer-worker';
8
+ import type { RendererWorkerResourceSnapshot, RendererWorkerTiming, RenderIrFrameResult } from '@aelionsdk/renderer-worker';
9
9
  import type { EditingCommands, TransactionBuilder, TransactionCommit } from '@aelionsdk/transaction';
10
10
  export interface AelionProjectSchemas {
11
11
  readonly project: JsonObject;
@@ -20,6 +20,8 @@ export interface AelionMediaRequest {
20
20
  export interface AelionMediaProvider {
21
21
  frameAt(assetId: string, streamIndex: number, sourceTimeUs: number, signal?: AbortSignal, request?: AelionMediaRequest): Promise<VideoFrame>;
22
22
  pcmRange(assetId: string, streamIndex: number, startUs: number, durationUs: number, signal?: AbortSignal): Promise<PcmSourceBlock>;
23
+ /** Optional bounded, JSON-safe resource snapshot used by privacy-safe support reports. */
24
+ getDiagnosticSnapshot?(): JsonObject;
23
25
  }
24
26
  export interface AelionRuntimeMaterialRegistry {
25
27
  resolveProgram(definition: IrMaterialDefinition, parameters: Readonly<Record<string, JsonValue>>): WebGl2MaterialProgram | undefined;
@@ -301,6 +303,10 @@ export interface AelionRemoteExportOptions {
301
303
  readonly profile: ExportProfileId;
302
304
  readonly provider: RemoteExportProvider;
303
305
  readonly authorizer: RemoteExportAuthorizer;
306
+ /** Content-addressed source assets required by the remote renderer. */
307
+ readonly assets?: readonly RemoteExportAsset[];
308
+ /** Issues short-lived, per-asset credentials after protocol negotiation succeeds. */
309
+ readonly assetAuthorizer?: RemoteExportAssetAuthorizer;
304
310
  /** Replaces the default canonical Project manifest when a provider needs extra bindings. */
305
311
  readonly manifest?: JsonObject;
306
312
  /** Overrides the content-derived idempotency key for an existing provider workflow. */
@@ -329,6 +335,8 @@ export interface AelionSessionStats {
329
335
  readonly lastWidth: number | null;
330
336
  readonly lastHeight: number | null;
331
337
  readonly lastRenderScale: number | null;
338
+ readonly lastTiming: RendererWorkerTiming | null;
339
+ readonly lastResources: RendererWorkerResourceSnapshot | null;
332
340
  readonly pendingFrames: number;
333
341
  readonly maxPendingFrames: number;
334
342
  readonly rendererPresent: boolean;
@@ -355,6 +363,21 @@ export interface AelionSessionStats {
355
363
  readonly activeJobId: string | null;
356
364
  readonly progress: number;
357
365
  };
366
+ readonly timings: {
367
+ readonly projectLoad: AelionOperationTimingStats;
368
+ readonly capabilityProbe: AelionOperationTimingStats;
369
+ readonly preview: AelionOperationTimingStats;
370
+ readonly export: AelionOperationTimingStats;
371
+ };
372
+ }
373
+ export interface AelionOperationTimingStats {
374
+ readonly count: number;
375
+ readonly succeeded: number;
376
+ readonly failed: number;
377
+ readonly cancelled: number;
378
+ readonly totalUs: number;
379
+ readonly maximumUs: number;
380
+ readonly lastUs: number | null;
358
381
  }
359
382
  export interface AelionSessionSnapshot {
360
383
  readonly state: AelionSessionState;
@@ -381,10 +404,31 @@ export interface AelionSessionApi {
381
404
  getCapabilitySnapshot(): CapabilityReport | null;
382
405
  getDiagnostics(): readonly Diagnostic[];
383
406
  getStats(): AelionSessionStats;
407
+ createDiagnosticReport(options?: AelionDiagnosticReportOptions): AelionDiagnosticReport;
384
408
  subscribe(listener: (event: AelionSessionEvent) => void): () => void;
385
409
  subscribe<T extends AelionSessionEventType>(type: T, listener: (event: AelionSessionEventOf<T>) => void): () => void;
386
410
  dispose(): Promise<void>;
387
411
  }
412
+ export interface AelionDiagnosticReportOptions {
413
+ /**
414
+ * `safe` omits messages, entity ids, free-form details and identifying
415
+ * environment strings. `full` is an explicit opt-in for local debugging.
416
+ */
417
+ readonly privacy?: 'safe' | 'full';
418
+ }
419
+ export interface AelionDiagnosticReport {
420
+ readonly schemaVersion: '1.0.0';
421
+ readonly generatedAt: string;
422
+ readonly privacy: 'safe' | 'full';
423
+ readonly session: {
424
+ readonly state: AelionSessionState;
425
+ readonly revision: string | null;
426
+ };
427
+ readonly capability: JsonObject | null;
428
+ readonly diagnostics: readonly JsonObject[];
429
+ readonly stats: JsonObject;
430
+ readonly media: JsonObject | null;
431
+ }
388
432
  export interface AelionApi {
389
433
  createSession(options?: AelionSessionOptions): Promise<AelionSessionApi>;
390
434
  }