record-safer-mcp-server 1.0.25 → 1.0.27

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 (46) hide show
  1. package/README.md +18 -15
  2. package/dist/api-client.d.ts +6 -1
  3. package/dist/api-client.d.ts.map +1 -1
  4. package/dist/api-client.js +157 -30
  5. package/dist/api-client.js.map +1 -1
  6. package/dist/index.js +16 -64
  7. package/dist/index.js.map +1 -1
  8. package/dist/prompts/index.d.ts +2 -7
  9. package/dist/prompts/index.d.ts.map +1 -1
  10. package/dist/prompts/index.js +122 -150
  11. package/dist/prompts/index.js.map +1 -1
  12. package/dist/resources/index.js +6 -6
  13. package/dist/resources/index.js.map +1 -1
  14. package/dist/resources/mixing-guide-content.d.ts +1 -1
  15. package/dist/resources/mixing-guide-content.d.ts.map +1 -1
  16. package/dist/resources/mixing-guide-content.js +142 -259
  17. package/dist/resources/mixing-guide-content.js.map +1 -1
  18. package/dist/tools/devices.js +22 -22
  19. package/dist/tools/devices.js.map +1 -1
  20. package/dist/tools/levels.js +6 -6
  21. package/dist/tools/levels.js.map +1 -1
  22. package/dist/tools/markers.d.ts +6 -10
  23. package/dist/tools/markers.d.ts.map +1 -1
  24. package/dist/tools/markers.js +150 -76
  25. package/dist/tools/markers.js.map +1 -1
  26. package/dist/tools/monitor.d.ts +4 -13
  27. package/dist/tools/monitor.d.ts.map +1 -1
  28. package/dist/tools/monitor.js +60 -115
  29. package/dist/tools/monitor.js.map +1 -1
  30. package/dist/tools/recording.d.ts +7 -6
  31. package/dist/tools/recording.d.ts.map +1 -1
  32. package/dist/tools/recording.js +519 -52
  33. package/dist/tools/recording.js.map +1 -1
  34. package/dist/tools/settings.js +12 -12
  35. package/dist/tools/settings.js.map +1 -1
  36. package/dist/tools/storage.js +6 -6
  37. package/dist/tools/storage.js.map +1 -1
  38. package/dist/tools/system.js +20 -20
  39. package/dist/tools/system.js.map +1 -1
  40. package/dist/types.d.ts +10 -0
  41. package/dist/types.d.ts.map +1 -1
  42. package/dist/utils.d.ts +3 -0
  43. package/dist/utils.d.ts.map +1 -1
  44. package/dist/utils.js +31 -11
  45. package/dist/utils.js.map +1 -1
  46. package/package.json +10 -6
package/README.md CHANGED
@@ -80,29 +80,32 @@ MCP Server 会自动发现后端连接地址,无需手动配置端口。每次
80
80
 
81
81
  ## 功能一览
82
82
 
83
- 安装后,AI 助手可以帮你完成以下操作:
83
+ 当前版本采用最小权限配置,AI 助手仅开放与通道批量编辑相关的能力:
84
84
 
85
85
  | 类别 | 能力 |
86
86
  |------|------|
87
- | 🎙️ 设备管理 | 列出音频输入/输出设备,查询设备信号与缓冲区信息 |
88
- | ⏺️ 录音控制 | 初始化录音会话、开始/停止录音、文件分割 |
89
- | 📊 电平监控 | 实时获取各通道电平数据(dBFS) |
90
- | 🎧 监听混音 | 启停监听、调节音量/声像/独奏/静音/相位反转/M-S 处理 |
91
- | 🏷️ 标记管理 | 添加、重命名、同步录音标记 |
92
- | 💾 存储管理 | 查看存储卷和外部驱动器、验证存储路径 |
93
- | ⚙️ 系统设置 | 读取和更新音频格式、输出路径等配置 |
94
- | 🖥️ 系统信息 | 获取系统状态、磁盘空间、检查软件更新 |
87
+ | 📊 状态查询 | 查询录音状态、通道列表、混音快照 |
88
+ | 🔍 参数查询 | 查询可用录音设备、设备支持的采样率/通道范围/初始化参数 |
89
+ | ⚙️ 会话准备 | 一键准备录音控制台(initialize_session,会话初始化) |
90
+ | ⏺️ 录音控制 | 立即开始/停止录音,定时开始录音,定时结束录音,取消定时(所有录音动作都要求用户明确确认) |
91
+ | 🎚️ 通道混音 | 批量设置音量、声像、独奏、静音、相位反转 |
92
+ | 🏷️ 通道编辑 | 批量重命名通道、批量设置通道颜色 |
93
+ | 🧭 工作流提示 | 内置 `session_setup_workflow` Prompt(引导式参数采集 / 通道单自动匹配) |
94
+
95
+ > 说明:其他接口(系统、存储、激活、更新、标记等)默认未开放,可按需求逐步增加。
95
96
 
96
97
  ## 使用示例
97
98
 
98
99
  配置完成后,你可以直接用自然语言让 AI 操作 Record Safer Pro:
99
100
 
100
- - "帮我列出当前所有音频输入设备"
101
- - "用 48kHz / 24bit 初始化一个录音会话"
102
- - "开始录音"
103
- - "在当前位置添加一个标记,命名为'第二段'"
104
- - "停止录音"
105
- - "查看磁盘剩余空间"
101
+ - "把 1 到 8 轨都改成更清晰的名字"
102
+ - "把鼓组相关轨道都改成红色"
103
+ - "把 1-4 轨音量调到 0.8,5-8 轨调到 0.6"
104
+ - "把 3 轨向左 20,4 轨向右 20"
105
+ - "给 6 轨开相位反转,7 轨 solo,8 轨 mute"
106
+ - "现在录音状态怎么样?"
107
+ - "现在开始录音(确认)"
108
+ - "15 分钟后开始录音,并在开始后 2 小时自动停止(确认)"
106
109
 
107
110
  ## 常见问题
108
111
 
@@ -2,7 +2,7 @@
2
2
  * Record Safer API Client — 统一 HTTP 客户端适配层
3
3
  * 封装与 Backend (record_safer_headless) 的所有 HTTP 通信
4
4
  */
5
- import type { DeviceInfo, BufferSizeInfo, SignalInfo, LevelData, SessionToolParams, SessionResult, RecordingOptions, RecordingStartResult, RecordingStopResult, RecordingStatus, OutputPathInfo, AudioFormatInfo, AudioFormatConfig, Settings, MonitorStatus, MixLevels, TrackInfo, MarkerInfo, MarkerResult, VolumeInfo, DriveInfo, ValidationResult, SystemInfo, DiskSpaceInfo, DiskHealthResult, UpdateInfo, UpdateBadge, DownloadProgress, ActivationResult, ActivationStatus, ActivationData, RestoreResult, SplitParams, SplitResult, SplitProgress, TelemetryData, UIState, McpChannelsResponse, McpMixResponse, McpHealthResponse, McpStatusResponse } from "./types.js";
5
+ import type { DeviceInfo, BufferSizeInfo, SignalInfo, LevelData, SessionToolParams, SessionResult, RecordingOptions, RecordingStartResult, RecordingStopResult, RecordingStatus, RecordingScheduleState, OutputPathInfo, AudioFormatInfo, AudioFormatConfig, Settings, MonitorStatus, MixLevels, TrackInfo, MarkerInfo, MarkerResult, VolumeInfo, DriveInfo, ValidationResult, SystemInfo, DiskSpaceInfo, DiskHealthResult, UpdateInfo, UpdateBadge, DownloadProgress, ActivationResult, ActivationStatus, ActivationData, RestoreResult, SplitParams, SplitResult, SplitProgress, TelemetryData, UIState, McpChannelsResponse, McpMixResponse, McpHealthResponse, McpStatusResponse } from "./types.js";
6
6
  /** API Client 配置 */
7
7
  export interface ApiClientConfig {
8
8
  baseUrl: string;
@@ -49,10 +49,14 @@ export declare function preflightCheck(): BackendPreflightResult;
49
49
  export declare class RecordSaferClient {
50
50
  private readonly explicitBaseUrl;
51
51
  private authToken;
52
+ private authTokenSource;
53
+ private remoteFileTokenWarningLogged;
52
54
  private appEnsured;
53
55
  private backendReady;
54
56
  constructor(config?: Partial<ApiClientConfig>);
55
57
  private getBaseUrl;
58
+ private shouldAttachAuthToken;
59
+ private buildAuthHeaders;
56
60
  /**
57
61
  * 快速预检:检查端口和 token 配置是否就绪
58
62
  * 不发起 HTTP 请求,仅检查本地文件
@@ -91,6 +95,7 @@ export declare class RecordSaferClient {
91
95
  startRecording(options?: RecordingOptions): Promise<RecordingStartResult>;
92
96
  stopRecording(): Promise<RecordingStopResult>;
93
97
  getRecordingStatus(): Promise<RecordingStatus>;
98
+ setRecordingScheduleState(state: RecordingScheduleState): Promise<RecordingScheduleState>;
94
99
  getOutputPath(): Promise<OutputPathInfo>;
95
100
  setOutputPath(outputPath: string): Promise<void>;
96
101
  getAudioFormat(): Promise<AudioFormatInfo>;
@@ -1 +1 @@
1
- {"version":3,"file":"api-client.d.ts","sourceRoot":"","sources":["../src/api-client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"api-client.d.ts","sourceRoot":"","sources":["../src/api-client.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAOH,OAAO,KAAK,EACV,UAAU,EACV,cAAc,EACd,UAAU,EACV,SAAS,EAET,iBAAiB,EACjB,aAAa,EACb,gBAAgB,EAChB,oBAAoB,EACpB,mBAAmB,EACnB,eAAe,EACf,sBAAsB,EACtB,cAAc,EACd,eAAe,EACf,iBAAiB,EACjB,QAAQ,EACR,aAAa,EACb,SAAS,EACT,SAAS,EACT,UAAU,EACV,YAAY,EACZ,UAAU,EACV,SAAS,EACT,gBAAgB,EAChB,UAAU,EACV,aAAa,EACb,gBAAgB,EAChB,UAAU,EACV,WAAW,EACX,gBAAgB,EAChB,gBAAgB,EAChB,gBAAgB,EAChB,cAAc,EACd,aAAa,EACb,WAAW,EACX,WAAW,EACX,aAAa,EACb,aAAa,EACb,OAAO,EACP,mBAAmB,EACnB,cAAc,EACd,iBAAiB,EACjB,iBAAiB,EAClB,MAAM,YAAY,CAAC;AAEpB,oBAAoB;AACpB,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,gCAAgC;AAChC,qBAAa,QAAS,SAAQ,KAAK;aAEf,UAAU,EAAE,MAAM;aAClB,YAAY,EAAE,MAAM;gBADpB,UAAU,EAAE,MAAM,EAClB,YAAY,EAAE,MAAM;CAKvC;AAuGD;;;;GAIG;AACH,wBAAgB,aAAa,IAAI,MAAM,GAAG,IAAI,CAE7C;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,IAAI,MAAM,GAAG,IAAI,CAYhD;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,IAAI,MAAM,CAMvC;AA0CD,eAAe;AACf,MAAM,WAAW,sBAAsB;IACrC,EAAE,EAAE,OAAO,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,OAAO,CAAC;IAClB,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;GAGG;AACH,wBAAgB,cAAc,IAAI,sBAAsB,CA0CvD;AAED,oCAAoC;AACpC,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAqB;IACrD,OAAO,CAAC,SAAS,CAAgB;IACjC,OAAO,CAAC,eAAe,CAAkB;IACzC,OAAO,CAAC,4BAA4B,CAAS;IAC7C,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,YAAY,CAAS;gBAEjB,MAAM,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC;IAY7C,OAAO,CAAC,UAAU;IAIlB,OAAO,CAAC,qBAAqB;IAoB7B,OAAO,CAAC,gBAAgB;IAqBxB;;;;OAIG;IACH,SAAS,IAAI,MAAM,GAAG,IAAI;IAW1B;;;;OAIG;IACG,gBAAgB,IAAI,OAAO,CAAC,OAAO,CAAC;IAuC1C;;;;;OAKG;IACG,OAAO,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,CAAC,CAAC;IA8B9D,WAAW,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;IAIpC,iBAAiB,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;IAI1C,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;IAIzD,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;IAIvD,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC;IAIrD,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC;IAMpC,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC;IAIhC,iBAAiB,IAAI,OAAO,CAAC,IAAI,CAAC;IAIlC,oBAAoB,IAAI,OAAO,CAAC,IAAI,CAAC;IAIrC,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC;IAM1C;;;OAGG;IACG,iBAAiB,CAAC,MAAM,EAAE,iBAAiB,GAAG,OAAO,CAAC,aAAa,CAAC;IA+BpE,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;IAI7B,cAAc,CAAC,OAAO,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAOzE,aAAa,IAAI,OAAO,CAAC,mBAAmB,CAAC;IAI7C,kBAAkB,IAAI,OAAO,CAAC,eAAe,CAAC;IAI9C,yBAAyB,CAC7B,KAAK,EAAE,sBAAsB,GAC5B,OAAO,CAAC,sBAAsB,CAAC;IAS5B,aAAa,IAAI,OAAO,CAAC,cAAc,CAAC;IAIxC,aAAa,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAOhD,cAAc,IAAI,OAAO,CAAC,eAAe,CAAC;IAI1C,cAAc,CAAC,MAAM,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;IAOxD,WAAW,IAAI,OAAO,CAAC,QAAQ,CAAC;IAIhC,cAAc,CAAC,QAAQ,EAAE,OAAO,CAAC,QAAQ,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAS1D,gBAAgB,IAAI,OAAO,CAAC,aAAa,CAAC;IAI1C,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;IAI7B,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;IAI5B,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAO5D,YAAY,IAAI,OAAO,CAAC,SAAS,CAAC;IAIlC,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAO9D,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAOxD,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAO3D,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAO3D,mBAAmB,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAOnE,qBAAqB,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAOtE,mBAAmB,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAKzE,kBAAkB,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IASxE,UAAU,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;IAIlC,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIzC,WAAW,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;IAKpC,SAAS,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;IAOhD,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;IAI5B,YAAY,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAOrD,aAAa,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAOtD,eAAe,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IASzD,WAAW,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;IAIpC,kBAAkB,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;IAI1C,mBAAmB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAOnE,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;IAI5B,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC;IAM9B,UAAU,IAAI,OAAO,CAAC,OAAO,CAAC;IAM9B,cAAc,IAAI,OAAO,CAAC,mBAAmB,CAAC;IAI9C,SAAS,IAAI,OAAO,CAAC,cAAc,CAAC;IAIpC,YAAY,IAAI,OAAO,CAAC,iBAAiB,CAAC;IAI1C,YAAY,IAAI,OAAO,CAAC,iBAAiB,CAAC;IAI1C,aAAa,IAAI,OAAO,CAAC,UAAU,CAAC;IAIpC,YAAY,IAAI,OAAO,CAAC,aAAa,CAAC;IAItC,eAAe,IAAI,OAAO,CAAC,gBAAgB,CAAC;IAI5C,YAAY,IAAI,OAAO,CAAC,UAAU,CAAC;IAInC,cAAc,IAAI,OAAO,CAAC,WAAW,CAAC;IAItC,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC;IAI9B,mBAAmB,IAAI,OAAO,CAAC,gBAAgB,CAAC;IAMhD,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAOvD,mBAAmB,IAAI,OAAO,CAAC,gBAAgB,CAAC;IAIhD,aAAa,CAAC,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAOlD,cAAc,IAAI,OAAO,CAAC,aAAa,CAAC;IAMxC,UAAU,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;IAOrD,gBAAgB,IAAI,OAAO,CAAC,aAAa,CAAC;IAI1C,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;IAM5B,aAAa,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IAOjD,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;CAGhC"}
@@ -17,23 +17,94 @@ export class ApiError extends Error {
17
17
  this.name = "ApiError";
18
18
  }
19
19
  }
20
- /**
21
- * 加载 Auth Token:优先环境变量,其次文件
22
- * 1. RECORD_SAFER_TOKEN 环境变量
23
- * 2. ~/.record_safer/auth_token 文件
24
- */
25
- export function loadAuthToken() {
20
+ function parseTruthyEnv(value) {
21
+ if (!value) {
22
+ return false;
23
+ }
24
+ const normalized = value.trim().toLowerCase();
25
+ return normalized === "1" || normalized === "true" || normalized === "yes" || normalized === "on";
26
+ }
27
+ function normalizeHostEntry(entry) {
28
+ const trimmed = entry.trim();
29
+ if (!trimmed) {
30
+ return null;
31
+ }
32
+ try {
33
+ const parsed = new URL(trimmed.includes("://") ? trimmed : `http://${trimmed}`);
34
+ return parsed.hostname.toLowerCase();
35
+ }
36
+ catch {
37
+ return null;
38
+ }
39
+ }
40
+ function getRemoteFileTokenAllowlist() {
41
+ const allowlistRaw = process.env.RECORD_SAFER_REMOTE_FILE_TOKEN_HOSTS;
42
+ if (!allowlistRaw) {
43
+ return new Set();
44
+ }
45
+ return new Set(allowlistRaw
46
+ .split(",")
47
+ .map((entry) => normalizeHostEntry(entry))
48
+ .filter((entry) => Boolean(entry)));
49
+ }
50
+ function isLoopbackHost(hostname) {
51
+ const normalized = hostname.toLowerCase();
52
+ return (normalized === "localhost" ||
53
+ normalized === "::1" ||
54
+ normalized === "[::1]" ||
55
+ normalized === "127.0.0.1" ||
56
+ normalized.startsWith("127.") ||
57
+ normalized.startsWith("::ffff:127."));
58
+ }
59
+ function isLoopbackBaseUrl(rawUrl) {
60
+ try {
61
+ const parsed = new URL(rawUrl);
62
+ return isLoopbackHost(parsed.hostname);
63
+ }
64
+ catch {
65
+ return false;
66
+ }
67
+ }
68
+ function isRemoteFileTokenAllowed(rawUrl) {
69
+ if (!parseTruthyEnv(process.env.RECORD_SAFER_ALLOW_REMOTE_FILE_TOKEN)) {
70
+ return false;
71
+ }
72
+ const allowlist = getRemoteFileTokenAllowlist();
73
+ if (allowlist.size === 0) {
74
+ // 显式开启后默认放行,便于兼容历史远程调试链路。
75
+ return true;
76
+ }
77
+ try {
78
+ const parsed = new URL(rawUrl);
79
+ return allowlist.has(parsed.hostname.toLowerCase());
80
+ }
81
+ catch {
82
+ return false;
83
+ }
84
+ }
85
+ function loadAuthTokenWithSource() {
26
86
  if (process.env.RECORD_SAFER_TOKEN) {
27
- return process.env.RECORD_SAFER_TOKEN;
87
+ return { token: process.env.RECORD_SAFER_TOKEN, source: "env" };
28
88
  }
29
89
  const tokenPath = path.join(os.homedir(), ".record_safer", "auth_token");
30
90
  try {
31
91
  const token = fs.readFileSync(tokenPath, "utf-8").trim();
32
- return token.length > 0 ? token : null;
92
+ if (token.length > 0) {
93
+ return { token, source: "file" };
94
+ }
33
95
  }
34
96
  catch {
35
- return null;
97
+ // ignore
36
98
  }
99
+ return { token: null, source: "none" };
100
+ }
101
+ /**
102
+ * 加载 Auth Token:优先环境变量,其次文件
103
+ * 1. RECORD_SAFER_TOKEN 环境变量
104
+ * 2. ~/.record_safer/auth_token 文件
105
+ */
106
+ export function loadAuthToken() {
107
+ return loadAuthTokenWithSource().token;
37
108
  }
38
109
  /**
39
110
  * 从端口文件读取后端端口号
@@ -71,7 +142,7 @@ export function resolveBaseUrl() {
71
142
  * 仅在 macOS 上有效,使用 open -a 命令启动 Electron 应用
72
143
  * 启动后轮询 /api/system/info 直到后端响应或超时
73
144
  */
74
- async function launchAppAndWaitForBackend(getUrl, authToken, timeoutMs = 15000) {
145
+ async function launchAppAndWaitForBackend(getUrl, getAuthHeaders, timeoutMs = 15000) {
75
146
  // 启动应用
76
147
  try {
77
148
  try {
@@ -90,12 +161,9 @@ async function launchAppAndWaitForBackend(getUrl, authToken, timeoutMs = 15000)
90
161
  while (Date.now() - start < timeoutMs) {
91
162
  await new Promise(r => setTimeout(r, 500));
92
163
  try {
93
- const headers = {};
94
- if (authToken && authToken.length > 0) {
95
- headers["Authorization"] = `Bearer ${authToken}`;
96
- }
97
164
  // 重新解析 URL(端口文件可能在启动后才写入)
98
165
  const url = getUrl();
166
+ const headers = getAuthHeaders(url);
99
167
  const resp = await fetch(`${url}/api/system/info`, { headers, signal: AbortSignal.timeout(2000) });
100
168
  if (resp.ok)
101
169
  return true;
@@ -112,7 +180,8 @@ async function launchAppAndWaitForBackend(getUrl, authToken, timeoutMs = 15000)
112
180
  */
113
181
  export function preflightCheck() {
114
182
  const port = readPortFromFile();
115
- const token = loadAuthToken();
183
+ const loadedToken = loadAuthTokenWithSource();
184
+ const token = loadedToken.token;
116
185
  const hasPort = port !== null;
117
186
  const hasToken = token !== null && token.length > 0;
118
187
  const baseUrl = hasPort ? `http://127.0.0.1:${port}` : (process.env.RECORD_SAFER_URL ?? "http://127.0.0.1:8080");
@@ -122,7 +191,7 @@ export function preflightCheck() {
122
191
  baseUrl,
123
192
  hasToken,
124
193
  hasPort,
125
- error: `后端连接失败。由于 DADAO Engine 的安全架构设计,录音会话的初始化和启动必须在 Record Safer Pro 界面上手动完成。请先打开 Record Safer Pro,完成设备选择和参数配置,进入录音控制台界面后,AI 助手就可以协助您进行录音操作了`,
194
+ error: `Backend connection failed. Please open Record Safer Pro, complete setup, and enter the recording console. For MCP-based one-click setup, provide full parameters and call initialize_session.`,
126
195
  };
127
196
  }
128
197
  if (!hasToken) {
@@ -131,7 +200,18 @@ export function preflightCheck() {
131
200
  baseUrl,
132
201
  hasToken,
133
202
  hasPort,
134
- error: `认证 Token 获取失败。由于 DADAO Engine 的安全架构设计,录音会话的初始化和启动必须在 Record Safer Pro 界面上手动完成。请先打开 Record Safer Pro,完成设备选择和参数配置,进入录音控制台界面后,AI 助手就可以协助您进行录音操作了`,
203
+ error: `Auth token unavailable. Please open Record Safer Pro, complete setup, and enter the recording console. For MCP-based one-click setup, provide full parameters and call initialize_session.`,
204
+ };
205
+ }
206
+ if (loadedToken.source === "file" &&
207
+ !isLoopbackBaseUrl(baseUrl) &&
208
+ !isRemoteFileTokenAllowed(baseUrl)) {
209
+ return {
210
+ ok: false,
211
+ baseUrl,
212
+ hasToken,
213
+ hasPort,
214
+ error: "Remote backend URL detected. Refusing to send local ~/.record_safer/auth_token to a non-loopback host. Set RECORD_SAFER_TOKEN explicitly for remote use, or set RECORD_SAFER_ALLOW_REMOTE_FILE_TOKEN=1 (optionally with RECORD_SAFER_REMOTE_FILE_TOKEN_HOSTS allowlist).",
135
215
  };
136
216
  }
137
217
  return { ok: true, baseUrl, hasToken, hasPort };
@@ -140,15 +220,54 @@ export function preflightCheck() {
140
220
  export class RecordSaferClient {
141
221
  explicitBaseUrl;
142
222
  authToken;
223
+ authTokenSource;
224
+ remoteFileTokenWarningLogged = false;
143
225
  appEnsured = false; // 是否已确认应用在运行
144
226
  backendReady = false; // 后端连接是否已验证可用
145
227
  constructor(config) {
146
228
  this.explicitBaseUrl = config?.baseUrl;
147
- this.authToken = config?.authToken ?? loadAuthToken();
229
+ if (config && Object.prototype.hasOwnProperty.call(config, "authToken")) {
230
+ this.authToken = config.authToken ? config.authToken : null;
231
+ this.authTokenSource = this.authToken ? "config" : "none";
232
+ }
233
+ else {
234
+ const loaded = loadAuthTokenWithSource();
235
+ this.authToken = loaded.token;
236
+ this.authTokenSource = loaded.source;
237
+ }
148
238
  }
149
239
  getBaseUrl() {
150
240
  return this.explicitBaseUrl ?? resolveBaseUrl();
151
241
  }
242
+ shouldAttachAuthToken(baseUrl) {
243
+ if (!this.authToken || this.authToken.length === 0) {
244
+ return false;
245
+ }
246
+ if (this.authTokenSource === "config" || this.authTokenSource === "env") {
247
+ return true;
248
+ }
249
+ if (this.authTokenSource !== "file") {
250
+ return false;
251
+ }
252
+ if (isLoopbackBaseUrl(baseUrl)) {
253
+ return true;
254
+ }
255
+ return isRemoteFileTokenAllowed(baseUrl);
256
+ }
257
+ buildAuthHeaders(baseUrl) {
258
+ if (this.shouldAttachAuthToken(baseUrl) && this.authToken) {
259
+ return { Authorization: `Bearer ${this.authToken}` };
260
+ }
261
+ if (this.authToken &&
262
+ this.authTokenSource === "file" &&
263
+ !isLoopbackBaseUrl(baseUrl) &&
264
+ !this.remoteFileTokenWarningLogged) {
265
+ this.remoteFileTokenWarningLogged = true;
266
+ console.warn("[RecordSaferClient] Blocked sending local auth_token to remote backend. " +
267
+ "Use RECORD_SAFER_TOKEN for remote target, or set RECORD_SAFER_ALLOW_REMOTE_FILE_TOKEN=1.");
268
+ }
269
+ return {};
270
+ }
152
271
  /**
153
272
  * 快速预检:检查端口和 token 配置是否就绪
154
273
  * 不发起 HTTP 请求,仅检查本地文件
@@ -175,11 +294,9 @@ export class RecordSaferClient {
175
294
  return false;
176
295
  // 先尝试一次快速请求,看后端是否已经在运行
177
296
  try {
178
- const headers = {};
179
- if (this.authToken && this.authToken.length > 0) {
180
- headers["Authorization"] = `Bearer ${this.authToken}`;
181
- }
182
- const resp = await fetch(`${this.getBaseUrl()}/api/system/info`, {
297
+ const baseUrl = this.getBaseUrl();
298
+ const headers = this.buildAuthHeaders(baseUrl);
299
+ const resp = await fetch(`${baseUrl}/api/system/info`, {
183
300
  headers,
184
301
  signal: AbortSignal.timeout(2000),
185
302
  });
@@ -193,12 +310,14 @@ export class RecordSaferClient {
193
310
  // 连接失败,需要启动应用
194
311
  }
195
312
  // 后端不可达,尝试启动应用
196
- const launched = await launchAppAndWaitForBackend(() => this.getBaseUrl(), this.authToken);
313
+ const launched = await launchAppAndWaitForBackend(() => this.getBaseUrl(), (baseUrl) => this.buildAuthHeaders(baseUrl));
197
314
  if (launched) {
198
315
  // 启动后重新加载 auth token(应用启动时可能生成新 token)
199
- const newToken = loadAuthToken();
200
- if (newToken) {
201
- this.authToken = newToken;
316
+ const loaded = loadAuthTokenWithSource();
317
+ if (loaded.token) {
318
+ this.authToken = loaded.token;
319
+ this.authTokenSource = loaded.source;
320
+ this.remoteFileTokenWarningLogged = false;
202
321
  }
203
322
  this.backendReady = true;
204
323
  }
@@ -213,10 +332,12 @@ export class RecordSaferClient {
213
332
  */
214
333
  async request(urlPath, options) {
215
334
  await this.ensureAppRunning();
216
- const url = `${this.getBaseUrl()}${urlPath}`;
335
+ const baseUrl = this.getBaseUrl();
336
+ const url = `${baseUrl}${urlPath}`;
217
337
  const headers = new Headers(options?.headers);
218
- if (this.authToken && this.authToken.length > 0) {
219
- headers.set("Authorization", `Bearer ${this.authToken}`);
338
+ const authHeaders = this.buildAuthHeaders(baseUrl);
339
+ if (authHeaders.Authorization) {
340
+ headers.set("Authorization", authHeaders.Authorization);
220
341
  }
221
342
  if (options?.body) {
222
343
  headers.set("Content-Type", "application/json");
@@ -311,6 +432,12 @@ export class RecordSaferClient {
311
432
  async getRecordingStatus() {
312
433
  return this.request("/api/recording/status");
313
434
  }
435
+ async setRecordingScheduleState(state) {
436
+ return this.request("/api/recording/schedule-state", {
437
+ method: "POST",
438
+ body: JSON.stringify(state),
439
+ });
440
+ }
314
441
  // ===== 配置 =====
315
442
  async getOutputPath() {
316
443
  return this.request("/api/config/output-path");
@@ -1 +1 @@
1
- {"version":3,"file":"api-client.js","sourceRoot":"","sources":["../src/api-client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"api-client.js","sourceRoot":"","sources":["../src/api-client.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAsD9C,gCAAgC;AAChC,MAAM,OAAO,QAAS,SAAQ,KAAK;IAEf;IACA;IAFlB,YACkB,UAAkB,EAClB,YAAoB;QAEpC,KAAK,CAAC,QAAQ,UAAU,KAAK,YAAY,EAAE,CAAC,CAAC;QAH7B,eAAU,GAAV,UAAU,CAAQ;QAClB,iBAAY,GAAZ,YAAY,CAAQ;QAGpC,IAAI,CAAC,IAAI,GAAG,UAAU,CAAC;IACzB,CAAC;CACF;AASD,SAAS,cAAc,CAAC,KAAyB;IAC/C,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,KAAK,CAAC;IACf,CAAC;IACD,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAC9C,OAAO,UAAU,KAAK,GAAG,IAAI,UAAU,KAAK,MAAM,IAAI,UAAU,KAAK,KAAK,IAAI,UAAU,KAAK,IAAI,CAAC;AACpG,CAAC;AAED,SAAS,kBAAkB,CAAC,KAAa;IACvC,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;IAC7B,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,OAAO,EAAE,CAAC,CAAC;QAChF,OAAO,MAAM,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC;IACvC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,SAAS,2BAA2B;IAClC,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC,oCAAoC,CAAC;IACtE,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,OAAO,IAAI,GAAG,EAAE,CAAC;IACnB,CAAC;IAED,OAAO,IAAI,GAAG,CACZ,YAAY;SACT,KAAK,CAAC,GAAG,CAAC;SACV,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;SACzC,MAAM,CAAC,CAAC,KAAK,EAAmB,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CACtD,CAAC;AACJ,CAAC;AAED,SAAS,cAAc,CAAC,QAAgB;IACtC,MAAM,UAAU,GAAG,QAAQ,CAAC,WAAW,EAAE,CAAC;IAC1C,OAAO,CACL,UAAU,KAAK,WAAW;QAC1B,UAAU,KAAK,KAAK;QACpB,UAAU,KAAK,OAAO;QACtB,UAAU,KAAK,WAAW;QAC1B,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC;QAC7B,UAAU,CAAC,UAAU,CAAC,aAAa,CAAC,CACrC,CAAC;AACJ,CAAC;AAED,SAAS,iBAAiB,CAAC,MAAc;IACvC,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC;QAC/B,OAAO,cAAc,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IACzC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,SAAS,wBAAwB,CAAC,MAAc;IAC9C,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,GAAG,CAAC,oCAAoC,CAAC,EAAE,CAAC;QACtE,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,SAAS,GAAG,2BAA2B,EAAE,CAAC;IAChD,IAAI,SAAS,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;QACzB,0BAA0B;QAC1B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC;QAC/B,OAAO,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAC;IACtD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,SAAS,uBAAuB;IAC9B,IAAI,OAAO,CAAC,GAAG,CAAC,kBAAkB,EAAE,CAAC;QACnC,OAAO,EAAE,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,kBAAkB,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;IAClE,CAAC;IAED,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,eAAe,EAAE,YAAY,CAAC,CAAC;IACzE,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,EAAE,CAAC,YAAY,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;QACzD,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACrB,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;QACnC,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,SAAS;IACX,CAAC;IAED,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;AACzC,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,aAAa;IAC3B,OAAO,uBAAuB,EAAE,CAAC,KAAK,CAAC;AACzC,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,gBAAgB;IAC9B,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,eAAe,EAAE,cAAc,CAAC,CAAC;QAC1E,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;QAC1D,MAAM,IAAI,GAAG,QAAQ,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QACnC,IAAI,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,KAAK,EAAE,CAAC;YACzD,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,cAAc;IAC5B,MAAM,IAAI,GAAG,gBAAgB,EAAE,CAAC;IAChC,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;QAClB,OAAO,oBAAoB,IAAI,EAAE,CAAC;IACpC,CAAC;IACD,OAAO,OAAO,CAAC,GAAG,CAAC,gBAAgB,IAAI,uBAAuB,CAAC;AACjE,CAAC;AAGD;;;;GAIG;AACH,KAAK,UAAU,0BAA0B,CACvC,MAAoB,EACpB,cAA2D,EAC3D,SAAS,GAAG,KAAK;IAEjB,OAAO;IACP,IAAI,CAAC;QACH,IAAI,CAAC;YACH,QAAQ,CAAC,4BAA4B,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;QAC5D,CAAC;QAAC,MAAM,CAAC;YACP,QAAQ,CAAC,wBAAwB,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;QACxD,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,yBAAyB;QACzB,OAAO,KAAK,CAAC;IACf,CAAC;IAED,WAAW;IACX,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACzB,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,GAAG,SAAS,EAAE,CAAC;QACtC,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;QAC3C,IAAI,CAAC;YACH,0BAA0B;YAC1B,MAAM,GAAG,GAAG,MAAM,EAAE,CAAC;YACrB,MAAM,OAAO,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC;YACpC,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,GAAG,GAAG,kBAAkB,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACnG,IAAI,IAAI,CAAC,EAAE;gBAAE,OAAO,IAAI,CAAC;QAC3B,CAAC;QAAC,MAAM,CAAC;YACP,aAAa;QACf,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAWD;;;GAGG;AACH,MAAM,UAAU,cAAc;IAC5B,MAAM,IAAI,GAAG,gBAAgB,EAAE,CAAC;IAChC,MAAM,WAAW,GAAG,uBAAuB,EAAE,CAAC;IAC9C,MAAM,KAAK,GAAG,WAAW,CAAC,KAAK,CAAC;IAChC,MAAM,OAAO,GAAG,IAAI,KAAK,IAAI,CAAC;IAC9B,MAAM,QAAQ,GAAG,KAAK,KAAK,IAAI,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;IACpD,MAAM,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,oBAAoB,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,IAAI,uBAAuB,CAAC,CAAC;IAEjH,IAAI,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;QAC9C,OAAO;YACL,EAAE,EAAE,KAAK;YACT,OAAO;YACP,QAAQ;YACR,OAAO;YACP,KAAK,EAAE,+LAA+L;SACvM,CAAC;IACJ,CAAC;IACD,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAO;YACL,EAAE,EAAE,KAAK;YACT,OAAO;YACP,QAAQ;YACR,OAAO;YACP,KAAK,EAAE,4LAA4L;SACpM,CAAC;IACJ,CAAC;IAED,IACE,WAAW,CAAC,MAAM,KAAK,MAAM;QAC7B,CAAC,iBAAiB,CAAC,OAAO,CAAC;QAC3B,CAAC,wBAAwB,CAAC,OAAO,CAAC,EAClC,CAAC;QACD,OAAO;YACL,EAAE,EAAE,KAAK;YACT,OAAO;YACP,QAAQ;YACR,OAAO;YACP,KAAK,EAAE,0QAA0Q;SAClR,CAAC;IACJ,CAAC;IAED,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC;AAClD,CAAC;AAED,oCAAoC;AACpC,MAAM,OAAO,iBAAiB;IACX,eAAe,CAAqB;IAC7C,SAAS,CAAgB;IACzB,eAAe,CAAkB;IACjC,4BAA4B,GAAG,KAAK,CAAC;IACrC,UAAU,GAAG,KAAK,CAAC,CAAC,aAAa;IACjC,YAAY,GAAG,KAAK,CAAC,CAAC,cAAc;IAE5C,YAAY,MAAiC;QAC3C,IAAI,CAAC,eAAe,GAAG,MAAM,EAAE,OAAO,CAAC;QACvC,IAAI,MAAM,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE,WAAW,CAAC,EAAE,CAAC;YACxE,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC;YAC5D,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC;QAC5D,CAAC;aAAM,CAAC;YACN,MAAM,MAAM,GAAG,uBAAuB,EAAE,CAAC;YACzC,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC;YAC9B,IAAI,CAAC,eAAe,GAAG,MAAM,CAAC,MAAM,CAAC;QACvC,CAAC;IACH,CAAC;IAEO,UAAU;QAChB,OAAO,IAAI,CAAC,eAAe,IAAI,cAAc,EAAE,CAAC;IAClD,CAAC;IAEO,qBAAqB,CAAC,OAAe;QAC3C,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACnD,OAAO,KAAK,CAAC;QACf,CAAC;QAED,IAAI,IAAI,CAAC,eAAe,KAAK,QAAQ,IAAI,IAAI,CAAC,eAAe,KAAK,KAAK,EAAE,CAAC;YACxE,OAAO,IAAI,CAAC;QACd,CAAC;QAED,IAAI,IAAI,CAAC,eAAe,KAAK,MAAM,EAAE,CAAC;YACpC,OAAO,KAAK,CAAC;QACf,CAAC;QAED,IAAI,iBAAiB,CAAC,OAAO,CAAC,EAAE,CAAC;YAC/B,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO,wBAAwB,CAAC,OAAO,CAAC,CAAC;IAC3C,CAAC;IAEO,gBAAgB,CAAC,OAAe;QACtC,IAAI,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YAC1D,OAAO,EAAE,aAAa,EAAE,UAAU,IAAI,CAAC,SAAS,EAAE,EAAE,CAAC;QACvD,CAAC;QAED,IACE,IAAI,CAAC,SAAS;YACd,IAAI,CAAC,eAAe,KAAK,MAAM;YAC/B,CAAC,iBAAiB,CAAC,OAAO,CAAC;YAC3B,CAAC,IAAI,CAAC,4BAA4B,EAClC,CAAC;YACD,IAAI,CAAC,4BAA4B,GAAG,IAAI,CAAC;YACzC,OAAO,CAAC,IAAI,CACV,0EAA0E;gBACxE,0FAA0F,CAC7F,CAAC;QACJ,CAAC;QAED,OAAO,EAAE,CAAC;IACZ,CAAC;IAED;;;;OAIG;IACH,SAAS;QACP,IAAI,IAAI,CAAC,YAAY;YAAE,OAAO,IAAI,CAAC;QACnC,IAAI,IAAI,CAAC,eAAe;YAAE,OAAO,IAAI,CAAC,CAAC,iBAAiB;QAExD,MAAM,MAAM,GAAG,cAAc,EAAE,CAAC;QAChC,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;YACf,OAAO,MAAM,CAAC,KAAM,CAAC;QACvB,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,gBAAgB;QACpB,IAAI,IAAI,CAAC,UAAU;YAAE,OAAO,KAAK,CAAC;QAElC,uBAAuB;QACvB,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;YAClC,MAAM,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;YAC/C,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,GAAG,OAAO,kBAAkB,EAAE;gBACrD,OAAO;gBACP,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC;aAClC,CAAC,CAAC;YACH,IAAI,IAAI,CAAC,EAAE,EAAE,CAAC;gBACZ,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;gBACvB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;gBACzB,OAAO,KAAK,CAAC;YACf,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,cAAc;QAChB,CAAC;QAED,eAAe;QACf,MAAM,QAAQ,GAAG,MAAM,0BAA0B,CAC/C,GAAG,EAAE,CAAC,IAAI,CAAC,UAAU,EAAE,EACvB,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAC5C,CAAC;QACF,IAAI,QAAQ,EAAE,CAAC;YACb,uCAAuC;YACvC,MAAM,MAAM,GAAG,uBAAuB,EAAE,CAAC;YACzC,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;gBACjB,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC;gBAC9B,IAAI,CAAC,eAAe,GAAG,MAAM,CAAC,MAAM,CAAC;gBACrC,IAAI,CAAC,4BAA4B,GAAG,KAAK,CAAC;YAC5C,CAAC;YACD,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QAC3B,CAAC;QACD,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACvB,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,OAAO,CAAI,OAAe,EAAE,OAAqB;QACrD,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAC9B,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QAClC,MAAM,GAAG,GAAG,GAAG,OAAO,GAAG,OAAO,EAAE,CAAC;QACnC,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAC9C,MAAM,WAAW,GAAG,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;QAEnD,IAAI,WAAW,CAAC,aAAa,EAAE,CAAC;YAC9B,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,WAAW,CAAC,aAAa,CAAC,CAAC;QAC1D,CAAC;QAED,IAAI,OAAO,EAAE,IAAI,EAAE,CAAC;YAClB,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,kBAAkB,CAAC,CAAC;QAClD,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;YAChC,GAAG,OAAO;YACV,OAAO;SACR,CAAC,CAAC;QAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;YACnC,MAAM,IAAI,QAAQ,CAAC,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QAC5C,CAAC;QAED,OAAO,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAM,CAAC;IACtC,CAAC;IAED,mBAAmB;IAEnB,KAAK,CAAC,WAAW;QACf,OAAO,IAAI,CAAC,OAAO,CAAe,cAAc,CAAC,CAAC;IACpD,CAAC;IAED,KAAK,CAAC,iBAAiB;QACrB,OAAO,IAAI,CAAC,OAAO,CAAe,sBAAsB,CAAC,CAAC;IAC5D,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,QAAgB;QACnC,OAAO,IAAI,CAAC,OAAO,CAAiB,gBAAgB,QAAQ,eAAe,CAAC,CAAC;IAC/E,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,QAAgB;QACrC,OAAO,IAAI,CAAC,OAAO,CAAa,gBAAgB,QAAQ,UAAU,CAAC,CAAC;IACtE,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,QAAgB;QACpC,OAAO,IAAI,CAAC,OAAO,CAAY,gBAAgB,QAAQ,SAAS,CAAC,CAAC;IACpE,CAAC;IAED,KAAK,CAAC,mBAAmB;QACvB,MAAM,IAAI,CAAC,OAAO,CAAO,0BAA0B,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IAC3E,CAAC;IAED,mBAAmB;IAEnB,KAAK,CAAC,eAAe;QACnB,MAAM,IAAI,CAAC,OAAO,CAAO,uBAAuB,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IACxE,CAAC;IAED,KAAK,CAAC,iBAAiB;QACrB,MAAM,IAAI,CAAC,OAAO,CAAO,yBAAyB,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IAC1E,CAAC;IAED,KAAK,CAAC,oBAAoB;QACxB,MAAM,IAAI,CAAC,OAAO,CAAO,8BAA8B,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IAC/E,CAAC;IAED,KAAK,CAAC,mBAAmB;QACvB,MAAM,IAAI,CAAC,OAAO,CAAO,6BAA6B,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IAC9E,CAAC;IAED,oBAAoB;IAEpB;;;OAGG;IACH,KAAK,CAAC,iBAAiB,CAAC,MAAyB;QAC/C,sDAAsD;QACtD,iBAAiB;QACjB,MAAM,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QAE5C,eAAe;QACf,MAAM,IAAI,CAAC,cAAc,CAAC;YACxB,MAAM,EAAE,MAAM,CAAC,WAAW;YAC1B,UAAU,EAAE,MAAM,CAAC,UAAU;YAC7B,QAAQ,EAAE,MAAM,CAAC,QAAQ;SAC1B,CAAC,CAAC;QAEH,cAAc;QACd,MAAM,cAAc,GAAkB;YACpC,MAAM,EAAE,EAAE,EAAE,EAAE,QAAQ,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAE,CAAC,EAAE;YAC7C,UAAU,EAAE,MAAM,CAAC,UAAU;YAC7B,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;gBACnC,EAAE,EAAE,EAAE;gBACN,MAAM,EAAE,IAAI;gBACZ,IAAI,EAAE,WAAW,EAAE,EAAE;aACtB,CAAC,CAAC;YACH,UAAU,EAAE,MAAM,CAAC,UAAU;YAC7B,WAAW,EAAE,MAAM,CAAC,WAAW;SAChC,CAAC;QACF,OAAO,IAAI,CAAC,OAAO,CAAgB,yBAAyB,EAAE;YAC5D,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC;SACrC,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,YAAY;QAChB,MAAM,IAAI,CAAC,OAAO,CAAO,oBAAoB,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IACrE,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,OAA0B;QAC7C,OAAO,IAAI,CAAC,OAAO,CAAuB,sBAAsB,EAAE;YAChE,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS;SACpD,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,aAAa;QACjB,OAAO,IAAI,CAAC,OAAO,CAAsB,qBAAqB,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IACtF,CAAC;IAED,KAAK,CAAC,kBAAkB;QACtB,OAAO,IAAI,CAAC,OAAO,CAAkB,uBAAuB,CAAC,CAAC;IAChE,CAAC;IAED,KAAK,CAAC,yBAAyB,CAC7B,KAA6B;QAE7B,OAAO,IAAI,CAAC,OAAO,CAAyB,+BAA+B,EAAE;YAC3E,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;SAC5B,CAAC,CAAC;IACL,CAAC;IAED,iBAAiB;IAEjB,KAAK,CAAC,aAAa;QACjB,OAAO,IAAI,CAAC,OAAO,CAAiB,yBAAyB,CAAC,CAAC;IACjE,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,UAAkB;QACpC,MAAM,IAAI,CAAC,OAAO,CAAO,yBAAyB,EAAE;YAClD,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;SAC3C,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,cAAc;QAClB,OAAO,IAAI,CAAC,OAAO,CAAkB,oBAAoB,CAAC,CAAC;IAC7D,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,MAAyB;QAC5C,MAAM,IAAI,CAAC,OAAO,CAAO,oBAAoB,EAAE;YAC7C,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC;SAC7B,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,WAAW;QACf,OAAO,IAAI,CAAC,OAAO,CAAW,eAAe,CAAC,CAAC;IACjD,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,QAA2B;QAC9C,MAAM,IAAI,CAAC,OAAO,CAAO,eAAe,EAAE;YACxC,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC;SAC/B,CAAC,CAAC;IACL,CAAC;IAED,qBAAqB;IAErB,KAAK,CAAC,gBAAgB;QACpB,OAAO,IAAI,CAAC,OAAO,CAAgB,qBAAqB,CAAC,CAAC;IAC5D,CAAC;IAED,KAAK,CAAC,YAAY;QAChB,MAAM,IAAI,CAAC,OAAO,CAAO,oBAAoB,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IACrE,CAAC;IAED,KAAK,CAAC,WAAW;QACf,MAAM,IAAI,CAAC,OAAO,CAAO,mBAAmB,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IACpE,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,MAAc,EAAE,GAAY;QAChD,MAAM,IAAI,CAAC,OAAO,CAAO,qBAAqB,EAAE;YAC9C,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC;SACvE,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,YAAY;QAChB,OAAO,IAAI,CAAC,OAAO,CAAY,yBAAyB,CAAC,CAAC;IAC5D,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,KAAa,EAAE,MAAc;QAClD,MAAM,IAAI,CAAC,OAAO,CAAO,wBAAwB,KAAK,SAAS,EAAE;YAC/D,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;SACjC,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,KAAa,EAAE,GAAW;QAC5C,MAAM,IAAI,CAAC,OAAO,CAAO,wBAAwB,KAAK,MAAM,EAAE;YAC5D,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,GAAG,EAAE,CAAC;SAC9B,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,KAAa,EAAE,IAAa;QAC/C,MAAM,IAAI,CAAC,OAAO,CAAO,wBAAwB,KAAK,OAAO,EAAE;YAC7D,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,CAAC;SAC/B,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,KAAa,EAAE,IAAa;QAC/C,MAAM,IAAI,CAAC,OAAO,CAAO,wBAAwB,KAAK,OAAO,EAAE;YAC7D,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,CAAC;SAC/B,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,mBAAmB,CAAC,KAAa,EAAE,OAAgB;QACvD,MAAM,IAAI,CAAC,OAAO,CAAO,wBAAwB,KAAK,aAAa,EAAE;YACnE,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,CAAC;SAClC,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,qBAAqB,CAAC,KAAa,EAAE,QAAiB;QAC1D,MAAM,IAAI,CAAC,OAAO,CAAO,wBAAwB,KAAK,eAAe,EAAE;YACrE,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,QAAQ,EAAE,CAAC;SACnC,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,mBAAmB,CAAC,SAAiB,EAAE,UAAkB;QAC7D,MAAM,IAAI,CAAC,aAAa,CAAC,SAAS,EAAE,CAAC,GAAG,CAAC,CAAC;QAC1C,MAAM,IAAI,CAAC,aAAa,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;IAC5C,CAAC;IAED,KAAK,CAAC,kBAAkB,CAAC,SAAiB,EAAE,UAAkB;QAC5D,MAAM,IAAI,CAAC,aAAa,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;QACzC,MAAM,IAAI,CAAC,aAAa,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;QAC1C,MAAM,IAAI,CAAC,mBAAmB,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;IACnD,CAAC;IAGD,oBAAoB;IAEpB,KAAK,CAAC,UAAU;QACd,OAAO,IAAI,CAAC,OAAO,CAAc,uBAAuB,CAAC,CAAC;IAC5D,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,OAAe;QAC7B,MAAM,IAAI,CAAC,OAAO,CAAO,eAAe,OAAO,OAAO,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IAC9E,CAAC;IAED,KAAK,CAAC,WAAW;QACf,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,CAA4B,cAAc,CAAC,CAAC;QAC3E,OAAO,IAAI,EAAE,OAAO,IAAI,EAAE,CAAC;IAC7B,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,KAAc;QAC5B,OAAO,IAAI,CAAC,OAAO,CAAe,kBAAkB,EAAE;YACpD,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS;SAClE,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,WAAW;QACf,MAAM,IAAI,CAAC,OAAO,CAAO,mBAAmB,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IACpE,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,EAAU,EAAE,IAAY;QACzC,MAAM,IAAI,CAAC,OAAO,CAAO,gBAAgB,EAAE,SAAS,EAAE;YACpD,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,CAAC;SAC/B,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,EAAU,EAAE,IAAY;QAC1C,MAAM,IAAI,CAAC,OAAO,CAAO,iBAAiB,EAAE,SAAS,EAAE;YACrD,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,CAAC;SAC/B,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,EAAU,EAAE,KAAa;QAC7C,MAAM,IAAI,CAAC,OAAO,CAAO,iBAAiB,EAAE,QAAQ,EAAE;YACpD,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,CAAC;SAChC,CAAC,CAAC;IACL,CAAC;IAED,iBAAiB;IAEjB,KAAK,CAAC,WAAW;QACf,OAAO,IAAI,CAAC,OAAO,CAAe,sBAAsB,CAAC,CAAC;IAC5D,CAAC;IAED,KAAK,CAAC,kBAAkB;QACtB,OAAO,IAAI,CAAC,OAAO,CAAc,uBAAuB,CAAC,CAAC;IAC5D,CAAC;IAED,KAAK,CAAC,mBAAmB,CAAC,WAAmB;QAC3C,OAAO,IAAI,CAAC,OAAO,CAAmB,uBAAuB,EAAE;YAC7D,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;SAC5C,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,WAAW;QACf,MAAM,IAAI,CAAC,OAAO,CAAO,mBAAmB,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IACpE,CAAC;IAED,KAAK,CAAC,aAAa;QACjB,MAAM,IAAI,CAAC,OAAO,CAAO,qBAAqB,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IACtE,CAAC;IAED,iBAAiB;IAEjB,KAAK,CAAC,UAAU;QACd,OAAO,IAAI,CAAC,OAAO,CAAU,eAAe,CAAC,CAAC;IAChD,CAAC;IAED,wBAAwB;IAExB,KAAK,CAAC,cAAc;QAClB,OAAO,IAAI,CAAC,OAAO,CAAsB,mBAAmB,CAAC,CAAC;IAChE,CAAC;IAED,KAAK,CAAC,SAAS;QACb,OAAO,IAAI,CAAC,OAAO,CAAiB,cAAc,CAAC,CAAC;IACtD,CAAC;IAED,KAAK,CAAC,YAAY;QAChB,OAAO,IAAI,CAAC,OAAO,CAAoB,iBAAiB,CAAC,CAAC;IAC5D,CAAC;IAED,KAAK,CAAC,YAAY;QAChB,OAAO,IAAI,CAAC,OAAO,CAAoB,iBAAiB,CAAC,CAAC;IAC5D,CAAC;IAED,KAAK,CAAC,aAAa;QACjB,OAAO,IAAI,CAAC,OAAO,CAAa,kBAAkB,CAAC,CAAC;IACtD,CAAC;IAED,KAAK,CAAC,YAAY;QAChB,OAAO,IAAI,CAAC,OAAO,CAAgB,wBAAwB,CAAC,CAAC;IAC/D,CAAC;IAED,KAAK,CAAC,eAAe;QACnB,OAAO,IAAI,CAAC,OAAO,CAAmB,yBAAyB,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IACvF,CAAC;IAED,KAAK,CAAC,YAAY;QAChB,OAAO,IAAI,CAAC,OAAO,CAAa,oBAAoB,CAAC,CAAC;IACxD,CAAC;IAED,KAAK,CAAC,cAAc;QAClB,OAAO,IAAI,CAAC,OAAO,CAAc,0BAA0B,CAAC,CAAC;IAC/D,CAAC;IAED,KAAK,CAAC,aAAa;QACjB,MAAM,IAAI,CAAC,OAAO,CAAO,4BAA4B,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IAC7E,CAAC;IAED,KAAK,CAAC,mBAAmB;QACvB,OAAO,IAAI,CAAC,OAAO,CAAmB,+BAA+B,CAAC,CAAC;IACzE,CAAC;IAED,iBAAiB;IAEjB,KAAK,CAAC,eAAe,CAAC,GAAW;QAC/B,OAAO,IAAI,CAAC,OAAO,CAAmB,0BAA0B,EAAE;YAChE,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,GAAG,EAAE,CAAC;SAC9B,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,mBAAmB;QACvB,OAAO,IAAI,CAAC,OAAO,CAAmB,wBAAwB,CAAC,CAAC;IAClE,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,IAAoB;QACtC,MAAM,IAAI,CAAC,OAAO,CAAO,qBAAqB,EAAE;YAC9C,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;SAC3B,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,cAAc;QAClB,OAAO,IAAI,CAAC,OAAO,CAAgB,yBAAyB,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IACpF,CAAC;IAED,iBAAiB;IAEjB,KAAK,CAAC,UAAU,CAAC,MAAmB;QAClC,OAAO,IAAI,CAAC,OAAO,CAAc,kBAAkB,EAAE;YACnD,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC;SAC7B,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,gBAAgB;QACpB,OAAO,IAAI,CAAC,OAAO,CAAgB,2BAA2B,CAAC,CAAC;IAClE,CAAC;IAED,KAAK,CAAC,WAAW;QACf,MAAM,IAAI,CAAC,OAAO,CAAO,yBAAyB,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IAC1E,CAAC;IAED,mBAAmB;IAEnB,KAAK,CAAC,aAAa,CAAC,IAAmB;QACrC,MAAM,IAAI,CAAC,OAAO,CAAO,gCAAgC,EAAE;YACzD,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;SAC3B,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,QAAQ;QACZ,MAAM,IAAI,CAAC,OAAO,CAAO,eAAe,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IAChE,CAAC;CACF"}
package/dist/index.js CHANGED
@@ -5,81 +5,33 @@
5
5
  */
6
6
  import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
7
7
  import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
8
- import { registerDeviceTools } from "./tools/devices.js";
9
- import { registerLevelTools } from "./tools/levels.js";
10
8
  import { registerRecordingTools } from "./tools/recording.js";
11
- import { registerSettingsTools } from "./tools/settings.js";
12
9
  import { registerMonitorTools } from "./tools/monitor.js";
13
10
  import { registerMarkerTools } from "./tools/markers.js";
14
- import { registerStorageTools } from "./tools/storage.js";
15
- import { registerSystemTools } from "./tools/system.js";
16
- import { registerResources } from "./resources/index.js";
17
11
  import { registerPrompts } from "./prompts/index.js";
18
12
  const server = new McpServer({
19
13
  name: "record-safer-pro",
20
14
  version: "2.1.0",
21
- description: `Record Safer Pro MCP Server — 专业多通道录音软件 AI 接口。
22
-
23
- ⚠️ 核心安全准则 — DADAO Engine 安全架构:
24
-
25
- Record Safer Pro 基于 DADAO Engine 构建,出于录音安全性设计,
26
- 会话初始化和开始录音必须由用户在 Record Safer Pro 界面上手动完成。
27
- MCP 不具备初始化会话或开始录音的权限。
28
-
29
- 【前置条件 MCP 工具生效的唯一前提】
30
- 用户必须已在 Record Safer Pro 界面上完成以下操作:
31
- 1. 选择音频设备
32
- 2. 配置录音参数(采样率、位深度、通道、输出路径、格式)
33
- 3. 进入录音控制台界面(会话已初始化,引擎就绪)
34
-
35
- 只有当 get_recording_status 返回 deviceHealth.alive: true 时,MCP 工具才可正常工作。
36
-
37
- 【当用户请求录音相关操作但会话未初始化时】
38
- 必须告知用户:
39
- "由于 DADAO Engine 的安全架构设计,录音会话的初始化和启动必须在 Record Safer Pro 界面上手动完成。
40
- 请先打开 Record Safer Pro,完成设备选择和参数配置,进入录音控制台界面后,我就可以协助您进行录音操作了。"
41
-
42
- 【黄金法则】收到用户请求时,先调用 get_recording_status 判断当前状态:
43
-
44
- 状态 A — 已在录音中(recording: true):
45
- → 直接执行用户请求(加标记、停止录音、查状态、调混音等)
46
- → 这是 MCP 最有价值的场景,一句话完成操作
47
-
48
- 状态 B — 会话已初始化但未录音(deviceHealth.alive: true):
49
- → 可调整监听、查看设备信息、查询状态等
50
- → 注意:开始录音也必须由用户在界面上手动操作
51
-
52
- 状态 C — 未初始化(deviceHealth 为空或 alive: false):
53
- → MCP 工具不可用(设备查询类除外)
54
- → 引导用户去 Record Safer Pro 界面完成配置
55
-
56
- 【MCP 擅长的场景】
57
- 1. 录音中的快捷操作:"加个标记叫副歌"、"停止录音"、"现在录了多久了"
58
- 2. 批量/智能操作:"把所有通道音量设到 -6dB"、"静音通道 3 和 4"
59
- 3. 状态查询与报告:"生成录音报告"、"磁盘还剩多少空间"
60
- 4. 故障诊断:"为什么没声音"、"检查设备状态"
61
- 5. 系统管理:更新、许可证、设置调整
62
-
63
- 【MCP 没有权限的操作 — 必须在 GUI 完成】
64
- 1. 初始化录音会话(设备选择、参数配置)
65
- 2. 开始录音
66
- 3. 这是 DADAO Engine 安全架构的核心设计,不可绕过
67
-
68
- 【致命操作安全规则 — stop_recording】
69
- stop_recording 是不可撤销的操作。必须满足以下条件才能调用:
70
- 1. 用户在当前消息中明确表达了"停止录音"的意图
71
- 2. 不能因为上下文暗示或流程推断就自动调用
72
- 3. 如果用户说的是模糊表达(如"差不多了""可以了"),需要明确追问:"确认停止录音吗?"`,
15
+ description: `Record Safer Pro MCP Server — Least-privilege channel control profile.
16
+
17
+ Enabled operations:
18
+ - Query channel list, mix snapshot, and recording status
19
+ - Query session devices and supported initialization parameters
20
+ - One-click recording console preparation (session initialization)
21
+ - Start/stop recording and manage recording schedules (delayed start/stop)
22
+ - Batch channel rename and color updates
23
+ - Batch monitor controls: volume, pan, phase invert, solo, mute
24
+
25
+ Not enabled in this profile:
26
+ - Marker management
27
+ - System, storage, activation, update, telemetry, and shutdown operations
28
+
29
+ Core safety rule (DADAO Engine architecture):
30
+ - Recording actions must be explicitly instructed by the user.`,
73
31
  });
74
- registerDeviceTools(server);
75
- registerLevelTools(server);
76
32
  registerRecordingTools(server);
77
- registerSettingsTools(server);
78
33
  registerMonitorTools(server);
79
34
  registerMarkerTools(server);
80
- registerStorageTools(server);
81
- registerSystemTools(server);
82
- registerResources(server);
83
35
  registerPrompts(server);
84
36
  const transport = new StdioServerTransport();
85
37
  await server.connect(transport);
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA;;;GAGG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAErD,MAAM,MAAM,GAAG,IAAI,SAAS,CAAC;IAC3B,IAAI,EAAE,kBAAkB;IACxB,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;+CAmDgC;CAC9C,CAAC,CAAC;AAEH,mBAAmB,CAAC,MAAM,CAAC,CAAC;AAC5B,kBAAkB,CAAC,MAAM,CAAC,CAAC;AAC3B,sBAAsB,CAAC,MAAM,CAAC,CAAC;AAC/B,qBAAqB,CAAC,MAAM,CAAC,CAAC;AAC9B,oBAAoB,CAAC,MAAM,CAAC,CAAC;AAC7B,mBAAmB,CAAC,MAAM,CAAC,CAAC;AAC5B,oBAAoB,CAAC,MAAM,CAAC,CAAC;AAC7B,mBAAmB,CAAC,MAAM,CAAC,CAAC;AAC5B,iBAAiB,CAAC,MAAM,CAAC,CAAC;AAC1B,eAAe,CAAC,MAAM,CAAC,CAAC;AAExB,MAAM,SAAS,GAAG,IAAI,oBAAoB,EAAE,CAAC;AAC7C,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA;;;GAGG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAErD,MAAM,MAAM,GAAG,IAAI,SAAS,CAAC;IAC3B,IAAI,EAAE,kBAAkB;IACxB,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE;;;;;;;;;;;;;;;+DAegD;CAC9D,CAAC,CAAC;AAEH,sBAAsB,CAAC,MAAM,CAAC,CAAC;AAC/B,oBAAoB,CAAC,MAAM,CAAC,CAAC;AAC7B,mBAAmB,CAAC,MAAM,CAAC,CAAC;AAC5B,eAAe,CAAC,MAAM,CAAC,CAAC;AAExB,MAAM,SAAS,GAAG,IAAI,oBAAoB,EAAE,CAAC;AAC7C,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC"}
@@ -1,11 +1,6 @@
1
1
  /**
2
- * MCP Prompts — 状态感知式提示模板
3
- * MCP Prompts — State-aware prompt templates
4
- *
5
- * 设计原则:
6
- * 1. DADAO Engine 安全架构:会话初始化和开始录音必须在 GUI 手动完成
7
- * 2. MCP 在用户进入录音控制台后提供辅助操作
8
- * 3. 先感知状态,再决定行动
2
+ * MCP Prompts — Session setup workflow guardrails
3
+ * 用于约束 initialize_session 相关调用顺序,避免模型自由发挥
9
4
  */
10
5
  import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
11
6
  export declare function registerPrompts(server: McpServer): void;
@@ -1 +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;AAKpE,wBAAgB,eAAe,CAAC,MAAM,EAAE,SAAS,QAiMhD"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/prompts/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAsBpE,wBAAgB,eAAe,CAAC,MAAM,EAAE,SAAS,QA+HhD"}