@seastudio/sdk 5.0.0 → 5.2.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.
- package/README.md +2 -2
- package/dist/{chunk-FNA3TFHQ.js → chunk-352PJTT7.js} +75 -75
- package/dist/{chunk-TJ3CGHWJ.js → chunk-6XG5DRQW.js} +0 -9
- package/dist/{chunk-3I7UM66P.cjs → chunk-77OAWBLL.cjs} +0 -9
- package/dist/{chunk-55KNKQUO.cjs → chunk-JAJUVHJ2.cjs} +10 -10
- package/dist/{chunk-EGCXEVBD.cjs → chunk-LWANMGZ7.cjs} +79 -79
- package/dist/{chunk-GKR5RYBV.js → chunk-NYD4MV7S.js} +2 -2
- package/dist/index.cjs +45 -45
- package/dist/index.d.cts +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +3 -3
- package/dist/mcp/core/index.cjs +22 -22
- package/dist/mcp/core/index.d.cts +2 -2
- package/dist/mcp/core/index.d.ts +2 -2
- package/dist/mcp/core/index.js +1 -1
- package/dist/mcp/index.cjs +45 -45
- package/dist/mcp/index.d.cts +2 -2
- package/dist/mcp/index.d.ts +2 -2
- package/dist/mcp/index.js +3 -3
- package/dist/mcp/seastudio/index.cjs +38 -38
- package/dist/mcp/seastudio/index.d.cts +98 -67
- package/dist/mcp/seastudio/index.d.ts +98 -67
- package/dist/mcp/seastudio/index.js +2 -2
- package/dist/{types-D7xY0bt6.d.cts → types-S2uWCEaN.d.cts} +1 -1
- package/dist/{types-D7xY0bt6.d.ts → types-S2uWCEaN.d.ts} +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -19,9 +19,9 @@ pnpm add @seastudio/sdk
|
|
|
19
19
|
| `@seastudio/sdk/mcp/seastudio` | SeaStudio host tools, notifications, and DTO types |
|
|
20
20
|
| `@seastudio/sdk/styles/cosmos.css` | Shared design-system CSS |
|
|
21
21
|
|
|
22
|
-
##
|
|
22
|
+
## Authentication Session Contract
|
|
23
23
|
|
|
24
|
-
External plugins can subscribe to host-owned
|
|
24
|
+
External plugins can subscribe to host-owned authentication session state without receiving SeaArt tokens.
|
|
25
25
|
|
|
26
26
|
```ts
|
|
27
27
|
import { SeastudioNotifications, type AuthSessionChangedParams } from '@seastudio/sdk/mcp';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { getDefaultClient } from './chunk-
|
|
1
|
+
import { getDefaultClient } from './chunk-6XG5DRQW.js';
|
|
2
2
|
|
|
3
3
|
// src/mcp/seastudio/tools/file.ts
|
|
4
4
|
function annotateTool(tool, annotations, outputSchema) {
|
|
@@ -537,29 +537,29 @@ var shellTools = [
|
|
|
537
537
|
];
|
|
538
538
|
|
|
539
539
|
// src/mcp/seastudio/tools/browser.ts
|
|
540
|
-
var
|
|
541
|
-
var
|
|
542
|
-
|
|
540
|
+
var SINGLETON_BROWSER_ID = "browser-default";
|
|
541
|
+
var browserIdParam = {
|
|
542
|
+
browserId: {
|
|
543
543
|
type: "string",
|
|
544
|
-
description: "Browser
|
|
544
|
+
description: "Browser ID\uFF0C\u53EF\u9009\uFF1B\u7F3A\u7701\u4E3A\u5168\u5C40\u5355\u4F8B browser-default\u3002"
|
|
545
545
|
}
|
|
546
546
|
};
|
|
547
547
|
var tabIdParam = {
|
|
548
548
|
tabId: { type: "string", description: "Browser tab ID\u3002close/activate/navigate/goBack/goForward/reload/stop \u9700\u8981\u3002" }
|
|
549
549
|
};
|
|
550
|
-
var
|
|
550
|
+
var browserTools = [
|
|
551
551
|
annotateTool({
|
|
552
|
-
name: "seastudio-
|
|
553
|
-
description: "\u8BFB\u53D6\u6216\u91CD\u7F6E
|
|
552
|
+
name: "seastudio-browser",
|
|
553
|
+
description: "\u8BFB\u53D6\u6216\u91CD\u7F6E Host Browser\u3002\u4F7F\u7528 action \u9009\u62E9 open\u3001list\u3001get \u6216 close\u3002open/get \u8FD4\u56DE\u540C\u4E00\u4E2A browserId\uFF1Bclose \u4F1A\u6E05\u7A7A\u5168\u90E8 tab\u3002",
|
|
554
554
|
inputSchema: {
|
|
555
555
|
type: "object",
|
|
556
556
|
properties: {
|
|
557
557
|
action: {
|
|
558
558
|
type: "string",
|
|
559
559
|
enum: ["open", "list", "get", "close"],
|
|
560
|
-
description: "
|
|
560
|
+
description: "Browser \u52A8\u4F5C\u3002\u5F53\u524D\u5168\u5C40\u53EA\u6709\u4E00\u4E2A browser\uFF1BbrowserId \u53EF\u9009\u3002"
|
|
561
561
|
},
|
|
562
|
-
...
|
|
562
|
+
...browserIdParam,
|
|
563
563
|
homepage: { type: "string", description: "open \u7684\u53EF\u9009\u9ED8\u8BA4\u9996\u9875\u3002" }
|
|
564
564
|
},
|
|
565
565
|
required: ["action"]
|
|
@@ -570,20 +570,20 @@ var browserRuntimeTools = [
|
|
|
570
570
|
rawDomain: "browser"
|
|
571
571
|
}),
|
|
572
572
|
annotateTool({
|
|
573
|
-
name: "seastudio-
|
|
574
|
-
description: "\u7BA1\u7406\u5168\u5C40
|
|
573
|
+
name: "seastudio-browser_tab",
|
|
574
|
+
description: "\u7BA1\u7406\u5168\u5C40 Browser \u4E2D\u7684 tab\u3002\u4F7F\u7528 action \u9009\u62E9 create\u3001close\u3001activate\u3001navigate\u3001goBack\u3001goForward\u3001reload \u6216 stop\u3002\u6BCF\u4E2A Host browser \u63D2\u4EF6\u5B9E\u4F8B\u901A\u5E38\u5BF9\u5E94\u4E00\u4E2A ownerInstanceId tab\u3002",
|
|
575
575
|
inputSchema: {
|
|
576
576
|
type: "object",
|
|
577
577
|
properties: {
|
|
578
578
|
action: {
|
|
579
579
|
type: "string",
|
|
580
580
|
enum: ["create", "close", "activate", "navigate", "goBack", "goForward", "reload", "stop"],
|
|
581
|
-
description: "Browser tab \u52A8\u4F5C\
|
|
581
|
+
description: "Browser tab \u52A8\u4F5C\u3002browserId \u53EF\u9009\uFF1Bcreate \u53EF\u4F20 ownerInstanceId \u7ED1\u5B9A Host \u63D2\u4EF6\u5B9E\u4F8B\u3002"
|
|
582
582
|
},
|
|
583
|
-
...
|
|
583
|
+
...browserIdParam,
|
|
584
584
|
...tabIdParam,
|
|
585
585
|
url: { type: "string", description: "create \u7684\u521D\u59CB URL\uFF0C\u6216 navigate \u7684\u76EE\u6807 URL/\u641C\u7D22\u8BCD\u3002" },
|
|
586
|
-
ownerInstanceId: { type: "string", description: "create \u65F6\u7ED1\u5B9A Host
|
|
586
|
+
ownerInstanceId: { type: "string", description: "create \u65F6\u7ED1\u5B9A Host browser \u63D2\u4EF6 instanceId\u3002" }
|
|
587
587
|
},
|
|
588
588
|
required: ["action"]
|
|
589
589
|
}
|
|
@@ -593,17 +593,17 @@ var browserRuntimeTools = [
|
|
|
593
593
|
rawDomain: "browser"
|
|
594
594
|
}),
|
|
595
595
|
annotateTool({
|
|
596
|
-
name: "seastudio-
|
|
597
|
-
description: "\u5904\u7406 Browser
|
|
596
|
+
name: "seastudio-browser_view",
|
|
597
|
+
description: "\u5904\u7406 Browser \u4E0E UI surface\u3001\u8BC1\u4E66\u9519\u8BEF\u548C\u9875\u9762\u811A\u672C\u6267\u884C\u76F8\u5173\u7684\u5BBF\u4E3B\u4EA4\u4E92\u3002",
|
|
598
598
|
inputSchema: {
|
|
599
599
|
type: "object",
|
|
600
600
|
properties: {
|
|
601
601
|
action: {
|
|
602
602
|
type: "string",
|
|
603
603
|
enum: ["bindViewport", "respondCertificate", "evaluate"],
|
|
604
|
-
description: "Browser
|
|
604
|
+
description: "Browser host \u52A8\u4F5C\u3002bindViewport \u9700\u8981 rect\uFF1BrespondCertificate \u9700\u8981 requestId \u548C allow\uFF1Bevaluate \u9700\u8981 tabId \u548C script\u3002"
|
|
605
605
|
},
|
|
606
|
-
...
|
|
606
|
+
...browserIdParam,
|
|
607
607
|
...tabIdParam,
|
|
608
608
|
ownerInstanceId: { type: "string", description: "bindViewport \u7684 UI owner instance id\u3002" },
|
|
609
609
|
rect: {
|
|
@@ -619,7 +619,7 @@ var browserRuntimeTools = [
|
|
|
619
619
|
},
|
|
620
620
|
requestId: { type: "string", description: "respondCertificate \u7684\u8BC1\u4E66\u9519\u8BEF\u8BF7\u6C42 ID\u3002" },
|
|
621
621
|
allow: { type: "boolean", description: "respondCertificate \u662F\u5426\u7EE7\u7EED\u52A0\u8F7D\u8BE5\u8BC1\u4E66\u9519\u8BEF\u9875\u9762\u3002" },
|
|
622
|
-
script: { type: "string", description: "evaluate \u8981\u5728
|
|
622
|
+
script: { type: "string", description: "evaluate \u8981\u5728 Browser \u9875\u9762\u4E2D\u6267\u884C\u7684 JavaScript\u3002" },
|
|
623
623
|
timeoutMs: { type: "number", description: "evaluate \u8D85\u65F6\u65F6\u95F4\uFF0C\u5355\u4F4D\u6BEB\u79D2\u3002" }
|
|
624
624
|
},
|
|
625
625
|
required: ["action"]
|
|
@@ -630,12 +630,12 @@ var browserRuntimeTools = [
|
|
|
630
630
|
rawDomain: "browser"
|
|
631
631
|
}),
|
|
632
632
|
annotateTool({
|
|
633
|
-
name: "seastudio-
|
|
634
|
-
description: "\u5728 Browser \
|
|
633
|
+
name: "seastudio-browser_show",
|
|
634
|
+
description: "\u5728 Host Browser \u4E2D\u663E\u793A\u6307\u5B9A URL\uFF08\u53EF\u89C6\u5316\uFF09\u3002\u4F1A\u6253\u5F00\u6216\u6FC0\u6D3B\u5BF9\u5E94 Host \u6807\u7B7E\u9875\uFF0C\u5E76\u628A\u9875\u9762\u5448\u73B0\u7ED9\u7528\u6237\u3002",
|
|
635
635
|
inputSchema: {
|
|
636
636
|
type: "object",
|
|
637
637
|
properties: {
|
|
638
|
-
url: { type: "string", description: "\u8981\u5728 Browser \
|
|
638
|
+
url: { type: "string", description: "\u8981\u5728 Host Browser \u4E2D\u663E\u793A\u7684 URL \u6216\u641C\u7D22\u8BCD\u3002" }
|
|
639
639
|
},
|
|
640
640
|
required: ["url"]
|
|
641
641
|
}
|
|
@@ -890,40 +890,50 @@ var seastudio = {
|
|
|
890
890
|
}
|
|
891
891
|
},
|
|
892
892
|
browser: {
|
|
893
|
-
|
|
894
|
-
|
|
895
|
-
|
|
896
|
-
|
|
897
|
-
|
|
898
|
-
|
|
899
|
-
|
|
900
|
-
|
|
901
|
-
|
|
902
|
-
|
|
903
|
-
|
|
893
|
+
open: async (options = {}) => parseToolResult(await callTool("seastudio-browser", { action: "open", ...options })),
|
|
894
|
+
list: async () => parseToolResult(await callTool("seastudio-browser", { action: "list" })),
|
|
895
|
+
get: async (browserId = SINGLETON_BROWSER_ID) => parseToolResult(await callTool("seastudio-browser", { action: "get", browserId })),
|
|
896
|
+
close: async (browserId = SINGLETON_BROWSER_ID) => parseToolResult(
|
|
897
|
+
await callTool("seastudio-browser", { action: "close", browserId })
|
|
898
|
+
),
|
|
899
|
+
show: async (url) => parseToolResult(
|
|
900
|
+
await callTool("seastudio-browser_show", { url })
|
|
901
|
+
),
|
|
902
|
+
evaluate: async (browserId, tabId, script, timeoutMs) => parseToolResult(
|
|
903
|
+
await callTool("seastudio-browser_view", {
|
|
904
|
+
action: "evaluate",
|
|
905
|
+
browserId,
|
|
906
|
+
tabId,
|
|
907
|
+
script,
|
|
908
|
+
...timeoutMs ? { timeoutMs } : {}
|
|
909
|
+
})
|
|
910
|
+
),
|
|
911
|
+
tab: {
|
|
912
|
+
create: async (browserId = SINGLETON_BROWSER_ID, url, ownerInstanceId) => parseToolResult(
|
|
913
|
+
await callTool("seastudio-browser_tab", {
|
|
904
914
|
action: "create",
|
|
905
|
-
|
|
915
|
+
browserId,
|
|
906
916
|
...url ? { url } : {},
|
|
907
917
|
...ownerInstanceId ? { ownerInstanceId } : {}
|
|
908
918
|
})
|
|
909
919
|
),
|
|
910
|
-
close: async (
|
|
911
|
-
await callTool("seastudio-
|
|
920
|
+
close: async (browserId, tabId) => parseToolResult(
|
|
921
|
+
await callTool("seastudio-browser_tab", { action: "close", browserId, tabId })
|
|
912
922
|
),
|
|
913
|
-
activate: async (
|
|
914
|
-
await callTool("seastudio-
|
|
923
|
+
activate: async (browserId, tabId) => parseToolResult(
|
|
924
|
+
await callTool("seastudio-browser_tab", { action: "activate", browserId, tabId })
|
|
915
925
|
),
|
|
916
|
-
navigate: async (
|
|
917
|
-
await callTool("seastudio-
|
|
926
|
+
navigate: async (browserId, tabId, url) => parseToolResult(
|
|
927
|
+
await callTool("seastudio-browser_tab", { action: "navigate", browserId, tabId, url })
|
|
918
928
|
),
|
|
919
|
-
goBack: async (
|
|
920
|
-
goForward: async (
|
|
921
|
-
reload: async (
|
|
922
|
-
stop: async (
|
|
929
|
+
goBack: async (browserId, tabId) => parseToolResult(await callTool("seastudio-browser_tab", { action: "goBack", browserId, tabId })),
|
|
930
|
+
goForward: async (browserId, tabId) => parseToolResult(await callTool("seastudio-browser_tab", { action: "goForward", browserId, tabId })),
|
|
931
|
+
reload: async (browserId, tabId) => parseToolResult(await callTool("seastudio-browser_tab", { action: "reload", browserId, tabId })),
|
|
932
|
+
stop: async (browserId, tabId) => parseToolResult(await callTool("seastudio-browser_tab", { action: "stop", browserId, tabId })),
|
|
923
933
|
getOrCreateForInstance: async (ownerInstanceId, url) => parseToolResult(
|
|
924
|
-
await callTool("seastudio-
|
|
934
|
+
await callTool("seastudio-browser_tab", {
|
|
925
935
|
action: "create",
|
|
926
|
-
|
|
936
|
+
browserId: SINGLETON_BROWSER_ID,
|
|
927
937
|
ownerInstanceId,
|
|
928
938
|
...url ? { url } : {}
|
|
929
939
|
})
|
|
@@ -931,31 +941,17 @@ var seastudio = {
|
|
|
931
941
|
},
|
|
932
942
|
viewport: {
|
|
933
943
|
bind: async (rect, options = {}) => parseToolResult(
|
|
934
|
-
await callTool("seastudio-
|
|
944
|
+
await callTool("seastudio-browser_view", {
|
|
935
945
|
action: "bindViewport",
|
|
936
|
-
|
|
946
|
+
browserId: options.browserId ?? SINGLETON_BROWSER_ID,
|
|
937
947
|
rect,
|
|
938
948
|
...options.ownerInstanceId ? { ownerInstanceId: options.ownerInstanceId } : {}
|
|
939
949
|
})
|
|
940
950
|
)
|
|
941
951
|
},
|
|
942
|
-
runtime: {
|
|
943
|
-
show: async (url) => parseToolResult(
|
|
944
|
-
await callTool("seastudio-browser_runtime_show", { url })
|
|
945
|
-
),
|
|
946
|
-
evaluate: async (browserRuntimeSessionId, tabId, script, timeoutMs) => parseToolResult(
|
|
947
|
-
await callTool("seastudio-browser_runtime", {
|
|
948
|
-
action: "evaluate",
|
|
949
|
-
browserRuntimeSessionId,
|
|
950
|
-
tabId,
|
|
951
|
-
script,
|
|
952
|
-
...timeoutMs ? { timeoutMs } : {}
|
|
953
|
-
})
|
|
954
|
-
)
|
|
955
|
-
},
|
|
956
952
|
certificate: {
|
|
957
|
-
respond: async (
|
|
958
|
-
await callTool("seastudio-
|
|
953
|
+
respond: async (browserId, requestId, allow) => parseToolResult(
|
|
954
|
+
await callTool("seastudio-browser_view", { action: "respondCertificate", browserId, requestId, allow })
|
|
959
955
|
)
|
|
960
956
|
}
|
|
961
957
|
}
|
|
@@ -1200,14 +1196,14 @@ var SeastudioNotifications = {
|
|
|
1200
1196
|
PROPOSAL_FEEDBACK: "seastudio:proposal-feedback",
|
|
1201
1197
|
/** 插件实例请求更新宿主 plugin tab 标题 */
|
|
1202
1198
|
PLUGIN_TAB_TITLE_CHANGED: "plugin:tab-title_changed",
|
|
1203
|
-
/**
|
|
1204
|
-
|
|
1205
|
-
/**
|
|
1206
|
-
|
|
1207
|
-
/**
|
|
1208
|
-
|
|
1209
|
-
/**
|
|
1210
|
-
|
|
1199
|
+
/** Browser 状态变化 */
|
|
1200
|
+
BROWSER_STATE_CHANGED: "browser:state_changed",
|
|
1201
|
+
/** Browser 关闭 */
|
|
1202
|
+
BROWSER_CLOSED: "browser:closed",
|
|
1203
|
+
/** Browser 证书错误,需要客户端 UI 决策 */
|
|
1204
|
+
BROWSER_CERTIFICATE_ERROR: "browser:certificate_error",
|
|
1205
|
+
/** Browser 收到网页新标签请求 */
|
|
1206
|
+
BROWSER_NEW_TAB_REQUESTED: "browser:new_tab_requested",
|
|
1211
1207
|
/**
|
|
1212
1208
|
* Agent 对话 session:新建。消息历史仍由 Agent 前端持有,宿主仅同步列表用于侧栏。
|
|
1213
1209
|
* 通常由 Agent 通过 notifications/publish 发出;其他订阅者(含 host-ui)可据此更新 UI。
|
|
@@ -1256,6 +1252,10 @@ var SeastudioNotifications = {
|
|
|
1256
1252
|
HOST_APP_VISIBILITY: "host:app_visibility",
|
|
1257
1253
|
/** Host MCP tools/list 发生变化(例如 Seaflow bridge 动态注册工具) */
|
|
1258
1254
|
RUNTIME_TOOLS_CHANGED: "mcp:runtime_tools_changed",
|
|
1255
|
+
/** Host 精确路由到插件实例的工具调用请求 */
|
|
1256
|
+
PLUGIN_TOOL_CALL: "plugin:tool_call",
|
|
1257
|
+
/** 插件实例返回给 Host 的工具调用结果 */
|
|
1258
|
+
PLUGIN_TOOL_RESULT: "plugin:tool_result",
|
|
1259
1259
|
/** 主程序用户登录态变化;不包含访问令牌 */
|
|
1260
1260
|
AUTH_SESSION_CHANGED: "auth:session_changed"
|
|
1261
1261
|
};
|
|
@@ -1272,8 +1272,8 @@ var allTools = [
|
|
|
1272
1272
|
...agentTabTools,
|
|
1273
1273
|
...projectTools,
|
|
1274
1274
|
...skillTools,
|
|
1275
|
-
...
|
|
1275
|
+
...browserTools
|
|
1276
1276
|
];
|
|
1277
1277
|
var tools = allTools;
|
|
1278
1278
|
|
|
1279
|
-
export {
|
|
1279
|
+
export { SINGLETON_BROWSER_ID, SeastudioNotifications, SeastudioRequests, agentManagementTools, agentTabTools, allTools, annotateTool, batchFlattenCopyEvidenceOutputSchema, browserTools, callTool, callToolText, dualPathEvidenceOutputSchema, editorTools, fileDownloadEvidenceOutputSchema, fileSaveAsEvidenceOutputSchema, fileTools, fileUrlEvidenceOutputSchema, gitTools, pluginManagementTools, pluginTabTools, projectTools, request, rootedPathEvidenceOutputSchema, rootedWriteEvidenceOutputSchema, runOneShotShellCommand, seastudio, shellSessionCloseEvidenceOutputSchema, shellSessionOpenEvidenceOutputSchema, shellSessionRunEvidenceOutputSchema, shellSessionSignalEvidenceOutputSchema, shellSessionSnapshotEvidenceOutputSchema, shellTools, skillTools, tools };
|
|
@@ -204,12 +204,6 @@ function setDefaultTransport(transport) {
|
|
|
204
204
|
}
|
|
205
205
|
|
|
206
206
|
// src/mcp/core/client.ts
|
|
207
|
-
var LONG_RUNNING_TOOL_TIMEOUTS = /* @__PURE__ */ new Set([
|
|
208
|
-
"seaflow-canvas_task_wait_result",
|
|
209
|
-
"seaflow-canvas_execute_node_and_wait",
|
|
210
|
-
"seaflow-canvas_task_reconnect"
|
|
211
|
-
]);
|
|
212
|
-
var LONG_RUNNING_TOOL_TIMEOUT_MS = 125e3;
|
|
213
207
|
var readPositiveTimeout = (value) => {
|
|
214
208
|
if (typeof value !== "number" || !Number.isFinite(value) || value <= 0) {
|
|
215
209
|
return null;
|
|
@@ -286,9 +280,6 @@ var MCPClient = class {
|
|
|
286
280
|
if (argTimeout != null) {
|
|
287
281
|
return Math.max(this.timeout, argTimeout + 5e3);
|
|
288
282
|
}
|
|
289
|
-
if (LONG_RUNNING_TOOL_TIMEOUTS.has(name)) {
|
|
290
|
-
return Math.max(this.timeout, LONG_RUNNING_TOOL_TIMEOUT_MS);
|
|
291
|
-
}
|
|
292
283
|
return this.timeout;
|
|
293
284
|
}
|
|
294
285
|
async callTool(name, args = {}, options) {
|
|
@@ -206,12 +206,6 @@ function setDefaultTransport(transport) {
|
|
|
206
206
|
}
|
|
207
207
|
|
|
208
208
|
// src/mcp/core/client.ts
|
|
209
|
-
var LONG_RUNNING_TOOL_TIMEOUTS = /* @__PURE__ */ new Set([
|
|
210
|
-
"seaflow-canvas_task_wait_result",
|
|
211
|
-
"seaflow-canvas_execute_node_and_wait",
|
|
212
|
-
"seaflow-canvas_task_reconnect"
|
|
213
|
-
]);
|
|
214
|
-
var LONG_RUNNING_TOOL_TIMEOUT_MS = 125e3;
|
|
215
209
|
var readPositiveTimeout = (value) => {
|
|
216
210
|
if (typeof value !== "number" || !Number.isFinite(value) || value <= 0) {
|
|
217
211
|
return null;
|
|
@@ -288,9 +282,6 @@ var MCPClient = class {
|
|
|
288
282
|
if (argTimeout != null) {
|
|
289
283
|
return Math.max(this.timeout, argTimeout + 5e3);
|
|
290
284
|
}
|
|
291
|
-
if (LONG_RUNNING_TOOL_TIMEOUTS.has(name)) {
|
|
292
|
-
return Math.max(this.timeout, LONG_RUNNING_TOOL_TIMEOUT_MS);
|
|
293
|
-
}
|
|
294
285
|
return this.timeout;
|
|
295
286
|
}
|
|
296
287
|
async callTool(name, args = {}, options) {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
4
|
-
var
|
|
3
|
+
var chunkLWANMGZ7_cjs = require('./chunk-LWANMGZ7.cjs');
|
|
4
|
+
var chunk77OAWBLL_cjs = require('./chunk-77OAWBLL.cjs');
|
|
5
5
|
|
|
6
6
|
// src/mcp/index.ts
|
|
7
7
|
async function loadPlugin(pluginName) {
|
|
@@ -11,11 +11,11 @@ async function loadPlugin(pluginName) {
|
|
|
11
11
|
throw new Error(`Unknown plugin: ${pluginName}. \u63D2\u4EF6 MCP \u4E0D\u518D\u901A\u8FC7 SDK \u9759\u6001\u5BFC\u5165\u3002`);
|
|
12
12
|
}
|
|
13
13
|
var MCP_PACKAGES = [
|
|
14
|
-
{ id: "seastudio", name: "SeaStudio", description: "\u6587\u4EF6/Shell/Git/\u63D2\u4EF6\u57FA\u7840\u80FD\u529B", tools:
|
|
14
|
+
{ id: "seastudio", name: "SeaStudio", description: "\u6587\u4EF6/Shell/Git/\u63D2\u4EF6\u57FA\u7840\u80FD\u529B", tools: chunkLWANMGZ7_cjs.allTools }
|
|
15
15
|
];
|
|
16
16
|
function mcpToolToOpenAI(tool) {
|
|
17
|
-
const normalizedTool =
|
|
18
|
-
const outputSchema = normalizedTool.outputSchema ?
|
|
17
|
+
const normalizedTool = chunk77OAWBLL_cjs.normalizeMCPTool(tool);
|
|
18
|
+
const outputSchema = normalizedTool.outputSchema ? chunk77OAWBLL_cjs.normalizeMCPToolObjectSchema(normalizedTool.outputSchema) : void 0;
|
|
19
19
|
return {
|
|
20
20
|
type: "function",
|
|
21
21
|
...normalizedTool.annotations ? { annotations: { ...normalizedTool.annotations } } : {},
|
|
@@ -23,13 +23,13 @@ function mcpToolToOpenAI(tool) {
|
|
|
23
23
|
function: {
|
|
24
24
|
name: normalizedTool.name,
|
|
25
25
|
description: normalizedTool.description,
|
|
26
|
-
parameters:
|
|
26
|
+
parameters: chunk77OAWBLL_cjs.normalizeMCPToolObjectSchema(normalizedTool.inputSchema),
|
|
27
27
|
...outputSchema ? { outputSchema } : {}
|
|
28
28
|
}
|
|
29
29
|
};
|
|
30
30
|
}
|
|
31
31
|
function listAllTools() {
|
|
32
|
-
return [...
|
|
32
|
+
return [...chunkLWANMGZ7_cjs.allTools];
|
|
33
33
|
}
|
|
34
34
|
function toPackageName(source) {
|
|
35
35
|
if (source === "seastudio") {
|
|
@@ -54,7 +54,7 @@ function normalizeAvailableTool(raw) {
|
|
|
54
54
|
if (typeof tool.description !== "string") {
|
|
55
55
|
tool.description = tool.description == null ? "" : String(tool.description);
|
|
56
56
|
}
|
|
57
|
-
const normalized =
|
|
57
|
+
const normalized = chunk77OAWBLL_cjs.normalizeMCPTool(tool);
|
|
58
58
|
const source = typeof tool.source === "string" && tool.source.trim() ? tool.source.trim() : "seastudio";
|
|
59
59
|
return {
|
|
60
60
|
...normalized,
|
|
@@ -62,13 +62,13 @@ function normalizeAvailableTool(raw) {
|
|
|
62
62
|
};
|
|
63
63
|
}
|
|
64
64
|
var MCP_TOOL_PACKAGE_INDEX = new Map(
|
|
65
|
-
|
|
65
|
+
chunkLWANMGZ7_cjs.allTools.map((tool) => [tool.name, "seastudio"])
|
|
66
66
|
);
|
|
67
67
|
function getMCPToolPackageIndex() {
|
|
68
68
|
return new Map(MCP_TOOL_PACKAGE_INDEX);
|
|
69
69
|
}
|
|
70
70
|
async function listAvailableTools() {
|
|
71
|
-
const result = await
|
|
71
|
+
const result = await chunk77OAWBLL_cjs.getDefaultClient().request("tools/list");
|
|
72
72
|
const rawTools = Array.isArray(result?.tools) ? result.tools : [];
|
|
73
73
|
return rawTools.map(normalizeAvailableTool).filter((tool) => Boolean(tool));
|
|
74
74
|
}
|