record_safer_pro_mcp 1.0.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 (78) hide show
  1. package/README.md +205 -0
  2. package/dist/api-client.d.ts +159 -0
  3. package/dist/api-client.d.ts.map +1 -0
  4. package/dist/api-client.js +991 -0
  5. package/dist/api-client.js.map +1 -0
  6. package/dist/index.d.ts +3 -0
  7. package/dist/index.d.ts.map +1 -0
  8. package/dist/index.js +4 -0
  9. package/dist/index.js.map +1 -0
  10. package/dist/prompts/index.d.ts +12 -0
  11. package/dist/prompts/index.d.ts.map +1 -0
  12. package/dist/prompts/index.js +235 -0
  13. package/dist/prompts/index.js.map +1 -0
  14. package/dist/resources/index.d.ts +7 -0
  15. package/dist/resources/index.d.ts.map +1 -0
  16. package/dist/resources/index.js +59 -0
  17. package/dist/resources/index.js.map +1 -0
  18. package/dist/resources/mixing-guide-content.d.ts +8 -0
  19. package/dist/resources/mixing-guide-content.d.ts.map +1 -0
  20. package/dist/resources/mixing-guide-content.js +194 -0
  21. package/dist/resources/mixing-guide-content.js.map +1 -0
  22. package/dist/runtime.d.ts +39 -0
  23. package/dist/runtime.d.ts.map +1 -0
  24. package/dist/runtime.js +320 -0
  25. package/dist/runtime.js.map +1 -0
  26. package/dist/telemetry-schema.d.ts +39 -0
  27. package/dist/telemetry-schema.d.ts.map +1 -0
  28. package/dist/telemetry-schema.js +15 -0
  29. package/dist/telemetry-schema.js.map +1 -0
  30. package/dist/tools/core.d.ts +4 -0
  31. package/dist/tools/core.d.ts.map +1 -0
  32. package/dist/tools/core.js +360 -0
  33. package/dist/tools/core.js.map +1 -0
  34. package/dist/tools/devices.d.ts +10 -0
  35. package/dist/tools/devices.d.ts.map +1 -0
  36. package/dist/tools/devices.js +53 -0
  37. package/dist/tools/devices.js.map +1 -0
  38. package/dist/tools/levels.d.ts +11 -0
  39. package/dist/tools/levels.d.ts.map +1 -0
  40. package/dist/tools/levels.js +25 -0
  41. package/dist/tools/levels.js.map +1 -0
  42. package/dist/tools/markers.d.ts +17 -0
  43. package/dist/tools/markers.d.ts.map +1 -0
  44. package/dist/tools/markers.js +142 -0
  45. package/dist/tools/markers.js.map +1 -0
  46. package/dist/tools/monitor.d.ts +19 -0
  47. package/dist/tools/monitor.d.ts.map +1 -0
  48. package/dist/tools/monitor.js +232 -0
  49. package/dist/tools/monitor.js.map +1 -0
  50. package/dist/tools/recording.d.ts +12 -0
  51. package/dist/tools/recording.d.ts.map +1 -0
  52. package/dist/tools/recording.js +85 -0
  53. package/dist/tools/recording.js.map +1 -0
  54. package/dist/tools/settings.d.ts +10 -0
  55. package/dist/tools/settings.d.ts.map +1 -0
  56. package/dist/tools/settings.js +43 -0
  57. package/dist/tools/settings.js.map +1 -0
  58. package/dist/tools/storage.d.ts +10 -0
  59. package/dist/tools/storage.d.ts.map +1 -0
  60. package/dist/tools/storage.js +20 -0
  61. package/dist/tools/storage.js.map +1 -0
  62. package/dist/tools/system.d.ts +10 -0
  63. package/dist/tools/system.d.ts.map +1 -0
  64. package/dist/tools/system.js +53 -0
  65. package/dist/tools/system.js.map +1 -0
  66. package/dist/tools/tool-metadata.d.ts +19 -0
  67. package/dist/tools/tool-metadata.d.ts.map +1 -0
  68. package/dist/tools/tool-metadata.js +25 -0
  69. package/dist/tools/tool-metadata.js.map +1 -0
  70. package/dist/types.d.ts +456 -0
  71. package/dist/types.d.ts.map +1 -0
  72. package/dist/types.js +4 -0
  73. package/dist/types.js.map +1 -0
  74. package/dist/utils.d.ts +80 -0
  75. package/dist/utils.d.ts.map +1 -0
  76. package/dist/utils.js +336 -0
  77. package/dist/utils.js.map +1 -0
  78. package/package.json +40 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api-client.js","sourceRoot":"","sources":["../src/api-client.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env node
2
+ export {};
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":""}
package/dist/index.js ADDED
@@ -0,0 +1,4 @@
1
+ #!/usr/bin/env node
2
+ import { startRuntime } from "./runtime.js";
3
+ await startRuntime();
4
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAE5C,MAAM,YAAY,EAAE,CAAC"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * MCP Prompts — 状态感知式提示模板
3
+ * MCP Prompts — State-aware prompt templates
4
+ *
5
+ * 设计原则:
6
+ * 1. DADAO Engine 安全架构:MCP 可以准备录音控制台,但不能隐式开始录音
7
+ * 2. MCP 在用户进入录音控制台后提供辅助操作
8
+ * 3. 先感知状态,再决定行动
9
+ */
10
+ import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
11
+ export declare function registerPrompts(server: McpServer): void;
12
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/prompts/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAoBpE,wBAAgB,eAAe,CAAC,MAAM,EAAE,SAAS,QA2PhD"}
@@ -0,0 +1,235 @@
1
+ /**
2
+ * MCP Prompts — 状态感知式提示模板
3
+ * MCP Prompts — State-aware prompt templates
4
+ *
5
+ * 设计原则:
6
+ * 1. DADAO Engine 安全架构:MCP 可以准备录音控制台,但不能隐式开始录音
7
+ * 2. MCP 在用户进入录音控制台后提供辅助操作
8
+ * 3. 先感知状态,再决定行动
9
+ */
10
+ import { z } from "zod";
11
+ const RECORDING_SETUP_DEFAULTS = `Default initialization values when the user does not specify them:
12
+ - sampleRate: use the selected device's default/current rate
13
+ - bitDepth: 24-bit
14
+ - outputPath: ~/Desktop`;
15
+ const RECORDING_SETUP_SEQUENCE = `Strict recording-setup order:
16
+ 1. Read the user's message and any attached document first. Documents may contain device name, channel list, track names, routing notes, or take sheet details.
17
+ 2. Resolve deviceName to deviceId with list_audio_devices if needed. Do not guess device IDs.
18
+ 3. Build one consolidated setup summary. If sample rate is missing, resolve it to the selected device's default/current rate. If bit depth or output path are missing, fill them with the defaults above.
19
+ 4. Ask for all missing or ambiguous items in one bundled message. Never ask one question at a time.
20
+ 5. Before calling start_record_mcp, show the final resolved summary and ask the user to reply once with corrections or press Enter / reply "确认" to approve it.
21
+ 6. Call start_record_mcp only after explicit confirmation, and only with userConfirmed=true.
22
+ 7. If the user provided desired channel or track names, apply them only after the app has entered the recording console. Never rename before initialization.
23
+ 8. Actual recording start is still a separate action after the console is ready.`;
24
+ const DADAO_SAFETY_NOTICE = `To prepare the recording console professionally, first resolve deviceId, audioFormat, and channels, resolve sample rate to the selected device's default/current rate, apply defaults of 24-bit / ~/Desktop when omitted, present one consolidated setup summary, then call start_record_mcp only after the user explicitly confirms it. Recording itself still requires a separate explicit start action after the console is ready.`;
25
+ export function registerPrompts(server) {
26
+ server.prompt("recording_setup_orchestrator", "Recording Setup Orchestrator — Professional console-preparation workflow", { request: z.string().describe("User request, imported note, or document summary") }, ({ request }) => ({
27
+ messages: [{
28
+ role: "user",
29
+ content: {
30
+ type: "text",
31
+ text: `You are the pre-recording setup orchestrator for Record Safer Pro. Request or imported note: ${request}
32
+
33
+ [Primary Goal]
34
+ Prepare the recording console in a professional, ordered way. Never skip confirmation. Never shuffle the setup order.
35
+
36
+ [Strict Workflow]
37
+ ${RECORDING_SETUP_SEQUENCE}
38
+
39
+ [Parameter Model For start_record_mcp]
40
+ - Required before execution: deviceId, audioFormat, channels, userConfirmed=true
41
+ - Default when omitted but user-approved: sampleRate=device default/current rate, bitDepth=24-bit, outputPath=~/Desktop
42
+ - Optional: sessionName, bufferSize
43
+
44
+ [Document Handling]
45
+ - If the user provides a document or pasted note, extract:
46
+ 1. preferred device name
47
+ 2. armed channels
48
+ 3. desired track/channel names
49
+ 4. sample rate / bit depth / format / output path if present
50
+ - If a document includes names but not deviceId, resolve the deviceId first with list_audio_devices.
51
+ - Do not rename channels before the console is ready. If names are present, carry them forward as a post-initialization rename plan.
52
+
53
+ [How To Ask]
54
+ - Ask for all missing or ambiguous inputs in one bundled message.
55
+ - Present the resolved setup summary in one block.
56
+ - Tell the user which defaults were applied.
57
+ - If a requested sample rate does not match the selected device's default/current rate, explain that MCP preparation cannot switch the hardware sample rate and ask for a corrected summary instead of calling the tool.
58
+ - End with one confirmation request such as: "If this looks right, press Enter or reply 确认; if not, send all corrections in one message."
59
+
60
+ [Execution Guard]
61
+ - Never call start_record_mcp until the user has explicitly approved the exact resolved summary.
62
+ - When calling start_record_mcp after approval, set userConfirmed=true.
63
+ - After start_record_mcp succeeds and the console is ready, apply rename_channel or other metadata updates in the order implied by the plan.
64
+ - Do not imply that manual record-start has already happened.`,
65
+ },
66
+ }],
67
+ }));
68
+ // recording_assistant — 状态感知式录音助手
69
+ server.prompt("recording_assistant", "Recording Assistant — Respond intelligently based on current state", { task: z.string().describe("User's recording-related request") }, ({ task }) => ({
70
+ messages: [{
71
+ role: "user",
72
+ content: {
73
+ type: "text",
74
+ text: `You are the recording assistant for Record Safer Pro. User request: ${task}
75
+
76
+ [DADAO Engine Safety Architecture — Hard Constraint]
77
+ MCP may prepare the recording console via start_record_mcp, but must not implicitly start recording.
78
+ If the user asks to initialize a session, follow the strict setup workflow below before calling start_record_mcp.
79
+ If the user asks to start recording without explicit confirmation, reply:
80
+ "${DADAO_SAFETY_NOTICE}"
81
+
82
+ [Strict Setup Workflow]
83
+ ${RECORDING_SETUP_SEQUENCE}
84
+ ${RECORDING_SETUP_DEFAULTS}
85
+
86
+ [Action Policy — Check State Before Acting]
87
+
88
+ Step 1: Choose the right query tool based on the request:
89
+ - Rename operations -> get_channels (channel ID, name, device label)
90
+ - Mix or safe-mode inspection -> get_mix (mix state and safe mode flag)
91
+ - Monitoring/troubleshooting -> get_health (CPU, disk, buffer health)
92
+ - Lightweight actions like marking or stop checks -> get_status (minimal state)
93
+ - Track list or marker list -> list_tracks / list_markers when session state allows
94
+
95
+ Step 2: Decide based on state:
96
+
97
+ If recording is active (recording: true):
98
+ - Execute the user request directly.
99
+ - Available actions: stop_recording, add_marker, list_tracks, list_markers, rename_channel.
100
+ - For rename_channel, call get_channels first and use the returned channel ID.
101
+
102
+ If the session is initialized but not recording (ready: true, recording: false):
103
+ - Renaming, device checks, track inspection, marker inspection, and status queries are allowed.
104
+ - Starting recording is still GUI-only and not permitted via MCP.
105
+
106
+ If not initialized (ready: false):
107
+ - Most MCP tools are unavailable.
108
+ - If the user already supplied parameters or attached a planning document, first extract or resolve them into one consolidated setup summary.
109
+ - If the device is identified only by name, call list_audio_devices and resolve deviceId before setup.
110
+ - If sample rate is missing, resolve it to the selected device's default/current rate. If bit depth / output path are missing, apply 24-bit / ~/Desktop as defaults, but disclose them to the user.
111
+ - Ask for all missing or ambiguous setup inputs in one bundled message.
112
+ - Call start_record_mcp only after the user explicitly confirms the final setup summary.
113
+ - Call stop_recording only after the user explicitly confirms the stop request, and pass userConfirmed=true.
114
+ - Only after the console is ready may you apply rename_channel or other channel metadata updates.
115
+
116
+ [Never Do These]
117
+ - Do not ask one question at a time for setup collection.
118
+ - Do not call start_record_mcp without an explicit confirmation turn from the user.
119
+ - Do not rename channels before the recording console is ready.
120
+ - Do not apply document-derived track names before the console is ready.
121
+ - Do not start recording implicitly as part of session preparation.
122
+ - Do not expose low-level device technical identifiers (UID/internal IDs) to users.
123
+ - Do not proactively call write/recording_control tools unless explicitly requested.`,
124
+ },
125
+ }],
126
+ }));
127
+ // troubleshoot — 故障诊断助手
128
+ server.prompt("troubleshoot", "Troubleshooting — Automated diagnostic workflow", { symptom: z.string().describe("Description of the issue") }, ({ symptom }) => ({
129
+ messages: [{
130
+ role: "user",
131
+ content: {
132
+ type: "text",
133
+ text: `You are a Record Safer Pro troubleshooting expert. The user reported: ${symptom}
134
+
135
+ [Precondition] If the session is not initialized, first remind the user:
136
+ "${DADAO_SAFETY_NOTICE}"
137
+
138
+ [Diagnostic Flow — Run Automatically, No Extra User Prompts]
139
+
140
+ Collect data by calling these tools in order (do not ask for step-by-step permission):
141
+ 1. get_status -> confirm whether the session is ready and whether recording is active
142
+ 2. get_health -> inspect CPU, disk-health summary, buffer health, device status, and alerts
143
+ 3. list_audio_devices -> verify device detection
144
+ 4. get_channels -> inspect channel naming and routing only if the session is ready
145
+ 5. get_mix -> inspect safe-mode state or current mix snapshot only if the session is ready
146
+
147
+ After collecting all available MCP data, provide one consolidated diagnosis and solution.
148
+ If the issue requires raw system info, detailed disk metrics, device signals, or buffer-size inspection, explain that the current slim MCP surface does not expose those diagnostics and the user must inspect them in the desktop app.`,
149
+ },
150
+ }],
151
+ }));
152
+ // generate_report — 录音报告生成
153
+ server.prompt("generate_report", "Recording Report — Auto-collect data and generate report", { format: z.enum(["brief", "detailed"]).optional().describe("Report format") }, ({ format }) => {
154
+ const reportFormat = format ?? "brief";
155
+ const isDetailed = reportFormat === "detailed";
156
+ return {
157
+ messages: [{
158
+ role: "user",
159
+ content: {
160
+ type: "text",
161
+ text: `Generate a ${isDetailed ? "detailed" : "brief"} recording report.
162
+
163
+ [Precondition] This requires an initialized session. If not initialized, remind the user:
164
+ "${DADAO_SAFETY_NOTICE}"
165
+
166
+ Auto-call these tools to gather data (no extra user confirmation needed):
167
+ 1. get_status -> recording-ready summary
168
+ 2. get_health -> recording state and system health
169
+ 3. get_channels -> channel metadata
170
+ 4. list_tracks -> track metadata
171
+ 5. list_markers -> marker metadata
172
+ ${isDetailed ? `6. get_mix -> safe-mode flag and current mix snapshot` : ""}
173
+
174
+ Organize the data into a structured report with:
175
+ - Recording summary (ready state, duration, CPU load, buffer health)
176
+ - Track list (name and channel mapping)
177
+ - Marker list (time and label)
178
+ ${isDetailed ? "- Mix snapshot and safe-mode status\n- Health alerts and device-alive status" : ""}`,
179
+ },
180
+ }],
181
+ };
182
+ });
183
+ // quick_action — 快捷操作助手
184
+ server.prompt("quick_action", "Quick Action — Fast commands during recording", { command: z.string().describe("Quick command (e.g. 'mark', 'stop', 'status')") }, ({ command }) => ({
185
+ messages: [{
186
+ role: "user",
187
+ content: {
188
+ type: "text",
189
+ text: `Quick action command: ${command}
190
+
191
+ Call get_status first to confirm current state.
192
+
193
+ If the session is not initialized, reply:
194
+ "${DADAO_SAFETY_NOTICE}"
195
+
196
+ If session is ready, execute by command:
197
+ - "mark" -> add_marker()
198
+ - "mark XXX" -> add_marker(label: "XXX")
199
+ - "stop" -> ask for confirmation first, then call stop_recording({ userConfirmed: true })
200
+ - "status" -> return concise recording status summary
201
+ - "tracks" -> list_tracks()
202
+ - "markers" -> list_markers()
203
+
204
+ Important: prepare-console and actual recording start are separate actions. Do not treat start_record_mcp as permission to start recording automatically.`,
205
+ },
206
+ }],
207
+ }));
208
+ // safe_recording — 安全录音操作助手(仅停止录音)
209
+ server.prompt("safe_recording", "Safe Recording — Confirmation workflow for recording operations", {
210
+ action: z.enum(["stop", "status"]).describe("Action type"),
211
+ }, ({ action }) => ({
212
+ messages: [{
213
+ role: "user",
214
+ content: {
215
+ type: "text",
216
+ text: `Safe recording action: ${action}
217
+
218
+ [DADAO Engine Safety Architecture]
219
+ MCP can prepare the recording console, but cannot start recording implicitly. If users request setup, reply:
220
+ "${DADAO_SAFETY_NOTICE}"
221
+
222
+ When action = "stop":
223
+ 1. Call get_status to verify recording is active.
224
+ 2. Inform the user of current duration and track info.
225
+ 3. Ask explicitly: "Do you want to stop recording? This action cannot be undone."
226
+ 4. Execute stop_recording only after explicit confirmation, and pass userConfirmed=true.
227
+
228
+ When action = "status":
229
+ 1. Call get_health for full health data.
230
+ 2. Present key information in a concise format.`,
231
+ },
232
+ }],
233
+ }));
234
+ }
235
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/prompts/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * MCP Resources — 只读数据源
3
+ * MCP Resources — Read-only data sources
4
+ */
5
+ import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
6
+ export declare function registerResources(server: McpServer): void;
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/resources/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAIpE,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,SAAS,QAuFlD"}
@@ -0,0 +1,59 @@
1
+ /**
2
+ * MCP Resources — 只读数据源
3
+ * MCP Resources — Read-only data sources
4
+ */
5
+ import { RecordSaferClient } from "../api-client.js";
6
+ import { MIXING_GUIDE_MD } from "./mixing-guide-content.js";
7
+ export function registerResources(server) {
8
+ const client = new RecordSaferClient();
9
+ // recordsafer://devices — 音频输入设备列表
10
+ server.resource("devices", "recordsafer://devices", { mimeType: "application/json", description: "Audio input devices" }, async () => ({
11
+ contents: [{
12
+ uri: "recordsafer://devices",
13
+ mimeType: "application/json",
14
+ text: JSON.stringify(await client.listDevices(), null, 2),
15
+ }],
16
+ }));
17
+ // recordsafer://status — 录音状态快照
18
+ server.resource("status", "recordsafer://status", { mimeType: "application/json", description: "Recording status snapshot" }, async () => ({
19
+ contents: [{
20
+ uri: "recordsafer://status",
21
+ mimeType: "application/json",
22
+ text: JSON.stringify(await client.getRecordingStatus(), null, 2),
23
+ }],
24
+ }));
25
+ // recordsafer://settings — 系统设置
26
+ server.resource("settings", "recordsafer://settings", { mimeType: "application/json", description: "System settings" }, async () => ({
27
+ contents: [{
28
+ uri: "recordsafer://settings",
29
+ mimeType: "application/json",
30
+ text: JSON.stringify(await client.getSettings(), null, 2),
31
+ }],
32
+ }));
33
+ // recordsafer://system/info — 系统与应用信息
34
+ server.resource("system-info", "recordsafer://system/info", { mimeType: "application/json", description: "System and application information" }, async () => ({
35
+ contents: [{
36
+ uri: "recordsafer://system/info",
37
+ mimeType: "application/json",
38
+ text: JSON.stringify(await client.getSystemInfo(), null, 2),
39
+ }],
40
+ }));
41
+ // recordsafer://system/disk — 磁盘空间信息
42
+ server.resource("system-disk", "recordsafer://system/disk", { mimeType: "application/json", description: "Disk space information" }, async () => ({
43
+ contents: [{
44
+ uri: "recordsafer://system/disk",
45
+ mimeType: "application/json",
46
+ text: JSON.stringify(await client.getDiskSpace(), null, 2),
47
+ }],
48
+ }));
49
+ // recordsafer://docs/mixing-guide — 混音控制指南(内联文档)
50
+ // 内容仅在 LLM 调用 read_resource 时才会加载到上下文,平时只暴露描述
51
+ server.resource("mixing-guide", "recordsafer://docs/mixing-guide", { mimeType: "text/markdown", description: "Mixing Guide — Volume/Pan/Solo/Mute conversion rules and style presets. Read only when mixing help is needed." }, async () => ({
52
+ contents: [{
53
+ uri: "recordsafer://docs/mixing-guide",
54
+ mimeType: "text/markdown",
55
+ text: MIXING_GUIDE_MD,
56
+ }],
57
+ }));
58
+ }
59
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/resources/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * 混音控制指南 — 内联 Markdown 内容
3
+ *
4
+ * 此文件将混音指南以 TypeScript 字符串常量形式嵌入,
5
+ * 避免在 npm 发布时暴露独立的 .md 文件。
6
+ */
7
+ export declare const MIXING_GUIDE_MD = "# Record Safer Pro Mixing Guide\n\n## Overview\n\nRecord Safer Pro lets you adjust monitor mix settings in real time while recording.\nThese controls affect **monitor output only** and do not change the raw recorded audio.\n\n---\n\n## 1. Volume\n\n- Range: `0.0` to `2.0` (linear scale)\n- Default: `1.0` (unity gain, 0 dB)\n- Common mappings:\n - \"max\" -> `2.0` (+6 dB)\n - \"normal\" -> `1.0` (0 dB)\n - \"half\" -> `0.5` (-6 dB)\n - \"very low\" -> `0.1` to `0.2`\n - \"mute\" -> `0.0`\n\ndB conversion shortcut:\n- `linear = 10^(dB / 20)`\n- `-6 dB` -> about `0.5`\n- `-12 dB` -> about `0.25`\n- `+3 dB` -> about `1.41`\n\n---\n\n## 2. Pan\n\n- Range: `-1.0` (hard left) to `1.0` (hard right)\n- Center: `0.0`\n\nNatural language mapping:\n- \"L 100\" or \"hard left\" -> `-1.0`\n- \"L 50\" -> `-0.5`\n- \"L 10\" -> `-0.1`\n- \"center\" or \"C\" -> `0.0`\n- \"R 10\" -> `0.1`\n- \"R 50\" -> `0.5`\n- \"R 100\" or \"hard right\" -> `1.0`\n\n---\n\n## 3. Solo\n\n- Purpose: hear only solo-enabled channels while others are muted.\n- API: `set_channel_solo(index, solo)`\n- Multiple channels can be soloed at the same time.\n\nExamples:\n- \"solo channel 1\" -> enable solo on index 0\n- \"solo 1 and 2\" -> enable solo on index 0 and 1\n- \"clear all solo\" -> disable solo on all currently soloed channels\n\n---\n\n## 4. Mute\n\n- Purpose: silence selected channels.\n- API: `set_channel_mute(index, mute)`\n\nExamples:\n- \"mute channel 3\" -> `set_channel_mute(index: 2, mute: true)`\n- \"mute 3, 4, 5\" -> call tool for each channel\n\n---\n\n## 5. Phase Invert\n\n- Purpose: invert signal polarity (180 degrees) on a channel.\n- Use cases:\n - Multi-mic phase cancellation correction\n - Top/bottom snare or kick in/out alignment\n- API: `set_channel_phase_invert(index, inverted)`\n\n---\n\n## 6. Stereo Pair Operations\n\n- Merge two mono channels into stereo pair:\n - API: `merge_channels_stereo(leftIndex, rightIndex)`\n - Applies pan `-1.0` to left and `1.0` to right\n- Split stereo pair back to mono:\n - API: `split_stereo_channel(leftIndex, rightIndex)`\n - Resets pan to `0.0` and disables M/S processing\n\n---\n\n## 7. Safe Mode Behavior\n\nDuring safe mode recording (`safeMode: true`), monitoring, mixing, and level metering are disabled.\nTo re-enable monitoring and metering, stop recording or switch to Studio Mode.\n\n---\n\n## 8. Channel Index Rules\n\n- MCP APIs use **0-based** indices.\n- User language is usually 1-based.\n- Convert with: user channel number - 1 = API index.\n\n---\n\n## 9. Batch Operation Strategy\n\nBatch actions are a strong MCP use case:\n- \"set all channel volumes to 0.8\" -> loop `set_channel_volume`\n- \"mute tracks 3 through 8\" -> loop `set_channel_mute` for indices 2..7\n- \"center all channels\" -> loop `set_channel_pan(index, 0.0)`\n\n---\n\n## 10. Channel Name Recognition\n\nMap common channel names to likely sources:\n- Kick, BD, Bass Drum -> kick drum\n- Snare, SNR -> snare\n- HH, Hi-Hat -> hi-hat\n- Tom, Floor Tom -> toms\n- OH L/R, Overhead -> overhead stereo pair\n- Room L/R, Amb -> room mics\n- Vox, Vocal, Lead Vox -> lead vocal\n- BGV, Harmony, Choir -> backing vocals\n- GTR, EG, AG -> guitars\n- Bass, DI Bass -> bass\n- Keys, Piano, Synth -> keys\n- Talkback -> utility/talkback channel\n- Click, Metronome -> utility click track\n\n---\n\n## 11. Style Preset References\n\nUse these as starting points; adjust for arrangement and user intent.\n\n### 11.1 Drum Kit (Drummer's Perspective)\n\n- Kick: center, volume `1.0`\n- Snare: center to slight right, volume `1.0`\n- Hi-Hat: right `0.3` to `0.5`\n- Toms: spread from right to left\n- Overheads: L `-0.6` to `-0.8`, R `0.6` to `0.8`\n- Room pair: medium wide\n\n### 11.2 Rock Band\n\n- Lead vocal: center, prominent\n- Bass + kick: center\n- Dual electric guitars: wide L/R\n- Keys: moderate side placement\n- Backing vocals: symmetric L/R\n\n### 11.3 Pop\n\n- Lead vocal: center and priority\n- Bass/kick/snare: center\n- Pads/keys: wider stereo field\n- Backing vocals: layered and symmetric\n\n### 11.4 Classical / Orchestra (Audience Perspective)\n\n- Violins: left side\n- Violas/Cellos/Basses: right side\n- Woodwinds: center-left/right\n- Brass: center-right\n- Percussion: center to right\n\n### 11.5 Jazz Ensemble\n\n- Upright bass: center\n- Piano: stereo spread\n- Drums: narrower field than rock\n- Solo instrument: center or slight offset\n\n---\n\n## 12. AI Decision Workflow\n\nWhen users ask for automatic mixing help:\n1. Call `get_channels` first.\n2. Infer instrument types from channel names.\n3. Detect style from user request and instrument set.\n4. Apply pan layout first, then volume, then stereo pairing.\n5. Mute utility channels (talkback/click) when appropriate.\n6. If changing many channels, summarize the plan before executing.\n";
8
+ //# sourceMappingURL=mixing-guide-content.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mixing-guide-content.d.ts","sourceRoot":"","sources":["../../src/resources/mixing-guide-content.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,eAAO,MAAM,eAAe,itJA0L3B,CAAC"}
@@ -0,0 +1,194 @@
1
+ /**
2
+ * 混音控制指南 — 内联 Markdown 内容
3
+ *
4
+ * 此文件将混音指南以 TypeScript 字符串常量形式嵌入,
5
+ * 避免在 npm 发布时暴露独立的 .md 文件。
6
+ */
7
+ export const MIXING_GUIDE_MD = `# Record Safer Pro Mixing Guide
8
+
9
+ ## Overview
10
+
11
+ Record Safer Pro lets you adjust monitor mix settings in real time while recording.
12
+ These controls affect **monitor output only** and do not change the raw recorded audio.
13
+
14
+ ---
15
+
16
+ ## 1. Volume
17
+
18
+ - Range: \`0.0\` to \`2.0\` (linear scale)
19
+ - Default: \`1.0\` (unity gain, 0 dB)
20
+ - Common mappings:
21
+ - "max" -> \`2.0\` (+6 dB)
22
+ - "normal" -> \`1.0\` (0 dB)
23
+ - "half" -> \`0.5\` (-6 dB)
24
+ - "very low" -> \`0.1\` to \`0.2\`
25
+ - "mute" -> \`0.0\`
26
+
27
+ dB conversion shortcut:
28
+ - \`linear = 10^(dB / 20)\`
29
+ - \`-6 dB\` -> about \`0.5\`
30
+ - \`-12 dB\` -> about \`0.25\`
31
+ - \`+3 dB\` -> about \`1.41\`
32
+
33
+ ---
34
+
35
+ ## 2. Pan
36
+
37
+ - Range: \`-1.0\` (hard left) to \`1.0\` (hard right)
38
+ - Center: \`0.0\`
39
+
40
+ Natural language mapping:
41
+ - "L 100" or "hard left" -> \`-1.0\`
42
+ - "L 50" -> \`-0.5\`
43
+ - "L 10" -> \`-0.1\`
44
+ - "center" or "C" -> \`0.0\`
45
+ - "R 10" -> \`0.1\`
46
+ - "R 50" -> \`0.5\`
47
+ - "R 100" or "hard right" -> \`1.0\`
48
+
49
+ ---
50
+
51
+ ## 3. Solo
52
+
53
+ - Purpose: hear only solo-enabled channels while others are muted.
54
+ - API: \`set_channel_solo(index, solo)\`
55
+ - Multiple channels can be soloed at the same time.
56
+
57
+ Examples:
58
+ - "solo channel 1" -> enable solo on index 0
59
+ - "solo 1 and 2" -> enable solo on index 0 and 1
60
+ - "clear all solo" -> disable solo on all currently soloed channels
61
+
62
+ ---
63
+
64
+ ## 4. Mute
65
+
66
+ - Purpose: silence selected channels.
67
+ - API: \`set_channel_mute(index, mute)\`
68
+
69
+ Examples:
70
+ - "mute channel 3" -> \`set_channel_mute(index: 2, mute: true)\`
71
+ - "mute 3, 4, 5" -> call tool for each channel
72
+
73
+ ---
74
+
75
+ ## 5. Phase Invert
76
+
77
+ - Purpose: invert signal polarity (180 degrees) on a channel.
78
+ - Use cases:
79
+ - Multi-mic phase cancellation correction
80
+ - Top/bottom snare or kick in/out alignment
81
+ - API: \`set_channel_phase_invert(index, inverted)\`
82
+
83
+ ---
84
+
85
+ ## 6. Stereo Pair Operations
86
+
87
+ - Merge two mono channels into stereo pair:
88
+ - API: \`merge_channels_stereo(leftIndex, rightIndex)\`
89
+ - Applies pan \`-1.0\` to left and \`1.0\` to right
90
+ - Split stereo pair back to mono:
91
+ - API: \`split_stereo_channel(leftIndex, rightIndex)\`
92
+ - Resets pan to \`0.0\` and disables M/S processing
93
+
94
+ ---
95
+
96
+ ## 7. Safe Mode Behavior
97
+
98
+ During safe mode recording (\`safeMode: true\`), monitoring, mixing, and level metering are disabled.
99
+ To re-enable monitoring and metering, stop recording or switch to Studio Mode.
100
+
101
+ ---
102
+
103
+ ## 8. Channel Index Rules
104
+
105
+ - MCP APIs use **0-based** indices.
106
+ - User language is usually 1-based.
107
+ - Convert with: user channel number - 1 = API index.
108
+
109
+ ---
110
+
111
+ ## 9. Batch Operation Strategy
112
+
113
+ Batch actions are a strong MCP use case:
114
+ - "set all channel volumes to 0.8" -> loop \`set_channel_volume\`
115
+ - "mute tracks 3 through 8" -> loop \`set_channel_mute\` for indices 2..7
116
+ - "center all channels" -> loop \`set_channel_pan(index, 0.0)\`
117
+
118
+ ---
119
+
120
+ ## 10. Channel Name Recognition
121
+
122
+ Map common channel names to likely sources:
123
+ - Kick, BD, Bass Drum -> kick drum
124
+ - Snare, SNR -> snare
125
+ - HH, Hi-Hat -> hi-hat
126
+ - Tom, Floor Tom -> toms
127
+ - OH L/R, Overhead -> overhead stereo pair
128
+ - Room L/R, Amb -> room mics
129
+ - Vox, Vocal, Lead Vox -> lead vocal
130
+ - BGV, Harmony, Choir -> backing vocals
131
+ - GTR, EG, AG -> guitars
132
+ - Bass, DI Bass -> bass
133
+ - Keys, Piano, Synth -> keys
134
+ - Talkback -> utility/talkback channel
135
+ - Click, Metronome -> utility click track
136
+
137
+ ---
138
+
139
+ ## 11. Style Preset References
140
+
141
+ Use these as starting points; adjust for arrangement and user intent.
142
+
143
+ ### 11.1 Drum Kit (Drummer's Perspective)
144
+
145
+ - Kick: center, volume \`1.0\`
146
+ - Snare: center to slight right, volume \`1.0\`
147
+ - Hi-Hat: right \`0.3\` to \`0.5\`
148
+ - Toms: spread from right to left
149
+ - Overheads: L \`-0.6\` to \`-0.8\`, R \`0.6\` to \`0.8\`
150
+ - Room pair: medium wide
151
+
152
+ ### 11.2 Rock Band
153
+
154
+ - Lead vocal: center, prominent
155
+ - Bass + kick: center
156
+ - Dual electric guitars: wide L/R
157
+ - Keys: moderate side placement
158
+ - Backing vocals: symmetric L/R
159
+
160
+ ### 11.3 Pop
161
+
162
+ - Lead vocal: center and priority
163
+ - Bass/kick/snare: center
164
+ - Pads/keys: wider stereo field
165
+ - Backing vocals: layered and symmetric
166
+
167
+ ### 11.4 Classical / Orchestra (Audience Perspective)
168
+
169
+ - Violins: left side
170
+ - Violas/Cellos/Basses: right side
171
+ - Woodwinds: center-left/right
172
+ - Brass: center-right
173
+ - Percussion: center to right
174
+
175
+ ### 11.5 Jazz Ensemble
176
+
177
+ - Upright bass: center
178
+ - Piano: stereo spread
179
+ - Drums: narrower field than rock
180
+ - Solo instrument: center or slight offset
181
+
182
+ ---
183
+
184
+ ## 12. AI Decision Workflow
185
+
186
+ When users ask for automatic mixing help:
187
+ 1. Call \`get_channels\` first.
188
+ 2. Infer instrument types from channel names.
189
+ 3. Detect style from user request and instrument set.
190
+ 4. Apply pan layout first, then volume, then stereo pairing.
191
+ 5. Mute utility channels (talkback/click) when appropriate.
192
+ 6. If changing many channels, summarize the plan before executing.
193
+ `;
194
+ //# sourceMappingURL=mixing-guide-content.js.map