@seastudio/sdk 3.7.3 → 4.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.
@@ -1,1854 +0,0 @@
1
- 'use strict';
2
-
3
- var chunk3I7UM66P_cjs = require('./chunk-3I7UM66P.cjs');
4
-
5
- // src/mcp/seastudio/tools-file.ts
6
- function annotateTool(tool, annotations, outputSchema) {
7
- return {
8
- ...tool,
9
- annotations,
10
- ...outputSchema ? { outputSchema } : {}
11
- };
12
- }
13
- var rootedPathEvidenceOutputSchema = {
14
- type: "object",
15
- properties: {
16
- rootId: { type: "string" },
17
- path: { type: "string" }
18
- },
19
- required: ["rootId", "path"]
20
- };
21
- var rootedWriteEvidenceOutputSchema = {
22
- type: "object",
23
- properties: {
24
- rootId: { type: "string" },
25
- path: { type: "string" },
26
- written: { type: "boolean" }
27
- },
28
- required: ["rootId", "path", "written"]
29
- };
30
- var dualPathEvidenceOutputSchema = {
31
- type: "object",
32
- properties: {
33
- sourceRootId: { type: "string" },
34
- sourcePath: { type: "string" },
35
- destRootId: { type: "string" },
36
- destPath: { type: "string" }
37
- },
38
- required: ["sourceRootId", "sourcePath", "destRootId", "destPath"]
39
- };
40
- var batchFlattenCopyEvidenceOutputSchema = {
41
- type: "object",
42
- properties: {
43
- sourceRootId: { type: "string" },
44
- sourcePath: { type: "string" },
45
- destRootId: { type: "string" },
46
- destPath: { type: "string" },
47
- copiedCount: { type: "number" },
48
- totalCount: { type: "number" },
49
- errors: { type: "array", items: { type: "object", additionalProperties: true } }
50
- },
51
- required: ["sourceRootId", "sourcePath", "destRootId", "destPath", "copiedCount", "totalCount", "errors"]
52
- };
53
- var fileDownloadEvidenceOutputSchema = {
54
- type: "object",
55
- properties: {
56
- location: { type: "string", enum: ["workspace", "absolute"] },
57
- rootId: { type: "string" },
58
- absoluteDir: { type: "string" },
59
- path: { type: "string" },
60
- savedPath: { type: "string" },
61
- size: { type: "number" },
62
- mime: { type: "string" }
63
- },
64
- required: ["location", "path", "savedPath", "size"]
65
- };
66
- var fileUrlEvidenceOutputSchema = {
67
- type: "object",
68
- properties: {
69
- rootId: { type: "string" },
70
- path: { type: "string" },
71
- url: { type: "string" },
72
- filename: { type: "string" },
73
- size: { type: "number" },
74
- checksum: { type: "string" }
75
- },
76
- required: ["rootId", "path", "url", "filename", "size"]
77
- };
78
- var shellSessionSnapshotEvidenceOutputSchema = {
79
- type: "object",
80
- properties: {
81
- sessionId: { type: "string" },
82
- shell: { type: "string", enum: ["bash", "pwsh", "cmd", "sh"] },
83
- cwd: { type: "string" },
84
- pid: { type: "number" },
85
- alive: { type: "boolean" },
86
- openedAt: { type: "number" },
87
- label: { type: "string" },
88
- pluginId: { type: "string" },
89
- projectId: { type: "string" },
90
- agentInstanceId: { type: "string" },
91
- pendingCommandId: { type: "string" },
92
- lastCommandId: { type: "string" },
93
- lastExitCode: { type: "number" },
94
- lastDurationMs: { type: "number" },
95
- entryCount: { type: "number" },
96
- droppedCount: { type: "number" }
97
- },
98
- required: ["sessionId", "shell", "pid", "alive", "openedAt", "entryCount", "droppedCount"]
99
- };
100
- var shellSessionOpenEvidenceOutputSchema = {
101
- type: "object",
102
- properties: {
103
- sessionId: { type: "string" },
104
- shell: { type: "string", enum: ["bash", "pwsh", "cmd", "sh"] },
105
- cwd: { type: "string" },
106
- pid: { type: "number" },
107
- openedAt: { type: "number" }
108
- },
109
- required: ["sessionId", "shell", "pid", "openedAt"]
110
- };
111
- var shellSessionRunEvidenceOutputSchema = {
112
- type: "object",
113
- properties: {
114
- sessionId: { type: "string" },
115
- commandId: { type: "string" },
116
- startedAt: { type: "number" },
117
- running: { type: "boolean" }
118
- },
119
- required: ["sessionId", "commandId", "startedAt", "running"]
120
- };
121
- var shellSessionSignalEvidenceOutputSchema = {
122
- type: "object",
123
- properties: {
124
- sessionId: { type: "string" },
125
- signal: { type: "string", enum: ["INT", "TERM", "KILL"] },
126
- ok: { type: "boolean" },
127
- deliveredAt: { type: "number" }
128
- },
129
- required: ["sessionId", "signal", "ok", "deliveredAt"]
130
- };
131
- var shellSessionCloseEvidenceOutputSchema = {
132
- type: "object",
133
- properties: {
134
- sessionId: { type: "string" },
135
- closed: { type: "boolean" },
136
- exitCode: { type: "number" }
137
- },
138
- required: ["sessionId", "closed"]
139
- };
140
- var fileTools = [
141
- annotateTool({
142
- name: "seastudio-file_get_selected",
143
- description: "\u83B7\u53D6\u5F53\u524D\u6587\u4EF6\u89C6\u56FE\u9009\u4E2D\u7684\u6587\u4EF6\u6216\u76EE\u5F55\u3002\u9002\u7528\u4E8E\u7EED\u63A5\u201C\u5F53\u524D\u9009\u4E2D\u9879\u201D\u7684\u4E0A\u4E0B\u6587\u3002",
144
- inputSchema: {
145
- type: "object",
146
- properties: {}
147
- }
148
- }, {
149
- operationKind: "read",
150
- requiresExecutionEvidence: false,
151
- rawDomain: "filesystem"
152
- }),
153
- annotateTool({
154
- name: "seastudio-file_read",
155
- description: "\u8BFB\u53D6\u6307\u5B9A\u6587\u4EF6\u7684\u6587\u672C\u5185\u5BB9\uFF0C\u9ED8\u8BA4\u6309 utf-8 \u89E3\u7801\uFF0C\u4E5F\u53EF\u901A\u8FC7 encoding \u6307\u5B9A\u5176\u4ED6\u6587\u672C\u7F16\u7801\u3002\u9002\u7528\u4E8E\u67E5\u770B\u3001\u5F15\u7528\u6216\u5206\u6790\u5DF2\u77E5\u8DEF\u5F84\u7684\u4EE3\u7801/\u914D\u7F6E/\u6587\u6863\u6587\u4EF6\uFF0C\u4E0D\u4F1A\u4FEE\u6539\u9879\u76EE\u3002\u4E0D\u8981\u6839\u636E\u6587\u4EF6\u540E\u7F00\u81EA\u884C\u62D2\u7EDD\u8BFB\u53D6\uFF1B\u53EA\u5728\u786E\u8BA4\u9700\u8981 base64 \u8BFB\u53D6\u771F\u5B9E\u4E8C\u8FDB\u5236\u6587\u4EF6\u65F6\u624D\u6539\u7528 seastudio-file_read_binary\u3002",
156
- inputSchema: {
157
- type: "object",
158
- properties: {
159
- rootId: { type: "string", description: "\u76EE\u6807\u9879\u76EE\u6839\uFF1A'workspace' \u8868\u793A\u5F53\u524D\u6FC0\u6D3B\u9879\u76EE\uFF1B'proj-<projectId>' \u8868\u793A\u6309 id \u5BFB\u5740\u67D0\u4E2A\u9879\u76EE" },
160
- path: { type: "string", description: "\u6587\u4EF6\u8DEF\u5F84\uFF08\u76F8\u5BF9\u4E8E rootId\uFF09" },
161
- encoding: { type: "string", description: "\u6587\u672C\u7F16\u7801\uFF08\u53EF\u9009\uFF0C\u9ED8\u8BA4 'utf-8'\uFF1B\u4F8B\u5982 utf-8\u3001utf-16le\u3001gbk\u3001gb18030\u3001big5\u3001latin1\uFF09" },
162
- offset: { type: "number", description: "\u8D77\u59CB\u884C\u504F\u79FB\uFF08\u53EF\u9009\uFF09" },
163
- limit: { type: "number", description: "\u8BFB\u53D6\u884C\u6570\u9650\u5236\uFF08\u53EF\u9009\uFF09" }
164
- },
165
- required: ["rootId", "path"]
166
- }
167
- }, {
168
- operationKind: "read",
169
- requiresExecutionEvidence: false,
170
- rawDomain: "filesystem"
171
- }),
172
- annotateTool({
173
- name: "seastudio-file_write",
174
- description: "\u5C06\u6587\u672C\u5185\u5BB9\u5199\u5165\u6307\u5B9A\u8DEF\u5F84\u3002\u4EC5\u5728\u9700\u8981\u771F\u5B9E\u521B\u5EFA\u6216\u4FEE\u6539\u6587\u4EF6\u65F6\u4F7F\u7528\uFF0C\u6210\u529F\u540E\u6587\u4EF6\u5185\u5BB9\u4F1A\u843D\u76D8\u3002",
175
- inputSchema: {
176
- type: "object",
177
- properties: {
178
- rootId: { type: "string", description: "\u76EE\u6807\u9879\u76EE\u6839\uFF1A'workspace' \u8868\u793A\u5F53\u524D\u6FC0\u6D3B\u9879\u76EE\uFF1B'proj-<projectId>' \u8868\u793A\u6309 id \u5BFB\u5740\u67D0\u4E2A\u9879\u76EE" },
179
- path: { type: "string", description: "\u6587\u4EF6\u8DEF\u5F84\uFF08\u76F8\u5BF9\u4E8E rootId\uFF09" },
180
- content: { type: "string", description: "\u6587\u4EF6\u5185\u5BB9" }
181
- },
182
- required: ["rootId", "path", "content"]
183
- }
184
- }, {
185
- operationKind: "mutate",
186
- requiresExecutionEvidence: true,
187
- rawDomain: "workspace"
188
- }, rootedWriteEvidenceOutputSchema),
189
- annotateTool({
190
- name: "seastudio-file_list",
191
- description: "\u5217\u51FA\u6307\u5B9A\u76EE\u5F55\u7684\u76F4\u63A5\u5B50\u9879\uFF08\u4E0D\u9012\u5F52\uFF0C\u7C7B\u4F3C ls\uFF09\u3002\u9002\u7528\u4E8E\u5728\u6267\u884C\u8BFB\u5199\u524D\u786E\u8BA4\u76EE\u5F55\u5185\u5BB9\u6216\u5B9A\u4F4D\u76EE\u6807\u8DEF\u5F84\u3002\u5982\u9700\u9012\u5F52\u904D\u5386\u5B50\u6811\u8BF7\u4F7F\u7528 seastudio-file_tree\u3002",
192
- inputSchema: {
193
- type: "object",
194
- properties: {
195
- rootId: { type: "string", description: "\u76EE\u6807\u9879\u76EE\u6839\uFF1A'workspace' \u8868\u793A\u5F53\u524D\u6FC0\u6D3B\u9879\u76EE\uFF1B'proj-<projectId>' \u8868\u793A\u6309 id \u5BFB\u5740\u67D0\u4E2A\u9879\u76EE" },
196
- path: { type: "string", description: "\u76EE\u5F55\u8DEF\u5F84\uFF08\u76F8\u5BF9\u4E8E rootId\uFF09" }
197
- },
198
- required: ["rootId", "path"]
199
- }
200
- }, {
201
- operationKind: "read",
202
- requiresExecutionEvidence: false,
203
- rawDomain: "filesystem"
204
- }),
205
- annotateTool({
206
- name: "seastudio-file_tree",
207
- description: "\u9012\u5F52\u5217\u51FA\u6307\u5B9A\u76EE\u5F55\u7684\u6574\u4E2A\u5B50\u6811\uFF08\u6241\u5E73 items \u5217\u8868\uFF0C\u6BCF\u9879\u542B\u76F8\u5BF9 rootId \u7684\u6839\u76F8\u5BF9\u8DEF\u5F84\uFF09\u3002\u4EC5\u5728\u786E\u5B9E\u9700\u8981\u5168\u6811\u89C6\u56FE\u65F6\u4F7F\u7528\uFF1B\u8FD4\u56DE\u7ED3\u679C\u53EF\u80FD\u5F88\u5927\uFF0C\u5EFA\u8BAE\u4F18\u5148\u4F7F\u7528 seastudio-file_list \u6309\u9700\u9010\u5C42\u63A2\u7D22\u3002",
208
- inputSchema: {
209
- type: "object",
210
- properties: {
211
- rootId: { type: "string", description: "\u76EE\u6807\u9879\u76EE\u6839\uFF1A'workspace' \u8868\u793A\u5F53\u524D\u6FC0\u6D3B\u9879\u76EE\uFF1B'proj-<projectId>' \u8868\u793A\u6309 id \u5BFB\u5740\u67D0\u4E2A\u9879\u76EE" },
212
- path: { type: "string", description: "\u76EE\u5F55\u8DEF\u5F84\uFF08\u76F8\u5BF9\u4E8E rootId\uFF09" },
213
- maxDepth: { type: "number", description: "\u6700\u5927\u9012\u5F52\u6DF1\u5EA6\uFF080 \u8868\u793A\u53EA\u5217\u5F53\u524D\u76EE\u5F55\uFF0C\u7B49\u4EF7\u4E8E file_list\uFF1B\u7701\u7565\u8868\u793A\u4E0D\u9650\u5236\uFF09" },
214
- maxEntries: { type: "number", description: "\u6700\u591A\u8FD4\u56DE\u591A\u5C11\u4E2A\u6761\u76EE\uFF0C\u8D85\u51FA\u540E\u622A\u65AD\u5E76\u5728\u54CD\u5E94\u91CC truncated=true\uFF08\u9ED8\u8BA4 50000\uFF09" }
215
- },
216
- required: ["rootId", "path"]
217
- }
218
- }, {
219
- operationKind: "read",
220
- requiresExecutionEvidence: false,
221
- rawDomain: "filesystem"
222
- }),
223
- annotateTool({
224
- name: "seastudio-file_delete",
225
- description: "\u5220\u9664\u6307\u5B9A\u8DEF\u5F84\u7684\u6587\u4EF6\u6216\u76EE\u5F55\u3002\u4EC5\u5728\u7528\u6237\u660E\u786E\u8981\u6C42\u79FB\u9664\u76EE\u6807\u65F6\u4F7F\u7528\uFF0C\u6210\u529F\u540E\u76EE\u6807\u4F1A\u4ECE\u9879\u76EE\u4E2D\u6D88\u5931\u3002",
226
- inputSchema: {
227
- type: "object",
228
- properties: {
229
- rootId: { type: "string", description: "\u76EE\u6807\u9879\u76EE\u6839\uFF1A'workspace' \u8868\u793A\u5F53\u524D\u6FC0\u6D3B\u9879\u76EE\uFF1B'proj-<projectId>' \u8868\u793A\u6309 id \u5BFB\u5740\u67D0\u4E2A\u9879\u76EE" },
230
- path: { type: "string", description: "\u8981\u5220\u9664\u7684\u8DEF\u5F84\uFF08\u76F8\u5BF9\u4E8E rootId\uFF09" }
231
- },
232
- required: ["rootId", "path"]
233
- }
234
- }, {
235
- operationKind: "mutate",
236
- requiresExecutionEvidence: true,
237
- rawDomain: "workspace"
238
- }, rootedPathEvidenceOutputSchema),
239
- annotateTool({
240
- name: "seastudio-file_mkdir",
241
- description: "\u521B\u5EFA\u76EE\u5F55\uFF08\u652F\u6301\u9012\u5F52\u521B\u5EFA\uFF09\u3002\u9002\u7528\u4E8E\u4E3A\u65B0\u6587\u4EF6\u6216\u5BFC\u51FA\u7ED3\u679C\u51C6\u5907\u76EE\u6807\u76EE\u5F55\u3002",
242
- inputSchema: {
243
- type: "object",
244
- properties: {
245
- rootId: { type: "string", description: "\u76EE\u6807\u9879\u76EE\u6839\uFF1A'workspace' \u8868\u793A\u5F53\u524D\u6FC0\u6D3B\u9879\u76EE\uFF1B'proj-<projectId>' \u8868\u793A\u6309 id \u5BFB\u5740\u67D0\u4E2A\u9879\u76EE" },
246
- path: { type: "string", description: "\u76EE\u5F55\u8DEF\u5F84\uFF08\u76F8\u5BF9\u4E8E rootId\uFF09" }
247
- },
248
- required: ["rootId", "path"]
249
- }
250
- }, {
251
- operationKind: "mutate",
252
- requiresExecutionEvidence: true,
253
- rawDomain: "workspace"
254
- }, rootedPathEvidenceOutputSchema),
255
- annotateTool({
256
- name: "seastudio-file_exists",
257
- description: "\u68C0\u67E5\u6587\u4EF6\u6216\u76EE\u5F55\u662F\u5426\u5B58\u5728\u3002\u9002\u7528\u4E8E\u5728\u6267\u884C\u5199\u5165\u3001\u5220\u9664\u3001\u91CD\u547D\u540D\u524D\u505A\u524D\u7F6E\u5224\u65AD\u3002",
258
- inputSchema: {
259
- type: "object",
260
- properties: {
261
- rootId: { type: "string", description: "\u76EE\u6807\u9879\u76EE\u6839\uFF1A'workspace' \u8868\u793A\u5F53\u524D\u6FC0\u6D3B\u9879\u76EE\uFF1B'proj-<projectId>' \u8868\u793A\u6309 id \u5BFB\u5740\u67D0\u4E2A\u9879\u76EE" },
262
- path: { type: "string", description: "\u8981\u68C0\u67E5\u7684\u8DEF\u5F84\uFF08\u76F8\u5BF9\u4E8E rootId\uFF09" }
263
- },
264
- required: ["rootId", "path"]
265
- }
266
- }, {
267
- operationKind: "read",
268
- requiresExecutionEvidence: false,
269
- rawDomain: "workspace"
270
- }),
271
- annotateTool({
272
- name: "seastudio-file_stat",
273
- description: "\u83B7\u53D6\u6587\u4EF6\u6216\u76EE\u5F55\u7684\u72B6\u6001\u4FE1\u606F\uFF0C\u5982\u7C7B\u578B\u3001\u5927\u5C0F\u548C\u4FEE\u6539\u65F6\u95F4\uFF0C\u7528\u4E8E\u5224\u65AD\u76EE\u6807\u5BF9\u8C61\u7279\u5F81\u3002",
274
- inputSchema: {
275
- type: "object",
276
- properties: {
277
- rootId: { type: "string", description: "\u76EE\u6807\u9879\u76EE\u6839\uFF1A'workspace' \u8868\u793A\u5F53\u524D\u6FC0\u6D3B\u9879\u76EE\uFF1B'proj-<projectId>' \u8868\u793A\u6309 id \u5BFB\u5740\u67D0\u4E2A\u9879\u76EE" },
278
- path: { type: "string", description: "\u6587\u4EF6\u8DEF\u5F84" }
279
- },
280
- required: ["rootId", "path"]
281
- }
282
- }, {
283
- operationKind: "read",
284
- requiresExecutionEvidence: false,
285
- rawDomain: "filesystem"
286
- }),
287
- annotateTool({
288
- name: "seastudio-file_info",
289
- description: "\u83B7\u53D6\u6587\u4EF6\u6216\u76EE\u5F55\u7684\u8BE6\u7EC6\u4FE1\u606F\uFF0C\u5982\u7C7B\u578B\u3001\u5927\u5C0F\u3001\u4FEE\u6539\u65F6\u95F4\u548C MIME\uFF0C\u7528\u4E8E\u5728\u8BFB\u53D6\u524D\u505A\u5224\u65AD\u3002",
290
- inputSchema: {
291
- type: "object",
292
- properties: {
293
- rootId: { type: "string", description: "\u76EE\u6807\u9879\u76EE\u6839\uFF1A'workspace' \u8868\u793A\u5F53\u524D\u6FC0\u6D3B\u9879\u76EE\uFF1B'proj-<projectId>' \u8868\u793A\u6309 id \u5BFB\u5740\u67D0\u4E2A\u9879\u76EE" },
294
- path: { type: "string", description: "\u6587\u4EF6\u6216\u76EE\u5F55\u8DEF\u5F84" }
295
- },
296
- required: ["rootId", "path"]
297
- }
298
- }, {
299
- operationKind: "read",
300
- requiresExecutionEvidence: false,
301
- rawDomain: "filesystem"
302
- }),
303
- annotateTool({
304
- name: "seastudio-file_search",
305
- description: "\u5728\u6307\u5B9A root \u4E2D\u6309 query \u641C\u7D22\u6587\u4EF6\u5185\u5BB9\uFF0C\u53EF\u9009\u9650\u5B9A\u5B50\u8DEF\u5F84\u548C glob\u3002",
306
- inputSchema: {
307
- type: "object",
308
- properties: {
309
- rootId: { type: "string", description: "\u76EE\u6807\u9879\u76EE\u6839\uFF1A'workspace' \u8868\u793A\u5F53\u524D\u6FC0\u6D3B\u9879\u76EE\uFF1B'proj-<projectId>' \u8868\u793A\u6309 id \u5BFB\u5740\u67D0\u4E2A\u9879\u76EE" },
310
- query: { type: "string", description: "\u641C\u7D22\u5185\u5BB9\u6216\u6A21\u5F0F" },
311
- path: { type: "string", description: "\u76F8\u5BF9 root \u7684\u641C\u7D22\u5B50\u8DEF\u5F84\uFF08\u53EF\u9009\uFF09" },
312
- glob: { type: "string", description: "\u6587\u4EF6 glob \u6A21\u5F0F\uFF08\u53EF\u9009\uFF09" },
313
- headLimit: { type: "number", description: "\u8FD4\u56DE\u7ED3\u679C\u6570\u91CF\u9650\u5236\uFF08\u53EF\u9009\uFF09" }
314
- },
315
- required: ["rootId", "query"]
316
- }
317
- }, {
318
- operationKind: "read",
319
- requiresExecutionEvidence: false,
320
- rawDomain: "filesystem"
321
- }),
322
- annotateTool({
323
- name: "seastudio-file_rename",
324
- description: "\u91CD\u547D\u540D\u6587\u4EF6\u6216\u76EE\u5F55\u3002\u4EC5\u5728\u7528\u6237\u660E\u786E\u8981\u6C42\u6539\u540D\u65F6\u4F7F\u7528\uFF0C\u6210\u529F\u540E\u539F\u8DEF\u5F84\u4F1A\u53D8\u66F4\u4E3A\u65B0\u540D\u79F0\u3002",
325
- inputSchema: {
326
- type: "object",
327
- properties: {
328
- rootId: { type: "string", description: "\u76EE\u6807\u9879\u76EE\u6839\uFF1A'workspace' \u8868\u793A\u5F53\u524D\u6FC0\u6D3B\u9879\u76EE\uFF1B'proj-<projectId>' \u8868\u793A\u6309 id \u5BFB\u5740\u67D0\u4E2A\u9879\u76EE" },
329
- path: { type: "string", description: "\u539F\u8DEF\u5F84\uFF08\u76F8\u5BF9\u4E8E rootId\uFF09" },
330
- newName: { type: "string", description: "\u65B0\u540D\u79F0" }
331
- },
332
- required: ["rootId", "path", "newName"]
333
- }
334
- }, {
335
- operationKind: "mutate",
336
- requiresExecutionEvidence: true,
337
- rawDomain: "workspace"
338
- }, rootedPathEvidenceOutputSchema),
339
- annotateTool({
340
- name: "seastudio-file_move",
341
- description: "\u5C06\u6E90\u8DEF\u5F84\u79FB\u52A8\u5230\u76EE\u6807\u8DEF\u5F84\u3002\u8DEF\u5F84\u7EDF\u4E00\u4F7F\u7528 rootId + path\u3002",
342
- inputSchema: {
343
- type: "object",
344
- properties: {
345
- sourceRootId: { type: "string", description: "\u6E90\u9879\u76EE\u6839\uFF1A'workspace' \u8868\u793A\u5F53\u524D\u6FC0\u6D3B\u9879\u76EE\uFF1B'proj-<projectId>' \u8868\u793A\u6309 id \u5BFB\u5740\u67D0\u4E2A\u9879\u76EE" },
346
- sourcePath: { type: "string", description: "\u6E90\u8DEF\u5F84\uFF08\u76F8\u5BF9\u4E8E sourceRootId\uFF09" },
347
- destRootId: { type: "string", description: "\u76EE\u6807\u9879\u76EE\u6839\uFF1A'workspace' \u8868\u793A\u5F53\u524D\u6FC0\u6D3B\u9879\u76EE\uFF1B'proj-<projectId>' \u8868\u793A\u6309 id \u5BFB\u5740\u67D0\u4E2A\u9879\u76EE" },
348
- destPath: { type: "string", description: "\u76EE\u6807\u8DEF\u5F84\uFF08\u76F8\u5BF9\u4E8E destRootId\uFF09" }
349
- },
350
- required: ["sourceRootId", "sourcePath", "destRootId", "destPath"]
351
- }
352
- }, {
353
- operationKind: "mutate",
354
- requiresExecutionEvidence: true,
355
- rawDomain: "workspace"
356
- }, dualPathEvidenceOutputSchema),
357
- annotateTool({
358
- name: "seastudio-file_copy_to",
359
- description: "\u5C06\u6E90\u8DEF\u5F84\u590D\u5236\u5230\u76EE\u6807\u8DEF\u5F84\u3002\u8DEF\u5F84\u7EDF\u4E00\u4F7F\u7528 rootId + path\u3002",
360
- inputSchema: {
361
- type: "object",
362
- properties: {
363
- sourceRootId: { type: "string", description: "\u6E90\u9879\u76EE\u6839\uFF1A'workspace' \u8868\u793A\u5F53\u524D\u6FC0\u6D3B\u9879\u76EE\uFF1B'proj-<projectId>' \u8868\u793A\u6309 id \u5BFB\u5740\u67D0\u4E2A\u9879\u76EE" },
364
- sourcePath: { type: "string", description: "\u6E90\u8DEF\u5F84\uFF08\u76F8\u5BF9\u4E8E sourceRootId\uFF09" },
365
- destRootId: { type: "string", description: "\u76EE\u6807\u9879\u76EE\u6839\uFF1A'workspace' \u8868\u793A\u5F53\u524D\u6FC0\u6D3B\u9879\u76EE\uFF1B'proj-<projectId>' \u8868\u793A\u6309 id \u5BFB\u5740\u67D0\u4E2A\u9879\u76EE" },
366
- destPath: { type: "string", description: "\u76EE\u6807\u8DEF\u5F84\uFF08\u76F8\u5BF9\u4E8E destRootId\uFF09" }
367
- },
368
- required: ["sourceRootId", "sourcePath", "destRootId", "destPath"]
369
- }
370
- }, {
371
- operationKind: "mutate",
372
- requiresExecutionEvidence: true,
373
- rawDomain: "workspace"
374
- }, dualPathEvidenceOutputSchema),
375
- annotateTool({
376
- name: "seastudio-file_get_url",
377
- description: "\u4E0A\u4F20\u6307\u5B9A\u6839\u76EE\u5F55\u4E2D\u7684\u6587\u4EF6\u5E76\u8FD4\u56DE\u53EF\u8BBF\u95EE URL\u3002\u8C03\u7528\u65F6\u4F20\u5165 rootId + path\uFF0CSeaStudio \u4F1A\u901A\u8FC7 dataserver \u4E0A\u4F20\u8BE5\u6587\u4EF6\u3002",
378
- inputSchema: {
379
- type: "object",
380
- properties: {
381
- rootId: { type: "string", description: "\u76EE\u6807\u9879\u76EE\u6839\uFF1A'workspace' \u8868\u793A\u5F53\u524D\u6FC0\u6D3B\u9879\u76EE\uFF1B'proj-<projectId>' \u8868\u793A\u6309 id \u5BFB\u5740\u67D0\u4E2A\u9879\u76EE" },
382
- path: { type: "string", description: "\u6587\u4EF6\u8DEF\u5F84\uFF08\u76F8\u5BF9\u4E8E rootId\uFF09" }
383
- },
384
- required: ["rootId", "path"]
385
- }
386
- }, {
387
- operationKind: "read",
388
- requiresExecutionEvidence: true,
389
- rawDomain: "filesystem"
390
- }, fileUrlEvidenceOutputSchema),
391
- annotateTool({
392
- name: "seastudio-file_download",
393
- description: "\u4ECE\u8FDC\u7A0B URL \u4E0B\u8F7D\u6587\u4EF6\u3002\u4E8C\u9009\u4E00\uFF1A\u2460 \u5728\u76EE\u6807\u9879\u76EE\u6839\u4E0B\u6307\u5B9A\u76F8\u5BF9\u5B50\u76EE\u5F55\uFF08rootId + path\uFF09\uFF1B\u2461 \u6307\u5B9A absoluteDir \u4E3A\u672C\u5730\u7EDD\u5BF9\u8DEF\u5F84\u76EE\u5F55\uFF08\u542B ~/ \u5C55\u5F00\uFF09\uFF0C\u5FFD\u7565 rootId/path\u3002\u4EC5\u5728\u9700\u8981\u771F\u5B9E\u5F15\u5165\u8FDC\u7AEF\u8D44\u6E90\u65F6\u4F7F\u7528\u3002",
394
- inputSchema: {
395
- type: "object",
396
- properties: {
397
- rootId: { type: "string", description: "\u76EE\u6807\u9879\u76EE\u6839\uFF08\u4E0E path \u8054\u7528\uFF1B\u82E5\u63D0\u4F9B absoluteDir \u5219\u5FFD\u7565\uFF09\u3002'workspace' \u8868\u793A\u5F53\u524D\u6FC0\u6D3B\u9879\u76EE\uFF1B'proj-<projectId>' \u6309 id \u5BFB\u5740\u3002" },
398
- path: { type: "string", description: "\u4FDD\u5B58\u76EE\u5F55\u8DEF\u5F84\uFF08\u76F8\u5BF9\u4E8E rootId\uFF1B\u672A\u4F7F\u7528 absoluteDir \u65F6\u5FC5\u586B\uFF09" },
399
- absoluteDir: {
400
- type: "string",
401
- description: "\u672C\u5730\u7EDD\u5BF9\u8DEF\u5F84\u76EE\u5F55\uFF08\u53EF\u542B ~ \u6216 ~/\uFF09\uFF1B\u82E5\u8BBE\u7F6E\u5219\u4E0B\u8F7D\u5230\u6B64\u76EE\u5F55\uFF0C\u4E0D\u518D\u4F7F\u7528 workspace \u76F8\u5BF9\u8DEF\u5F84"
402
- },
403
- url: { type: "string", description: "\u8FDC\u7A0B\u6587\u4EF6 URL" },
404
- filenameHint: { type: "string", description: "\u6587\u4EF6\u540D\u63D0\u793A\uFF08\u53EF\u9009\uFF09" }
405
- },
406
- required: ["url"]
407
- }
408
- }, {
409
- operationKind: "mutate",
410
- requiresExecutionEvidence: true,
411
- rawDomain: "filesystem"
412
- }, fileDownloadEvidenceOutputSchema),
413
- annotateTool({
414
- name: "seastudio-file_write_binary",
415
- description: "\u5C06 base64 \u7F16\u7801\u7684\u4E8C\u8FDB\u5236\u5185\u5BB9\u5199\u5165\u6307\u5B9A\u8DEF\u5F84\uFF0C\u9002\u7528\u4E8E xlsx/xls \u7B49\u4E8C\u8FDB\u5236\u6587\u4EF6\u7684\u4FDD\u5B58\u3002",
416
- inputSchema: {
417
- type: "object",
418
- properties: {
419
- rootId: { type: "string", description: "\u76EE\u6807\u9879\u76EE\u6839\uFF1A'workspace' \u8868\u793A\u5F53\u524D\u6FC0\u6D3B\u9879\u76EE\uFF1B'proj-<projectId>' \u8868\u793A\u6309 id \u5BFB\u5740\u67D0\u4E2A\u9879\u76EE" },
420
- path: { type: "string", description: "\u6587\u4EF6\u8DEF\u5F84\uFF08\u76F8\u5BF9\u4E8E rootId\uFF09" },
421
- base64: { type: "string", description: "base64 \u7F16\u7801\u7684\u6587\u4EF6\u5185\u5BB9" }
422
- },
423
- required: ["rootId", "path", "base64"]
424
- }
425
- }, {
426
- operationKind: "mutate",
427
- requiresExecutionEvidence: true,
428
- rawDomain: "workspace"
429
- }),
430
- annotateTool({
431
- name: "seastudio-file_read_binary",
432
- description: "\u8BFB\u53D6\u4E8C\u8FDB\u5236\u6587\u4EF6\u5E76\u8FD4\u56DE base64 \u7F16\u7801\u5185\u5BB9\uFF0C\u9002\u7528\u4E8E xlsx/xls \u7B49\u4E8C\u8FDB\u5236\u6587\u4EF6\u7684\u8BFB\u53D6\u3002",
433
- inputSchema: {
434
- type: "object",
435
- properties: {
436
- rootId: { type: "string", description: "\u76EE\u6807\u9879\u76EE\u6839\uFF1A'workspace' \u8868\u793A\u5F53\u524D\u6FC0\u6D3B\u9879\u76EE\uFF1B'proj-<projectId>' \u8868\u793A\u6309 id \u5BFB\u5740\u67D0\u4E2A\u9879\u76EE" },
437
- path: { type: "string", description: "\u6587\u4EF6\u8DEF\u5F84\uFF08\u76F8\u5BF9\u4E8E rootId\uFF09" }
438
- },
439
- required: ["rootId", "path"]
440
- }
441
- }, {
442
- operationKind: "read",
443
- rawDomain: "filesystem"
444
- }),
445
- annotateTool({
446
- name: "seastudio-file_copy",
447
- description: "\u590D\u5236\u6587\u4EF6\u8DEF\u5F84\u5230\u526A\u8D34\u677F\uFF08\u7528\u4E8E\u540E\u7EED\u7C98\u8D34\uFF09",
448
- inputSchema: {
449
- type: "object",
450
- properties: {
451
- rootId: { type: "string", description: "\u76EE\u6807\u9879\u76EE\u6839\uFF1A'workspace' \u8868\u793A\u5F53\u524D\u6FC0\u6D3B\u9879\u76EE\uFF1B'proj-<projectId>' \u8868\u793A\u6309 id \u5BFB\u5740\u67D0\u4E2A\u9879\u76EE" },
452
- path: { type: "string", description: "\u6587\u4EF6\u8DEF\u5F84\uFF08\u76F8\u5BF9\u4E8E rootId\uFF09" }
453
- },
454
- required: ["rootId", "path"]
455
- }
456
- }, {
457
- operationKind: "system",
458
- requiresExecutionEvidence: true,
459
- rawDomain: "workspace"
460
- }, rootedPathEvidenceOutputSchema),
461
- annotateTool({
462
- name: "seastudio-file_paste",
463
- description: "\u4ECE\u526A\u8D34\u677F\u7C98\u8D34\u6587\u4EF6/\u6587\u4EF6\u5939",
464
- inputSchema: {
465
- type: "object",
466
- properties: {
467
- rootId: { type: "string", description: "\u76EE\u6807\u9879\u76EE\u6839\uFF1A'workspace' \u8868\u793A\u5F53\u524D\u6FC0\u6D3B\u9879\u76EE\uFF1B'proj-<projectId>' \u8868\u793A\u6309 id \u5BFB\u5740\u67D0\u4E2A\u9879\u76EE" },
468
- path: { type: "string", description: "\u76EE\u6807\u76EE\u5F55\u8DEF\u5F84\uFF08\u76F8\u5BF9\u4E8E rootId\uFF09" }
469
- },
470
- required: ["rootId", "path"]
471
- }
472
- }, {
473
- operationKind: "system",
474
- requiresExecutionEvidence: true,
475
- rawDomain: "workspace"
476
- }, rootedPathEvidenceOutputSchema),
477
- annotateTool({
478
- name: "seastudio-file_clipboard_check",
479
- description: "\u68C0\u67E5\u526A\u8D34\u677F\u662F\u5426\u6709\u6709\u6548\u7684\u6587\u4EF6\u8DEF\u5F84",
480
- inputSchema: {
481
- type: "object",
482
- properties: {}
483
- }
484
- }, {
485
- operationKind: "read",
486
- requiresExecutionEvidence: false,
487
- rawDomain: "workspace"
488
- }),
489
- annotateTool({
490
- name: "seastudio-file_copy_path",
491
- description: "\u590D\u5236\u6587\u4EF6\u8DEF\u5F84\u6587\u672C\u5230\u526A\u8D34\u677F",
492
- inputSchema: {
493
- type: "object",
494
- properties: {
495
- rootId: { type: "string", description: "\u76EE\u6807\u9879\u76EE\u6839\uFF1A'workspace' \u8868\u793A\u5F53\u524D\u6FC0\u6D3B\u9879\u76EE\uFF1B'proj-<projectId>' \u8868\u793A\u6309 id \u5BFB\u5740\u67D0\u4E2A\u9879\u76EE" },
496
- path: { type: "string", description: "\u6587\u4EF6\u8DEF\u5F84\uFF08\u76F8\u5BF9\u4E8E rootId\uFF09" }
497
- },
498
- required: ["rootId", "path"]
499
- }
500
- }, {
501
- operationKind: "system",
502
- requiresExecutionEvidence: true,
503
- rawDomain: "workspace"
504
- }, rootedPathEvidenceOutputSchema),
505
- annotateTool({
506
- name: "seastudio-file_trash",
507
- description: "\u5C06\u6587\u4EF6\u6216\u6587\u4EF6\u5939\u79FB\u52A8\u5230\u7CFB\u7EDF\u56DE\u6536\u7AD9\u3002\u4EC5\u5728\u7528\u6237\u660E\u786E\u8981\u6C42\u79FB\u9664\u76EE\u6807\u4F46\u4FDD\u7559\u53EF\u6062\u590D\u6027\u65F6\u4F7F\u7528\u3002",
508
- inputSchema: {
509
- type: "object",
510
- properties: {
511
- rootId: { type: "string", description: "\u76EE\u6807\u9879\u76EE\u6839\uFF1A'workspace' \u8868\u793A\u5F53\u524D\u6FC0\u6D3B\u9879\u76EE\uFF1B'proj-<projectId>' \u8868\u793A\u6309 id \u5BFB\u5740\u67D0\u4E2A\u9879\u76EE" },
512
- path: { type: "string", description: "\u6587\u4EF6\u8DEF\u5F84\uFF08\u76F8\u5BF9\u4E8E rootId\uFF09" }
513
- },
514
- required: ["rootId", "path"]
515
- }
516
- }, {
517
- operationKind: "mutate",
518
- requiresExecutionEvidence: true,
519
- rawDomain: "workspace"
520
- }, rootedPathEvidenceOutputSchema),
521
- annotateTool({
522
- name: "seastudio-code_search",
523
- description: "\u5728\u9879\u76EE\u4E2D\u6309\u6A21\u5F0F\u641C\u7D22\u4EE3\u7801\u6216\u6587\u672C\u5185\u5BB9\u3002\u9002\u7528\u4E8E\u5B9A\u4F4D\u5B9A\u4E49\u3001\u8C03\u7528\u70B9\u6216\u6587\u672C\u7247\u6BB5\uFF0C\u4E0D\u4F1A\u4FEE\u6539\u6587\u4EF6\u3002",
524
- inputSchema: {
525
- type: "object",
526
- properties: {
527
- pattern: { type: "string", description: "\u641C\u7D22\u6A21\u5F0F\uFF08\u6B63\u5219\u8868\u8FBE\u5F0F\uFF09" },
528
- path: { type: "string", description: "\u641C\u7D22\u8DEF\u5F84" },
529
- glob: { type: "string", description: "\u6587\u4EF6 glob \u6A21\u5F0F" },
530
- headLimit: { type: "number", description: "\u8FD4\u56DE\u7ED3\u679C\u6570\u91CF\u9650\u5236" }
531
- },
532
- required: ["pattern"]
533
- }
534
- }, {
535
- operationKind: "read",
536
- requiresExecutionEvidence: false,
537
- rawDomain: "workspace"
538
- }),
539
- annotateTool({
540
- name: "seastudio-file_batch_flatten_preview",
541
- description: "\u9884\u89C8\u6587\u4EF6\u5939\u5185\u6240\u6709\u6587\u4EF6\uFF08\u7528\u4E8E\u6279\u91CF\u5E73\u94FA\u590D\u5236\uFF09\u3002\u8DEF\u5F84\u7EDF\u4E00\u4F7F\u7528 rootId + path\u3002",
542
- inputSchema: {
543
- type: "object",
544
- properties: {
545
- sourceRootId: { type: "string", description: "\u6E90\u9879\u76EE\u6839\uFF1A'workspace' \u8868\u793A\u5F53\u524D\u6FC0\u6D3B\u9879\u76EE\uFF1B'proj-<projectId>' \u8868\u793A\u6309 id \u5BFB\u5740\u67D0\u4E2A\u9879\u76EE" },
546
- sourcePath: { type: "string", description: "\u6E90\u76EE\u5F55\u8DEF\u5F84\uFF08\u76F8\u5BF9\u4E8E sourceRootId\uFF09" }
547
- },
548
- required: ["sourceRootId", "sourcePath"]
549
- }
550
- }, {
551
- operationKind: "read",
552
- requiresExecutionEvidence: false,
553
- rawDomain: "workspace"
554
- }),
555
- annotateTool({
556
- name: "seastudio-file_batch_flatten_copy",
557
- description: "\u6279\u91CF\u5E73\u94FA\u590D\u5236\u6587\u4EF6\u5939\u5185\u6240\u6709\u6587\u4EF6\u5230\u76EE\u6807\u76EE\u5F55\u3002\u8DEF\u5F84\u7EDF\u4E00\u4F7F\u7528 rootId + path\u3002",
558
- inputSchema: {
559
- type: "object",
560
- properties: {
561
- sourceRootId: { type: "string", description: "\u6E90\u9879\u76EE\u6839\uFF1A'workspace' \u8868\u793A\u5F53\u524D\u6FC0\u6D3B\u9879\u76EE\uFF1B'proj-<projectId>' \u8868\u793A\u6309 id \u5BFB\u5740\u67D0\u4E2A\u9879\u76EE" },
562
- sourcePath: { type: "string", description: "\u6E90\u76EE\u5F55\u8DEF\u5F84\uFF08\u76F8\u5BF9\u4E8E sourceRootId\uFF09" },
563
- destRootId: { type: "string", description: "\u76EE\u6807\u9879\u76EE\u6839\uFF1A'workspace' \u8868\u793A\u5F53\u524D\u6FC0\u6D3B\u9879\u76EE\uFF1B'proj-<projectId>' \u8868\u793A\u6309 id \u5BFB\u5740\u67D0\u4E2A\u9879\u76EE" },
564
- destPath: { type: "string", description: "\u76EE\u6807\u76EE\u5F55\u8DEF\u5F84\uFF08\u76F8\u5BF9\u4E8E destRootId\uFF09" },
565
- taskId: { type: "string", description: "\u4EFB\u52A1 ID\uFF08\u7528\u4E8E\u8FDB\u5EA6\u901A\u77E5\uFF09" }
566
- },
567
- required: ["sourceRootId", "sourcePath", "destRootId", "destPath"]
568
- }
569
- }, {
570
- operationKind: "mutate",
571
- requiresExecutionEvidence: true,
572
- rawDomain: "workspace"
573
- }, batchFlattenCopyEvidenceOutputSchema)
574
- ];
575
-
576
- // src/mcp/seastudio/tools-shell.ts
577
- var sessionSnapshotSchema = shellSessionSnapshotEvidenceOutputSchema;
578
- var shellTools = [
579
- annotateTool({
580
- name: "seastudio-shell_session_open",
581
- description: "\u521B\u5EFA\u4E00\u4E2A\u65B0\u7684\u5E38\u9A7B PTY shell \u4F1A\u8BDD\uFF0C\u8FD4\u56DE sessionId\u3002\u7528\u4E8E\u540E\u7EED session_run \u5199\u5165\u547D\u4EE4\u3002 \u591A\u4E2A session \u4E4B\u95F4\u4E92\u76F8\u72EC\u7ACB\uFF0C\u957F\u4EFB\u52A1\uFF08\u5982 dev server\uFF09\u5929\u7136\u5B58\u6D3B\u76F4\u5230\u663E\u5F0F close\u3002",
582
- inputSchema: {
583
- type: "object",
584
- properties: {
585
- shell: {
586
- type: "string",
587
- enum: ["auto", "bash", "pwsh", "cmd", "sh"],
588
- description: "shell \u7C7B\u578B\uFF0C\u9ED8\u8BA4 auto\uFF08Win\u2192pwsh\uFF0CPOSIX\u2192bash\uFF09"
589
- },
590
- cwd: { type: "string", description: "\u5DE5\u4F5C\u76EE\u5F55\uFF08\u7EDD\u5BF9\u8DEF\u5F84\uFF0C\u9ED8\u8BA4\u4E3A\u9879\u76EE\u6839\u76EE\u5F55\uFF09" },
591
- env: {
592
- type: "object",
593
- description: "\u9644\u52A0\u73AF\u5883\u53D8\u91CF\uFF08\u4EC5\u5141\u8BB8\u5927\u5199\u5B57\u6BCD/\u4E0B\u5212\u7EBF\u5F00\u5934\u7684 key\uFF09",
594
- additionalProperties: { type: "string" }
595
- },
596
- label: { type: "string", description: "\u4F1A\u8BDD\u5907\u6CE8\uFF08\u4EC5\u7528\u4E8E\u663E\u793A\uFF09" },
597
- cols: { type: "number", description: "PTY \u5217\u6570\uFF08\u9ED8\u8BA4 120\uFF09" },
598
- rows: { type: "number", description: "PTY \u884C\u6570\uFF08\u9ED8\u8BA4 30\uFF09" }
599
- }
600
- }
601
- }, {
602
- operationKind: "mutate",
603
- requiresExecutionEvidence: true,
604
- rawDomain: "shell"
605
- }, shellSessionOpenEvidenceOutputSchema),
606
- annotateTool({
607
- name: "seastudio-shell_session_list",
608
- description: "\u5217\u51FA\u5F53\u524D\u6240\u6709 PTY shell \u4F1A\u8BDD\u7684\u5FEB\u7167\u3002",
609
- inputSchema: {
610
- type: "object",
611
- properties: {}
612
- }
613
- }, {
614
- operationKind: "read",
615
- requiresExecutionEvidence: false,
616
- rawDomain: "shell"
617
- }, {
618
- type: "object",
619
- properties: {
620
- sessions: {
621
- type: "array",
622
- items: sessionSnapshotSchema
623
- }
624
- },
625
- required: ["sessions"]
626
- }),
627
- annotateTool({
628
- name: "seastudio-shell_session_get",
629
- description: "\u83B7\u53D6\u6307\u5B9A session \u7684\u5F53\u524D\u5FEB\u7167\uFF08pending\u3001\u6700\u8FD1\u4E00\u6B21\u547D\u4EE4\u7B49\uFF09\u3002",
630
- inputSchema: {
631
- type: "object",
632
- properties: {
633
- sessionId: { type: "string", description: "session_open \u8FD4\u56DE\u7684 sessionId" }
634
- },
635
- required: ["sessionId"]
636
- }
637
- }, {
638
- operationKind: "read",
639
- requiresExecutionEvidence: false,
640
- rawDomain: "shell"
641
- }, sessionSnapshotSchema),
642
- annotateTool({
643
- name: "seastudio-shell_session_run",
644
- description: "\u5728\u6307\u5B9A session \u4E2D\u5199\u5165\u547D\u4EE4\u5E76\u7ACB\u5373\u8FD4\u56DE commandId\uFF08\u4E0D\u963B\u585E\uFF09\u3002 \u4F7F\u7528 session_wait \u7B49\u5F85\u547D\u4EE4\u7ED3\u675F\uFF0C\u6216 session_get_entries \u589E\u91CF\u8BFB\u53D6\u6D41\u5F0F\u8F93\u51FA\u3002 \u540C\u4E00 session \u540C\u4E00\u65F6\u523B\u53EA\u80FD\u6709\u4E00\u6761 pending \u547D\u4EE4\uFF1B\u5982\u9700\u4E2D\u65AD\u8BF7\u8C03\u7528 session_signal\u3002",
645
- inputSchema: {
646
- type: "object",
647
- properties: {
648
- sessionId: { type: "string" },
649
- command: { type: "string", description: "\u8981\u6267\u884C\u7684 shell \u547D\u4EE4" },
650
- timeoutMs: {
651
- type: "number",
652
- description: "\u53EF\u9009\u8D85\u65F6\uFF08\u6BEB\u79D2\uFF09\u3002\u8D85\u65F6\u540E\u81EA\u52A8\u5411 session \u53D1 INT\uFF0C\u4F46\u4E0D\u6740 session \u672C\u8EAB\u3002"
653
- }
654
- },
655
- required: ["sessionId", "command"]
656
- }
657
- }, {
658
- operationKind: "mutate",
659
- requiresExecutionEvidence: true,
660
- rawDomain: "shell"
661
- }, shellSessionRunEvidenceOutputSchema),
662
- annotateTool({
663
- name: "seastudio-shell_session_wait",
664
- description: "\u7B49\u5F85\u6307\u5B9A commandId \u7ED3\u675F\u5E76\u8FD4\u56DE exitCode \u7B49\u4FE1\u606F\u3002 \u82E5\u63D0\u4F9B timeoutMs \u4E14\u8D85\u65F6\uFF0C\u5219\u8FD4\u56DE finished=false / timedOut=true\uFF0C\u4F46\u4E0D\u4F1A\u4E2D\u65AD\u547D\u4EE4\u3002",
665
- inputSchema: {
666
- type: "object",
667
- properties: {
668
- sessionId: { type: "string" },
669
- commandId: { type: "string" },
670
- timeoutMs: { type: "number", description: "\u53EF\u9009\u7B49\u5F85\u8D85\u65F6\uFF08\u6BEB\u79D2\uFF09" }
671
- },
672
- required: ["sessionId", "commandId"]
673
- }
674
- }, {
675
- operationKind: "read",
676
- requiresExecutionEvidence: false,
677
- rawDomain: "shell"
678
- }, {
679
- type: "object",
680
- properties: {
681
- commandId: { type: "string" },
682
- exitCode: { type: "number" },
683
- durationMs: { type: "number" },
684
- finished: { type: "boolean" },
685
- timedOut: { type: "boolean" }
686
- },
687
- required: ["commandId", "durationMs", "finished", "timedOut"]
688
- }),
689
- annotateTool({
690
- name: "seastudio-shell_session_get_entries",
691
- description: "\u589E\u91CF\u8BFB\u53D6 session \u7684\u8F93\u51FA\u6D41\u3002\u4F20\u5165 sinceId \u4EC5\u8FD4\u56DE\u66F4\u65B0\u90E8\u5206\uFF1B\u8FD4\u56DE nextSinceId \u7528\u4E8E\u4E0B\u4E00\u6B21\u8F6E\u8BE2\u3002 \u73AF\u5F62\u7F13\u51B2\u8D85\u51FA\u4E0A\u9650\u4F1A\u4E22\u5F03\u65E7 entries \u5E76\u7D2F\u52A0 droppedCount\u3002",
692
- inputSchema: {
693
- type: "object",
694
- properties: {
695
- sessionId: { type: "string" },
696
- sinceId: { type: "number", description: "\u53EA\u8FD4\u56DE id > sinceId \u7684 entries\uFF08\u9ED8\u8BA4 0\uFF09" },
697
- limit: { type: "number", description: "\u672C\u6B21\u6700\u591A\u8FD4\u56DE\u591A\u5C11\u6761\uFF08\u9ED8\u8BA4\u65E0\u9650\u5236\uFF0C\u53D7\u7F13\u51B2\u4E0A\u9650\u5236\u7EA6\uFF09" }
698
- },
699
- required: ["sessionId"]
700
- }
701
- }, {
702
- operationKind: "read",
703
- requiresExecutionEvidence: false,
704
- rawDomain: "shell"
705
- }, {
706
- type: "object",
707
- properties: {
708
- entries: {
709
- type: "array",
710
- items: {
711
- type: "object",
712
- properties: {
713
- id: { type: "number" },
714
- level: { type: "string", enum: ["command", "stdout", "meta", "exit"] },
715
- content: { type: "string" },
716
- createdAt: { type: "number" },
717
- commandId: { type: "string" }
718
- },
719
- required: ["id", "level", "content", "createdAt"]
720
- }
721
- },
722
- nextSinceId: { type: "number" },
723
- totalEntries: { type: "number" },
724
- droppedCount: { type: "number" }
725
- },
726
- required: ["entries", "nextSinceId", "totalEntries", "droppedCount"]
727
- }),
728
- annotateTool({
729
- name: "seastudio-shell_session_signal",
730
- description: "\u5411 session \u53D1\u4FE1\u53F7\uFF1AINT \u7B49\u4EF7 Ctrl-C\uFF08\u4E0D\u6740 session\uFF09\uFF1BTERM/KILL \u6740\u6389 session \u672C\u8EAB\u3002",
731
- inputSchema: {
732
- type: "object",
733
- properties: {
734
- sessionId: { type: "string" },
735
- signal: { type: "string", enum: ["INT", "TERM", "KILL"] },
736
- commandId: {
737
- type: "string",
738
- description: "\u53EF\u9009\uFF0C\u4EC5\u8BB0\u5F55\u5728 entries \u4E2D\uFF0C\u4E0D\u5F71\u54CD\u4FE1\u53F7\u8BED\u4E49"
739
- }
740
- },
741
- required: ["sessionId", "signal"]
742
- }
743
- }, {
744
- operationKind: "mutate",
745
- requiresExecutionEvidence: true,
746
- rawDomain: "shell"
747
- }, shellSessionSignalEvidenceOutputSchema),
748
- annotateTool({
749
- name: "seastudio-shell_session_clear_entries",
750
- description: "\u6E05\u7A7A session \u7684\u8F93\u51FA\u7F13\u51B2\uFF0C\u4F1A\u8BDD\u672C\u8EAB\u4E0D\u53D7\u5F71\u54CD\u3002",
751
- inputSchema: {
752
- type: "object",
753
- properties: {
754
- sessionId: { type: "string" }
755
- },
756
- required: ["sessionId"]
757
- }
758
- }, {
759
- operationKind: "mutate",
760
- requiresExecutionEvidence: true,
761
- rawDomain: "shell"
762
- }, sessionSnapshotSchema),
763
- annotateTool({
764
- name: "seastudio-shell_session_close",
765
- description: "\u5173\u95ED session \u5E76\u91CA\u653E PTY\u3002force=true \u65F6\u4F7F\u7528 SIGKILL\uFF1B\u9ED8\u8BA4 SIGTERM\u3002",
766
- inputSchema: {
767
- type: "object",
768
- properties: {
769
- sessionId: { type: "string" },
770
- force: { type: "boolean", description: "\u5F3A\u5236 KILL\uFF0C\u9ED8\u8BA4 false" }
771
- },
772
- required: ["sessionId"]
773
- }
774
- }, {
775
- operationKind: "mutate",
776
- requiresExecutionEvidence: true,
777
- rawDomain: "shell"
778
- }, shellSessionCloseEvidenceOutputSchema)
779
- ];
780
-
781
- // src/mcp/seastudio/tools-aigc.ts
782
- var seaCloudTools = [
783
- annotateTool({
784
- name: "seastudio-seacloud_list_models",
785
- description: "\u5217\u51FA SeaCloud \u63A8\u7406\u7F51\u5173\u53EF\u7528\u7684\u591A\u6A21\u6001\u751F\u6210\u6A21\u578B\u53CA\u5176\u53C2\u6570 schema\u3002\u53EF\u6309 tag \u8FC7\u6EE4\uFF08\u5982 vidu\u3001tencent\u3001musicfy \u7B49\uFF09\u3002\u8FD4\u56DE\u6BCF\u4E2A\u6A21\u578B\u7684\u540D\u79F0\u3001\u6807\u7B7E\u548C\u53EF\u7528\u7684 body \u53C2\u6570\u5B9A\u4E49\u3002",
786
- inputSchema: {
787
- type: "object",
788
- properties: {
789
- tag: { type: "string", description: '\u6309\u6807\u7B7E\u8FC7\u6EE4\u6A21\u578B\uFF08\u53EF\u9009\uFF09\uFF0C\u5982 "vidu"\u3001"musicfy"\u3001"tencent" \u7B49' }
790
- }
791
- }
792
- }, {
793
- operationKind: "read",
794
- requiresExecutionEvidence: false,
795
- rawDomain: "asset"
796
- }),
797
- annotateTool({
798
- name: "seastudio-seacloud_create_task",
799
- description: "\u901A\u8FC7 SeaCloud \u63A8\u7406\u7F51\u5173\u521B\u5EFA\u591A\u6A21\u6001\u751F\u6210\u4EFB\u52A1\u3002\u9700\u6307\u5B9A\u6A21\u578B\u540D\u79F0\u548C\u5BF9\u5E94\u53C2\u6570\uFF0C\u53C2\u6570\u683C\u5F0F\u53C2\u7167 list_models \u8FD4\u56DE\u7684 schema\u3002\u8FD4\u56DE task_id \u7528\u4E8E\u540E\u7EED\u67E5\u8BE2\u3002",
800
- inputSchema: {
801
- type: "object",
802
- properties: {
803
- model: { type: "string", description: "\u6A21\u578B\u540D\u79F0\uFF08\u6765\u81EA list_models \u8FD4\u56DE\u7684 model \u5B57\u6BB5\uFF09" },
804
- params: { type: "object", description: "\u6A21\u578B\u53C2\u6570\uFF08\u6765\u81EA list_models \u8FD4\u56DE\u7684\u53C2\u6570 schema\uFF09" },
805
- dash_scope: { type: "boolean", description: "\u662F\u5426\u89E3\u9664\u533A\u57DF\u9650\u5236\uFF0C\u9ED8\u8BA4 true" },
806
- moderation: { type: "boolean", description: "\u662F\u5426\u89E3\u9664\u529F\u80FD\u9650\u5236\uFF0C\u9ED8\u8BA4 false" }
807
- },
808
- required: ["model", "params"]
809
- }
810
- }, {
811
- operationKind: "mutate",
812
- requiresExecutionEvidence: false,
813
- rawDomain: "asset"
814
- }),
815
- annotateTool({
816
- name: "seastudio-seacloud_query_task",
817
- description: '\u67E5\u8BE2 SeaCloud \u751F\u6210\u4EFB\u52A1\u7684\u72B6\u6001\u548C\u7ED3\u679C\u3002status \u4E3A "completed" \u65F6 output \u4E2D\u5305\u542B\u751F\u6210\u7684\u8D44\u6E90 URL\uFF0C"in_progress" \u8868\u793A\u4ECD\u5728\u5904\u7406\uFF0C"failed" \u8868\u793A\u5931\u8D25\u3002',
818
- inputSchema: {
819
- type: "object",
820
- properties: {
821
- task_id: { type: "string", description: "\u4EFB\u52A1 ID\uFF08\u7531 create_task \u8FD4\u56DE\uFF09" }
822
- },
823
- required: ["task_id"]
824
- }
825
- }, {
826
- operationKind: "read",
827
- requiresExecutionEvidence: false,
828
- rawDomain: "asset"
829
- })
830
- ];
831
-
832
- // src/mcp/seastudio/client.ts
833
- function parseToolResult(result) {
834
- if (result.isError) {
835
- const message = result.content.find((entry) => entry.type === "text")?.text ?? "MCP tool failed";
836
- throw new Error(message);
837
- }
838
- if (result.structuredContent !== void 0) {
839
- return result.structuredContent;
840
- }
841
- const text = result.content.find((entry) => entry.type === "text")?.text;
842
- return text ? JSON.parse(text) : {};
843
- }
844
- async function callTool(name, args = {}) {
845
- return chunk3I7UM66P_cjs.getDefaultClient().callTool(name, args);
846
- }
847
- async function request(method, params) {
848
- return chunk3I7UM66P_cjs.getDefaultClient().request(method, params);
849
- }
850
- async function callToolText(name, args = {}) {
851
- return chunk3I7UM66P_cjs.getDefaultClient().callToolText(name, args);
852
- }
853
- function usesAbsolutePathMode(mode) {
854
- return mode === "absolute";
855
- }
856
- function getPathBasename(path) {
857
- const trimmed = path.replace(/[\\/]+$/g, "");
858
- if (!trimmed) return "";
859
- const parts = trimmed.split(/[\\/]/).filter(Boolean);
860
- return parts[parts.length - 1] ?? "";
861
- }
862
- function joinWorkspacePath(dir, name) {
863
- const normalizedDir = dir.replace(/\\/g, "/").replace(/\/+$/g, "");
864
- const normalizedName = name.replace(/^\/+/g, "");
865
- return normalizedDir ? `${normalizedDir}/${normalizedName}` : normalizedName;
866
- }
867
- var seastudio = {
868
- roots: {
869
- list: () => request("roots/list")
870
- },
871
- project: {
872
- list: () => callTool("seastudio-project_list", {}),
873
- getActive: () => callTool("seastudio-project_get_active", {})
874
- },
875
- file: {
876
- getSelected: () => callTool("seastudio-file_get_selected", {}),
877
- read: (path, options) => callTool("seastudio-file_read", {
878
- rootId: options?.rootId ?? "workspace",
879
- path,
880
- ...typeof options?.encoding === "string" ? { encoding: options.encoding } : {},
881
- ...typeof options?.offset === "number" ? { offset: options.offset } : {},
882
- ...typeof options?.limit === "number" ? { limit: options.limit } : {}
883
- }),
884
- write: (path, content, options) => callTool("seastudio-file_write", { rootId: options?.rootId ?? "workspace", path, content }),
885
- list: (path = "", options) => callTool("seastudio-file_list", {
886
- rootId: options?.rootId ?? "workspace",
887
- path
888
- }),
889
- tree: (path = "", options) => callTool("seastudio-file_tree", {
890
- rootId: options?.rootId ?? "workspace",
891
- path,
892
- ...typeof options?.maxDepth === "number" ? { maxDepth: options.maxDepth } : {},
893
- ...typeof options?.maxEntries === "number" ? { maxEntries: options.maxEntries } : {}
894
- }),
895
- delete: (path, options) => callTool("seastudio-file_delete", { rootId: options?.rootId ?? "workspace", path }),
896
- mkdir: (path, options) => callTool("seastudio-file_mkdir", { rootId: options?.rootId ?? "workspace", path }),
897
- exists: (path, options) => callTool("seastudio-file_exists", { rootId: options?.rootId ?? "workspace", path }),
898
- stat: (path, options) => callTool("seastudio-file_stat", {
899
- rootId: options?.rootId ?? "workspace",
900
- path
901
- }),
902
- info: (path, options) => callTool("seastudio-file_info", {
903
- rootId: options?.rootId ?? "workspace",
904
- path
905
- }),
906
- search: (query, options) => callTool("seastudio-file_search", {
907
- query,
908
- rootId: options?.rootId ?? "workspace",
909
- path: options?.path ?? "",
910
- ...options?.glob ? { glob: options.glob } : {},
911
- ...typeof options?.headLimit === "number" ? { headLimit: options.headLimit } : {}
912
- }),
913
- codeSearch: (pattern, path, glob, headLimit) => callTool("seastudio-code_search", { pattern, path, glob, headLimit }),
914
- rename: (path, newName, options) => callTool("seastudio-file_rename", { rootId: options?.rootId ?? "workspace", path, newName }),
915
- move: (sourcePath, destDir, options) => {
916
- if (usesAbsolutePathMode(options?.sourcePathMode) || usesAbsolutePathMode(options?.destPathMode)) {
917
- return callTool("seastudio-file_move", { sourcePath, destDir, ...options });
918
- }
919
- const srcRoot = options?.sourceRootId ?? "workspace";
920
- const dstRoot = options?.destRootId ?? srcRoot;
921
- return callTool("seastudio-file_move", {
922
- sourceRootId: srcRoot,
923
- sourcePath,
924
- destRootId: dstRoot,
925
- destPath: joinWorkspacePath(destDir, getPathBasename(sourcePath))
926
- });
927
- },
928
- copyTo: (sourcePath, destDir, options) => {
929
- if (usesAbsolutePathMode(options?.sourcePathMode) || usesAbsolutePathMode(options?.destPathMode)) {
930
- return callTool("seastudio-file_copy_to", { sourcePath, destDir, ...options });
931
- }
932
- const srcRoot = options?.sourceRootId ?? "workspace";
933
- const dstRoot = options?.destRootId ?? srcRoot;
934
- return callTool("seastudio-file_copy_to", {
935
- sourceRootId: srcRoot,
936
- sourcePath,
937
- destRootId: dstRoot,
938
- destPath: joinWorkspacePath(destDir, getPathBasename(sourcePath))
939
- });
940
- },
941
- copy: (path, options) => callTool("seastudio-file_copy", { rootId: options?.rootId ?? "workspace", path }),
942
- paste: (path = "", options) => callTool("seastudio-file_paste", { rootId: options?.rootId ?? "workspace", path }),
943
- clipboardCheck: () => callTool("seastudio-file_clipboard_check", {}),
944
- copyPath: (path, options) => callTool("seastudio-file_copy_path", { rootId: options?.rootId ?? "workspace", path }),
945
- trash: (path, options) => callTool("seastudio-file_trash", { rootId: options?.rootId ?? "workspace", path }),
946
- batchFlattenPreview: (sourcePath, options) => {
947
- if (usesAbsolutePathMode(options?.sourcePathMode)) {
948
- return callTool("seastudio-file_batch_flatten_preview", { sourcePath, ...options });
949
- }
950
- return callTool("seastudio-file_batch_flatten_preview", {
951
- sourceRootId: options?.sourceRootId ?? "workspace",
952
- sourcePath
953
- });
954
- },
955
- batchFlattenCopy: (sourcePath, destDir, taskId, options) => {
956
- if (usesAbsolutePathMode(options?.sourcePathMode) || usesAbsolutePathMode(options?.destPathMode)) {
957
- return callTool("seastudio-file_batch_flatten_copy", { sourcePath, destDir, taskId, ...options });
958
- }
959
- const srcRoot = options?.sourceRootId ?? "workspace";
960
- const dstRoot = options?.destRootId ?? srcRoot;
961
- return callTool("seastudio-file_batch_flatten_copy", {
962
- sourceRootId: srcRoot,
963
- sourcePath,
964
- destRootId: dstRoot,
965
- destPath: destDir,
966
- ...typeof taskId === "string" ? { taskId } : {}
967
- });
968
- },
969
- getUrl: (path, options) => callTool("seastudio-file_get_url", { rootId: options?.rootId ?? "workspace", path }),
970
- download: (url, path, filenameHint, options) => {
971
- const absoluteDir = options?.absoluteDir?.trim();
972
- if (absoluteDir) {
973
- return callTool("seastudio-file_download", { url, absoluteDir, filenameHint });
974
- }
975
- return callTool("seastudio-file_download", { rootId: options?.rootId ?? "workspace", path, url, filenameHint });
976
- },
977
- writeBinary: (path, base64, options) => callTool("seastudio-file_write_binary", { rootId: options?.rootId ?? "workspace", path, base64 }),
978
- readBinary: (path, options) => callTool("seastudio-file_read_binary", { rootId: options?.rootId ?? "workspace", path })
979
- },
980
- shell: {
981
- session: {
982
- open: (options = {}) => callTool("seastudio-shell_session_open", { ...options }),
983
- list: () => callTool("seastudio-shell_session_list", {}),
984
- get: (sessionId) => callTool("seastudio-shell_session_get", { sessionId }),
985
- run: (sessionId, command, options = {}) => callTool("seastudio-shell_session_run", {
986
- sessionId,
987
- command,
988
- ...typeof options.timeoutMs === "number" ? { timeoutMs: options.timeoutMs } : {}
989
- }),
990
- wait: (sessionId, commandId, timeoutMs) => callTool("seastudio-shell_session_wait", {
991
- sessionId,
992
- commandId,
993
- ...typeof timeoutMs === "number" ? { timeoutMs } : {}
994
- }),
995
- getEntries: (sessionId, options = {}) => callTool("seastudio-shell_session_get_entries", {
996
- sessionId,
997
- ...typeof options.sinceId === "number" ? { sinceId: options.sinceId } : {},
998
- ...typeof options.limit === "number" ? { limit: options.limit } : {}
999
- }),
1000
- signal: (sessionId, signal, commandId) => callTool("seastudio-shell_session_signal", {
1001
- sessionId,
1002
- signal,
1003
- ...commandId ? { commandId } : {}
1004
- }),
1005
- clearEntries: (sessionId) => callTool("seastudio-shell_session_clear_entries", { sessionId }),
1006
- close: (sessionId, force = false) => callTool("seastudio-shell_session_close", { sessionId, force })
1007
- }
1008
- },
1009
- browser: {
1010
- session: {
1011
- open: async (options = {}) => parseToolResult(await callTool("seastudio-browser_session_open", { ...options })),
1012
- list: async () => parseToolResult(await callTool("seastudio-browser_session_list")),
1013
- get: async (browserSessionId) => parseToolResult(await callTool("seastudio-browser_session_get", { browserSessionId })),
1014
- close: async (browserSessionId) => parseToolResult(
1015
- await callTool("seastudio-browser_session_close", { browserSessionId })
1016
- )
1017
- },
1018
- tab: {
1019
- create: async (browserSessionId, url) => parseToolResult(
1020
- await callTool("seastudio-browser_tab_create", { browserSessionId, url })
1021
- ),
1022
- close: async (browserSessionId, tabId) => parseToolResult(
1023
- await callTool("seastudio-browser_tab_close", { browserSessionId, tabId })
1024
- ),
1025
- activate: async (browserSessionId, tabId) => parseToolResult(
1026
- await callTool("seastudio-browser_tab_activate", { browserSessionId, tabId })
1027
- ),
1028
- navigate: async (browserSessionId, tabId, url) => parseToolResult(
1029
- await callTool("seastudio-browser_tab_navigate", { browserSessionId, tabId, url })
1030
- ),
1031
- goBack: async (browserSessionId, tabId) => parseToolResult(await callTool("seastudio-browser_tab_go_back", { browserSessionId, tabId })),
1032
- goForward: async (browserSessionId, tabId) => parseToolResult(await callTool("seastudio-browser_tab_go_forward", { browserSessionId, tabId })),
1033
- reload: async (browserSessionId, tabId) => parseToolResult(await callTool("seastudio-browser_tab_reload", { browserSessionId, tabId })),
1034
- stop: async (browserSessionId, tabId) => parseToolResult(await callTool("seastudio-browser_tab_stop", { browserSessionId, tabId }))
1035
- },
1036
- viewport: {
1037
- bind: async (browserSessionId, rect, ownerInstanceId) => parseToolResult(
1038
- await callTool("seastudio-browser_viewport_bind", {
1039
- browserSessionId,
1040
- rect,
1041
- ...ownerInstanceId ? { ownerInstanceId } : {}
1042
- })
1043
- )
1044
- },
1045
- certificate: {
1046
- respond: async (browserSessionId, requestId, allow) => parseToolResult(
1047
- await callTool("seastudio-browser_certificate_respond", { browserSessionId, requestId, allow })
1048
- )
1049
- }
1050
- }
1051
- };
1052
- async function runOneShotShellCommand(command, options = {}) {
1053
- const { timeoutMs, ...openOpts } = options;
1054
- const openRaw = await seastudio.shell.session.open(openOpts);
1055
- const openText = openRaw.content?.[0]?.text ?? "{}";
1056
- const opened = JSON.parse(openText);
1057
- const sessionId = opened.sessionId;
1058
- if (!sessionId) {
1059
- throw new Error("shell_session_open did not return sessionId");
1060
- }
1061
- try {
1062
- const runRaw = await seastudio.shell.session.run(sessionId, command, {
1063
- ...typeof timeoutMs === "number" ? { timeoutMs } : {}
1064
- });
1065
- const runText = runRaw.content?.[0]?.text ?? "{}";
1066
- const run = JSON.parse(runText);
1067
- const waitRaw = await seastudio.shell.session.wait(
1068
- sessionId,
1069
- run.commandId,
1070
- typeof timeoutMs === "number" ? timeoutMs + 5e3 : void 0
1071
- );
1072
- const waitText = waitRaw.content?.[0]?.text ?? "{}";
1073
- const wait = JSON.parse(waitText);
1074
- const entriesRaw = await seastudio.shell.session.getEntries(sessionId, {});
1075
- const entriesText = entriesRaw.content?.[0]?.text ?? "{}";
1076
- const entries = JSON.parse(entriesText);
1077
- const stdout = entries.entries.filter((e) => e.commandId === run.commandId && e.level === "stdout").map((e) => e.content).join("\n");
1078
- return {
1079
- exitCode: wait.exitCode,
1080
- stdout,
1081
- durationMs: wait.durationMs,
1082
- timedOut: wait.timedOut
1083
- };
1084
- } finally {
1085
- try {
1086
- await seastudio.shell.session.close(sessionId);
1087
- } catch {
1088
- }
1089
- }
1090
- }
1091
-
1092
- // src/mcp/seastudio/tools-plugin.ts
1093
- var pluginManagementTools = [
1094
- annotateTool({
1095
- name: "seastudio-plugin_list_official",
1096
- description: "\u5217\u51FA Registry \u4E2D\u6240\u6709\u5B98\u65B9\u63D2\u4EF6\u3002\u8FD4\u56DE\u6BCF\u4E2A\u63D2\u4EF6\u7684 id\u3001name\u3001version\u3001description \u7B49\u4FE1\u606F\u3002",
1097
- inputSchema: {
1098
- type: "object",
1099
- properties: {}
1100
- }
1101
- }, {
1102
- operationKind: "read",
1103
- requiresExecutionEvidence: false
1104
- }),
1105
- annotateTool({
1106
- name: "seastudio-plugin_list_installed",
1107
- description: "\u5217\u51FA\u672C\u5730\u5DF2\u5B89\u88C5\u7684\u6240\u6709\u63D2\u4EF6\u3002\u8FD4\u56DE\u6BCF\u4E2A\u63D2\u4EF6\u7684 id\u3001name\u3001version\u3001enabled \u72B6\u6001\u7B49\u3002",
1108
- inputSchema: {
1109
- type: "object",
1110
- properties: {}
1111
- }
1112
- }, {
1113
- operationKind: "read",
1114
- requiresExecutionEvidence: false
1115
- }),
1116
- annotateTool({
1117
- name: "seastudio-plugin_install",
1118
- description: "\u4ECE Registry \u5B89\u88C5\u6307\u5B9A\u63D2\u4EF6\u3002\u9700\u63D0\u4F9B\u63D2\u4EF6 id\uFF0C\u7CFB\u7EDF\u4F1A\u4ECE\u5B98\u65B9 Registry \u4E0B\u8F7D\u5E76\u5B89\u88C5\u3002",
1119
- inputSchema: {
1120
- type: "object",
1121
- properties: {
1122
- pluginId: { type: "string", description: "\u8981\u5B89\u88C5\u7684\u63D2\u4EF6 ID" }
1123
- },
1124
- required: ["pluginId"]
1125
- }
1126
- }, {
1127
- operationKind: "mutate",
1128
- requiresExecutionEvidence: true
1129
- }),
1130
- annotateTool({
1131
- name: "seastudio-plugin_uninstall",
1132
- description: "\u5378\u8F7D\u6307\u5B9A\u63D2\u4EF6\u3002\u9700\u63D0\u4F9B\u63D2\u4EF6 id\u3002",
1133
- inputSchema: {
1134
- type: "object",
1135
- properties: {
1136
- pluginId: { type: "string", description: "\u8981\u5378\u8F7D\u7684\u63D2\u4EF6 ID" }
1137
- },
1138
- required: ["pluginId"]
1139
- }
1140
- }, {
1141
- operationKind: "mutate",
1142
- requiresExecutionEvidence: true
1143
- }),
1144
- annotateTool({
1145
- name: "seastudio-plugin_get_status",
1146
- description: "\u83B7\u53D6\u6307\u5B9A\u63D2\u4EF6\u7684\u5B89\u88C5\u72B6\u6001\u3002\u8FD4\u56DE\u662F\u5426\u5DF2\u5B89\u88C5\u3001\u7248\u672C\u3001UI \u7C7B\u578B\u7B49\u8BE6\u7EC6\u4FE1\u606F\u3002\u82E5\u672A\u5B89\u88C5\u5219\u68C0\u67E5 Registry \u4E2D\u662F\u5426\u5B58\u5728\u3002",
1147
- inputSchema: {
1148
- type: "object",
1149
- properties: {
1150
- pluginId: { type: "string", description: "\u8981\u67E5\u8BE2\u7684\u63D2\u4EF6 ID" }
1151
- },
1152
- required: ["pluginId"]
1153
- }
1154
- }, {
1155
- operationKind: "read",
1156
- requiresExecutionEvidence: false
1157
- })
1158
- ];
1159
- var pluginTabTools = [
1160
- annotateTool({
1161
- name: "seastudio-plugin_tab_list",
1162
- description: "\u83B7\u53D6\u5F53\u524D\u6240\u6709\u6253\u5F00\u7684\u63D2\u4EF6\u6807\u7B7E\u9875\u3002\u8FD4\u56DE\u6BCF\u4E2A\u6807\u7B7E\u7684 instanceId\u3001pluginId\u3001title \u7B49\u3002",
1163
- inputSchema: {
1164
- type: "object",
1165
- properties: {}
1166
- }
1167
- }, {
1168
- operationKind: "read",
1169
- requiresExecutionEvidence: false
1170
- }),
1171
- annotateTool({
1172
- name: "seastudio-plugin_tab_get_active",
1173
- description: "\u83B7\u53D6\u5F53\u524D\u805A\u7126\uFF08\u6FC0\u6D3B\uFF09\u7684\u63D2\u4EF6\u6807\u7B7E\u9875\u3002\u8FD4\u56DE\u8BE5\u6807\u7B7E\u7684 instanceId\u3001pluginId\u3001title\u3002",
1174
- inputSchema: {
1175
- type: "object",
1176
- properties: {}
1177
- }
1178
- }, {
1179
- operationKind: "read",
1180
- requiresExecutionEvidence: false
1181
- }),
1182
- annotateTool({
1183
- name: "seastudio-plugin_tab_open",
1184
- description: "\u4E3A\u6307\u5B9A\u63D2\u4EF6\u65B0\u5EFA\u4E00\u4E2A\u6807\u7B7E\u9875\u5E76\u6FC0\u6D3B\u3002\u9700\u63D0\u4F9B\u63D2\u4EF6 id\u3002",
1185
- inputSchema: {
1186
- type: "object",
1187
- properties: {
1188
- pluginId: { type: "string", description: "\u8981\u6253\u5F00\u6807\u7B7E\u9875\u7684\u63D2\u4EF6 ID" }
1189
- },
1190
- required: ["pluginId"]
1191
- }
1192
- }, {
1193
- operationKind: "mutate",
1194
- requiresExecutionEvidence: true
1195
- }),
1196
- annotateTool({
1197
- name: "seastudio-plugin_tab_switch",
1198
- description: "\u5207\u6362\u5230\u6307\u5B9A\u7684\u63D2\u4EF6\u6807\u7B7E\u9875\u3002\u9700\u63D0\u4F9B\u6807\u7B7E\u5B9E\u4F8B ID\uFF08instanceId\uFF09\u3002",
1199
- inputSchema: {
1200
- type: "object",
1201
- properties: {
1202
- instanceId: { type: "string", description: "\u8981\u5207\u6362\u5230\u7684\u6807\u7B7E\u5B9E\u4F8B ID" }
1203
- },
1204
- required: ["instanceId"]
1205
- }
1206
- }, {
1207
- operationKind: "mutate",
1208
- requiresExecutionEvidence: true
1209
- }),
1210
- annotateTool({
1211
- name: "seastudio-plugin_tab_close",
1212
- description: "\u5173\u95ED\u6307\u5B9A\u7684\u63D2\u4EF6\u6807\u7B7E\u9875\u3002\u9700\u63D0\u4F9B\u6807\u7B7E\u5B9E\u4F8B ID\uFF08instanceId\uFF09\u3002",
1213
- inputSchema: {
1214
- type: "object",
1215
- properties: {
1216
- instanceId: { type: "string", description: "\u8981\u5173\u95ED\u7684\u6807\u7B7E\u5B9E\u4F8B ID" }
1217
- },
1218
- required: ["instanceId"]
1219
- }
1220
- }, {
1221
- operationKind: "mutate",
1222
- requiresExecutionEvidence: true
1223
- }),
1224
- annotateTool({
1225
- name: "seastudio-plugin_tab_get_status",
1226
- description: "\u83B7\u53D6\u6307\u5B9A\u63D2\u4EF6\u7684\u6807\u7B7E\u72B6\u6001\u3002\u8FD4\u56DE\u8BE5\u63D2\u4EF6\u6253\u5F00\u4E86\u51E0\u4E2A\u6807\u7B7E\u3001\u5404\u6807\u7B7E\u7684 instanceId/title\u3001\u54EA\u4E2A\u662F\u5F53\u524D\u805A\u7126\u6001\u3002",
1227
- inputSchema: {
1228
- type: "object",
1229
- properties: {
1230
- pluginId: { type: "string", description: "\u8981\u67E5\u8BE2\u6807\u7B7E\u72B6\u6001\u7684\u63D2\u4EF6 ID" }
1231
- },
1232
- required: ["pluginId"]
1233
- }
1234
- }, {
1235
- operationKind: "read",
1236
- requiresExecutionEvidence: false
1237
- })
1238
- ];
1239
-
1240
- // src/mcp/seastudio/tools-agent.ts
1241
- var agentManagementTools = [
1242
- annotateTool({
1243
- name: "seastudio-agent_list_official",
1244
- description: "\u5217\u51FA Registry \u4E2D\u6240\u6709\u5B98\u65B9 Agent\u3002\u8FD4\u56DE\u6BCF\u4E2A Agent \u7684 id\u3001name\u3001version\u3001description \u7B49\u4FE1\u606F\u3002",
1245
- inputSchema: {
1246
- type: "object",
1247
- properties: {}
1248
- }
1249
- }, {
1250
- operationKind: "read",
1251
- requiresExecutionEvidence: false
1252
- }),
1253
- annotateTool({
1254
- name: "seastudio-agent_list_installed",
1255
- description: "\u5217\u51FA\u672C\u5730\u5DF2\u5B89\u88C5\u7684\u6240\u6709 Agent\u3002\u8FD4\u56DE\u6BCF\u4E2A Agent \u7684 id\u3001name\u3001version\u3001enabled \u72B6\u6001\u7B49\u3002",
1256
- inputSchema: {
1257
- type: "object",
1258
- properties: {}
1259
- }
1260
- }, {
1261
- operationKind: "read",
1262
- requiresExecutionEvidence: false
1263
- }),
1264
- annotateTool({
1265
- name: "seastudio-agent_install",
1266
- description: "\u4ECE Registry \u5B89\u88C5\u6307\u5B9A Agent\u3002\u9700\u63D0\u4F9B Agent id\uFF0C\u7CFB\u7EDF\u4F1A\u4ECE\u5B98\u65B9 Registry \u4E0B\u8F7D\u5E76\u5B89\u88C5\u3002",
1267
- inputSchema: {
1268
- type: "object",
1269
- properties: {
1270
- agentId: { type: "string", description: "\u8981\u5B89\u88C5\u7684 Agent ID" }
1271
- },
1272
- required: ["agentId"]
1273
- }
1274
- }, {
1275
- operationKind: "mutate",
1276
- requiresExecutionEvidence: true
1277
- }),
1278
- annotateTool({
1279
- name: "seastudio-agent_uninstall",
1280
- description: "\u5378\u8F7D\u6307\u5B9A Agent\u3002\u9700\u63D0\u4F9B Agent id\u3002",
1281
- inputSchema: {
1282
- type: "object",
1283
- properties: {
1284
- agentId: { type: "string", description: "\u8981\u5378\u8F7D\u7684 Agent ID" }
1285
- },
1286
- required: ["agentId"]
1287
- }
1288
- }, {
1289
- operationKind: "mutate",
1290
- requiresExecutionEvidence: true
1291
- }),
1292
- annotateTool({
1293
- name: "seastudio-agent_get_status",
1294
- description: "\u83B7\u53D6\u6307\u5B9A Agent \u7684\u5B89\u88C5\u72B6\u6001\u3002\u8FD4\u56DE\u662F\u5426\u5DF2\u5B89\u88C5\u3001\u7248\u672C\u3001\u540E\u7AEF\u6A21\u5F0F\u7B49\u8BE6\u7EC6\u4FE1\u606F\u3002\u82E5\u672A\u5B89\u88C5\u5219\u68C0\u67E5 Registry \u4E2D\u662F\u5426\u5B58\u5728\u3002",
1295
- inputSchema: {
1296
- type: "object",
1297
- properties: {
1298
- agentId: { type: "string", description: "\u8981\u67E5\u8BE2\u7684 Agent ID" }
1299
- },
1300
- required: ["agentId"]
1301
- }
1302
- }, {
1303
- operationKind: "read",
1304
- requiresExecutionEvidence: false
1305
- })
1306
- ];
1307
- var agentTabTools = [
1308
- annotateTool({
1309
- name: "seastudio-agent_tab_list",
1310
- description: "\u83B7\u53D6\u5F53\u524D\u6240\u6709\u6253\u5F00\u7684 Agent \u6807\u7B7E\u9875\u3002\u8FD4\u56DE\u6BCF\u4E2A\u6807\u7B7E\u7684 instanceId\u3001agentId\u3001name \u7B49\u3002",
1311
- inputSchema: {
1312
- type: "object",
1313
- properties: {}
1314
- }
1315
- }, {
1316
- operationKind: "read",
1317
- requiresExecutionEvidence: false
1318
- }),
1319
- annotateTool({
1320
- name: "seastudio-agent_tab_get_active",
1321
- description: "\u83B7\u53D6\u5F53\u524D\u805A\u7126\uFF08\u6FC0\u6D3B\uFF09\u7684 Agent \u6807\u7B7E\u9875\u3002\u8FD4\u56DE\u8BE5\u6807\u7B7E\u7684 instanceId\u3001agentId\u3001name\u3002",
1322
- inputSchema: {
1323
- type: "object",
1324
- properties: {}
1325
- }
1326
- }, {
1327
- operationKind: "read",
1328
- requiresExecutionEvidence: false
1329
- }),
1330
- annotateTool({
1331
- name: "seastudio-agent_tab_open",
1332
- description: "\u4E3A\u6307\u5B9A Agent \u65B0\u5EFA\u4E00\u4E2A\u6807\u7B7E\u9875\u5E76\u6FC0\u6D3B\u3002\u9700\u63D0\u4F9B Agent id\u3002",
1333
- inputSchema: {
1334
- type: "object",
1335
- properties: {
1336
- agentId: { type: "string", description: "\u8981\u6253\u5F00\u6807\u7B7E\u9875\u7684 Agent ID" }
1337
- },
1338
- required: ["agentId"]
1339
- }
1340
- }, {
1341
- operationKind: "mutate",
1342
- requiresExecutionEvidence: true
1343
- }),
1344
- annotateTool({
1345
- name: "seastudio-agent_tab_switch",
1346
- description: "\u5207\u6362\u5230\u6307\u5B9A\u7684 Agent \u6807\u7B7E\u9875\u3002\u9700\u63D0\u4F9B\u6807\u7B7E\u5B9E\u4F8B ID\uFF08instanceId\uFF09\u3002",
1347
- inputSchema: {
1348
- type: "object",
1349
- properties: {
1350
- instanceId: { type: "string", description: "\u8981\u5207\u6362\u5230\u7684\u6807\u7B7E\u5B9E\u4F8B ID" }
1351
- },
1352
- required: ["instanceId"]
1353
- }
1354
- }, {
1355
- operationKind: "mutate",
1356
- requiresExecutionEvidence: true
1357
- }),
1358
- annotateTool({
1359
- name: "seastudio-agent_tab_close",
1360
- description: "\u5173\u95ED\u6307\u5B9A\u7684 Agent \u6807\u7B7E\u9875\u3002\u9700\u63D0\u4F9B\u6807\u7B7E\u5B9E\u4F8B ID\uFF08instanceId\uFF09\u3002",
1361
- inputSchema: {
1362
- type: "object",
1363
- properties: {
1364
- instanceId: { type: "string", description: "\u8981\u5173\u95ED\u7684\u6807\u7B7E\u5B9E\u4F8B ID" }
1365
- },
1366
- required: ["instanceId"]
1367
- }
1368
- }, {
1369
- operationKind: "mutate",
1370
- requiresExecutionEvidence: true
1371
- }),
1372
- annotateTool({
1373
- name: "seastudio-agent_tab_get_status",
1374
- description: "\u83B7\u53D6\u6307\u5B9A Agent \u7684\u6807\u7B7E\u72B6\u6001\u3002\u8FD4\u56DE\u8BE5 Agent \u6253\u5F00\u4E86\u51E0\u4E2A\u6807\u7B7E\u3001\u5404\u6807\u7B7E\u7684 instanceId/name\u3001\u54EA\u4E2A\u662F\u5F53\u524D\u805A\u7126\u6001\u3002",
1375
- inputSchema: {
1376
- type: "object",
1377
- properties: {
1378
- agentId: { type: "string", description: "\u8981\u67E5\u8BE2\u6807\u7B7E\u72B6\u6001\u7684 Agent ID" }
1379
- },
1380
- required: ["agentId"]
1381
- }
1382
- }, {
1383
- operationKind: "read",
1384
- requiresExecutionEvidence: false
1385
- })
1386
- ];
1387
-
1388
- // src/mcp/seastudio/tools-project.ts
1389
- var projectTools = [
1390
- annotateTool({
1391
- name: "seastudio-project_list",
1392
- description: "\u5217\u51FA\u5F53\u524D\u7528\u6237\u7684\u6240\u6709\u9879\u76EE\uFF08\u6241\u5E73\u7ED3\u6784\uFF09\u3002\u8FD4\u56DE\u6BCF\u4E2A\u9879\u76EE\u7684 id\u3001name\u3001path\u3001lastActiveAt\u3001isActive\uFF0C\u4EE5\u53CA\u53EF\u76F4\u63A5\u4F20\u7ED9 file \u5DE5\u5177\u7684 rootId\uFF08\u5F62\u5982 'proj-<id>'\uFF09\u3002\u5F53\u9700\u8981\u8DE8\u9879\u76EE\u8BFB\u5199\u65F6\u5148\u8C03\u7528\u6B64\u5DE5\u5177\u3002",
1393
- inputSchema: {
1394
- type: "object",
1395
- properties: {}
1396
- }
1397
- }, {
1398
- operationKind: "read",
1399
- requiresExecutionEvidence: false
1400
- }),
1401
- annotateTool({
1402
- name: "seastudio-project_get_active",
1403
- description: "\u83B7\u53D6\u5F53\u524D MCP \u8BF7\u6C42\u4E0A\u4E0B\u6587\u6240\u5C5E\u9879\u76EE\uFF1B\u6CA1\u6709\u4E0A\u4E0B\u6587\u65F6\u56DE\u9000\u5230\u524D\u53F0\u805A\u7126\u9879\u76EE\u3002\u8FD4\u56DE\u7ED3\u6784\u4E0E seastudio-project_list \u4E2D\u5355\u9879\u4E00\u81F4\uFF1B\u82E5\u5F53\u524D\u6CA1\u6709\u9879\u76EE\u5219\u8FD4\u56DE null\u3002",
1404
- inputSchema: {
1405
- type: "object",
1406
- properties: {}
1407
- }
1408
- }, {
1409
- operationKind: "read",
1410
- requiresExecutionEvidence: false
1411
- })
1412
- ];
1413
-
1414
- // src/mcp/seastudio/tools-skill.ts
1415
- var skillTools = [
1416
- annotateTool({
1417
- name: "seastudio-skill_list",
1418
- description: "\u5217\u51FA\u5F53\u524D\u4E0A\u4E0B\u6587\u4E0B\u53EF\u7528\u7684 Agent Skill\u3002\u8FC7\u6EE4\u89C4\u5219\uFF1A\u4E0D\u4F20 projectId \u65F6\u53EA\u8FD4\u56DE\u5168\u5C40\u751F\u6548\uFF08scopes.global=true\uFF09\u7684 skill\uFF1B\u4F20 projectId \u65F6\u8FD4\u56DE\u5168\u5C40\u751F\u6548\u6216\u8BE5\u9879\u76EE\u4E13\u5C5E\u751F\u6548\uFF08scopes.projectIds \u542B\u8BE5 projectId\uFF09\u7684 skill\u3002\u7B2C\u4E09\u65B9\u6765\u6E90\uFF08claude-code/codex/cursor/custom\uFF09\u53EA\u8981\u626B\u5230\u5373\u89C6\u4E3A\u5168\u5C40\u751F\u6548\u3002\u53EF\u9009 source \u53C2\u6570\u6309\u6765\u6E90\u8FC7\u6EE4\u3002\u8FD4\u56DE\u6BCF\u9879\u542B id\u3001name\u3001description\u3001version\u3001tags\u3001source\u3001sourceLabel\u3001scopes\u3002",
1419
- inputSchema: {
1420
- type: "object",
1421
- properties: {
1422
- projectId: {
1423
- type: "string",
1424
- description: "\u53EF\u9009\uFF1A\u7528\u4E8E\u547D\u4E2D scopes.projectIds \u7684\u9879\u76EE ID\uFF08\u4E0E seastudio-project_list \u8FD4\u56DE\u7684 id \u4E00\u81F4\uFF09\u3002\u4E0D\u4F20\u5219\u53EA\u770B\u5168\u5C40\u751F\u6548\u3002"
1425
- },
1426
- source: {
1427
- type: "string",
1428
- enum: ["seastudio", "claude-code", "codex", "cursor", "custom"],
1429
- description: "\u53EF\u9009\uFF1A\u4EC5\u8FD4\u56DE\u6307\u5B9A\u6765\u6E90\u7684 skill\u3002"
1430
- }
1431
- }
1432
- }
1433
- }, {
1434
- operationKind: "read",
1435
- requiresExecutionEvidence: false,
1436
- rawDomain: "skill"
1437
- }),
1438
- annotateTool({
1439
- name: "seastudio-skill_get",
1440
- description: "\u8BFB\u53D6\u6307\u5B9A skill \u7684\u8131\u654F manifest\u3001SKILL.md \u5B8C\u6574\u5185\u5BB9\u548C\u9644\u5C5E\u6587\u4EF6\u6E05\u5355\u3002id \u53D6\u81EA seastudio-skill_list \u8FD4\u56DE\u9879\u7684 id\u3002\u53EF\u9009 projectId \u7528\u4E8E\u9650\u5B9A\u53EA\u80FD\u8BFB\u53D6\u5F53\u524D\u4F1A\u8BDD\u9879\u76EE\u53EF\u89C1\u7684 skill\uFF08\u8BE5\u9879\u76EE skill + \u5168\u5C40 skill\uFF09\u3002\u8FD4\u56DE\u5185\u5BB9\u5E94\u4F5C\u4E3A Agent Skill \u6307\u4EE4\u9075\u5FAA\u3002\u8FD4\u56DE { content: { skill, content } | null }\uFF0Cid \u4E0D\u5B58\u5728\u3001\u4E0D\u53EF\u89C1\u6216\u8BFB\u53D6\u5931\u8D25\u65F6 content \u4E3A null\u3002",
1441
- inputSchema: {
1442
- type: "object",
1443
- properties: {
1444
- id: {
1445
- type: "string",
1446
- description: 'Skill \u7684\u7A33\u5B9A id\uFF08\u5982 "seastudio:my-skill"\uFF09\uFF0C\u6765\u6E90\u4E8E seastudio-skill_list \u7684\u8FD4\u56DE\u9879\u3002'
1447
- },
1448
- projectId: {
1449
- type: "string",
1450
- description: "\u53EF\u9009\uFF1A\u5F53\u524D\u4F1A\u8BDD\u6240\u5C5E\u9879\u76EE ID\u3002\u4F20\u5165\u540E\u53EA\u5141\u8BB8\u8BFB\u53D6\u5168\u5C40 skill \u6216\u8BE5\u9879\u76EE\u53EF\u89C1\u7684 skill\u3002"
1451
- }
1452
- },
1453
- required: ["id"]
1454
- }
1455
- }, {
1456
- operationKind: "read",
1457
- requiresExecutionEvidence: false,
1458
- rawDomain: "skill"
1459
- }),
1460
- annotateTool({
1461
- name: "seastudio-skill_read",
1462
- description: "\u8BFB\u53D6\u6307\u5B9A skill \u76EE\u5F55\u5185\u7684\u9644\u5C5E\u6587\u672C\u6587\u4EF6\u3002path \u5FC5\u987B\u6765\u81EA seastudio-skill_get \u8FD4\u56DE\u7684 files \u6E05\u5355\u3002\u53EF\u9009 projectId \u7528\u4E8E\u9650\u5B9A\u53EA\u80FD\u8BFB\u53D6\u5F53\u524D\u4F1A\u8BDD\u9879\u76EE\u53EF\u89C1\u7684 skill\u3002\u5355\u6B21\u6700\u591A\u8BFB\u53D6 1MiB\uFF1B\u82E5\u8FD4\u56DE truncated=true\uFF0C\u53EF\u4F7F\u7528 nextOffset \u4F5C\u4E3A offset \u518D\u6B21\u8C03\u7528\u7EE7\u7EED\u8BFB\u53D6\u3002",
1463
- inputSchema: {
1464
- type: "object",
1465
- properties: {
1466
- id: {
1467
- type: "string",
1468
- description: 'Skill \u7684\u7A33\u5B9A id\uFF08\u5982 "seastudio:my-skill"\uFF09\u3002'
1469
- },
1470
- path: {
1471
- type: "string",
1472
- description: "\u8981\u8BFB\u53D6\u7684 skill \u5185\u76F8\u5BF9\u8DEF\u5F84\uFF0C\u5FC5\u987B\u4F4D\u4E8E\u8BE5 skill \u76EE\u5F55\u5185\uFF0C\u4E0D\u80FD\u662F\u7EDD\u5BF9\u8DEF\u5F84\u6216\u5305\u542B\u8DEF\u5F84\u7A7F\u8D8A\u3002"
1473
- },
1474
- projectId: {
1475
- type: "string",
1476
- description: "\u53EF\u9009\uFF1A\u5F53\u524D\u4F1A\u8BDD\u6240\u5C5E\u9879\u76EE ID\u3002\u4F20\u5165\u540E\u53EA\u5141\u8BB8\u8BFB\u53D6\u5168\u5C40 skill \u6216\u8BE5\u9879\u76EE\u53EF\u89C1\u7684 skill\u3002"
1477
- },
1478
- offset: {
1479
- type: "integer",
1480
- minimum: 0,
1481
- description: "\u53EF\u9009\uFF1A\u4ECE\u6587\u4EF6\u7684 byte offset \u5F00\u59CB\u8BFB\u53D6\uFF0C\u9ED8\u8BA4 0\u3002\u7528\u4E8E\u5206\u6BB5\u8BFB\u53D6\u8D85\u8FC7 1MiB \u7684\u6587\u672C\u6587\u4EF6\u3002"
1482
- }
1483
- },
1484
- required: ["id", "path"]
1485
- }
1486
- }, {
1487
- operationKind: "read",
1488
- requiresExecutionEvidence: false,
1489
- rawDomain: "skill"
1490
- })
1491
- ];
1492
-
1493
- // src/mcp/seastudio/tools-browser.ts
1494
- var browserSessionIdParam = {
1495
- browserSessionId: { type: "string", description: "Browser session ID" }
1496
- };
1497
- var tabIdParam = {
1498
- tabId: { type: "string", description: "Browser tab ID" }
1499
- };
1500
- var browserRuntimeTools = [
1501
- annotateTool({
1502
- name: "seastudio-browser_session_open",
1503
- description: "\u521B\u5EFA\u6216\u6253\u5F00\u4E00\u4E2A\u5BBF\u4E3B Browser Session\uFF0C\u8FD4\u56DE browserSessionId\u3002Session \u53EF\u88AB agent \u548C Browser \u63D2\u4EF6\u5171\u540C\u64CD\u4F5C\u3002",
1504
- inputSchema: {
1505
- type: "object",
1506
- properties: {
1507
- label: { type: "string", description: "\u53EF\u9009 session \u663E\u793A\u540D\u79F0\u3002" },
1508
- partitionKey: { type: "string", description: "\u53EF\u9009\u7F51\u7AD9\u6570\u636E\u5206\u533A key\uFF1B\u76F8\u540C key \u5171\u4EAB cookie/localStorage\u3002" },
1509
- homepage: { type: "string", description: "\u53EF\u9009\u9ED8\u8BA4\u9996\u9875\u3002" }
1510
- }
1511
- }
1512
- }, {
1513
- operationKind: "mutate",
1514
- requiresExecutionEvidence: false,
1515
- rawDomain: "browser"
1516
- }),
1517
- annotateTool({
1518
- name: "seastudio-browser_session_list",
1519
- description: "\u5217\u51FA\u5F53\u524D\u6240\u6709 Browser Session\u3002",
1520
- inputSchema: {
1521
- type: "object",
1522
- properties: {}
1523
- }
1524
- }, {
1525
- operationKind: "read",
1526
- requiresExecutionEvidence: false,
1527
- rawDomain: "browser"
1528
- }),
1529
- annotateTool({
1530
- name: "seastudio-browser_session_get",
1531
- description: "\u8BFB\u53D6\u6307\u5B9A Browser Session \u7684\u5F53\u524D\u72B6\u6001\u3002",
1532
- inputSchema: {
1533
- type: "object",
1534
- properties: browserSessionIdParam,
1535
- required: ["browserSessionId"]
1536
- }
1537
- }, {
1538
- operationKind: "read",
1539
- requiresExecutionEvidence: false,
1540
- rawDomain: "browser"
1541
- }),
1542
- annotateTool({
1543
- name: "seastudio-browser_session_close",
1544
- description: "\u5173\u95ED Browser Session \u5E76\u91CA\u653E\u5176 tabs \u4E0E surface \u7ED1\u5B9A\u3002",
1545
- inputSchema: {
1546
- type: "object",
1547
- properties: browserSessionIdParam,
1548
- required: ["browserSessionId"]
1549
- }
1550
- }, {
1551
- operationKind: "mutate",
1552
- requiresExecutionEvidence: false,
1553
- rawDomain: "browser"
1554
- }),
1555
- annotateTool({
1556
- name: "seastudio-browser_tab_create",
1557
- description: "\u5728 Browser Session \u4E2D\u521B\u5EFA\u4E00\u4E2A tab\u3002",
1558
- inputSchema: {
1559
- type: "object",
1560
- properties: {
1561
- ...browserSessionIdParam,
1562
- url: { type: "string", description: "\u521D\u59CB URL\uFF1B\u4E3A\u7A7A\u65F6\u4F7F\u7528 session homepage\u3002" }
1563
- },
1564
- required: ["browserSessionId"]
1565
- }
1566
- }, {
1567
- operationKind: "mutate",
1568
- requiresExecutionEvidence: false,
1569
- rawDomain: "browser"
1570
- }),
1571
- annotateTool({
1572
- name: "seastudio-browser_tab_close",
1573
- description: "\u5173\u95ED Browser Session \u4E2D\u7684 tab\u3002",
1574
- inputSchema: {
1575
- type: "object",
1576
- properties: {
1577
- ...browserSessionIdParam,
1578
- ...tabIdParam
1579
- },
1580
- required: ["browserSessionId", "tabId"]
1581
- }
1582
- }, {
1583
- operationKind: "mutate",
1584
- requiresExecutionEvidence: false,
1585
- rawDomain: "browser"
1586
- }),
1587
- annotateTool({
1588
- name: "seastudio-browser_tab_activate",
1589
- description: "\u6FC0\u6D3B Browser Session \u4E2D\u7684 tab\u3002",
1590
- inputSchema: {
1591
- type: "object",
1592
- properties: {
1593
- ...browserSessionIdParam,
1594
- ...tabIdParam
1595
- },
1596
- required: ["browserSessionId", "tabId"]
1597
- }
1598
- }, {
1599
- operationKind: "mutate",
1600
- requiresExecutionEvidence: false,
1601
- rawDomain: "browser"
1602
- }),
1603
- annotateTool({
1604
- name: "seastudio-browser_tab_navigate",
1605
- description: "\u8BA9 Browser Session \u4E2D\u7684 tab \u5BFC\u822A\u5230 URL \u6216\u641C\u7D22\u8BCD\u3002",
1606
- inputSchema: {
1607
- type: "object",
1608
- properties: {
1609
- ...browserSessionIdParam,
1610
- ...tabIdParam,
1611
- url: { type: "string", description: "\u76EE\u6807 URL \u6216\u641C\u7D22\u8BCD\u3002" }
1612
- },
1613
- required: ["browserSessionId", "tabId", "url"]
1614
- }
1615
- }, {
1616
- operationKind: "mutate",
1617
- requiresExecutionEvidence: false,
1618
- rawDomain: "browser"
1619
- }),
1620
- annotateTool({
1621
- name: "seastudio-browser_tab_go_back",
1622
- description: "\u8BA9 Browser Session \u4E2D\u7684 tab \u540E\u9000\u3002",
1623
- inputSchema: {
1624
- type: "object",
1625
- properties: {
1626
- ...browserSessionIdParam,
1627
- ...tabIdParam
1628
- },
1629
- required: ["browserSessionId", "tabId"]
1630
- }
1631
- }, {
1632
- operationKind: "mutate",
1633
- requiresExecutionEvidence: false,
1634
- rawDomain: "browser"
1635
- }),
1636
- annotateTool({
1637
- name: "seastudio-browser_tab_go_forward",
1638
- description: "\u8BA9 Browser Session \u4E2D\u7684 tab \u524D\u8FDB\u3002",
1639
- inputSchema: {
1640
- type: "object",
1641
- properties: {
1642
- ...browserSessionIdParam,
1643
- ...tabIdParam
1644
- },
1645
- required: ["browserSessionId", "tabId"]
1646
- }
1647
- }, {
1648
- operationKind: "mutate",
1649
- requiresExecutionEvidence: false,
1650
- rawDomain: "browser"
1651
- }),
1652
- annotateTool({
1653
- name: "seastudio-browser_tab_reload",
1654
- description: "\u5237\u65B0 Browser Session \u4E2D\u7684 tab\u3002",
1655
- inputSchema: {
1656
- type: "object",
1657
- properties: {
1658
- ...browserSessionIdParam,
1659
- ...tabIdParam
1660
- },
1661
- required: ["browserSessionId", "tabId"]
1662
- }
1663
- }, {
1664
- operationKind: "mutate",
1665
- requiresExecutionEvidence: false,
1666
- rawDomain: "browser"
1667
- }),
1668
- annotateTool({
1669
- name: "seastudio-browser_tab_stop",
1670
- description: "\u505C\u6B62 Browser Session \u4E2D\u7684 tab \u52A0\u8F7D\u3002",
1671
- inputSchema: {
1672
- type: "object",
1673
- properties: {
1674
- ...browserSessionIdParam,
1675
- ...tabIdParam
1676
- },
1677
- required: ["browserSessionId", "tabId"]
1678
- }
1679
- }, {
1680
- operationKind: "mutate",
1681
- requiresExecutionEvidence: false,
1682
- rawDomain: "browser"
1683
- }),
1684
- annotateTool({
1685
- name: "seastudio-browser_viewport_bind",
1686
- description: "\u628A\u4E00\u4E2A Browser Session \u7ED1\u5B9A\u5230\u5F53\u524D UI viewport\uFF0C\u7528\u4E8E\u5BBF\u4E3B\u6E32\u67D3\u771F\u5B9E webview surface\u3002",
1687
- inputSchema: {
1688
- type: "object",
1689
- properties: {
1690
- ...browserSessionIdParam,
1691
- ownerInstanceId: { type: "string", description: "\u53EF\u9009 UI owner instance id\u3002" },
1692
- rect: {
1693
- type: "object",
1694
- properties: {
1695
- x: { type: "number" },
1696
- y: { type: "number" },
1697
- width: { type: "number" },
1698
- height: { type: "number" }
1699
- },
1700
- required: ["x", "y", "width", "height"]
1701
- }
1702
- },
1703
- required: ["browserSessionId", "rect"]
1704
- }
1705
- }, {
1706
- operationKind: "mutate",
1707
- requiresExecutionEvidence: false,
1708
- rawDomain: "browser"
1709
- }),
1710
- annotateTool({
1711
- name: "seastudio-browser_certificate_respond",
1712
- description: "\u54CD\u5E94 Browser Session \u8BC1\u4E66\u9519\u8BEF\u51B3\u7B56\u3002",
1713
- inputSchema: {
1714
- type: "object",
1715
- properties: {
1716
- ...browserSessionIdParam,
1717
- requestId: { type: "string", description: "\u8BC1\u4E66\u9519\u8BEF\u8BF7\u6C42 ID\u3002" },
1718
- allow: { type: "boolean", description: "\u662F\u5426\u7EE7\u7EED\u52A0\u8F7D\u8BE5\u8BC1\u4E66\u9519\u8BEF\u9875\u9762\u3002" }
1719
- },
1720
- required: ["browserSessionId", "requestId", "allow"]
1721
- }
1722
- }, {
1723
- operationKind: "mutate",
1724
- requiresExecutionEvidence: false,
1725
- rawDomain: "browser"
1726
- })
1727
- ];
1728
-
1729
- // src/mcp/seastudio/notifications.ts
1730
- var SeastudioRequests = {
1731
- /** 请求打开文件 -> 主程序发布 FILE_OPEN_REQUESTED */
1732
- FILE_OPEN: "request:file_open",
1733
- /** 请求标记文件已修改 -> 主程序发布 FILE_MODIFIED */
1734
- FILE_MODIFIED: "request:file_modified",
1735
- /** 请求标记文件已保存 -> 主程序发布 FILE_SAVED */
1736
- FILE_SAVED: "request:file_saved",
1737
- /** 请求发送文本给 Agent -> 主程序发布 TEXT_SEND_REQUESTED */
1738
- TEXT_SEND: "request:text_send"
1739
- };
1740
- var SeastudioNotifications = {
1741
- /** 文件系统变化通知(fs.watch 触发) */
1742
- FILES_CHANGED: "files:changed",
1743
- /** 文件或目录被重命名/移动 */
1744
- FILE_RENAMED: "file:renamed",
1745
- /** 文件或目录被删除/移入回收站 */
1746
- FILE_DELETED: "file:deleted",
1747
- /** 根目录变化通知 */
1748
- ROOTS_CHANGED: "roots:changed",
1749
- /** 文件打开请求,可广播也可定向 */
1750
- FILE_OPEN_REQUESTED: "seastudio:file-open_requested",
1751
- /** 文件固定请求:将当前临时打开的文件实例转为固定 */
1752
- FILE_KEEP_REQUESTED: "seastudio:file-keep_requested",
1753
- /** 文件已修改通知(内容变化,未保存) */
1754
- FILE_MODIFIED: "file:modified",
1755
- /** 文件已保存通知 */
1756
- FILE_SAVED: "file:saved",
1757
- /** 文件被选中通知 */
1758
- FILE_SELECTED: "file:selected",
1759
- /** 文件发送请求 */
1760
- FILE_SEND_REQUESTED: "seastudio:file-send_requested",
1761
- /** 文本发送请求 */
1762
- TEXT_SEND_REQUESTED: "seastudio:text-send_requested",
1763
- /** 代码提案审核反馈 */
1764
- PROPOSAL_FEEDBACK: "seastudio:proposal-feedback",
1765
- /** 插件实例请求更新宿主 plugin tab 标题 */
1766
- PLUGIN_TAB_TITLE_CHANGED: "plugin:tab-title_changed",
1767
- /** Browser Session 状态变化 */
1768
- BROWSER_SESSION_CHANGED: "browser:session_changed",
1769
- /** Browser Session 关闭 */
1770
- BROWSER_SESSION_CLOSED: "browser:session_closed",
1771
- /** Browser Session 证书错误,需要客户端 UI 决策 */
1772
- BROWSER_CERTIFICATE_ERROR: "browser:certificate_error",
1773
- /** Browser Session 收到网页新标签请求 */
1774
- BROWSER_NEW_TAB_REQUESTED: "browser:new_tab_requested",
1775
- /**
1776
- * Agent 对话 session:新建。消息历史仍由 Agent 前端持有,宿主仅同步列表用于侧栏。
1777
- * 通常由 Agent 通过 notifications/publish 发出;其他订阅者(含 host-ui)可据此更新 UI。
1778
- */
1779
- SESSION_CREATED: "session:created",
1780
- /**
1781
- * Agent 对话 session:当前选中项变化。
1782
- * 可由 Agent 广播,或由宿主侧栏通过 publishTo(targetPluginId, targetInstanceId) 定向到单个 Agent 标签。
1783
- */
1784
- SESSION_SELECTED: "session:selected",
1785
- /** Agent 对话 session:摘要或标题更新,供侧栏展示 */
1786
- SESSION_SUMMARY: "session:summary",
1787
- /** Agent 对话 session:运行状态更新,供宿主侧栏展示 */
1788
- SESSION_STATUS: "session:status",
1789
- /** Agent 对话 session:从宿主列表移除(删除/归档等) */
1790
- SESSION_REMOVED: "session:removed",
1791
- /**
1792
- * Agent 在初始化或线程列表与当前选中稳定后,向宿主全量同步:
1793
- * 每个 agent 实例(通常每项目一个)下的会话列表与当前选中的 sessionId。
1794
- * 宿主应用此通知重建侧栏列表,避免仅靠逐条 SESSION_CREATED 时重启后空白。
1795
- */
1796
- SESSION_STATE_SNAPSHOT: "session:state_snapshot",
1797
- /**
1798
- * 宿主请求 Agent 新建一条对话会话(例如侧栏项目行的「+」)。
1799
- * 通过 notifications/publish + publishTo 定向到对应 Agent 实例。
1800
- */
1801
- SESSION_NEW_REQUESTED: "session:new_requested",
1802
- /**
1803
- * 宿主请求 Agent 删除/关闭某条对话会话(例如侧栏会话行「×」)。
1804
- * 通过 notifications/publish + publishTo 定向到对应 Agent 实例。
1805
- */
1806
- SESSION_DELETE_REQUESTED: "session:delete_requested"
1807
- };
1808
-
1809
- // src/mcp/seastudio/index.ts
1810
- var allTools = [
1811
- ...fileTools,
1812
- ...shellTools,
1813
- ...seaCloudTools,
1814
- ...pluginManagementTools,
1815
- ...agentManagementTools,
1816
- ...pluginTabTools,
1817
- ...agentTabTools,
1818
- ...projectTools,
1819
- ...skillTools,
1820
- ...browserRuntimeTools
1821
- ];
1822
- var tools = allTools;
1823
-
1824
- exports.SeastudioNotifications = SeastudioNotifications;
1825
- exports.SeastudioRequests = SeastudioRequests;
1826
- exports.agentManagementTools = agentManagementTools;
1827
- exports.agentTabTools = agentTabTools;
1828
- exports.allTools = allTools;
1829
- exports.annotateTool = annotateTool;
1830
- exports.batchFlattenCopyEvidenceOutputSchema = batchFlattenCopyEvidenceOutputSchema;
1831
- exports.browserRuntimeTools = browserRuntimeTools;
1832
- exports.callTool = callTool;
1833
- exports.callToolText = callToolText;
1834
- exports.dualPathEvidenceOutputSchema = dualPathEvidenceOutputSchema;
1835
- exports.fileDownloadEvidenceOutputSchema = fileDownloadEvidenceOutputSchema;
1836
- exports.fileTools = fileTools;
1837
- exports.fileUrlEvidenceOutputSchema = fileUrlEvidenceOutputSchema;
1838
- exports.pluginManagementTools = pluginManagementTools;
1839
- exports.pluginTabTools = pluginTabTools;
1840
- exports.projectTools = projectTools;
1841
- exports.request = request;
1842
- exports.rootedPathEvidenceOutputSchema = rootedPathEvidenceOutputSchema;
1843
- exports.rootedWriteEvidenceOutputSchema = rootedWriteEvidenceOutputSchema;
1844
- exports.runOneShotShellCommand = runOneShotShellCommand;
1845
- exports.seaCloudTools = seaCloudTools;
1846
- exports.seastudio = seastudio;
1847
- exports.shellSessionCloseEvidenceOutputSchema = shellSessionCloseEvidenceOutputSchema;
1848
- exports.shellSessionOpenEvidenceOutputSchema = shellSessionOpenEvidenceOutputSchema;
1849
- exports.shellSessionRunEvidenceOutputSchema = shellSessionRunEvidenceOutputSchema;
1850
- exports.shellSessionSignalEvidenceOutputSchema = shellSessionSignalEvidenceOutputSchema;
1851
- exports.shellSessionSnapshotEvidenceOutputSchema = shellSessionSnapshotEvidenceOutputSchema;
1852
- exports.shellTools = shellTools;
1853
- exports.skillTools = skillTools;
1854
- exports.tools = tools;