@map-audio/pam-mcp-server 1.27.0 → 1.28.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 (59) hide show
  1. package/README.md +31 -10
  2. package/dist/bridge.d.ts +5 -1
  3. package/dist/bridge.js +41 -40
  4. package/dist/bridge.js.map +1 -1
  5. package/dist/daemon.d.ts +32 -0
  6. package/dist/daemon.js +871 -0
  7. package/dist/daemon.js.map +7 -0
  8. package/dist/drumSynth.d.ts +12 -0
  9. package/dist/drumSynth.js +14 -2
  10. package/dist/drumSynth.js.map +1 -1
  11. package/dist/drumSynthEngines.json +9 -1
  12. package/dist/{fgemma-format.d.ts → functiongemma-format.d.ts} +25 -7
  13. package/dist/{fgemma-format.js → functiongemma-format.js} +34 -11
  14. package/dist/functiongemma-format.js.map +1 -0
  15. package/dist/functiongemma-grammar.d.ts +14 -0
  16. package/dist/functiongemma-grammar.js +140 -0
  17. package/dist/functiongemma-grammar.js.map +1 -0
  18. package/dist/functiongemma-params.d.ts +33 -0
  19. package/dist/functiongemma-params.js +128 -0
  20. package/dist/functiongemma-params.js.map +1 -0
  21. package/dist/{fgemma-runner.d.ts → functiongemma-runner.d.ts} +8 -5
  22. package/dist/{fgemma-runner.js → functiongemma-runner.js} +87 -21
  23. package/dist/functiongemma-runner.js.map +1 -0
  24. package/dist/generativePlayerPresets.json +9 -0
  25. package/dist/generativePlayers.json +14 -0
  26. package/dist/launcher.d.ts +2 -0
  27. package/dist/launcher.js +36 -0
  28. package/dist/launcher.js.map +1 -0
  29. package/dist/manifest-mfx.json +12920 -277
  30. package/dist/manifest-msq.json +1989 -107
  31. package/dist/manifest.d.ts +2 -0
  32. package/dist/manifest.js +7 -27
  33. package/dist/manifest.js.map +1 -1
  34. package/dist/manifest.json +24194 -345
  35. package/dist/mfxCombos.d.ts +2 -0
  36. package/dist/mfxCombos.js +179 -56
  37. package/dist/mfxCombos.js.map +1 -1
  38. package/dist/midiFile.d.ts +19 -5
  39. package/dist/midiFile.js +21 -13
  40. package/dist/midiFile.js.map +1 -1
  41. package/dist/mixAssist.js +3 -2
  42. package/dist/mixAssist.js.map +1 -1
  43. package/dist/players.d.ts +22 -0
  44. package/dist/players.js +70 -0
  45. package/dist/players.js.map +1 -1
  46. package/dist/productProfile.d.ts +4 -4
  47. package/dist/productProfile.js +10 -1
  48. package/dist/productProfile.js.map +1 -1
  49. package/dist/qwen-format.d.ts +85 -0
  50. package/dist/qwen-format.js +355 -0
  51. package/dist/qwen-format.js.map +1 -0
  52. package/dist/registration.mjs +41 -0
  53. package/dist/server.js +1309 -187
  54. package/dist/server.js.map +1 -1
  55. package/dist/variationSessionKeys.json +6 -4
  56. package/package.json +13 -7
  57. package/dist/fgemma-format.js.map +0 -1
  58. package/dist/fgemma-runner.js.map +0 -1
  59. package/dist/manifest-cell1.json +0 -12968
package/README.md CHANGED
@@ -4,11 +4,15 @@ MCP server for the [PAM](https://map.audio) audio plugin. Lets AI agents (Claude
4
4
 
5
5
  ## Requirements
6
6
 
7
- - macOS or Windows with **Node.js 21+** (`node --version`)
7
+ - macOS or Windows with **Node.js 22+** (`node --version`)
8
8
  - **PAM** installed and running (standalone or in a DAW)
9
- - **MCP Bridge enabled** inside PAM: `Settings → Experimental → Beta Features → Enable MCP Bridge` (default port `9847`)
9
+ - **MCP Bridge enabled** inside PAM: `Settings → Integrations → MCP Bridge` (default port `9847`)
10
10
 
11
- When PAM starts with the bridge enabled it writes `~/.pam-mcp-bridge.json` — the server discovers PAM through that file, so nothing else needs configuring.
11
+ When PAM starts with the bridge enabled it writes an owner-only registration under its data folder (`bridge/instances`). Each registration carries that instance's port and a private authentication token. The server discovers these records automatically. Server versions before 1.28.0 send no token and receive `auth_required` with an update hint; update the npm package to use authenticated bridge builds.
12
+
13
+ PAM's command-line tools add `pam mcp`, the daemon, and a bundled plugin server with Node. The command-line installer release is still pending. Once released, the command-line tools appear in PAM’s macOS installer under Customize as “Command-Line & AI Agent Tools” (Apple Silicon Macs). With them installed, use `"command": "pam", "args": ["mcp"]` in the client configuration; no npm install is required. Each client session has its own plugin selection. The initial tool list contains the core tools; use `search`, `describe`, and `run` for the full plugin catalogue. The repository `.mcp.json` and the bundled npm server keep the full development surface.
14
+
15
+ In an installed daemon session, model downloads and removals use daemon jobs: `download_model` returns the job at once and `get_model_status` reports its progress. Plugin load and unload continue to control the running PAM instance. Sample generation uses the daemon and pins its destination instance and cell before submitting the job. PAM itself keeps in-process model hosting and never requires or starts the daemon. PAM instances and daemon workers may each load Stable Audio 3 while a residency policy is decided. Shared model-file leases still protect loaded weights from replacement or deletion.
12
16
 
13
17
  ## Install
14
18
 
@@ -18,7 +22,22 @@ Install the bridge globally once, then register the bin name `pam-mcp` with your
18
22
  npm install -g @map-audio/pam-mcp-server
19
23
  ```
20
24
 
21
- This installs a `pam-mcp` executable on your `PATH`. Verify with:
25
+ `pam-mcp` starts the installed `pam mcp` when PAM's command-line tools are present (`/Library/Application Support/MAP Audio/PAM/bin/pam` on macOS, otherwise `pam` on `PATH`). Without them, including on Windows and Intel Macs, it runs the server bundled in this package. Set `PAM_CLI_EXECUTABLE` to an absolute CLI path to pick the CLI explicitly. To always run the bundled server, start `dist/server.js` with Node; it is also the MFX/MSQ implementation entry:
26
+
27
+ ```json
28
+ {
29
+ "mcpServers": {
30
+ "pam": {
31
+ "command": "node",
32
+ "args": ["<npm root -g>/@map-audio/pam-mcp-server/dist/server.js"]
33
+ }
34
+ }
35
+ }
36
+ ```
37
+
38
+ Replace `<npm root -g>` with the folder that command prints.
39
+
40
+ The npm install supplies a `pam-mcp` executable on your `PATH`. Verify with:
22
41
 
23
42
  ```bash
24
43
  which pam-mcp
@@ -70,7 +89,7 @@ Use the same `mcpServers` block in the client's MCP config. Any stdio-compatible
70
89
 
71
90
  ## Troubleshooting
72
91
 
73
- - **"Not connected to PAM plugin"** — PAM isn't running, or MCP Bridge is off. Open Settings → Experimental, turn on Beta Features, then Enable MCP Bridge. The bridge starts immediately.
92
+ - **"Not connected to PAM plugin"** — PAM isn't running, or MCP Bridge is off. Open Settings → Integrations and turn on MCP Bridge. The bridge starts immediately and the tab shows the port it bound.
74
93
  - **"Failed to connect" / `pam-mcp: command not found`** — the MCP client's shell PATH doesn't include the npm global bin. Run `which pam-mcp` in a terminal and use the absolute path it prints (e.g. `/Users/you/.nvm/versions/node/v22/bin/pam-mcp`) as the `command` value in your config. macOS GUI apps don't inherit shell PATH from `~/.zshrc`/`~/.bashrc`, so absolute paths are the safest fallback.
75
94
  - **`npx: command not found`** (if you're using the npx form) — same root cause: install Node from [nodejs.org](https://nodejs.org) (not via `nvm`/`asdf`), or give the absolute path: `"command": "/usr/local/bin/npx"` / `"/opt/homebrew/bin/npx"`.
76
95
  - **Offline tools fail** (`list_presets`, `get_parameter_info`) — the manifest bundled with the package is used automatically. To target a different PAM install, set `PAM_MANIFEST_PATH` in the server's `env` block.
@@ -81,27 +100,29 @@ The main entry points:
81
100
 
82
101
  - **Read first**: `design_context` (curated parameter cheat sheet, works offline) and `get_design_overview` (compact live snapshot). Prefer these over full `get_state` dumps or broad `get_parameter_info` sweeps.
83
102
  - **Sound design**: `set_parameters`, `update_pattern`, `add_modulation` / `add_param_seq` / `set_free_sequencer`, `update_effect_config`, `set_master_effects`, `set_drum_synth`, `randomize` / `randomize_samples` / `randomize_patterns`.
84
- - **Generative players** (PAM): `list_players` → `set_player` — arm EUCLID / KIT / TURING / WALK / MARKOV / RATCHET / PHASE / RIFF / MASK on a cell with curated presets, genre, seed, Mask/Keep and ensemble listening; `'off'` restores the drawn pattern. `keep_player` merges the cycle playing now, the previous one, or both into the drawn pattern, or freezes it; it needs the PAM window open.
103
+ - **Generative players** (PAM): `list_players` → `set_player` — arm EUCLID / KIT / TURING / WALK / MARKOV / RATCHET / PHASE / RIFF / MASK / PERC on a cell with curated presets, genre, seed, step grid (`grid`, the snap menu's 1/N of a beat), Mask/Keep and ensemble listening; `'off'` restores the drawn pattern. `keep_player` merges the cycle playing now, the previous one, or both into the drawn pattern, or freezes it; it needs the PAM window open.
85
104
  - **Samples**: `get_default_locations` → `list_samples` → `load_sample`, plus `set_slices` (equal / explicit / transient, with slice-to-sequence), `trim/reverse/gain/normalize_sample`, `analyze_sample_tempo`, `resample_sample_to_bpm`, `build_sample_chain`.
86
105
  - **Transport, MIDI & devices**: `start_transport` / `stop_transport` / `full_stop_transport`, `set_bpm`, `trigger_midi` (+ CC / program change), `midi_recording`; `get_audio_device_setup` / `set_audio_device` / `set_midi_io` (standalone).
87
106
  - **Presets, variations & songs**: `load_preset` / `save_preset` / `new_preset`, `save_variation` / `load_variation` / `queue_variation`, `song_mode`, `export_song` (full-track bounce), `export_audio` (incl. per-cell stems), `export_midi` (patterns as a Standard MIDI File).
88
107
  - **Looper**: full 8-track control — arm/record/capture, `load_audio_to_looper_track`, warp, looper variations, `live_resample`.
89
108
  - **Plugin host** (PAM builds with hosting): `scan_plugins` → `get_plugin_scan_status` → `list_plugins` → `load_plugin` → `list_loaded_plugins` → `set_plugin_param` / `set_plugin_bypass`.
109
+ - **Preset packs** (PAM): `list_packs` → `install_pack` (owned pack ids or `allOwned`; waits, or `detach` and poll `get_pack_install_status`) → `uninstall_pack`. Failures carry `{ok:false, code, error}`, for example `pack_license_required` for a pack the licence does not own. `import_preset` also installs a downloaded `.pampack`.
90
110
  - **AI models & generation** (experimental flags required): `download_model` / `load_model` / `get_model_status` / `list_models` (engines: aigen, magenta, notochord), `generate_sample`, `generate_kit`.
91
111
  - **Video (VX) & UI** — require PAM's window to be open: `get_video_state`, `add_video_layer`, `bind_video_param`, `video_command`, …, and `capture_ui` (deterministic UI screenshot).
112
+ - **DJ sets** (PAM, experimental DJ view, window open): `dj_set` loads a whole set, NOW first and then the queue with each boundary's transition, or reads it back with `op: 'get'`; failures carry `{ok:false, code, error}`.
92
113
  - **Session takes** (PAM, experimental): `session_take` start / stop / status — records the master WAV and the main window for `pam-render`.
93
114
  - **Offline (manifest-only)**: `get_parameter_info`, `design_context`, `list_presets`, `read_preset`, `get_manifest_summary`.
94
115
 
95
- - **MFX**: `set_mfx_routing` reads and replaces the cable patch (`input` / `sidechain` → `cellN` → `output`). MFX-only; it errors on PAM and CELL1.
116
+ - **MFX**: `set_mfx_routing` reads and replaces the cable patch (`input` / `sidechain` → `cellN` → `output`). MFX-only; it errors on PAM.
96
117
 
97
- All three product manifests (PAM / CELL1 / MFX) are bundled; this generic server auto-selects by the connected instance's product, so one development config entry can drive all three products. Preset listing follows that product too — each has its own tree under `MAP Audio`. For a customer-facing MFX-only namespace, use `@map-audio/mfx-mcp-server`; it pins MFX discovery and removes unrelated sampler workflows from tool discovery.
118
+ All three product manifests (PAM / MFX / MSQ) are bundled; this generic server auto-selects by the connected instance's product, so one development config entry can drive all three products. Preset listing follows that product too — each has its own tree under `MAP Audio`. For a customer-facing MFX-only namespace, use `@map-audio/mfx-mcp-server`; it pins MFX discovery and removes unrelated sampler workflows from tool discovery.
98
119
 
99
120
  ## Agent ergonomics
100
121
 
101
122
  - **Tool annotations.** Every tool carries MCP annotations. Tools with `readOnlyHint: true` never change plugin state, so clients can approve them freely. `destructiveHint: true` marks tools that discard user state (`delete_preset`, `reset_cell`, `load_preset` over unsaved edits). `openWorldHint` is `false` on every tool; the server only talks to the local plugin.
102
- - **Structured output.** The status tools (`connection_status`, `select_instance`, `get_transport`, `get_manifest_summary`, `get_model_status`, `get_plugin_scan_status`, `workbench_sidecar_status`) return `structuredContent` with a declared output schema, alongside the same JSON as text.
123
+ - **Structured output.** The status tools (`connection_status`, `select_instance`, `get_transport`, `get_manifest_summary`, `get_model_status`, `get_plugin_scan_status`, `workbench_sidecar_status`, `list_packs`, `get_pack_install_status`) and `install_pack` / `uninstall_pack` return `structuredContent` with a declared output schema, alongside the same JSON as text.
103
124
  - **Prompts.** Five guided workflows ship as MCP prompts: `build-a-beat`, `make-a-song`, `design-a-preset`, `mix-and-master`, `troubleshoot-bridge`. In Claude Code they appear as slash commands (e.g. `/pam:build-a-beat`).
104
- - **Multiple instances.** When several products run at once (say PAM and MFX), `select_instance` picks which one the live tools drive, matched by product name, instanceId, or port. Setting `PAM_BRIDGE_PRODUCT=MFX` in the server's `env` block pins the choice at launch. Offline parameter validation follows the selected product's manifest.
125
+ - **Multiple instances.** When several products run at once (say PAM and MFX), `select_instance` picks which one the live tools drive, matched by product name, instanceId, or port. With the bundled server, `PAM_BRIDGE_PRODUCT=MFX` in the `env` block pins the choice at launch; `pam mcp` sessions ignore host pins, so call `select_instance` there. Offline parameter validation follows the selected product's manifest.
105
126
  Reconnection stays on the selected instance; if it disappears, select another explicitly. Repeating the same selection preserves pending commands.
106
127
 
107
128
  ## Preset loading and queued operations
package/dist/bridge.d.ts CHANGED
@@ -6,7 +6,7 @@ export interface BridgeInfo {
6
6
  }
7
7
  /**
8
8
  * Instance selector for connect(). `instanceId` matches exactly, `product`
9
- * case-insensitively ("PAM" / "CELL1" / "MFX"), `port` directly. When a
9
+ * case-insensitively ("PAM" / "MFX" / "MSQ"), `port` directly. When a
10
10
  * selector is given and nothing matches, connect() fails rather than silently
11
11
  * driving a different instance. PAM_BRIDGE_PRODUCT env pins the default.
12
12
  */
@@ -16,6 +16,7 @@ export interface ConnectTarget {
16
16
  instanceId?: string;
17
17
  }
18
18
  export declare class PluginBridge {
19
+ private readonly registryDirectory;
19
20
  private socket;
20
21
  private buffer;
21
22
  private nextId;
@@ -25,6 +26,9 @@ export declare class PluginBridge {
25
26
  private selectedTarget;
26
27
  private connecting;
27
28
  private connectionGeneration;
29
+ private tokens;
30
+ private token;
31
+ constructor(registryDirectory?: string);
28
32
  discover(): Promise<BridgeInfo[]>;
29
33
  private static matchesTarget;
30
34
  connect(target?: ConnectTarget): Promise<boolean>;
package/dist/bridge.js CHANGED
@@ -1,12 +1,9 @@
1
- import { readFile } from "node:fs/promises";
2
- import { resolve } from "node:path";
3
1
  import { createConnection } from "node:net";
4
- import { homedir } from "node:os";
5
2
  import { mcpProductProfile } from "./productProfile.js";
6
- const DISCOVERY_FILE = resolve(homedir(), ".pam-mcp-bridge.json");
3
+ import { registrationDirectory, readBridgeRegistrations } from "./registration.mjs";
7
4
  const BRIDGE_PRODUCT = mcpProductProfile();
8
- // Plugin-host actions ship on builds with PAM_PLUGIN_HOST=1. Older builds or
9
- // non-host SKUs like Cell1 won't recognize them and will return
5
+ // Plugin-host actions ship on builds with PAM_PLUGIN_HOST=1. Older or non-host
6
+ // builds won't recognize them and will return
10
7
  // "unknown action 'X'". MFX can compile FX-side hosting, but these shared MCP
11
8
  // actions are still PAM-manager-shaped until product-aware FX-host tooling lands.
12
9
  // The bridge handler translates unknown actions into an actionable tool error.
@@ -36,6 +33,8 @@ const MODEL_ACTIONS = new Set([
36
33
  "modelDelete",
37
34
  "modelList",
38
35
  ]);
36
+ // Preset-pack actions arrived with the shared native pack library; older plugin builds lack them.
37
+ const PACK_ACTIONS = new Set(["listPacks", "installPack", "getPackInstallStatus", "uninstallPack"]);
39
38
  /**
40
39
  * net.createConnection() THROWS synchronously on a port outside [0, 65535] (or
41
40
  * a non-number). Inside connect()'s Promise executor that surfaces as a
@@ -47,6 +46,7 @@ function isUsablePort(port) {
47
46
  return typeof port === "number" && Number.isInteger(port) && port > 0 && port < 65536;
48
47
  }
49
48
  export class PluginBridge {
49
+ registryDirectory;
50
50
  socket = null;
51
51
  buffer = "";
52
52
  nextId = 1;
@@ -56,35 +56,17 @@ export class PluginBridge {
56
56
  selectedTarget;
57
57
  connecting = null;
58
58
  connectionGeneration = 0;
59
+ tokens = new Map();
60
+ token = "";
61
+ constructor(registryDirectory = registrationDirectory()) {
62
+ this.registryDirectory = registryDirectory;
63
+ }
59
64
  async discover() {
60
- try {
61
- const raw = await readFile(DISCOVERY_FILE, "utf-8");
62
- const data = JSON.parse(raw);
63
- const entries = Array.isArray(data) ? data : [data];
64
- // Filter stale entries whose pid is no longer alive so we don't spend
65
- // 2s on a TCP timeout per dead instance. process.kill(pid, 0) throws
66
- // ESRCH if the process doesn't exist, EPERM if it exists but we can't
67
- // signal it (still alive).
68
- return entries.filter((e) => {
69
- if (!e || typeof e.pid !== "number" || e.pid <= 0)
70
- return false;
71
- // A torn/garbled discovery write can carry a port that createConnection
72
- // rejects synchronously (ERR_SOCKET_BAD_PORT). Drop it here so it can
73
- // never reach connect().
74
- if (!isUsablePort(e.port))
75
- return false;
76
- try {
77
- process.kill(e.pid, 0);
78
- return true;
79
- }
80
- catch (err) {
81
- return err.code === "EPERM";
82
- }
83
- });
84
- }
85
- catch {
86
- return [];
87
- }
65
+ this.tokens.clear();
66
+ const records = await readBridgeRegistrations(this.registryDirectory);
67
+ for (const record of records)
68
+ this.tokens.set(record.instanceId, record.token);
69
+ return records.map(({ port, pid, instanceId, product }) => ({ port, pid, instanceId, product }));
88
70
  }
89
71
  static matchesTarget(instance, target) {
90
72
  if (target.instanceId !== undefined && instance.instanceId !== target.instanceId)
@@ -142,6 +124,9 @@ export class PluginBridge {
142
124
  // screen, so validate before handing it to createConnection.
143
125
  if (!isUsablePort(port))
144
126
  return false;
127
+ const token = instance && this.tokens.get(instance.instanceId);
128
+ if (!token)
129
+ return false;
145
130
  return new Promise((resolve) => {
146
131
  // connect() must never reject: the startup call site fires it
147
132
  // unawaited, and an unhandled rejection kills the stdio server.
@@ -163,7 +148,8 @@ export class PluginBridge {
163
148
  return;
164
149
  }
165
150
  this.connected = true;
166
- this.connectedInstance = instance;
151
+ this.token = token;
152
+ this.connectedInstance = instance && { port: instance.port, instanceId: instance.instanceId, product: instance.product, pid: instance.pid };
167
153
  this.selectedTarget = instance
168
154
  ? { instanceId: instance.instanceId, product: instance.product }
169
155
  : { port };
@@ -182,7 +168,10 @@ export class PluginBridge {
182
168
  if (this.socket !== socket)
183
169
  return;
184
170
  this.buffer += chunk;
185
- this.processBuffer();
171
+ // processBuffer leaves no newline behind, so a frame can only end in this chunk;
172
+ // splitting only then keeps a reply spread over many reads linear, not quadratic.
173
+ if (chunk.includes("\n"))
174
+ this.processBuffer();
186
175
  });
187
176
  socket.on("error", () => {
188
177
  if (this.socket === socket)
@@ -213,6 +202,7 @@ export class PluginBridge {
213
202
  this.socket = null;
214
203
  this.connected = false;
215
204
  this.connectedInstance = null;
205
+ this.token = "";
216
206
  this.buffer = "";
217
207
  for (const [, req] of this.pending)
218
208
  req.reject(new Error("Connection closed"));
@@ -252,6 +242,10 @@ export class PluginBridge {
252
242
  "modelDelete",
253
243
  // Workbench: loadTake is a loadSampleToCell (disk + graph rebuild).
254
244
  "workbenchLoadTake",
245
+ // Deletes a pack's presets, samples and media, then rescans the libraries.
246
+ "uninstallPack",
247
+ // Answered by the window once the set is loaded; the plugin gives up at 20 s.
248
+ "djSet",
255
249
  ]);
256
250
  // Answered when the sidecar render finishes; a pipeline rebuild + sequential
257
251
  // inpaints can run for minutes (the plugin bounds only event silence).
@@ -276,6 +270,9 @@ export class PluginBridge {
276
270
  buildSampleChain: 60_000,
277
271
  exportSliceForCell: 60_000,
278
272
  requestLooperWarp: 60_000,
273
+ // Both fetch the map.audio catalog first, under a 30 s HTTP connect timeout.
274
+ listPacks: 60_000,
275
+ installPack: 60_000,
279
276
  };
280
277
  static timeoutFor(action) {
281
278
  const explicit = PluginBridge.ACTION_TIMEOUTS_MS[action];
@@ -289,10 +286,10 @@ export class PluginBridge {
289
286
  }
290
287
  async send(action, ...args) {
291
288
  if (!this.connected || !this.socket) {
292
- throw new Error(`Not connected to ${BRIDGE_PRODUCT.name}. Start ${BRIDGE_PRODUCT.name} and ensure the MCP bridge is enabled.`);
289
+ throw new Error(`Not connected to ${BRIDGE_PRODUCT.name}. Start ${BRIDGE_PRODUCT.name} and ensure the MCP bridge is enabled. If it is already running, update ${BRIDGE_PRODUCT.name} to a build with authenticated MCP registrations.`);
293
290
  }
294
291
  const id = this.nextId++;
295
- const msg = { id, action, args };
292
+ const msg = { id, action, args, token: this.token };
296
293
  const timeoutMs = PluginBridge.timeoutFor(action);
297
294
  return new Promise((resolve, reject) => {
298
295
  const timer = setTimeout(() => {
@@ -318,7 +315,7 @@ export class PluginBridge {
318
315
  }
319
316
  return (`PAM build does not include the plugin host ('${action}' not recognized). ` +
320
317
  `Plugin-host tools require a build with PAM_PLUGIN_HOST=1. ` +
321
- `Cell1 does not host third-party plugins; MFX only exposes FX-side hosting and needs product-aware FX-host MCP support.`);
318
+ `MFX only exposes FX-side hosting and needs product-aware FX-host MCP support.`);
322
319
  }
323
320
  if (MODEL_ACTIONS.has(action)) {
324
321
  if (BRIDGE_PRODUCT.id === "mfx") {
@@ -328,6 +325,10 @@ export class PluginBridge {
328
325
  `Model-management tools require a PAM build with the AIGen/Magenta/Notochord managers; ` +
329
326
  `they are not available on standalone MFX builds.`);
330
327
  }
328
+ if (PACK_ACTIONS.has(action)) {
329
+ return (`This ${BRIDGE_PRODUCT.name} build predates the preset pack tools ('${action}' not recognized). ` +
330
+ `Update ${BRIDGE_PRODUCT.name} from map.audio/download; the MCP package alone cannot add them.`);
331
+ }
331
332
  return (`${BRIDGE_PRODUCT.name} build does not support '${action}'. ` +
332
333
  `Update ${BRIDGE_PRODUCT.name} to a plugin build with this bridge action. ` +
333
334
  `Updating the MCP package alone cannot add native plugin capabilities.`);
@@ -347,7 +348,7 @@ export class PluginBridge {
347
348
  if (pending) {
348
349
  this.pending.delete(resp.id);
349
350
  if (resp.error) {
350
- pending.reject(new Error(this.translateBridgeError(resp.error, pending.action)));
351
+ pending.reject(Object.assign(new Error(this.translateBridgeError(resp.error, pending.action)), { code: resp.code }));
351
352
  }
352
353
  else {
353
354
  pending.resolve(resp.result);
@@ -1 +1 @@
1
- {"version":3,"file":"bridge.js","sourceRoot":"","sources":["../src/bridge.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bridge.js","sourceRoot":"","sources":["../src/bridge.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,32 @@
1
+ type RecordValue = Record<string, unknown>;
2
+ export interface DaemonDownload {
3
+ model: string;
4
+ jobId: string;
5
+ daemonEpoch: string;
6
+ requestKey: string;
7
+ }
8
+ export declare class DaemonSession {
9
+ private readonly discovery;
10
+ private readonly dataRoot;
11
+ private readonly outputDirectory;
12
+ private client?;
13
+ private closing;
14
+ private readonly calls;
15
+ constructor(discovery: string, dataRoot: string, outputDirectory: string);
16
+ private connection;
17
+ private job;
18
+ private submit;
19
+ remove(modelId: string, signal?: AbortSignal): Promise<RecordValue>;
20
+ startDownload(modelId: string): Promise<DaemonDownload & RecordValue>;
21
+ downloadStatus({ model, jobId, daemonEpoch, requestKey }: DaemonDownload): Promise<RecordValue>;
22
+ generate(args: {
23
+ prompt: string;
24
+ category: string;
25
+ durationSeconds: number;
26
+ seed?: number;
27
+ }, signal?: AbortSignal): Promise<RecordValue>;
28
+ private publish;
29
+ private cancelRequest;
30
+ close(): Promise<void>;
31
+ }
32
+ export {};