roon-mcp 0.1.0 → 0.2.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/CHANGELOG.md +35 -0
- package/README.md +61 -11
- package/dist/PlaybackService.d.ts +16 -0
- package/dist/PlaybackService.js +59 -2
- package/dist/PlaybackService.js.map +1 -1
- package/dist/PlaybackService.test.js +63 -0
- package/dist/PlaybackService.test.js.map +1 -1
- package/dist/RoonClient.d.ts +21 -0
- package/dist/RoonClient.js +35 -0
- package/dist/RoonClient.js.map +1 -1
- package/dist/RoonMcpServer.d.ts +3 -1
- package/dist/RoonMcpServer.js +215 -39
- package/dist/RoonMcpServer.js.map +1 -1
- package/dist/SearchService.d.ts +12 -0
- package/dist/SearchService.js +63 -1
- package/dist/SearchService.js.map +1 -1
- package/dist/SearchService.test.js +79 -4
- package/dist/SearchService.test.js.map +1 -1
- package/dist/TransportService.d.ts +73 -0
- package/dist/TransportService.js +248 -0
- package/dist/TransportService.js.map +1 -0
- package/dist/TransportService.test.d.ts +1 -0
- package/dist/TransportService.test.js +331 -0
- package/dist/TransportService.test.js.map +1 -0
- package/dist/ZoneService.d.ts +1 -0
- package/dist/ZoneService.js +9 -0
- package/dist/ZoneService.js.map +1 -1
- package/dist/ZoneService.test.js +1 -0
- package/dist/ZoneService.test.js.map +1 -1
- package/dist/ZoneSubscription.d.ts +67 -0
- package/dist/ZoneSubscription.js +187 -0
- package/dist/ZoneSubscription.js.map +1 -0
- package/dist/ZoneSubscription.test.d.ts +1 -0
- package/dist/ZoneSubscription.test.js +185 -0
- package/dist/ZoneSubscription.test.js.map +1 -0
- package/dist/index.js +3 -1
- package/dist/index.js.map +1 -1
- package/dist/types.d.ts +39 -1
- package/dist/types.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SearchService.test.js","sourceRoot":"","sources":["../src/SearchService.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"SearchService.test.js","sourceRoot":"","sources":["../src/SearchService.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
import { RoonClient } from "./RoonClient.js";
|
|
2
|
+
import { type RoonCallLogger } from "./logger.js";
|
|
3
|
+
import { type NowPlayingInfo, type ZoneState } from "./types.js";
|
|
4
|
+
import { ZoneService } from "./ZoneService.js";
|
|
5
|
+
/** Result of a transport control call (pause/resume/next/previous/stop). */
|
|
6
|
+
export interface ControlResult {
|
|
7
|
+
ok: true;
|
|
8
|
+
zoneId: string;
|
|
9
|
+
action: string;
|
|
10
|
+
state: ZoneState;
|
|
11
|
+
}
|
|
12
|
+
/** Result of `setVolume`. */
|
|
13
|
+
export interface SetVolumeResult {
|
|
14
|
+
ok: true;
|
|
15
|
+
zoneId: string;
|
|
16
|
+
/** The requested percent (echoed for caller convenience). */
|
|
17
|
+
level: number;
|
|
18
|
+
/**
|
|
19
|
+
* Outputs whose volume was actually changed. Incremental outputs (IR
|
|
20
|
+
* blasters and the like) have no `min`/`max` and are listed here as
|
|
21
|
+
* skipped so the caller knows the level wasn't applied there.
|
|
22
|
+
*/
|
|
23
|
+
applied: string[];
|
|
24
|
+
skipped: string[];
|
|
25
|
+
}
|
|
26
|
+
/** Result of `mute`/`unmute`. */
|
|
27
|
+
export interface MuteResult {
|
|
28
|
+
ok: true;
|
|
29
|
+
zoneId: string;
|
|
30
|
+
muted: boolean;
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Transport controls: read now-playing state, run pause/resume/next/previous/
|
|
34
|
+
* stop, and set volume or mute state. All zone-targeting follows the same
|
|
35
|
+
* resolution rules as `PlaybackService` (explicit id → `ROON_DEFAULT_ZONE` →
|
|
36
|
+
* single/Office/playing heuristics → `ZONE_AMBIGUOUS`).
|
|
37
|
+
*/
|
|
38
|
+
export declare class TransportService {
|
|
39
|
+
private readonly roon;
|
|
40
|
+
private readonly zones;
|
|
41
|
+
private readonly logger;
|
|
42
|
+
constructor(roon: RoonClient, zones: ZoneService, logger?: RoonCallLogger);
|
|
43
|
+
/**
|
|
44
|
+
* Return a structured snapshot of a zone's current playback. The snapshot
|
|
45
|
+
* is always returned for a resolved zone; `title`/`artist`/`album` are
|
|
46
|
+
* `undefined` when nothing is playing. Throws on a missing zone id or
|
|
47
|
+
* ambiguous resolution, so callers can distinguish "no track" (snapshot
|
|
48
|
+
* with `title: undefined`) from "no such zone" (`ZONE_NOT_FOUND`).
|
|
49
|
+
*/
|
|
50
|
+
getNowPlaying(zoneId?: string): Promise<NowPlayingInfo | undefined>;
|
|
51
|
+
/** Run a transport verb against the resolved zone. */
|
|
52
|
+
control(zoneId: string | undefined, action: string): Promise<ControlResult>;
|
|
53
|
+
/**
|
|
54
|
+
* Set a zone's volume to a 0–100 percent level. Rescales to each output's
|
|
55
|
+
* native range and applies independently (grouped zones may mix dB and
|
|
56
|
+
* numeric scales). Outputs without a numeric range (incremental IR-style
|
|
57
|
+
* controls) are reported as `skipped` rather than guessed at.
|
|
58
|
+
*/
|
|
59
|
+
setVolume(zoneId: string | undefined, level: number): Promise<SetVolumeResult>;
|
|
60
|
+
/** Mute or unmute every output in the resolved zone. */
|
|
61
|
+
mute(zoneId: string | undefined, muted: boolean): Promise<MuteResult>;
|
|
62
|
+
private findRawZone;
|
|
63
|
+
private getZonesBody;
|
|
64
|
+
/**
|
|
65
|
+
* Read a zone snapshot, preferring the subscription cache (kept current by
|
|
66
|
+
* Roon's `Subscribed`/`Changed` events) and falling back to a one-shot
|
|
67
|
+
* `get_zones` RPC when the cache is empty (cold start, post-reconnect).
|
|
68
|
+
* The fallback is wrapped in the service's logger so a stderr line still
|
|
69
|
+
* records the read.
|
|
70
|
+
*/
|
|
71
|
+
private readZonesBody;
|
|
72
|
+
private fallbackGetZones;
|
|
73
|
+
}
|
|
@@ -0,0 +1,248 @@
|
|
|
1
|
+
import { silentLogger } from "./logger.js";
|
|
2
|
+
import { fingerprintFor } from "./ZoneSubscription.js";
|
|
3
|
+
import { RoonMcpError } from "./types.js";
|
|
4
|
+
/**
|
|
5
|
+
* Transport controls: read now-playing state, run pause/resume/next/previous/
|
|
6
|
+
* stop, and set volume or mute state. All zone-targeting follows the same
|
|
7
|
+
* resolution rules as `PlaybackService` (explicit id → `ROON_DEFAULT_ZONE` →
|
|
8
|
+
* single/Office/playing heuristics → `ZONE_AMBIGUOUS`).
|
|
9
|
+
*/
|
|
10
|
+
export class TransportService {
|
|
11
|
+
roon;
|
|
12
|
+
zones;
|
|
13
|
+
logger;
|
|
14
|
+
constructor(roon, zones, logger = silentLogger) {
|
|
15
|
+
this.roon = roon;
|
|
16
|
+
this.zones = zones;
|
|
17
|
+
this.logger = logger;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Return a structured snapshot of a zone's current playback. The snapshot
|
|
21
|
+
* is always returned for a resolved zone; `title`/`artist`/`album` are
|
|
22
|
+
* `undefined` when nothing is playing. Throws on a missing zone id or
|
|
23
|
+
* ambiguous resolution, so callers can distinguish "no track" (snapshot
|
|
24
|
+
* with `title: undefined`) from "no such zone" (`ZONE_NOT_FOUND`).
|
|
25
|
+
*/
|
|
26
|
+
async getNowPlaying(zoneId) {
|
|
27
|
+
const { targetId } = await this.zones.resolveTarget(zoneId);
|
|
28
|
+
const raw = await this.findRawZone(targetId);
|
|
29
|
+
if (!raw)
|
|
30
|
+
return undefined;
|
|
31
|
+
return mapNowPlaying(raw);
|
|
32
|
+
}
|
|
33
|
+
/** Run a transport verb against the resolved zone. */
|
|
34
|
+
async control(zoneId, action) {
|
|
35
|
+
if (!isTransportAction(action)) {
|
|
36
|
+
throw new RoonMcpError("BROWSE_FAILED", `Unknown action "${action}". Use one of: pause, resume, next, previous, stop.`);
|
|
37
|
+
}
|
|
38
|
+
const { targetId } = await this.zones.resolveTarget(zoneId);
|
|
39
|
+
const raw = await this.findRawZone(targetId);
|
|
40
|
+
if (!raw) {
|
|
41
|
+
throw new RoonMcpError("ZONE_NOT_FOUND", `Zone "${targetId}" disappeared.`);
|
|
42
|
+
}
|
|
43
|
+
const verb = mapControlVerb(action);
|
|
44
|
+
// Best-effort precheck: the Core reports is_<verb>_allowed on its zone
|
|
45
|
+
// state snapshot. `stop` has no corresponding flag and is always allowed.
|
|
46
|
+
// If the flag is explicitly false, refuse rather than rely on Roon to error.
|
|
47
|
+
if (verb !== "stop" && raw.state === "playing") {
|
|
48
|
+
const flag = allowedFlagFor(verb);
|
|
49
|
+
if (raw[flag] === false) {
|
|
50
|
+
throw new RoonMcpError("BROWSE_FAILED", `Action "${action}" is not available on this zone.`);
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
const transport = this.roon.getTransport();
|
|
54
|
+
const sub = this.roon.getActiveSubscription();
|
|
55
|
+
// Capture the pre-action fingerprint from the zone we just resolved, so
|
|
56
|
+
// we can wait for Roon to push a snapshot reflecting the new state.
|
|
57
|
+
// Reading `get_zones` immediately after the action would still return
|
|
58
|
+
// the pre-action state (issue #1).
|
|
59
|
+
const before = sub
|
|
60
|
+
? fingerprintFor({ zones: [raw] }, targetId)
|
|
61
|
+
: undefined;
|
|
62
|
+
await this.logger.call("control", { zoneId: targetId, control: verb }, () => new Promise((resolve, reject) => {
|
|
63
|
+
transport.control(targetId, verb, (error) => {
|
|
64
|
+
if (error) {
|
|
65
|
+
reject(new RoonMcpError("BROWSE_FAILED", `control(${verb}) failed: ${error}`));
|
|
66
|
+
return;
|
|
67
|
+
}
|
|
68
|
+
resolve();
|
|
69
|
+
});
|
|
70
|
+
}));
|
|
71
|
+
// Wait for the next subscription event that reflects the new state, so
|
|
72
|
+
// the returned `state` matches what the agent would read from
|
|
73
|
+
// `now_playing` right after. Times out fast on a slow Core.
|
|
74
|
+
const after = sub && before
|
|
75
|
+
? await sub.waitForZoneChange(targetId, before)
|
|
76
|
+
: await this.readZonesBody(transport, sub);
|
|
77
|
+
const zoneAfter = (after.zones ?? []).find((z) => z.zone_id === targetId ||
|
|
78
|
+
(z.outputs ?? []).some((o) => o.output_id === targetId));
|
|
79
|
+
const state = zoneAfter ? mapState(zoneAfter.state) : mapState(raw.state);
|
|
80
|
+
return { ok: true, zoneId: targetId, action, state };
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* Set a zone's volume to a 0–100 percent level. Rescales to each output's
|
|
84
|
+
* native range and applies independently (grouped zones may mix dB and
|
|
85
|
+
* numeric scales). Outputs without a numeric range (incremental IR-style
|
|
86
|
+
* controls) are reported as `skipped` rather than guessed at.
|
|
87
|
+
*/
|
|
88
|
+
async setVolume(zoneId, level) {
|
|
89
|
+
if (!Number.isFinite(level) || level < 0 || level > 100) {
|
|
90
|
+
throw new RoonMcpError("BROWSE_FAILED", `level must be between 0 and 100 (got ${level}).`);
|
|
91
|
+
}
|
|
92
|
+
const { targetId, zone } = await this.zones.resolveTarget(zoneId);
|
|
93
|
+
const raw = await this.findRawZone(targetId);
|
|
94
|
+
if (!raw) {
|
|
95
|
+
throw new RoonMcpError("ZONE_NOT_FOUND", `Zone "${targetId}" disappeared.`);
|
|
96
|
+
}
|
|
97
|
+
const transport = this.roon.getTransport();
|
|
98
|
+
const applied = [];
|
|
99
|
+
const skipped = [];
|
|
100
|
+
for (const output of raw.outputs ?? []) {
|
|
101
|
+
const v = output.volume;
|
|
102
|
+
if (!v || !hasNumericRange(v)) {
|
|
103
|
+
skipped.push(output.output_id);
|
|
104
|
+
continue;
|
|
105
|
+
}
|
|
106
|
+
const value = scaleToRange(level, v);
|
|
107
|
+
await this.logger.call("change_volume", { outputId: output.output_id, how: "absolute", value }, () => new Promise((resolve, reject) => {
|
|
108
|
+
transport.change_volume(output, "absolute", value, (error) => {
|
|
109
|
+
if (error) {
|
|
110
|
+
reject(new RoonMcpError("BROWSE_FAILED", `change_volume failed: ${error}`));
|
|
111
|
+
return;
|
|
112
|
+
}
|
|
113
|
+
resolve();
|
|
114
|
+
});
|
|
115
|
+
}), (result) => ({ value }));
|
|
116
|
+
applied.push(output.output_id);
|
|
117
|
+
}
|
|
118
|
+
if (applied.length === 0 && skipped.length > 0) {
|
|
119
|
+
throw new RoonMcpError("BROWSE_FAILED", "Zone has no numeric-range volume outputs (only incremental controls like IR blasters).");
|
|
120
|
+
}
|
|
121
|
+
return { ok: true, zoneId: targetId, level, applied, skipped };
|
|
122
|
+
}
|
|
123
|
+
/** Mute or unmute every output in the resolved zone. */
|
|
124
|
+
async mute(zoneId, muted) {
|
|
125
|
+
const { targetId } = await this.zones.resolveTarget(zoneId);
|
|
126
|
+
const raw = await this.findRawZone(targetId);
|
|
127
|
+
if (!raw) {
|
|
128
|
+
throw new RoonMcpError("ZONE_NOT_FOUND", `Zone "${targetId}" disappeared.`);
|
|
129
|
+
}
|
|
130
|
+
const transport = this.roon.getTransport();
|
|
131
|
+
const how = muted ? "mute" : "unmute";
|
|
132
|
+
for (const output of raw.outputs ?? []) {
|
|
133
|
+
await this.logger.call("mute", { outputId: output.output_id, how }, () => new Promise((resolve, reject) => {
|
|
134
|
+
transport.mute(output, how, (error) => {
|
|
135
|
+
if (error) {
|
|
136
|
+
reject(new RoonMcpError("BROWSE_FAILED", `${how} failed: ${error}`));
|
|
137
|
+
return;
|
|
138
|
+
}
|
|
139
|
+
resolve();
|
|
140
|
+
});
|
|
141
|
+
}));
|
|
142
|
+
}
|
|
143
|
+
return { ok: true, zoneId: targetId, muted };
|
|
144
|
+
}
|
|
145
|
+
async findRawZone(idOrOutput) {
|
|
146
|
+
const body = await this.getZonesBody();
|
|
147
|
+
return (body.zones ?? []).find((z) => z.zone_id === idOrOutput ||
|
|
148
|
+
(z.outputs ?? []).some((o) => o.output_id === idOrOutput));
|
|
149
|
+
}
|
|
150
|
+
async getZonesBody() {
|
|
151
|
+
await this.roon.waitForCore();
|
|
152
|
+
const transport = this.roon.getTransport();
|
|
153
|
+
const sub = this.roon.getActiveSubscription();
|
|
154
|
+
return this.readZonesBody(transport, sub);
|
|
155
|
+
}
|
|
156
|
+
/**
|
|
157
|
+
* Read a zone snapshot, preferring the subscription cache (kept current by
|
|
158
|
+
* Roon's `Subscribed`/`Changed` events) and falling back to a one-shot
|
|
159
|
+
* `get_zones` RPC when the cache is empty (cold start, post-reconnect).
|
|
160
|
+
* The fallback is wrapped in the service's logger so a stderr line still
|
|
161
|
+
* records the read.
|
|
162
|
+
*/
|
|
163
|
+
async readZonesBody(transport, sub) {
|
|
164
|
+
if (sub) {
|
|
165
|
+
return sub.getSnapshot(() => this.fallbackGetZones(transport));
|
|
166
|
+
}
|
|
167
|
+
return this.fallbackGetZones(transport);
|
|
168
|
+
}
|
|
169
|
+
fallbackGetZones(transport) {
|
|
170
|
+
return this.logger.call("get_zones", {}, () => new Promise((resolve, reject) => {
|
|
171
|
+
transport.get_zones((error, result) => {
|
|
172
|
+
if (error) {
|
|
173
|
+
reject(new RoonMcpError("BROWSE_FAILED", `get_zones failed: ${error}`));
|
|
174
|
+
return;
|
|
175
|
+
}
|
|
176
|
+
resolve(result);
|
|
177
|
+
});
|
|
178
|
+
}), (body) => ({ zones: body.zones?.length ?? 0 }));
|
|
179
|
+
}
|
|
180
|
+
}
|
|
181
|
+
function isTransportAction(s) {
|
|
182
|
+
return s === "pause" || s === "resume" || s === "next" || s === "previous" || s === "stop";
|
|
183
|
+
}
|
|
184
|
+
function mapControlVerb(action) {
|
|
185
|
+
// `resume` reads naturally to a user; Roon's API uses `play` for the same effect.
|
|
186
|
+
return action === "resume" ? "play" : action;
|
|
187
|
+
}
|
|
188
|
+
/** Map a non-`stop` Roon control verb to its `is_*_allowed` zone-state flag. */
|
|
189
|
+
function allowedFlagFor(verb) {
|
|
190
|
+
switch (verb) {
|
|
191
|
+
case "pause":
|
|
192
|
+
return "is_pause_allowed";
|
|
193
|
+
case "play":
|
|
194
|
+
return "is_play_allowed";
|
|
195
|
+
case "next":
|
|
196
|
+
return "is_next_allowed";
|
|
197
|
+
case "previous":
|
|
198
|
+
return "is_previous_allowed";
|
|
199
|
+
}
|
|
200
|
+
}
|
|
201
|
+
/**
|
|
202
|
+
* Roon volume outputs report a native `min`/`max`/`step` in their own units.
|
|
203
|
+
* Returns false for "incremental" outputs (IR blasters) which expose only
|
|
204
|
+
* +/− buttons with no numeric state, and false for any output missing min/max.
|
|
205
|
+
*/
|
|
206
|
+
function hasNumericRange(v) {
|
|
207
|
+
return typeof v.min === "number" && typeof v.max === "number" && v.max > v.min;
|
|
208
|
+
}
|
|
209
|
+
function scaleToRange(percent, v) {
|
|
210
|
+
const span = v.max - v.min;
|
|
211
|
+
const raw = v.min + (span * percent) / 100;
|
|
212
|
+
if (typeof v.step === "number" && v.step > 0) {
|
|
213
|
+
return Math.round(raw / v.step) * v.step;
|
|
214
|
+
}
|
|
215
|
+
return raw;
|
|
216
|
+
}
|
|
217
|
+
function mapState(state) {
|
|
218
|
+
switch (state) {
|
|
219
|
+
case "playing":
|
|
220
|
+
case "paused":
|
|
221
|
+
case "loading":
|
|
222
|
+
case "stopped":
|
|
223
|
+
return state;
|
|
224
|
+
default:
|
|
225
|
+
return "unknown";
|
|
226
|
+
}
|
|
227
|
+
}
|
|
228
|
+
/** Map a Roon zone (with `now_playing`) to the public `NowPlayingInfo` shape. */
|
|
229
|
+
function mapNowPlaying(raw) {
|
|
230
|
+
const np = raw.now_playing;
|
|
231
|
+
// Prefer three-line (artist + album), fall back to two-line (artist only),
|
|
232
|
+
// then one-line. Mirrors how ZoneService.nowPlayingFor picks a label.
|
|
233
|
+
const three = np?.three_line;
|
|
234
|
+
const two = np?.two_line;
|
|
235
|
+
const one = np?.one_line;
|
|
236
|
+
return {
|
|
237
|
+
zoneId: raw.zone_id,
|
|
238
|
+
displayName: raw.display_name,
|
|
239
|
+
state: mapState(raw.state),
|
|
240
|
+
title: three?.line1 ?? two?.line1 ?? one?.line1,
|
|
241
|
+
artist: three?.line2 ?? two?.line2,
|
|
242
|
+
album: three?.line3,
|
|
243
|
+
imageKey: np?.image_key,
|
|
244
|
+
lengthSec: np?.length,
|
|
245
|
+
seekPositionSec: np?.seek_position,
|
|
246
|
+
};
|
|
247
|
+
}
|
|
248
|
+
//# sourceMappingURL=TransportService.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TransportService.js","sourceRoot":"","sources":["../src/TransportService.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|