@solazah/solazah-runtime 0.2.18 → 0.2.21
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json
CHANGED
|
@@ -53,6 +53,26 @@ export default class CopilotMcpServer {
|
|
|
53
53
|
* @returns true 表示连接成功;false 表示 server 不存在或连接失败。
|
|
54
54
|
*/
|
|
55
55
|
testConnect: (server: string) => Promise<any>;
|
|
56
|
+
/**
|
|
57
|
+
* 打开浏览器授权一台远程 MCP server,等用户在授权页同意后换到令牌,再连一次列出它的工具。最长等 5 分钟。
|
|
58
|
+
*
|
|
59
|
+
* @param id 目标 MCP server 的 id。
|
|
60
|
+
* @returns {authorized, failure?, toolNames}:failure 是没授权成功或授权后仍连不上的原因。
|
|
61
|
+
*/
|
|
62
|
+
authorizeServer: (id: string) => Promise<any>;
|
|
63
|
+
/**
|
|
64
|
+
* 用一份还没保存的配置打开浏览器授权;授权成功后再 addServer 保存,没成功什么都不留。最长等 5 分钟。
|
|
65
|
+
*
|
|
66
|
+
* @param data MCP server 的部分字段(name/transport/url 等)。
|
|
67
|
+
* @returns {authorized, failure?}
|
|
68
|
+
*/
|
|
69
|
+
authorizeConfig: (data: any) => Promise<any>;
|
|
70
|
+
/**
|
|
71
|
+
* 取消一台远程 MCP server 的授权:清掉本机存的令牌。
|
|
72
|
+
*
|
|
73
|
+
* @param id 目标 MCP server 的 id。
|
|
74
|
+
*/
|
|
75
|
+
signOutServer: (id: string) => Promise<any>;
|
|
56
76
|
/**
|
|
57
77
|
* 订阅"装好、改好或重新启用了一台 MCP server"通知(设置页或对话里)。渲染层据此刷新列表、把新 server 并入
|
|
58
78
|
* 当前会话的 usedServers、弹全局 Toast。返回 unsubscribe。
|
package/types/SystemBrowser.d.ts
CHANGED
|
@@ -71,12 +71,16 @@ export default class SystemBrowser {
|
|
|
71
71
|
/**
|
|
72
72
|
* 返回浏览器桥接的连接状态。
|
|
73
73
|
*
|
|
74
|
-
* @returns {connected 是否有扩展连着, clients 连进来的客户端数, browsers 已连接的浏览器种类列表(chrome/edge/unknown)
|
|
74
|
+
* @returns {connected 是否有扩展连着, clients 连进来的客户端数, browsers 已连接的浏览器种类列表(chrome/edge/unknown),
|
|
75
|
+
* port 本渠道监听的端口, listening 是否已在监听, listenError 没能监听的原因(如端口被别的程序占着),在监听时为 null}。
|
|
75
76
|
*/
|
|
76
77
|
status: () => Promise<{
|
|
77
78
|
connected: boolean;
|
|
78
79
|
clients: number;
|
|
79
80
|
browsers: SystemBrowserKind[];
|
|
81
|
+
port: number;
|
|
82
|
+
listening: boolean;
|
|
83
|
+
listenError: string | null;
|
|
80
84
|
}>;
|
|
81
85
|
/**
|
|
82
86
|
* 向扩展发一次 ping 探活。
|
|
@@ -6,8 +6,10 @@ export interface RecorderStartOptions {
|
|
|
6
6
|
stopKey?: number;
|
|
7
7
|
/** 时长上限,缺省 10 分钟 */
|
|
8
8
|
maxMs?: number;
|
|
9
|
-
/**
|
|
9
|
+
/** 以管理员身份收输入:经 UAC 拉起助手进程,能录到提权程序(游戏等)里的操作;用户在授权框上取消就抛错 */
|
|
10
10
|
elevated?: boolean;
|
|
11
|
+
/** 合成输入(本产品或别的程序注入的点击与按键)也录进去,缺省只录真人的输入。助理自己演示一遍时用 */
|
|
12
|
+
injected?: boolean;
|
|
11
13
|
}
|
|
12
14
|
export interface RecorderStatus {
|
|
13
15
|
supported: boolean;
|
|
@@ -16,8 +18,10 @@ export interface RecorderStatus {
|
|
|
16
18
|
elapsedMs: number;
|
|
17
19
|
events: number;
|
|
18
20
|
frames: number;
|
|
19
|
-
/**
|
|
21
|
+
/** 输入由带管理员权限的钩子在收 */
|
|
20
22
|
elevated: boolean;
|
|
23
|
+
/** 合成输入也在录 */
|
|
24
|
+
injected: boolean;
|
|
21
25
|
}
|
|
22
26
|
export interface RecorderCapabilities {
|
|
23
27
|
supported: boolean;
|
|
@@ -35,8 +39,12 @@ export interface RecorderResult {
|
|
|
35
39
|
events: number;
|
|
36
40
|
frames: number;
|
|
37
41
|
durationMs: number;
|
|
38
|
-
|
|
42
|
+
/** error 是录制中途出了错(截不到画面、提权助手退出),原因在 error;轨迹照样写到出错那一刻 */
|
|
43
|
+
stoppedBy: "hotkey" | "api" | "timeout" | "error";
|
|
44
|
+
error: string | null;
|
|
45
|
+
/** 录制的任何一段输入由带管理员权限的钩子收 */
|
|
39
46
|
elevated: boolean;
|
|
47
|
+
injected: boolean;
|
|
40
48
|
}
|
|
41
49
|
export default class SystemRecorder {
|
|
42
50
|
private transport;
|
|
@@ -44,13 +52,14 @@ export default class SystemRecorder {
|
|
|
44
52
|
/**
|
|
45
53
|
* 开始录制用户操作:低层钩子收鼠标键盘、定时截主屏,每个按下/抬起/按键带上前后帧与那一刻的前台窗口。
|
|
46
54
|
* 只记事实,不做任何手势归并;录制期间每一拍向发起方视图推 `recorder.progress`(RecorderStatus),
|
|
47
|
-
* 收尾(F12、超时、stop)写完轨迹后推一次 `recorder.stopped`(RecorderResult),用 ipcRenderer.on 接;
|
|
48
|
-
*
|
|
55
|
+
* 收尾(F12、超时、stop、出错)写完轨迹后推一次 `recorder.stopped`(RecorderResult),用 ipcRenderer.on 接;
|
|
56
|
+
* 出错结束的 stoppedBy 是 "error",原因在 error 里。
|
|
49
57
|
* 产物落在**本插件的设备空间**里 recordings/<id>/:trajectory.json + frames/*.jpg —— 录到的是整屏画面
|
|
50
58
|
* 与窗口标题,只属于这台设备,不进工作空间;用 window.file 的 `devicespace` 分类按同样的相对路径读写。
|
|
51
59
|
*
|
|
52
|
-
* @param options `{fps?, stopKey?, maxMs?, elevated?}`,缺省 4 帧/秒、F12 结束、10 分钟上限;
|
|
53
|
-
* elevated 为真时经 UAC 申请管理员权限,先用 capabilities()
|
|
60
|
+
* @param options `{fps?, stopKey?, maxMs?, elevated?, injected?}`,缺省 4 帧/秒、F12 结束、10 分钟上限;
|
|
61
|
+
* elevated 为真时经 UAC 申请管理员权限,先用 capabilities() 看要不要;画面一律由宿主截。
|
|
62
|
+
* injected 为真时合成输入也录进去(助理自己演示时用);任务回放这类合成输入缺省不进轨迹。
|
|
54
63
|
* @returns `{id, dir, relPath, elevated}`。
|
|
55
64
|
* @throws 平台不支持(目前仅 Windows)、已有录制在进行、钩子安装失败、用户在授权框上取消时抛错。
|
|
56
65
|
*/
|
|
@@ -60,15 +69,22 @@ export default class SystemRecorder {
|
|
|
60
69
|
relPath: string;
|
|
61
70
|
elevated: boolean;
|
|
62
71
|
}>;
|
|
72
|
+
/**
|
|
73
|
+
* 录到一半申请管理员权限:经 UAC 拉起助手,之后的输入由它收,画面与时间轴不断。
|
|
74
|
+
*
|
|
75
|
+
* @returns 换过之后的录制状态;已经带管理员权限就原样返回。
|
|
76
|
+
* @throws 没有进行中的录制、用户在授权框上取消时抛错(录制照常继续)。
|
|
77
|
+
*/
|
|
78
|
+
elevate: () => Promise<RecorderStatus>;
|
|
63
79
|
/**
|
|
64
80
|
* 结束录制并写出轨迹。按 stopKey 结束的录制不必再调。
|
|
65
81
|
*
|
|
66
|
-
* @returns `{id, dir, relPath, events, frames, durationMs, stoppedBy, elevated}`。
|
|
82
|
+
* @returns `{id, dir, relPath, events, frames, durationMs, stoppedBy, error, elevated, injected}`。
|
|
67
83
|
* @throws 没有进行中的录制时抛错。
|
|
68
84
|
*/
|
|
69
85
|
stop: () => Promise<RecorderResult>;
|
|
70
86
|
/**
|
|
71
|
-
*
|
|
87
|
+
* 录制状态:是否支持、是否进行中、已录事件数与帧数、是否带管理员权限、是否在录合成输入。
|
|
72
88
|
*/
|
|
73
89
|
status: () => Promise<RecorderStatus>;
|
|
74
90
|
/**
|