@dolby-optiview/ads-sdk-core 1.2.1 → 1.3.0
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/OptiViewAds.d.ts +5 -4
- package/dist/OptiViewAds.js +1 -1
- package/dist/external-playback/index.d.ts +4 -0
- package/dist/external-playback/index.js +1 -0
- package/dist/external-playback/observeExternalPlayback.d.ts +19 -0
- package/dist/external-playback/observeExternalPlayback.js +1 -0
- package/dist/external-playback/reconnectHold.d.ts +19 -0
- package/dist/external-playback/reconnectHold.js +1 -0
- package/dist/generated/diagnosticCodes.d.ts +45 -5
- package/dist/generated/diagnosticCodes.js +1 -1
- package/dist/generated/version.d.ts +1 -1
- package/dist/generated/version.js +1 -1
- package/dist/index.d.ts +6 -4
- package/dist/index.js +1 -1
- package/dist/interfaces/AdSourceQueue.d.ts +19 -0
- package/dist/interfaces/AdSourceQueue.js +1 -0
- package/dist/interfaces/PlayerAdapter.d.ts +31 -1
- package/dist/internal/index.d.ts +2 -0
- package/dist/internal/index.js +1 -1
- package/dist/services/AdBreakSequencer.d.ts +33 -4
- package/dist/services/AdBreakSequencer.js +1 -1
- package/dist/services/AdPlayerController.d.ts +8 -61
- package/dist/services/AdPlayerController.js +1 -1
- package/dist/services/BreakChain.d.ts +43 -0
- package/dist/services/BreakChain.js +1 -0
- package/dist/services/BreakChainRecorder.d.ts +63 -0
- package/dist/services/BreakChainRecorder.js +1 -0
- package/dist/services/BreakPreloadLedger.d.ts +13 -0
- package/dist/services/BreakPreloadLedger.js +1 -0
- package/dist/services/BreakScheduler.d.ts +20 -6
- package/dist/services/BreakScheduler.js +1 -1
- package/dist/services/BreakTransitionTimer.d.ts +27 -2
- package/dist/services/BreakTransitionTimer.js +1 -1
- package/dist/services/CmcdAdReporter.d.ts +1 -0
- package/dist/services/CmcdAdReporter.js +1 -1
- package/dist/services/ExternalPlaybackGate.d.ts +40 -0
- package/dist/services/ExternalPlaybackGate.js +1 -0
- package/dist/services/LiveStartPushbackController.d.ts +5 -10
- package/dist/services/LiveStartPushbackController.js +1 -1
- package/dist/services/ManifestService.d.ts +2 -1
- package/dist/services/ManifestService.js +1 -1
- package/dist/services/ReloadGuard.d.ts +11 -0
- package/dist/services/ReloadGuard.js +1 -0
- package/dist/services/RewindRearm.d.ts +3 -1
- package/dist/services/RewindRearm.js +1 -1
- package/dist/services/SsaiController.js +1 -1
- package/dist/services/adPlayer/AdPlayerCallbacks.d.ts +63 -0
- package/dist/services/adPlayer/AdPlayerCallbacks.js +1 -0
- package/dist/services/adPlayer/AdPlayerEvents.d.ts +2 -0
- package/dist/services/adPlayer/AdPlayerEvents.js +1 -1
- package/dist/services/adPlayer/AdPreloader.d.ts +2 -2
- package/dist/services/adPlayer/AdPreloader.js +1 -1
- package/dist/services/adPlayer/AdStage.d.ts +7 -4
- package/dist/services/adPlayer/AdStage.js +1 -1
- package/dist/services/adPlayer/AssetParameterResolver.d.ts +10 -2
- package/dist/services/adPlayer/AssetParameterResolver.js +1 -1
- package/dist/services/adPlayer/AssetPlayback.d.ts +6 -2
- package/dist/services/adPlayer/AssetPlayback.js +1 -1
- package/dist/services/adPlayer/BreakSequenceDriver.d.ts +9 -3
- package/dist/services/adPlayer/BreakSequenceDriver.js +1 -1
- package/dist/services/adPlayer/GamPodBridge.d.ts +11 -1
- package/dist/services/adPlayer/GamPodBridge.js +1 -1
- package/dist/services/adPlayer/PauseAdPresenter.d.ts +3 -1
- package/dist/services/adPlayer/PauseAdPresenter.js +1 -1
- package/dist/services/adPlayer/PreparedPresentation.js +1 -1
- package/dist/services/adPlayer/PresentationModeTracker.d.ts +1 -1
- package/dist/services/adPlayer/PresentationModeTracker.js +1 -1
- package/dist/services/adPlayer/SuccessorQueue.d.ts +36 -0
- package/dist/services/adPlayer/SuccessorQueue.js +1 -0
- package/dist/services/adPlayer/presentation/DomPresentationHost.d.ts +22 -0
- package/dist/services/adPlayer/presentation/DomPresentationHost.js +1 -0
- package/dist/services/adPlayer/presentation/LayoutTransform.d.ts +28 -0
- package/dist/services/adPlayer/presentation/LayoutTransform.js +1 -0
- package/dist/services/adPlayer/presentation/PresentationLayout.d.ts +19 -0
- package/dist/services/adPlayer/presentation/PresentationLayout.js +1 -0
- package/dist/services/assetParameterMacroTable.js +1 -1
- package/dist/services/assetParameterMacros.d.ts +9 -9
- package/dist/services/assetParameterMacros.js +1 -1
- package/dist/services/channelSwitch.d.ts +2 -2
- package/dist/services/externalPlaybackDiagnostic.d.ts +3 -0
- package/dist/services/externalPlaybackDiagnostic.js +1 -0
- package/dist/services/externalPlaybackGuard.d.ts +24 -0
- package/dist/services/externalPlaybackGuard.js +1 -0
- package/dist/services/parseBreakManifest.d.ts +2 -1
- package/dist/services/parseBreakManifest.js +1 -1
- package/dist/services/resolveChannelEvents.d.ts +17 -0
- package/dist/services/resolveChannelEvents.js +1 -0
- package/dist/services/resolveExternalVendorConfigurations.js +1 -1
- package/dist/services/resolveGamVendorConfiguration.d.ts +6 -1
- package/dist/services/resolveGamVendorConfiguration.js +1 -1
- package/dist/services/ssbStream.d.ts +39 -0
- package/dist/services/ssbStream.js +1 -0
- package/dist/services/ssbSwitchSignals.d.ts +15 -0
- package/dist/services/ssbSwitchSignals.js +1 -0
- package/dist/services/staticAssetUrl.d.ts +28 -0
- package/dist/services/staticAssetUrl.js +1 -0
- package/dist/session/AdBreakStatusTracker.d.ts +18 -0
- package/dist/session/AdBreakStatusTracker.js +1 -1
- package/dist/session/BreakLifecycle.d.ts +6 -0
- package/dist/session/BreakLifecycle.js +1 -1
- package/dist/session/SessionStarter.d.ts +6 -43
- package/dist/session/SessionStarter.js +1 -1
- package/dist/session/SessionStarterDeps.d.ts +39 -0
- package/dist/session/SessionStarterDeps.js +1 -0
- package/dist/session/SessionStarterHelpers.d.ts +36 -0
- package/dist/session/SessionStarterHelpers.js +1 -0
- package/dist/session/SessionState.d.ts +22 -2
- package/dist/session/SessionState.js +1 -1
- package/dist/session/SsbSwitch.d.ts +55 -0
- package/dist/session/SsbSwitch.js +1 -0
- package/dist/session/breakMeasurement.d.ts +16 -0
- package/dist/session/breakMeasurement.js +1 -0
- package/dist/session/contentSnapback.d.ts +13 -0
- package/dist/session/contentSnapback.js +1 -0
- package/dist/session/createExternalPlaybackGate.d.ts +19 -0
- package/dist/session/createExternalPlaybackGate.js +1 -0
- package/dist/session/sessionTick.d.ts +7 -0
- package/dist/session/sessionTick.js +1 -0
- package/dist/types/BreakManifest.d.ts +34 -2
- package/dist/types/Events.d.ts +20 -10
- package/dist/types/OptiViewAdsConfig.d.ts +24 -8
- package/package.json +5 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/** Break Manifest types, per https://github.com/Dolby-OptiView/optiview-ads-manifest-spec/blob/v1.
|
|
1
|
+
/** Break Manifest types, per https://github.com/Dolby-OptiView/optiview-ads-manifest-spec/blob/v1.9.0/spec.md. */
|
|
2
2
|
/** Which 'time' reference break start times use. @category Break Manifests & Ad Formats */
|
|
3
3
|
export declare enum Timebase {
|
|
4
4
|
/** An absolute ISO-8601 timestamp */
|
|
@@ -28,10 +28,26 @@ export interface GamSgaiConfiguration {
|
|
|
28
28
|
customAssetKey: string;
|
|
29
29
|
assetParameters?: Record<string, string>;
|
|
30
30
|
}
|
|
31
|
+
/**
|
|
32
|
+
* Server-side beaconing (SSB) stream the channel offers next to the DAI livestream (manifest spec
|
|
33
|
+
* 1.9.0 draft). While present, the SDK keeps the content player off AirPlay around ad breaks.
|
|
34
|
+
* @category Break Manifests & Ad Formats */
|
|
35
|
+
export interface GamSsbConfiguration {
|
|
36
|
+
/** The SSB stream URL. */
|
|
37
|
+
uri: string;
|
|
38
|
+
/** The stream format, e.g. `hls`. */
|
|
39
|
+
format?: string;
|
|
40
|
+
/** Stream request parameters. */
|
|
41
|
+
assetParameters?: Record<string, string>;
|
|
42
|
+
/** DRM configuration, passed through untouched. */
|
|
43
|
+
drm?: Record<string, unknown>;
|
|
44
|
+
}
|
|
31
45
|
/** Session-level GAM configuration for full-service DAI SSAI. @category Break Manifests & Ad Formats */
|
|
32
46
|
export interface GamSsaiConfiguration {
|
|
33
47
|
assetKey: string;
|
|
34
48
|
assetParameters?: Record<string, string>;
|
|
49
|
+
/** The channel's server-side beaconing stream, when it has one. */
|
|
50
|
+
ssb?: GamSsbConfiguration;
|
|
35
51
|
}
|
|
36
52
|
/**
|
|
37
53
|
* The GAM identity needed to create the IMA/DAI stream session. Must agree with the per-asset
|
|
@@ -74,7 +90,7 @@ export interface BreakManifest {
|
|
|
74
90
|
/** Identifier of the channel the stream belongs to. */
|
|
75
91
|
channelId?: string;
|
|
76
92
|
/** Identifier of the event being streamed. */
|
|
77
|
-
eventId?: string;
|
|
93
|
+
eventId?: string | null;
|
|
78
94
|
/** Determines how often the manifest should be refreshed */
|
|
79
95
|
polling?: Polling;
|
|
80
96
|
/** Ordered delivery-steering rules (first match wins), evaluated once on the first fetch; absent means sgai. */
|
|
@@ -83,9 +99,20 @@ export interface BreakManifest {
|
|
|
83
99
|
adStartDelay?: number;
|
|
84
100
|
/** Session-level configuration per vendor integration (spec 1.1.0). */
|
|
85
101
|
vendorConfiguration?: VendorConfiguration[];
|
|
102
|
+
/** Event-specific configuration windows on a wallclock live stream. */
|
|
103
|
+
events?: ChannelEvent[];
|
|
86
104
|
/** The available breaks */
|
|
87
105
|
breaks: Break[];
|
|
88
106
|
}
|
|
107
|
+
/** An event window and the session configuration in effect while it runs. */
|
|
108
|
+
export interface ChannelEvent {
|
|
109
|
+
id: string;
|
|
110
|
+
start: string;
|
|
111
|
+
end: string;
|
|
112
|
+
adStartDelay?: number;
|
|
113
|
+
delivery?: DeliveryRule[];
|
|
114
|
+
vendorConfiguration?: VendorConfiguration[];
|
|
115
|
+
}
|
|
89
116
|
/** Delivery architecture selected by a {@link DeliveryRule}. @category Break Manifests & Ad Formats */
|
|
90
117
|
export declare enum DeliveryMode {
|
|
91
118
|
/** Server-Guided Ad Insertion — the SDK schedules and renders breaks client-side. */
|
|
@@ -324,6 +351,11 @@ export interface StaticAsset extends BaseAsset {
|
|
|
324
351
|
type: AssetType.STATIC;
|
|
325
352
|
/** The resource URL or array of URLs with targeting */
|
|
326
353
|
uri: string | AssetUri[];
|
|
354
|
+
/**
|
|
355
|
+
* Query parameters the player appends to the resource URL (for HLS or DASH, only the
|
|
356
|
+
* master playlist or MPD request). Values may be `$NAME$` macros.
|
|
357
|
+
*/
|
|
358
|
+
assetParameters?: Record<string, string>;
|
|
327
359
|
}
|
|
328
360
|
/** VAST asset, played by Google IMA as CSAI. SGAI only, linear formats only (single, double, lshape_ad). @category Break Manifests & Ad Formats */
|
|
329
361
|
export interface VastAsset extends BaseAsset {
|
package/dist/types/Events.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Break, Asset, BreakFormat } from './BreakManifest';
|
|
2
|
-
import type {
|
|
2
|
+
import type { SessionDeliveryMode } from './OptiViewAdsConfig';
|
|
3
3
|
/**
|
|
4
4
|
* Lifecycle phase reported by {@link AdBreakStatus}.
|
|
5
5
|
* - `idle`: no break is upcoming or active.
|
|
@@ -8,7 +8,7 @@ import type { OptiViewAdsMode } from './OptiViewAdsConfig';
|
|
|
8
8
|
* @category Events */
|
|
9
9
|
export type AdBreakPhase = 'idle' | 'upcoming' | 'active' | 'complete';
|
|
10
10
|
/** Why a scheduled ad break was refused before it began (`adbreakskipped` event). @category Events */
|
|
11
|
-
export type AdBreakSkipReason = 'late' | 'not-ready' | 'preparation-failed' | 'unsupported' | 'overlap' | 'start-delay' | 'removed' | 'insufficient-remaining' | 'resource-limit';
|
|
11
|
+
export type AdBreakSkipReason = 'late' | 'not-ready' | 'preparation-failed' | 'unsupported' | 'overlap' | 'start-delay' | 'removed' | 'insufficient-remaining' | 'resource-limit' | 'played-by-ssb';
|
|
12
12
|
export interface AdBreakSkippedEvent extends OptiViewAdsEvent {
|
|
13
13
|
type: 'adbreakskipped';
|
|
14
14
|
break: Break;
|
|
@@ -37,6 +37,14 @@ export interface AdBreakStatus {
|
|
|
37
37
|
ticking: boolean;
|
|
38
38
|
/** The configured warning second that was crossed, when a pre-break warning triggered this status. */
|
|
39
39
|
warningSec?: number | undefined;
|
|
40
|
+
/**
|
|
41
|
+
* Whether the content player may start AirPlay right now: `false` during a break and in the
|
|
42
|
+
* seconds before one. Present only when the SDK manages the AirPlay gate (the manifest carries a
|
|
43
|
+
* server-side beaconing stream and the adapter can gate external playback).
|
|
44
|
+
*/
|
|
45
|
+
externalPlaybackAllowed?: boolean | undefined;
|
|
46
|
+
/** Delivery mode of the active session; `ssb` while AirPlay plays the server-side beaconing stream. Absent between sessions. */
|
|
47
|
+
deliveryMode?: SessionDeliveryMode | undefined;
|
|
40
48
|
}
|
|
41
49
|
/** Event types emitted by the OptiViewAds SDK. @category Events */
|
|
42
50
|
export type OptiViewAdsEventType = 'adbreakbegin' | 'adbreakend' | 'adbreakskipped' | 'adbegin' | 'adend' | 'aderror' | 'adfirstquartile' | 'admidpoint' | 'adthirdquartile' | 'adtimeupdate' | 'adbreakstatus' | 'adclick' | 'waiting' | 'playing' | 'volumechange' | 'adchannelchange' | 'externalvendorconfigurationchange';
|
|
@@ -209,13 +217,13 @@ export interface AdClickEvent extends OptiViewAdsEvent {
|
|
|
209
217
|
asset: Asset;
|
|
210
218
|
clickThrough?: string | undefined;
|
|
211
219
|
}
|
|
212
|
-
/** Why the SDK
|
|
213
|
-
export type AdChannelChangeReason = 'channel-id-changed' | 'channel-id-added' | 'channel-id-removed' | 'vendor-configuration-changed' | 'timebase-changed';
|
|
220
|
+
/** Why the SDK re-aligned ad configuration after a polled channel or event change; see {@link AdChannelChangeEvent}. @category Events */
|
|
221
|
+
export type AdChannelChangeReason = 'channel-id-changed' | 'channel-id-added' | 'channel-id-removed' | 'vendor-configuration-changed' | 'timebase-changed' | 'event-boundary' | 'external-playback';
|
|
214
222
|
/**
|
|
215
|
-
* Emitted when a polled manifest
|
|
216
|
-
*
|
|
217
|
-
*
|
|
218
|
-
*
|
|
223
|
+
* Emitted when a polled manifest changes the ads channel or playback crosses a channel-event
|
|
224
|
+
* boundary. Event-boundary changes use reason `event-boundary` and identify the active event
|
|
225
|
+
* with `eventId` (or `null` when no event is active). During an active break, the event is
|
|
226
|
+
* emitted after that break finishes and the latest manifest is applied.
|
|
219
227
|
* @category Events */
|
|
220
228
|
export interface AdChannelChangeEvent extends OptiViewAdsEvent {
|
|
221
229
|
type: 'adchannelchange';
|
|
@@ -223,13 +231,15 @@ export interface AdChannelChangeEvent extends OptiViewAdsEvent {
|
|
|
223
231
|
previousChannelId: string | null;
|
|
224
232
|
/** `channelId` of the manifest the session is aligned to now; `null` when it has none. */
|
|
225
233
|
channelId: string | null;
|
|
234
|
+
/** Event id in effect after the boundary, or null when no event is active. */
|
|
235
|
+
eventId: string | null;
|
|
226
236
|
reason: AdChannelChangeReason;
|
|
227
237
|
/** The polled manifest URL (unchanged by the switch). */
|
|
228
238
|
manifestUrl: string;
|
|
229
239
|
/** Delivery mode in effect before the switch. */
|
|
230
|
-
previousDeliveryMode:
|
|
240
|
+
previousDeliveryMode: SessionDeliveryMode;
|
|
231
241
|
/** Delivery mode in effect after the switch. */
|
|
232
|
-
deliveryMode:
|
|
242
|
+
deliveryMode: SessionDeliveryMode;
|
|
233
243
|
}
|
|
234
244
|
/** An external provider's manifest parameter template was added, changed, or removed. @category Events */
|
|
235
245
|
export interface ExternalVendorConfigurationChangeEvent extends OptiViewAdsEvent {
|
|
@@ -112,8 +112,8 @@ export type AdInsertionType = 'replacement' | 'insertion';
|
|
|
112
112
|
/** Initial live-playback distance from the reported edge. @category Configuration */
|
|
113
113
|
export interface LiveStartPushbackConfig {
|
|
114
114
|
/**
|
|
115
|
-
* Apply once per session/channel.
|
|
116
|
-
*
|
|
115
|
+
* Apply once per session/channel. Off unless set to `true`, for every `ptsSource`.
|
|
116
|
+
* @default false
|
|
117
117
|
*/
|
|
118
118
|
enabled?: boolean;
|
|
119
119
|
/** Minimum total distance in target durations, not an additional rewind. @default 5 */
|
|
@@ -127,6 +127,8 @@ export interface LiveStartPushbackConfig {
|
|
|
127
127
|
* stream, loads the stitched master, forwards timed metadata to IMA and re-emits ad events.
|
|
128
128
|
* @category Configuration */
|
|
129
129
|
export type OptiViewAdsMode = 'sgai' | 'ssai';
|
|
130
|
+
/** The delivery mode a session runs in: `ssb` while AirPlay plays the channel's server-side beaconing stream. @category SDK & Sessions */
|
|
131
|
+
export type SessionDeliveryMode = OptiViewAdsMode | 'ssb';
|
|
130
132
|
/** How a PTS-timebase break's `start` value is resolved. @category Configuration */
|
|
131
133
|
export type PtsSource = 'mediaTime' | 'anvatoCue';
|
|
132
134
|
/** Default ad insertion architecture. */
|
|
@@ -245,6 +247,14 @@ export interface DiagnosticsConfig {
|
|
|
245
247
|
*/
|
|
246
248
|
bufferSize?: number;
|
|
247
249
|
}
|
|
250
|
+
/** AirPlay guard settings. @category Configuration */
|
|
251
|
+
export interface ExternalPlaybackConfig {
|
|
252
|
+
/**
|
|
253
|
+
* Seconds before a scheduled break during which AirPlay may not start; `0` blocks only during a break.
|
|
254
|
+
* @default 5
|
|
255
|
+
*/
|
|
256
|
+
blockBeforeBreakSec?: number;
|
|
257
|
+
}
|
|
248
258
|
/** SDK instance configuration, fixed for its lifetime (org-level). @category Configuration */
|
|
249
259
|
export interface OptiViewAdsConfig {
|
|
250
260
|
/**
|
|
@@ -348,7 +358,12 @@ export interface OptiViewAdsConfig {
|
|
|
348
358
|
*/
|
|
349
359
|
continueContentDuringBreak?: boolean;
|
|
350
360
|
/**
|
|
351
|
-
*
|
|
361
|
+
* AirPlay (external playback) guard, active only when the manifest carries a server-side
|
|
362
|
+
* beaconing (`ssb`) stream and the content adapter can gate external playback.
|
|
363
|
+
*/
|
|
364
|
+
externalPlayback?: ExternalPlaybackConfig;
|
|
365
|
+
/**
|
|
366
|
+
* Live startup adjustment, off unless `liveStartPushback.enabled` is `true`; does not change later
|
|
352
367
|
* break-resume policy.
|
|
353
368
|
*/
|
|
354
369
|
liveStartPushback?: LiveStartPushbackConfig;
|
|
@@ -418,11 +433,12 @@ export interface SessionConfig {
|
|
|
418
433
|
* manifest / session / update value is replaced when the ad request is built,
|
|
419
434
|
* so `"$OPTIVIEW_PLAYER_WIDTH$x$OPTIVIEW_PLAYER_HEIGHT$"` becomes `"1920x1080"`.
|
|
420
435
|
* Customer macros are consulted before the built-in `$OPTIVIEW_*` set, so a built-in can be
|
|
421
|
-
* overridden. A string replaces the token. `null
|
|
422
|
-
*
|
|
423
|
-
*
|
|
424
|
-
*
|
|
425
|
-
* unresolved built-in
|
|
436
|
+
* overridden. A string replaces the token. `""`, `null`, or a registered callback's `undefined`
|
|
437
|
+
* result omits the parameter, or only the containing pair when its value has a literal `&`;
|
|
438
|
+
* `DA-ASSET-PARAMETER-OMITTED` reports the omission. An `undefined` map entry is not registered.
|
|
439
|
+
* `updateAssetParameterMacros` uses `undefined` to unregister a name. A throwing callback warns
|
|
440
|
+
* and is unresolved, falling back to a built-in when one exists. `DA-ASSET-MACRO-UNKNOWN` reports
|
|
441
|
+
* unresolved built-in or registered macros.
|
|
426
442
|
* Other unresolved `$NAME$` tokens stay literal without a diagnostic. `$` without a closing `$`
|
|
427
443
|
* is unchanged.
|
|
428
444
|
* Callbacks are evaluated per ad request and cleared when the session ends.
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dolby-optiview/ads-sdk-core",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.3.0",
|
|
4
4
|
"description": "OptiView Ads SDK Core - Player-agnostic ad insertion",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -17,6 +17,10 @@
|
|
|
17
17
|
"types": "./dist/id3/index.d.ts",
|
|
18
18
|
"default": "./dist/id3/index.js"
|
|
19
19
|
},
|
|
20
|
+
"./external-playback": {
|
|
21
|
+
"types": "./dist/external-playback/index.d.ts",
|
|
22
|
+
"default": "./dist/external-playback/index.js"
|
|
23
|
+
},
|
|
20
24
|
"./server": {
|
|
21
25
|
"types": "./dist/server/index.d.ts",
|
|
22
26
|
"default": "./dist/server/index.js"
|