hci-atrium 0.1.0 → 0.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.
Files changed (96) hide show
  1. package/README.md +266 -8
  2. package/dist/asset-meta.d.ts +31 -0
  3. package/dist/asset-meta.d.ts.map +1 -0
  4. package/dist/asset-meta.js +25 -0
  5. package/dist/asset-meta.js.map +1 -0
  6. package/dist/atrium.d.ts +220 -7
  7. package/dist/atrium.d.ts.map +1 -1
  8. package/dist/atrium.js +410 -39
  9. package/dist/atrium.js.map +1 -1
  10. package/dist/dash.d.ts +206 -0
  11. package/dist/dash.d.ts.map +1 -0
  12. package/dist/dash.js +302 -0
  13. package/dist/dash.js.map +1 -0
  14. package/dist/direct.d.ts +86 -0
  15. package/dist/direct.d.ts.map +1 -0
  16. package/dist/direct.js +121 -0
  17. package/dist/direct.js.map +1 -0
  18. package/dist/index.d.ts +8 -2
  19. package/dist/index.d.ts.map +1 -1
  20. package/dist/index.js +6 -1
  21. package/dist/index.js.map +1 -1
  22. package/dist/models.d.ts +70 -0
  23. package/dist/models.d.ts.map +1 -1
  24. package/dist/models.js +56 -0
  25. package/dist/models.js.map +1 -1
  26. package/dist/player/audio-layers.d.ts +306 -0
  27. package/dist/player/audio-layers.d.ts.map +1 -0
  28. package/dist/player/audio-layers.js +1245 -0
  29. package/dist/player/audio-layers.js.map +1 -0
  30. package/dist/player/index.d.ts +13 -0
  31. package/dist/player/index.d.ts.map +1 -0
  32. package/dist/player/index.js +13 -0
  33. package/dist/player/index.js.map +1 -0
  34. package/dist/player/layer-signals.d.ts +80 -0
  35. package/dist/player/layer-signals.d.ts.map +1 -0
  36. package/dist/player/layer-signals.js +174 -0
  37. package/dist/player/layer-signals.js.map +1 -0
  38. package/dist/player/play-command.d.ts +55 -0
  39. package/dist/player/play-command.d.ts.map +1 -0
  40. package/dist/player/play-command.js +36 -0
  41. package/dist/player/play-command.js.map +1 -0
  42. package/dist/player/play-intent.d.ts +18 -0
  43. package/dist/player/play-intent.d.ts.map +1 -0
  44. package/dist/player/play-intent.js +26 -0
  45. package/dist/player/play-intent.js.map +1 -0
  46. package/dist/player/runtime.d.ts +105 -0
  47. package/dist/player/runtime.d.ts.map +1 -0
  48. package/dist/player/runtime.js +402 -0
  49. package/dist/player/runtime.js.map +1 -0
  50. package/dist/react/index.d.ts +1 -0
  51. package/dist/react/index.d.ts.map +1 -1
  52. package/dist/react/index.js +1 -0
  53. package/dist/react/index.js.map +1 -1
  54. package/dist/react/use-room-connection.d.ts +40 -0
  55. package/dist/react/use-room-connection.d.ts.map +1 -0
  56. package/dist/react/use-room-connection.js +85 -0
  57. package/dist/react/use-room-connection.js.map +1 -0
  58. package/dist/rooms/recorder.d.ts +4 -0
  59. package/dist/rooms/recorder.d.ts.map +1 -1
  60. package/dist/rooms/recorder.js +7 -0
  61. package/dist/rooms/recorder.js.map +1 -1
  62. package/dist/rooms/room.d.ts +78 -0
  63. package/dist/rooms/room.d.ts.map +1 -1
  64. package/dist/rooms/room.js +208 -3
  65. package/dist/rooms/room.js.map +1 -1
  66. package/dist/rooms/standing-source.d.ts +3 -0
  67. package/dist/rooms/standing-source.d.ts.map +1 -1
  68. package/dist/rooms/standing-source.js +6 -0
  69. package/dist/rooms/standing-source.js.map +1 -1
  70. package/dist/rooms/transcriber.d.ts +4 -0
  71. package/dist/rooms/transcriber.d.ts.map +1 -1
  72. package/dist/rooms/transcriber.js +1 -0
  73. package/dist/rooms/transcriber.js.map +1 -1
  74. package/dist/shaping/index.d.ts +1 -0
  75. package/dist/shaping/index.d.ts.map +1 -1
  76. package/dist/shaping/index.js +1 -0
  77. package/dist/shaping/index.js.map +1 -1
  78. package/dist/shaping/request.d.ts +1 -1
  79. package/dist/shaping/request.d.ts.map +1 -1
  80. package/dist/shaping/surveys.d.ts +69 -0
  81. package/dist/shaping/surveys.d.ts.map +1 -0
  82. package/dist/shaping/surveys.js +129 -0
  83. package/dist/shaping/surveys.js.map +1 -0
  84. package/dist/tools.d.ts +84 -0
  85. package/dist/tools.d.ts.map +1 -0
  86. package/dist/tools.js +105 -0
  87. package/dist/tools.js.map +1 -0
  88. package/dist/trace.d.ts +96 -0
  89. package/dist/trace.d.ts.map +1 -0
  90. package/dist/trace.js +251 -0
  91. package/dist/trace.js.map +1 -0
  92. package/dist/transcribe.d.ts +5 -0
  93. package/dist/transcribe.d.ts.map +1 -1
  94. package/dist/transcribe.js +1 -1
  95. package/dist/transcribe.js.map +1 -1
  96. package/package.json +5 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"audio-layers.js","sourceRoot":"","sources":["../../src/player/audio-layers.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Player engine for ``hci-atrium`` — ``hci-atrium/player``.
3
+ *
4
+ * The framework-agnostic audio-layers engine (``LayerEngine``) plus the ``play`` / ``layer.*``
5
+ * dialect helpers that back the hosted Player tool. Browser WebAudio surface — no React, no room
6
+ * transport. Design record: ``docs/reference/audio-layers-dialect.md``.
7
+ */
8
+ export * from "./audio-layers.js";
9
+ export * from "./layer-signals.js";
10
+ export * from "./play-command.js";
11
+ export * from "./play-intent.js";
12
+ export * from "./runtime.js";
13
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/player/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,cAAc,mBAAmB,CAAA;AACjC,cAAc,oBAAoB,CAAA;AAClC,cAAc,mBAAmB,CAAA;AACjC,cAAc,kBAAkB,CAAA;AAChC,cAAc,cAAc,CAAA"}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Player engine for ``hci-atrium`` — ``hci-atrium/player``.
3
+ *
4
+ * The framework-agnostic audio-layers engine (``LayerEngine``) plus the ``play`` / ``layer.*``
5
+ * dialect helpers that back the hosted Player tool. Browser WebAudio surface — no React, no room
6
+ * transport. Design record: ``docs/reference/audio-layers-dialect.md``.
7
+ */
8
+ export * from "./audio-layers.js";
9
+ export * from "./layer-signals.js";
10
+ export * from "./play-command.js";
11
+ export * from "./play-intent.js";
12
+ export * from "./runtime.js";
13
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/player/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,cAAc,mBAAmB,CAAA;AACjC,cAAc,oBAAoB,CAAA;AAClC,cAAc,mBAAmB,CAAA;AACjC,cAAc,kBAAkB,CAAA;AAChC,cAAc,cAAc,CAAA"}
@@ -0,0 +1,80 @@
1
+ import type { DistanceConfig, EffectState, LayerTrack, Transition } from "./audio-layers.js";
2
+ import { type AssetLike, type PlayCommand } from "./play-command.js";
3
+ /** The track descriptor a `play` signal carries on the wire — the `play` command's
4
+ * bytes-resolution shape (picked, so the two can't drift) plus the layer-specific fields. */
5
+ export interface WireTrack extends Pick<PlayCommand, "content_url" | "asset_id" | "asset" | "playback" | "name"> {
6
+ loop?: boolean;
7
+ /** A stored AssetSegment id — resolves to `?segment=<id>` on the content URL (server cut-and-cache). */
8
+ segment?: string;
9
+ clip_start_seconds?: number;
10
+ clip_end_seconds?: number | null;
11
+ gain?: number;
12
+ crossfade_ms?: number;
13
+ spatial?: {
14
+ x: number;
15
+ y: number;
16
+ z?: number;
17
+ distance?: DistanceConfig;
18
+ };
19
+ /** Per-sound effect inserts (lowpass/highpass/reverb/echo) — stack in front of the layer bus. */
20
+ effects?: EffectState;
21
+ delay_seconds?: number;
22
+ max_duration_seconds?: number;
23
+ fade_in_ms?: number;
24
+ fade_out_ms?: number;
25
+ /** Measured loudness facts (LUFS / true peak dBTP) for loudness normalization — the SDK attaches
26
+ * these from the asset's facts; otherwise the Player fills them from the fetched metadata. */
27
+ loudness_lufs?: number;
28
+ true_peak_db?: number;
29
+ }
30
+ /** Options accepted by `sendSignal` — the room envelope's optional routing fields. */
31
+ export interface SendSignalOpts {
32
+ /** Targeted delivery to one connection id (`to=`). */
33
+ to?: string;
34
+ /** Marks this frame as the reply to a request with this `ack_id` (`reply_to=`). */
35
+ replyTo?: string;
36
+ /** Makes this frame a request the peer can reply to (`ack_id=`). */
37
+ ackId?: string;
38
+ /** Advisory: recorders skip ephemeral frames. All `layer.*` state traffic is ephemeral. */
39
+ ephemeral?: boolean;
40
+ }
41
+ /** Coerce an untrusted wire value to a valid transition; anything unknown falls back to `"queued"`. */
42
+ export declare function validateTransition(value: unknown): Transition;
43
+ /** Copy the per-sound fields shared by a wire/play shape onto a `LayerTrack` (same field names on
44
+ * both sides; `name`/`url` are set per branch). The single source of truth for which fields carry
45
+ * through — `resolveWireTrack` and the page's `play` path both use it, so adding a field here is the
46
+ * only edit. Accepts any `WireTrack`-compatible shape (a `PlayCommand` is one — it has the same
47
+ * one-shot fields, the queue-only ones just come through as undefined). */
48
+ export declare function carryTrackFields(track: WireTrack): Partial<LayerTrack>;
49
+ /** Loudness facts read off a fetched asset's metadata (`facts.loudness_lufs` / `.true_peak_db`),
50
+ * used as the fallback when the wire track didn't carry them (an SDK-driven play attaches them, a
51
+ * bare asset_id play relies on this). Non-numeric / missing facts yield an empty object. */
52
+ export declare function fetchedLoudness(fetched?: AssetLike | null): Partial<LayerTrack>;
53
+ /**
54
+ * The asset id that must be fetched (`/v1/assets/{id}`) to recover this track's name, or null when the
55
+ * track resolves without a fetch (content_url / inline asset / a spotify intent). Mirrors the `play`
56
+ * path's `needsAssetFetch` decision, but after `routePlayIntent` may have normalized a
57
+ * `playback:{source:"bytes"}` ref onto `asset_id`.
58
+ */
59
+ export declare function wireTrackFetchId(track: WireTrack): string | null;
60
+ /**
61
+ * Resolve a wire track descriptor to a playable `LayerTrack`, or null when nothing is playable.
62
+ * Pass `fetched` (the `/v1/assets/{id}` body) only for the asset_id-only case — as flagged by
63
+ * `wireTrackFetchId`; otherwise it is ignored. A `playback:{source:"spotify"}` intent yields a
64
+ * `spotify_ref` (the engine stubs it); the segment id, if present, is appended to the content URL.
65
+ */
66
+ export declare function resolveWireTrack(track: WireTrack, fetched?: AssetLike | null): LayerTrack | null;
67
+ /**
68
+ * Build the room-signal POST body. `connection_id` is always included so the server stamps `from`
69
+ * and excludes the sender; the optional routing fields are added only when set.
70
+ */
71
+ export declare function buildSignalEnvelope(type: string, payload: unknown, connectionId: string | null, opts?: SendSignalOpts): Record<string, unknown>;
72
+ /** localStorage key for a room's saved volumes. */
73
+ export declare function volumeStorageKey(code: string): string;
74
+ /** The reserved key for the master fader within the stored volume map. */
75
+ export declare const MASTER_VOLUME_KEY = "_master";
76
+ /** Load the saved volume map for a room (numbers only; malformed storage → empty). */
77
+ export declare function loadVolumes(storage: Storage, code: string): Record<string, number>;
78
+ /** Persist the volume map for a room (best-effort — storage errors are swallowed). */
79
+ export declare function saveVolumes(storage: Storage, code: string, volumes: Record<string, number>): void;
80
+ //# sourceMappingURL=layer-signals.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"layer-signals.d.ts","sourceRoot":"","sources":["../../src/player/layer-signals.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,174 @@
1
+ // Pure glue for the Player's `layer.*` room dialect (docs/plans/audio-layers.md, "The layer.* dialect").
2
+ // Splits the unit-testable parts out of the page (main.tsx): resolving a wire track descriptor down to
3
+ // a `LayerTrack` the engine can play (reusing the same bytes-resolution as the `play` signal), building
4
+ // the outbound signal envelope, validating the transition, and per-browser volume persistence.
5
+ //
6
+ // Nothing here touches the DOM, WebAudio, or the room transport — main.tsx owns those and calls into
7
+ // this module.
8
+ import { needsAssetFetch, resolvePlayback, } from "./play-command.js";
9
+ import { routePlayIntent } from "./play-intent.js";
10
+ const TRANSITIONS = ["now", "after_current", "queued"];
11
+ /** Coerce an untrusted wire value to a valid transition; anything unknown falls back to `"queued"`. */
12
+ export function validateTransition(value) {
13
+ return TRANSITIONS.includes(value) ? value : "queued";
14
+ }
15
+ // Only the fields `routePlayIntent`/`resolvePlayback` read — spatial etc. are copied through separately.
16
+ function toPlayCommand(track) {
17
+ return {
18
+ content_url: track.content_url,
19
+ asset_id: track.asset_id,
20
+ asset: track.asset,
21
+ playback: track.playback,
22
+ name: track.name,
23
+ };
24
+ }
25
+ /** Copy the per-sound fields shared by a wire/play shape onto a `LayerTrack` (same field names on
26
+ * both sides; `name`/`url` are set per branch). The single source of truth for which fields carry
27
+ * through — `resolveWireTrack` and the page's `play` path both use it, so adding a field here is the
28
+ * only edit. Accepts any `WireTrack`-compatible shape (a `PlayCommand` is one — it has the same
29
+ * one-shot fields, the queue-only ones just come through as undefined). */
30
+ export function carryTrackFields(track) {
31
+ const out = {};
32
+ if (track.loop !== undefined)
33
+ out.loop = track.loop;
34
+ if (track.clip_start_seconds !== undefined)
35
+ out.clip_start_seconds = track.clip_start_seconds;
36
+ if (track.clip_end_seconds !== undefined)
37
+ out.clip_end_seconds = track.clip_end_seconds;
38
+ if (track.gain !== undefined)
39
+ out.gain = track.gain;
40
+ if (track.crossfade_ms !== undefined)
41
+ out.crossfade_ms = track.crossfade_ms;
42
+ if (track.spatial !== undefined)
43
+ out.spatial = track.spatial;
44
+ if (track.effects !== undefined)
45
+ out.effects = track.effects;
46
+ if (track.delay_seconds !== undefined)
47
+ out.delay_seconds = track.delay_seconds;
48
+ if (track.max_duration_seconds !== undefined)
49
+ out.max_duration_seconds = track.max_duration_seconds;
50
+ if (track.fade_in_ms !== undefined)
51
+ out.fade_in_ms = track.fade_in_ms;
52
+ if (track.fade_out_ms !== undefined)
53
+ out.fade_out_ms = track.fade_out_ms;
54
+ if (track.loudness_lufs !== undefined)
55
+ out.loudness_lufs = track.loudness_lufs;
56
+ if (track.true_peak_db !== undefined)
57
+ out.true_peak_db = track.true_peak_db;
58
+ return out;
59
+ }
60
+ /** Loudness facts read off a fetched asset's metadata (`facts.loudness_lufs` / `.true_peak_db`),
61
+ * used as the fallback when the wire track didn't carry them (an SDK-driven play attaches them, a
62
+ * bare asset_id play relies on this). Non-numeric / missing facts yield an empty object. */
63
+ export function fetchedLoudness(fetched) {
64
+ const out = {};
65
+ const lufs = fetched?.facts?.loudness_lufs;
66
+ const peak = fetched?.facts?.true_peak_db;
67
+ if (typeof lufs === "number")
68
+ out.loudness_lufs = lufs;
69
+ if (typeof peak === "number")
70
+ out.true_peak_db = peak;
71
+ return out;
72
+ }
73
+ /**
74
+ * The asset id that must be fetched (`/v1/assets/{id}`) to recover this track's name, or null when the
75
+ * track resolves without a fetch (content_url / inline asset / a spotify intent). Mirrors the `play`
76
+ * path's `needsAssetFetch` decision, but after `routePlayIntent` may have normalized a
77
+ * `playback:{source:"bytes"}` ref onto `asset_id`.
78
+ */
79
+ export function wireTrackFetchId(track) {
80
+ const route = routePlayIntent(toPlayCommand(track));
81
+ if (route.kind === "bytes" && needsAssetFetch(route.cmd))
82
+ return route.cmd.asset_id ?? null;
83
+ return null;
84
+ }
85
+ /**
86
+ * Resolve a wire track descriptor to a playable `LayerTrack`, or null when nothing is playable.
87
+ * Pass `fetched` (the `/v1/assets/{id}` body) only for the asset_id-only case — as flagged by
88
+ * `wireTrackFetchId`; otherwise it is ignored. A `playback:{source:"spotify"}` intent yields a
89
+ * `spotify_ref` (the engine stubs it); the segment id, if present, is appended to the content URL.
90
+ */
91
+ export function resolveWireTrack(track, fetched) {
92
+ const route = routePlayIntent(toPlayCommand(track));
93
+ if (route.kind === "spotify") {
94
+ return {
95
+ ...carryTrackFields(track),
96
+ spotify_ref: route.ref,
97
+ spotify_mode: route.mode,
98
+ name: track.name,
99
+ };
100
+ }
101
+ if (route.kind !== "bytes")
102
+ return null; // "link"/"none" have no place on a layer
103
+ const resolved = resolvePlayback(route.cmd, fetched);
104
+ if (!resolved)
105
+ return null;
106
+ let url = resolved.url;
107
+ if (track.segment) {
108
+ url += `${url.includes("?") ? "&" : "?"}segment=${encodeURIComponent(track.segment)}`;
109
+ }
110
+ // Fetched-metadata loudness first, so an explicit wire value (via carryTrackFields) wins over it.
111
+ return {
112
+ ...fetchedLoudness(fetched),
113
+ ...carryTrackFields(track),
114
+ url,
115
+ name: track.name ?? resolved.label,
116
+ };
117
+ }
118
+ /**
119
+ * Build the room-signal POST body. `connection_id` is always included so the server stamps `from`
120
+ * and excludes the sender; the optional routing fields are added only when set.
121
+ */
122
+ export function buildSignalEnvelope(type, payload, connectionId, opts = {}) {
123
+ const body = { type, payload, connection_id: connectionId };
124
+ if (opts.to)
125
+ body.to = opts.to;
126
+ if (opts.replyTo)
127
+ body.reply_to = opts.replyTo;
128
+ if (opts.ackId)
129
+ body.ack_id = opts.ackId;
130
+ if (opts.ephemeral)
131
+ body.ephemeral = true;
132
+ return body;
133
+ }
134
+ // ── Per-browser volume persistence ────────────────────────────────────────────────────────────────
135
+ // The listener's slider positions, keyed by room code so different rooms don't share sliders. The
136
+ // master fader lives under `_master`; per-layer volumes under their layer id. App-declared
137
+ // `LayerSpec.volume` is only the default for layers with no stored value.
138
+ /** localStorage key for a room's saved volumes. */
139
+ export function volumeStorageKey(code) {
140
+ return `atrium_player_volumes:${code}`;
141
+ }
142
+ /** The reserved key for the master fader within the stored volume map. */
143
+ export const MASTER_VOLUME_KEY = "_master";
144
+ /** Load the saved volume map for a room (numbers only; malformed storage → empty). */
145
+ export function loadVolumes(storage, code) {
146
+ try {
147
+ const raw = storage.getItem(volumeStorageKey(code));
148
+ if (!raw)
149
+ return {};
150
+ const parsed = JSON.parse(raw);
151
+ if (parsed && typeof parsed === "object") {
152
+ const out = {};
153
+ for (const [k, v] of Object.entries(parsed)) {
154
+ if (typeof v === "number")
155
+ out[k] = v;
156
+ }
157
+ return out;
158
+ }
159
+ }
160
+ catch {
161
+ // Corrupt/unavailable storage: fall through to defaults.
162
+ }
163
+ return {};
164
+ }
165
+ /** Persist the volume map for a room (best-effort — storage errors are swallowed). */
166
+ export function saveVolumes(storage, code, volumes) {
167
+ try {
168
+ storage.setItem(volumeStorageKey(code), JSON.stringify(volumes));
169
+ }
170
+ catch {
171
+ // Storage full/blocked: volumes just won't persist this session.
172
+ }
173
+ }
174
+ //# sourceMappingURL=layer-signals.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"layer-signals.js","sourceRoot":"","sources":["../../src/player/layer-signals.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,55 @@
1
+ import type { DistanceConfig, EffectState } from "./audio-layers.js";
2
+ /** Minimal shape the Player reads from an asset (inline in the command, or fetched by id). */
3
+ export interface AssetLike {
4
+ id?: string;
5
+ content_url?: string;
6
+ name?: string;
7
+ facts?: {
8
+ bpm?: number;
9
+ [k: string]: unknown;
10
+ };
11
+ }
12
+ /** The typed playback intent (docs/plans/streaming-assets.md, "Playback as a typed intent over
13
+ * rooms") — additive on `play`, routed by `play-intent.ts` before this bytes-only pipeline runs. */
14
+ export interface PlaybackIntent {
15
+ source: string;
16
+ ref: string;
17
+ mode?: "shuffle";
18
+ }
19
+ export interface PlayCommand {
20
+ name?: string;
21
+ asset_id?: string;
22
+ content_url?: string;
23
+ /** Tempo hint for the analyzer (fallback + prior). Wins over an asset-derived bpm. */
24
+ bpm?: number;
25
+ /** Full asset data inline — avoids the asset_id fetch. */
26
+ asset?: AssetLike;
27
+ delay_seconds?: number;
28
+ max_duration_seconds?: number;
29
+ spatial?: {
30
+ x: number;
31
+ y: number;
32
+ z: number;
33
+ distance?: DistanceConfig;
34
+ };
35
+ /** Per-sound effect inserts — carried through to the one-shot (flat-play parity with `tracks`). */
36
+ effects?: EffectState;
37
+ fade_in_ms?: number;
38
+ fade_out_ms?: number;
39
+ playback?: PlaybackIntent;
40
+ }
41
+ export interface ResolvedPlayback {
42
+ url: string;
43
+ bpm?: number;
44
+ label: string;
45
+ }
46
+ /** Public content-by-id path (deterministic — no metadata fetch needed to stream bytes). */
47
+ export declare function contentUrlFor(assetId: string): string;
48
+ /** True when the command can only be resolved by fetching asset metadata (asset_id, no url/inline). */
49
+ export declare function needsAssetFetch(cmd: PlayCommand): boolean;
50
+ /**
51
+ * Resolve a play command to a playable source. Pass the fetched asset (from `/v1/assets/{id}`) only
52
+ * for the `asset_id`-only case; otherwise `fetched` is ignored. Returns null if nothing is playable.
53
+ */
54
+ export declare function resolvePlayback(cmd: PlayCommand, fetched?: AssetLike | null): ResolvedPlayback | null;
55
+ //# sourceMappingURL=play-command.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"play-command.d.ts","sourceRoot":"","sources":["../../src/player/play-command.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAEpE,8FAA8F;AAC9F,MAAM,WAAW,SAAS;IACxB,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,KAAK,CAAC,EAAE;QAAE,GAAG,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,CAAA;CAC/C;AAED;oGACoG;AACpG,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,MAAM,CAAA;IACd,GAAG,EAAE,MAAM,CAAA;IACX,IAAI,CAAC,EAAE,SAAS,CAAA;CACjB;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,sFAAsF;IACtF,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,0DAA0D;IAC1D,KAAK,CAAC,EAAE,SAAS,CAAA;IACjB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,oBAAoB,CAAC,EAAE,MAAM,CAAA;IAC7B,OAAO,CAAC,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,cAAc,CAAA;KAAE,CAAA;IACxE,mGAAmG;IACnG,OAAO,CAAC,EAAE,WAAW,CAAA;IACrB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,EAAE,cAAc,CAAA;CAC1B;AAED,MAAM,WAAW,gBAAgB;IAC/B,GAAG,EAAE,MAAM,CAAA;IACX,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,CAAA;CACd;AAED,4FAA4F;AAC5F,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAErD;AAED,uGAAuG;AACvG,wBAAgB,eAAe,CAAC,GAAG,EAAE,WAAW,GAAG,OAAO,CAEzD;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAC7B,GAAG,EAAE,WAAW,EAChB,OAAO,CAAC,EAAE,SAAS,GAAG,IAAI,GACzB,gBAAgB,GAAG,IAAI,CAazB"}
@@ -0,0 +1,36 @@
1
+ // The `play` signal a host broadcasts to the Player. It supports three ways to name what to play,
2
+ // trading host convenience against a round trip in the Player:
3
+ // 1. `content_url` (+ optional `bpm`) — direct, no fetch. The host already resolved the URL.
4
+ // 2. `asset` (inline asset data) — no fetch. Carries content_url/name/facts.bpm inline.
5
+ // 3. `asset_id` alone — the Player fetches `/v1/assets/{id}` (public) for name+bpm;
6
+ // the content URL is derived from the id without a fetch.
7
+ // An explicit `bpm` always wins over an asset-derived one. `bpm` (when known) seeds the analyzer's
8
+ // tempo prior + serves as the visualizer's display fallback.
9
+ /** Public content-by-id path (deterministic — no metadata fetch needed to stream bytes). */
10
+ export function contentUrlFor(assetId) {
11
+ return `/v1/assets/${assetId}/content`;
12
+ }
13
+ /** True when the command can only be resolved by fetching asset metadata (asset_id, no url/inline). */
14
+ export function needsAssetFetch(cmd) {
15
+ return !cmd.content_url && !cmd.asset && Boolean(cmd.asset_id);
16
+ }
17
+ /**
18
+ * Resolve a play command to a playable source. Pass the fetched asset (from `/v1/assets/{id}`) only
19
+ * for the `asset_id`-only case; otherwise `fetched` is ignored. Returns null if nothing is playable.
20
+ */
21
+ export function resolvePlayback(cmd, fetched) {
22
+ if (cmd.content_url) {
23
+ return { url: cmd.content_url, bpm: cmd.bpm, label: cmd.name || cmd.asset_id || "sound" };
24
+ }
25
+ const asset = cmd.asset ?? fetched ?? undefined;
26
+ const id = cmd.asset?.id ?? cmd.asset_id;
27
+ const url = asset?.content_url ?? (id ? contentUrlFor(id) : undefined);
28
+ if (!url)
29
+ return null;
30
+ return {
31
+ url,
32
+ bpm: cmd.bpm ?? asset?.facts?.bpm,
33
+ label: asset?.name ?? cmd.name ?? id ?? "sound",
34
+ };
35
+ }
36
+ //# sourceMappingURL=play-command.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"play-command.js","sourceRoot":"","sources":["../../src/player/play-command.ts"],"names":[],"mappings":"AAAA,kGAAkG;AAClG,+DAA+D;AAC/D,+FAA+F;AAC/F,gGAAgG;AAChG,uGAAuG;AACvG,mGAAmG;AACnG,mGAAmG;AACnG,6DAA6D;AA4C7D,4FAA4F;AAC5F,MAAM,UAAU,aAAa,CAAC,OAAe;IAC3C,OAAO,cAAc,OAAO,UAAU,CAAA;AACxC,CAAC;AAED,uGAAuG;AACvG,MAAM,UAAU,eAAe,CAAC,GAAgB;IAC9C,OAAO,CAAC,GAAG,CAAC,WAAW,IAAI,CAAC,GAAG,CAAC,KAAK,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;AAChE,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,eAAe,CAC7B,GAAgB,EAChB,OAA0B;IAE1B,IAAI,GAAG,CAAC,WAAW,EAAE,CAAC;QACpB,OAAO,EAAE,GAAG,EAAE,GAAG,CAAC,WAAW,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,KAAK,EAAE,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,QAAQ,IAAI,OAAO,EAAE,CAAA;IAC3F,CAAC;IACD,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,IAAI,OAAO,IAAI,SAAS,CAAA;IAC/C,MAAM,EAAE,GAAG,GAAG,CAAC,KAAK,EAAE,EAAE,IAAI,GAAG,CAAC,QAAQ,CAAA;IACxC,MAAM,GAAG,GAAG,KAAK,EAAE,WAAW,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAA;IACtE,IAAI,CAAC,GAAG;QAAE,OAAO,IAAI,CAAA;IACrB,OAAO;QACL,GAAG;QACH,GAAG,EAAE,GAAG,CAAC,GAAG,IAAI,KAAK,EAAE,KAAK,EAAE,GAAG;QACjC,KAAK,EAAE,KAAK,EAAE,IAAI,IAAI,GAAG,CAAC,IAAI,IAAI,EAAE,IAAI,OAAO;KAChD,CAAA;AACH,CAAC"}
@@ -0,0 +1,18 @@
1
+ import type { PlayCommand } from "./play-command.js";
2
+ export type PlayIntentRoute = {
3
+ kind: "bytes";
4
+ cmd: PlayCommand;
5
+ } | {
6
+ kind: "spotify";
7
+ ref: string;
8
+ mode?: "shuffle";
9
+ } | {
10
+ kind: "link";
11
+ url: string;
12
+ } | {
13
+ kind: "none";
14
+ };
15
+ /** Whether `ref` is a fetchable URL rather than a bare id / URI (mirrors ha_bridge's `looks_like_url`). */
16
+ export declare function looksLikeUrl(ref: string): boolean;
17
+ export declare function routePlayIntent(cmd: PlayCommand): PlayIntentRoute;
18
+ //# sourceMappingURL=play-intent.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"play-intent.d.ts","sourceRoot":"","sources":["../../src/player/play-intent.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAQpD,MAAM,MAAM,eAAe,GAGvB;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,GAAG,EAAE,WAAW,CAAA;CAAE,GACnC;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,SAAS,CAAA;CAAE,GAElD;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,GAC7B;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,CAAA;AAEpB,2GAA2G;AAC3G,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAEjD;AAED,wBAAgB,eAAe,CAAC,GAAG,EAAE,WAAW,GAAG,eAAe,CAkBjE"}
@@ -0,0 +1,26 @@
1
+ /** Whether `ref` is a fetchable URL rather than a bare id / URI (mirrors ha_bridge's `looks_like_url`). */
2
+ export function looksLikeUrl(ref) {
3
+ return ref.startsWith("http://") || ref.startsWith("https://");
4
+ }
5
+ export function routePlayIntent(cmd) {
6
+ const playback = cmd.playback;
7
+ if (playback) {
8
+ const ref = playback.ref;
9
+ if (!ref)
10
+ return { kind: "none" };
11
+ if (playback.source === "bytes") {
12
+ const normalized = looksLikeUrl(ref)
13
+ ? { ...cmd, content_url: ref }
14
+ : { ...cmd, asset_id: ref };
15
+ return { kind: "bytes", cmd: normalized };
16
+ }
17
+ if (playback.source === "spotify") {
18
+ return { kind: "spotify", ref, mode: playback.mode };
19
+ }
20
+ return looksLikeUrl(ref) ? { kind: "link", url: ref } : { kind: "none" };
21
+ }
22
+ if (cmd.content_url || cmd.asset || cmd.asset_id)
23
+ return { kind: "bytes", cmd };
24
+ return { kind: "none" };
25
+ }
26
+ //# sourceMappingURL=play-intent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"play-intent.js","sourceRoot":"","sources":["../../src/player/play-intent.ts"],"names":[],"mappings":"AAiBA,2GAA2G;AAC3G,MAAM,UAAU,YAAY,CAAC,GAAW;IACtC,OAAO,GAAG,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,GAAG,CAAC,UAAU,CAAC,UAAU,CAAC,CAAA;AAChE,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,GAAgB;IAC9C,MAAM,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAA;IAC7B,IAAI,QAAQ,EAAE,CAAC;QACb,MAAM,GAAG,GAAG,QAAQ,CAAC,GAAG,CAAA;QACxB,IAAI,CAAC,GAAG;YAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAA;QACjC,IAAI,QAAQ,CAAC,MAAM,KAAK,OAAO,EAAE,CAAC;YAChC,MAAM,UAAU,GAAG,YAAY,CAAC,GAAG,CAAC;gBAClC,CAAC,CAAC,EAAE,GAAG,GAAG,EAAE,WAAW,EAAE,GAAG,EAAE;gBAC9B,CAAC,CAAC,EAAE,GAAG,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAA;YAC7B,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,UAAU,EAAE,CAAA;QAC3C,CAAC;QACD,IAAI,QAAQ,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YAClC,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAA;QACtD,CAAC;QACD,OAAO,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAA;IAC1E,CAAC;IACD,IAAI,GAAG,CAAC,WAAW,IAAI,GAAG,CAAC,KAAK,IAAI,GAAG,CAAC,QAAQ;QAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,CAAA;IAC/E,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAA;AACzB,CAAC"}