@seastudio/sdk 4.0.16 → 5.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.
- package/README.md +17 -4
- package/dist/{chunk-NVMAM5WN.cjs → chunk-55KNKQUO.cjs} +4 -4
- package/dist/{chunk-MEPE7FIL.cjs → chunk-EGCXEVBD.cjs} +55 -86
- package/dist/{chunk-QS3WNDIH.js → chunk-FNA3TFHQ.js} +55 -85
- package/dist/{chunk-ZJQY4YOB.js → chunk-GKR5RYBV.js} +2 -2
- package/dist/index.cjs +23 -27
- package/dist/index.d.cts +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +2 -2
- package/dist/mcp/index.cjs +23 -27
- package/dist/mcp/index.d.cts +2 -2
- package/dist/mcp/index.d.ts +2 -2
- package/dist/mcp/index.js +2 -2
- package/dist/mcp/seastudio/index.cjs +36 -40
- package/dist/mcp/seastudio/index.d.cts +61 -65
- package/dist/mcp/seastudio/index.d.ts +61 -65
- package/dist/mcp/seastudio/index.js +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -73,15 +73,28 @@ pnpm release:pack
|
|
|
73
73
|
|
|
74
74
|
## Release Policy
|
|
75
75
|
|
|
76
|
-
`@seastudio/sdk` is the public contract consumed by external plugins. New plugin-facing events, DTOs, tools, or exported types require a semver version bump and a release through GitLab CI.
|
|
76
|
+
`@seastudio/sdk` is the public contract consumed by external plugins. New plugin-facing events, DTOs, tools, or exported types require a semver version bump and a release through GitLab CI. Breaking contract renames require a major version bump.
|
|
77
77
|
|
|
78
78
|
Releases are made from protected tags named `sdk-v<version>`, for example:
|
|
79
79
|
|
|
80
80
|
```bash
|
|
81
|
-
git tag -a sdk-
|
|
82
|
-
git push origin sdk-
|
|
81
|
+
git tag -a sdk-v5.0.0 -m "Release @seastudio/sdk 5.0.0"
|
|
82
|
+
git push origin sdk-v5.0.0
|
|
83
83
|
```
|
|
84
84
|
|
|
85
|
-
|
|
85
|
+
Protected `sdk-v*` tags automatically run `verify:release-artifact` and then
|
|
86
|
+
`publish:npm`. The publish job uses the verified tarball plus a protected,
|
|
87
|
+
masked `NPM_TOKEN` CI variable. The token must be an npm granular access token
|
|
88
|
+
scoped to `@seastudio/sdk` publish access and configured to bypass 2FA for CI
|
|
89
|
+
publishing.
|
|
90
|
+
|
|
91
|
+
Do not configure `publish:npm` as a GitLab manual job or protected environment
|
|
92
|
+
deployment. The release gate is the protected `sdk-v*` tag plus the protected
|
|
93
|
+
`NPM_TOKEN`; adding an environment approval reintroduces the same human-click
|
|
94
|
+
path that CI publishing is meant to remove.
|
|
86
95
|
|
|
87
96
|
Do not publish this package from a personal shell as the normal release path.
|
|
97
|
+
The package `prepublishOnly` hook enforces this: local `npm publish`/`pnpm publish`
|
|
98
|
+
fails before contacting npm, so it cannot fall through to an interactive 2FA OTP
|
|
99
|
+
prompt. Use `pnpm release:pack` for local artifact verification and GitLab CI for
|
|
100
|
+
publishing.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var chunkEGCXEVBD_cjs = require('./chunk-EGCXEVBD.cjs');
|
|
4
4
|
var chunk3I7UM66P_cjs = require('./chunk-3I7UM66P.cjs');
|
|
5
5
|
|
|
6
6
|
// src/mcp/index.ts
|
|
@@ -11,7 +11,7 @@ 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/
|
|
14
|
+
{ id: "seastudio", name: "SeaStudio", description: "\u6587\u4EF6/Shell/Git/\u63D2\u4EF6\u57FA\u7840\u80FD\u529B", tools: chunkEGCXEVBD_cjs.allTools }
|
|
15
15
|
];
|
|
16
16
|
function mcpToolToOpenAI(tool) {
|
|
17
17
|
const normalizedTool = chunk3I7UM66P_cjs.normalizeMCPTool(tool);
|
|
@@ -29,7 +29,7 @@ function mcpToolToOpenAI(tool) {
|
|
|
29
29
|
};
|
|
30
30
|
}
|
|
31
31
|
function listAllTools() {
|
|
32
|
-
return [...
|
|
32
|
+
return [...chunkEGCXEVBD_cjs.allTools];
|
|
33
33
|
}
|
|
34
34
|
function toPackageName(source) {
|
|
35
35
|
if (source === "seastudio") {
|
|
@@ -62,7 +62,7 @@ function normalizeAvailableTool(raw) {
|
|
|
62
62
|
};
|
|
63
63
|
}
|
|
64
64
|
var MCP_TOOL_PACKAGE_INDEX = new Map(
|
|
65
|
-
|
|
65
|
+
chunkEGCXEVBD_cjs.allTools.map((tool) => [tool.name, "seastudio"])
|
|
66
66
|
);
|
|
67
67
|
function getMCPToolPackageIndex() {
|
|
68
68
|
return new Map(MCP_TOOL_PACKAGE_INDEX);
|
|
@@ -538,41 +538,12 @@ var shellTools = [
|
|
|
538
538
|
})
|
|
539
539
|
];
|
|
540
540
|
|
|
541
|
-
// src/mcp/seastudio/tools/aigc.ts
|
|
542
|
-
var seaCloudTools = [
|
|
543
|
-
annotateTool({
|
|
544
|
-
name: "seastudio-seacloud_task",
|
|
545
|
-
description: "\u67E5\u8BE2 SeaCloud \u6A21\u578B\uFF0C\u521B\u5EFA\u4E91\u7AEF\u4EFB\u52A1\u5E76\u67E5\u8BE2\u4EFB\u52A1\u72B6\u6001\u3002\u4F7F\u7528 action \u9009\u62E9 listModels\u3001createTask \u6216 queryTask\u3002",
|
|
546
|
-
inputSchema: {
|
|
547
|
-
type: "object",
|
|
548
|
-
properties: {
|
|
549
|
-
action: {
|
|
550
|
-
type: "string",
|
|
551
|
-
enum: ["listModels", "createTask", "queryTask"],
|
|
552
|
-
description: "SeaCloud \u52A8\u4F5C\u3002listModels \u53EF\u4F20 tag\uFF1BcreateTask \u9700\u8981 model/params\uFF1BqueryTask \u9700\u8981 task_id\u3002"
|
|
553
|
-
},
|
|
554
|
-
tag: { type: "string", description: 'listModels \u6309\u6807\u7B7E\u8FC7\u6EE4\u6A21\u578B\uFF08\u53EF\u9009\uFF09\uFF0C\u5982 "vidu"\u3001"musicfy"\u3001"tencent"\u3002' },
|
|
555
|
-
model: { type: "string", description: "createTask \u7684\u6A21\u578B\u540D\u79F0\uFF08\u6765\u81EA listModels \u8FD4\u56DE\u7684 model \u5B57\u6BB5\uFF09\u3002" },
|
|
556
|
-
params: { type: "object", description: "createTask \u7684\u6A21\u578B\u53C2\u6570\uFF08\u6765\u81EA listModels \u8FD4\u56DE\u7684\u53C2\u6570 schema\uFF09\u3002" },
|
|
557
|
-
dash_scope: { type: "boolean", description: "createTask \u662F\u5426\u89E3\u9664\u533A\u57DF\u9650\u5236\uFF0C\u9ED8\u8BA4 true\u3002" },
|
|
558
|
-
moderation: { type: "boolean", description: "createTask \u662F\u5426\u89E3\u9664\u529F\u80FD\u9650\u5236\uFF0C\u9ED8\u8BA4 false\u3002" },
|
|
559
|
-
task_id: { type: "string", description: "queryTask \u7684\u4EFB\u52A1 ID\uFF08\u7531 createTask \u8FD4\u56DE\uFF09\u3002" }
|
|
560
|
-
},
|
|
561
|
-
required: ["action"]
|
|
562
|
-
}
|
|
563
|
-
}, {
|
|
564
|
-
operationKind: "workflow",
|
|
565
|
-
requiresExecutionEvidence: false,
|
|
566
|
-
rawDomain: "asset"
|
|
567
|
-
})
|
|
568
|
-
];
|
|
569
|
-
|
|
570
541
|
// src/mcp/seastudio/tools/browser.ts
|
|
571
|
-
var
|
|
572
|
-
var
|
|
573
|
-
|
|
542
|
+
var SINGLETON_BROWSER_RUNTIME_SESSION_ID = "browser-runtime-session-default";
|
|
543
|
+
var browserRuntimeSessionIdParam = {
|
|
544
|
+
browserRuntimeSessionId: {
|
|
574
545
|
type: "string",
|
|
575
|
-
description: "Browser session ID\uFF0C\u53EF\u9009\uFF1B\u7F3A\u7701\u4E3A\u5168\u5C40\u5355\u4F8B browser-session-default\u3002"
|
|
546
|
+
description: "Browser runtime session ID\uFF0C\u53EF\u9009\uFF1B\u7F3A\u7701\u4E3A\u5168\u5C40\u5355\u4F8B browser-runtime-session-default\u3002"
|
|
576
547
|
}
|
|
577
548
|
};
|
|
578
549
|
var tabIdParam = {
|
|
@@ -580,17 +551,17 @@ var tabIdParam = {
|
|
|
580
551
|
};
|
|
581
552
|
var browserRuntimeTools = [
|
|
582
553
|
annotateTool({
|
|
583
|
-
name: "seastudio-
|
|
584
|
-
description: "\u8BFB\u53D6\u6216\u91CD\u7F6E\u5168\u5C40
|
|
554
|
+
name: "seastudio-browser_runtime_session",
|
|
555
|
+
description: "\u8BFB\u53D6\u6216\u91CD\u7F6E\u5168\u5C40 BrowserRuntimeSession\uFF08\u5355\u4F8B\u5185\u6838\uFF09\u3002\u4F7F\u7528 action \u9009\u62E9 open\u3001list\u3001get \u6216 close\u3002open/get \u8FD4\u56DE\u540C\u4E00\u4E2A browserRuntimeSessionId\uFF1Bclose \u4F1A\u6E05\u7A7A\u5168\u90E8 tab \u4F46\u4FDD\u7559 runtime session \u58F3\u3002",
|
|
585
556
|
inputSchema: {
|
|
586
557
|
type: "object",
|
|
587
558
|
properties: {
|
|
588
559
|
action: {
|
|
589
560
|
type: "string",
|
|
590
561
|
enum: ["open", "list", "get", "close"],
|
|
591
|
-
description: "
|
|
562
|
+
description: "BrowserRuntimeSession \u52A8\u4F5C\u3002\u5168\u5C40\u4EC5\u4E00\u4E2A runtime session\uFF1BbrowserRuntimeSessionId \u53EF\u9009\u3002"
|
|
592
563
|
},
|
|
593
|
-
...
|
|
564
|
+
...browserRuntimeSessionIdParam,
|
|
594
565
|
homepage: { type: "string", description: "open \u7684\u53EF\u9009\u9ED8\u8BA4\u9996\u9875\u3002" }
|
|
595
566
|
},
|
|
596
567
|
required: ["action"]
|
|
@@ -601,17 +572,17 @@ var browserRuntimeTools = [
|
|
|
601
572
|
rawDomain: "browser"
|
|
602
573
|
}),
|
|
603
574
|
annotateTool({
|
|
604
|
-
name: "seastudio-
|
|
605
|
-
description: "\u7BA1\u7406\u5168\u5C40
|
|
575
|
+
name: "seastudio-browser_runtime_tab",
|
|
576
|
+
description: "\u7BA1\u7406\u5168\u5C40 BrowserRuntimeSession \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",
|
|
606
577
|
inputSchema: {
|
|
607
578
|
type: "object",
|
|
608
579
|
properties: {
|
|
609
580
|
action: {
|
|
610
581
|
type: "string",
|
|
611
582
|
enum: ["create", "close", "activate", "navigate", "goBack", "goForward", "reload", "stop"],
|
|
612
|
-
description: "Browser tab \u52A8\u4F5C\
|
|
583
|
+
description: "Browser tab \u52A8\u4F5C\u3002browserRuntimeSessionId \u53EF\u9009\uFF1Bcreate \u53EF\u4F20 ownerInstanceId \u7ED1\u5B9A Host \u63D2\u4EF6\u5B9E\u4F8B\u3002"
|
|
613
584
|
},
|
|
614
|
-
...
|
|
585
|
+
...browserRuntimeSessionIdParam,
|
|
615
586
|
...tabIdParam,
|
|
616
587
|
url: { type: "string", description: "create \u7684\u521D\u59CB URL\uFF0C\u6216 navigate \u7684\u76EE\u6807 URL/\u641C\u7D22\u8BCD\u3002" },
|
|
617
588
|
ownerInstanceId: { type: "string", description: "create \u65F6\u7ED1\u5B9A Host Browser \u63D2\u4EF6 instanceId\u3002" }
|
|
@@ -634,7 +605,7 @@ var browserRuntimeTools = [
|
|
|
634
605
|
enum: ["bindViewport", "respondCertificate", "evaluate"],
|
|
635
606
|
description: "Browser runtime \u52A8\u4F5C\u3002bindViewport \u9700\u8981 rect\uFF1BrespondCertificate \u9700\u8981 requestId \u548C allow\uFF1Bevaluate \u9700\u8981 tabId \u548C script\u3002"
|
|
636
607
|
},
|
|
637
|
-
...
|
|
608
|
+
...browserRuntimeSessionIdParam,
|
|
638
609
|
...tabIdParam,
|
|
639
610
|
ownerInstanceId: { type: "string", description: "bindViewport \u7684 UI owner instance id\u3002" },
|
|
640
611
|
rect: {
|
|
@@ -661,7 +632,7 @@ var browserRuntimeTools = [
|
|
|
661
632
|
rawDomain: "browser"
|
|
662
633
|
}),
|
|
663
634
|
annotateTool({
|
|
664
|
-
name: "seastudio-
|
|
635
|
+
name: "seastudio-browser_runtime_show",
|
|
665
636
|
description: "\u5728 Browser \u63D2\u4EF6\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",
|
|
666
637
|
inputSchema: {
|
|
667
638
|
type: "object",
|
|
@@ -921,63 +892,63 @@ var seastudio = {
|
|
|
921
892
|
}
|
|
922
893
|
},
|
|
923
894
|
browser: {
|
|
924
|
-
|
|
925
|
-
open: async (options = {}) => parseToolResult(await callTool("seastudio-
|
|
926
|
-
list: async () => parseToolResult(await callTool("seastudio-
|
|
927
|
-
get: async (
|
|
928
|
-
close: async (
|
|
929
|
-
await callTool("seastudio-
|
|
895
|
+
runtimeSession: {
|
|
896
|
+
open: async (options = {}) => parseToolResult(await callTool("seastudio-browser_runtime_session", { action: "open", ...options })),
|
|
897
|
+
list: async () => parseToolResult(await callTool("seastudio-browser_runtime_session", { action: "list" })),
|
|
898
|
+
get: async (browserRuntimeSessionId = SINGLETON_BROWSER_RUNTIME_SESSION_ID) => parseToolResult(await callTool("seastudio-browser_runtime_session", { action: "get", browserRuntimeSessionId })),
|
|
899
|
+
close: async (browserRuntimeSessionId = SINGLETON_BROWSER_RUNTIME_SESSION_ID) => parseToolResult(
|
|
900
|
+
await callTool("seastudio-browser_runtime_session", { action: "close", browserRuntimeSessionId })
|
|
930
901
|
)
|
|
931
902
|
},
|
|
932
|
-
|
|
933
|
-
|
|
934
|
-
|
|
935
|
-
tab: {
|
|
936
|
-
create: async (browserSessionId = SINGLETON_BROWSER_SESSION_ID, url, ownerInstanceId) => parseToolResult(
|
|
937
|
-
await callTool("seastudio-browser_tab", {
|
|
903
|
+
runtimeTab: {
|
|
904
|
+
create: async (browserRuntimeSessionId = SINGLETON_BROWSER_RUNTIME_SESSION_ID, url, ownerInstanceId) => parseToolResult(
|
|
905
|
+
await callTool("seastudio-browser_runtime_tab", {
|
|
938
906
|
action: "create",
|
|
939
|
-
|
|
907
|
+
browserRuntimeSessionId,
|
|
940
908
|
...url ? { url } : {},
|
|
941
909
|
...ownerInstanceId ? { ownerInstanceId } : {}
|
|
942
910
|
})
|
|
943
911
|
),
|
|
944
|
-
close: async (
|
|
945
|
-
await callTool("seastudio-
|
|
912
|
+
close: async (browserRuntimeSessionId, tabId) => parseToolResult(
|
|
913
|
+
await callTool("seastudio-browser_runtime_tab", { action: "close", browserRuntimeSessionId, tabId })
|
|
946
914
|
),
|
|
947
|
-
activate: async (
|
|
948
|
-
await callTool("seastudio-
|
|
915
|
+
activate: async (browserRuntimeSessionId, tabId) => parseToolResult(
|
|
916
|
+
await callTool("seastudio-browser_runtime_tab", { action: "activate", browserRuntimeSessionId, tabId })
|
|
949
917
|
),
|
|
950
|
-
navigate: async (
|
|
951
|
-
await callTool("seastudio-
|
|
918
|
+
navigate: async (browserRuntimeSessionId, tabId, url) => parseToolResult(
|
|
919
|
+
await callTool("seastudio-browser_runtime_tab", { action: "navigate", browserRuntimeSessionId, tabId, url })
|
|
952
920
|
),
|
|
953
|
-
goBack: async (
|
|
954
|
-
goForward: async (
|
|
955
|
-
reload: async (
|
|
956
|
-
stop: async (
|
|
921
|
+
goBack: async (browserRuntimeSessionId, tabId) => parseToolResult(await callTool("seastudio-browser_runtime_tab", { action: "goBack", browserRuntimeSessionId, tabId })),
|
|
922
|
+
goForward: async (browserRuntimeSessionId, tabId) => parseToolResult(await callTool("seastudio-browser_runtime_tab", { action: "goForward", browserRuntimeSessionId, tabId })),
|
|
923
|
+
reload: async (browserRuntimeSessionId, tabId) => parseToolResult(await callTool("seastudio-browser_runtime_tab", { action: "reload", browserRuntimeSessionId, tabId })),
|
|
924
|
+
stop: async (browserRuntimeSessionId, tabId) => parseToolResult(await callTool("seastudio-browser_runtime_tab", { action: "stop", browserRuntimeSessionId, tabId })),
|
|
957
925
|
getOrCreateForInstance: async (ownerInstanceId, url) => parseToolResult(
|
|
958
|
-
await callTool("seastudio-
|
|
926
|
+
await callTool("seastudio-browser_runtime_tab", {
|
|
959
927
|
action: "create",
|
|
960
|
-
|
|
928
|
+
browserRuntimeSessionId: SINGLETON_BROWSER_RUNTIME_SESSION_ID,
|
|
961
929
|
ownerInstanceId,
|
|
962
930
|
...url ? { url } : {}
|
|
963
931
|
})
|
|
964
932
|
)
|
|
965
933
|
},
|
|
966
934
|
viewport: {
|
|
967
|
-
bind: async (
|
|
935
|
+
bind: async (rect, options = {}) => parseToolResult(
|
|
968
936
|
await callTool("seastudio-browser_runtime", {
|
|
969
937
|
action: "bindViewport",
|
|
970
|
-
|
|
938
|
+
browserRuntimeSessionId: options.browserRuntimeSessionId ?? SINGLETON_BROWSER_RUNTIME_SESSION_ID,
|
|
971
939
|
rect,
|
|
972
|
-
...ownerInstanceId ? { ownerInstanceId } : {}
|
|
940
|
+
...options.ownerInstanceId ? { ownerInstanceId: options.ownerInstanceId } : {}
|
|
973
941
|
})
|
|
974
942
|
)
|
|
975
943
|
},
|
|
976
944
|
runtime: {
|
|
977
|
-
|
|
945
|
+
show: async (url) => parseToolResult(
|
|
946
|
+
await callTool("seastudio-browser_runtime_show", { url })
|
|
947
|
+
),
|
|
948
|
+
evaluate: async (browserRuntimeSessionId, tabId, script, timeoutMs) => parseToolResult(
|
|
978
949
|
await callTool("seastudio-browser_runtime", {
|
|
979
950
|
action: "evaluate",
|
|
980
|
-
|
|
951
|
+
browserRuntimeSessionId,
|
|
981
952
|
tabId,
|
|
982
953
|
script,
|
|
983
954
|
...timeoutMs ? { timeoutMs } : {}
|
|
@@ -985,8 +956,8 @@ var seastudio = {
|
|
|
985
956
|
)
|
|
986
957
|
},
|
|
987
958
|
certificate: {
|
|
988
|
-
respond: async (
|
|
989
|
-
await callTool("seastudio-browser_runtime", { action: "respondCertificate",
|
|
959
|
+
respond: async (browserRuntimeSessionId, requestId, allow) => parseToolResult(
|
|
960
|
+
await callTool("seastudio-browser_runtime", { action: "respondCertificate", browserRuntimeSessionId, requestId, allow })
|
|
990
961
|
)
|
|
991
962
|
}
|
|
992
963
|
}
|
|
@@ -1231,14 +1202,14 @@ var SeastudioNotifications = {
|
|
|
1231
1202
|
PROPOSAL_FEEDBACK: "seastudio:proposal-feedback",
|
|
1232
1203
|
/** 插件实例请求更新宿主 plugin tab 标题 */
|
|
1233
1204
|
PLUGIN_TAB_TITLE_CHANGED: "plugin:tab-title_changed",
|
|
1234
|
-
/**
|
|
1235
|
-
|
|
1236
|
-
/**
|
|
1237
|
-
|
|
1238
|
-
/**
|
|
1239
|
-
|
|
1240
|
-
/**
|
|
1241
|
-
|
|
1205
|
+
/** BrowserRuntimeSession 状态变化 */
|
|
1206
|
+
BROWSER_RUNTIME_SESSION_CHANGED: "browser-runtime:session_changed",
|
|
1207
|
+
/** BrowserRuntimeSession 关闭 */
|
|
1208
|
+
BROWSER_RUNTIME_SESSION_CLOSED: "browser-runtime:session_closed",
|
|
1209
|
+
/** BrowserRuntimeSession 证书错误,需要客户端 UI 决策 */
|
|
1210
|
+
BROWSER_RUNTIME_CERTIFICATE_ERROR: "browser-runtime:certificate_error",
|
|
1211
|
+
/** BrowserRuntimeSession 收到网页新标签请求 */
|
|
1212
|
+
BROWSER_RUNTIME_NEW_TAB_REQUESTED: "browser-runtime:new_tab_requested",
|
|
1242
1213
|
/**
|
|
1243
1214
|
* Agent 对话 session:新建。消息历史仍由 Agent 前端持有,宿主仅同步列表用于侧栏。
|
|
1244
1215
|
* 通常由 Agent 通过 notifications/publish 发出;其他订阅者(含 host-ui)可据此更新 UI。
|
|
@@ -1297,7 +1268,6 @@ var allTools = [
|
|
|
1297
1268
|
...editorTools,
|
|
1298
1269
|
...gitTools,
|
|
1299
1270
|
...shellTools,
|
|
1300
|
-
...seaCloudTools,
|
|
1301
1271
|
...pluginManagementTools,
|
|
1302
1272
|
...agentManagementTools,
|
|
1303
1273
|
...pluginTabTools,
|
|
@@ -1308,7 +1278,7 @@ var allTools = [
|
|
|
1308
1278
|
];
|
|
1309
1279
|
var tools = allTools;
|
|
1310
1280
|
|
|
1311
|
-
exports.
|
|
1281
|
+
exports.SINGLETON_BROWSER_RUNTIME_SESSION_ID = SINGLETON_BROWSER_RUNTIME_SESSION_ID;
|
|
1312
1282
|
exports.SeastudioNotifications = SeastudioNotifications;
|
|
1313
1283
|
exports.SeastudioRequests = SeastudioRequests;
|
|
1314
1284
|
exports.agentManagementTools = agentManagementTools;
|
|
@@ -1333,7 +1303,6 @@ exports.request = request;
|
|
|
1333
1303
|
exports.rootedPathEvidenceOutputSchema = rootedPathEvidenceOutputSchema;
|
|
1334
1304
|
exports.rootedWriteEvidenceOutputSchema = rootedWriteEvidenceOutputSchema;
|
|
1335
1305
|
exports.runOneShotShellCommand = runOneShotShellCommand;
|
|
1336
|
-
exports.seaCloudTools = seaCloudTools;
|
|
1337
1306
|
exports.seastudio = seastudio;
|
|
1338
1307
|
exports.shellSessionCloseEvidenceOutputSchema = shellSessionCloseEvidenceOutputSchema;
|
|
1339
1308
|
exports.shellSessionOpenEvidenceOutputSchema = shellSessionOpenEvidenceOutputSchema;
|
|
@@ -536,41 +536,12 @@ var shellTools = [
|
|
|
536
536
|
})
|
|
537
537
|
];
|
|
538
538
|
|
|
539
|
-
// src/mcp/seastudio/tools/aigc.ts
|
|
540
|
-
var seaCloudTools = [
|
|
541
|
-
annotateTool({
|
|
542
|
-
name: "seastudio-seacloud_task",
|
|
543
|
-
description: "\u67E5\u8BE2 SeaCloud \u6A21\u578B\uFF0C\u521B\u5EFA\u4E91\u7AEF\u4EFB\u52A1\u5E76\u67E5\u8BE2\u4EFB\u52A1\u72B6\u6001\u3002\u4F7F\u7528 action \u9009\u62E9 listModels\u3001createTask \u6216 queryTask\u3002",
|
|
544
|
-
inputSchema: {
|
|
545
|
-
type: "object",
|
|
546
|
-
properties: {
|
|
547
|
-
action: {
|
|
548
|
-
type: "string",
|
|
549
|
-
enum: ["listModels", "createTask", "queryTask"],
|
|
550
|
-
description: "SeaCloud \u52A8\u4F5C\u3002listModels \u53EF\u4F20 tag\uFF1BcreateTask \u9700\u8981 model/params\uFF1BqueryTask \u9700\u8981 task_id\u3002"
|
|
551
|
-
},
|
|
552
|
-
tag: { type: "string", description: 'listModels \u6309\u6807\u7B7E\u8FC7\u6EE4\u6A21\u578B\uFF08\u53EF\u9009\uFF09\uFF0C\u5982 "vidu"\u3001"musicfy"\u3001"tencent"\u3002' },
|
|
553
|
-
model: { type: "string", description: "createTask \u7684\u6A21\u578B\u540D\u79F0\uFF08\u6765\u81EA listModels \u8FD4\u56DE\u7684 model \u5B57\u6BB5\uFF09\u3002" },
|
|
554
|
-
params: { type: "object", description: "createTask \u7684\u6A21\u578B\u53C2\u6570\uFF08\u6765\u81EA listModels \u8FD4\u56DE\u7684\u53C2\u6570 schema\uFF09\u3002" },
|
|
555
|
-
dash_scope: { type: "boolean", description: "createTask \u662F\u5426\u89E3\u9664\u533A\u57DF\u9650\u5236\uFF0C\u9ED8\u8BA4 true\u3002" },
|
|
556
|
-
moderation: { type: "boolean", description: "createTask \u662F\u5426\u89E3\u9664\u529F\u80FD\u9650\u5236\uFF0C\u9ED8\u8BA4 false\u3002" },
|
|
557
|
-
task_id: { type: "string", description: "queryTask \u7684\u4EFB\u52A1 ID\uFF08\u7531 createTask \u8FD4\u56DE\uFF09\u3002" }
|
|
558
|
-
},
|
|
559
|
-
required: ["action"]
|
|
560
|
-
}
|
|
561
|
-
}, {
|
|
562
|
-
operationKind: "workflow",
|
|
563
|
-
requiresExecutionEvidence: false,
|
|
564
|
-
rawDomain: "asset"
|
|
565
|
-
})
|
|
566
|
-
];
|
|
567
|
-
|
|
568
539
|
// src/mcp/seastudio/tools/browser.ts
|
|
569
|
-
var
|
|
570
|
-
var
|
|
571
|
-
|
|
540
|
+
var SINGLETON_BROWSER_RUNTIME_SESSION_ID = "browser-runtime-session-default";
|
|
541
|
+
var browserRuntimeSessionIdParam = {
|
|
542
|
+
browserRuntimeSessionId: {
|
|
572
543
|
type: "string",
|
|
573
|
-
description: "Browser session ID\uFF0C\u53EF\u9009\uFF1B\u7F3A\u7701\u4E3A\u5168\u5C40\u5355\u4F8B browser-session-default\u3002"
|
|
544
|
+
description: "Browser runtime session ID\uFF0C\u53EF\u9009\uFF1B\u7F3A\u7701\u4E3A\u5168\u5C40\u5355\u4F8B browser-runtime-session-default\u3002"
|
|
574
545
|
}
|
|
575
546
|
};
|
|
576
547
|
var tabIdParam = {
|
|
@@ -578,17 +549,17 @@ var tabIdParam = {
|
|
|
578
549
|
};
|
|
579
550
|
var browserRuntimeTools = [
|
|
580
551
|
annotateTool({
|
|
581
|
-
name: "seastudio-
|
|
582
|
-
description: "\u8BFB\u53D6\u6216\u91CD\u7F6E\u5168\u5C40
|
|
552
|
+
name: "seastudio-browser_runtime_session",
|
|
553
|
+
description: "\u8BFB\u53D6\u6216\u91CD\u7F6E\u5168\u5C40 BrowserRuntimeSession\uFF08\u5355\u4F8B\u5185\u6838\uFF09\u3002\u4F7F\u7528 action \u9009\u62E9 open\u3001list\u3001get \u6216 close\u3002open/get \u8FD4\u56DE\u540C\u4E00\u4E2A browserRuntimeSessionId\uFF1Bclose \u4F1A\u6E05\u7A7A\u5168\u90E8 tab \u4F46\u4FDD\u7559 runtime session \u58F3\u3002",
|
|
583
554
|
inputSchema: {
|
|
584
555
|
type: "object",
|
|
585
556
|
properties: {
|
|
586
557
|
action: {
|
|
587
558
|
type: "string",
|
|
588
559
|
enum: ["open", "list", "get", "close"],
|
|
589
|
-
description: "
|
|
560
|
+
description: "BrowserRuntimeSession \u52A8\u4F5C\u3002\u5168\u5C40\u4EC5\u4E00\u4E2A runtime session\uFF1BbrowserRuntimeSessionId \u53EF\u9009\u3002"
|
|
590
561
|
},
|
|
591
|
-
...
|
|
562
|
+
...browserRuntimeSessionIdParam,
|
|
592
563
|
homepage: { type: "string", description: "open \u7684\u53EF\u9009\u9ED8\u8BA4\u9996\u9875\u3002" }
|
|
593
564
|
},
|
|
594
565
|
required: ["action"]
|
|
@@ -599,17 +570,17 @@ var browserRuntimeTools = [
|
|
|
599
570
|
rawDomain: "browser"
|
|
600
571
|
}),
|
|
601
572
|
annotateTool({
|
|
602
|
-
name: "seastudio-
|
|
603
|
-
description: "\u7BA1\u7406\u5168\u5C40
|
|
573
|
+
name: "seastudio-browser_runtime_tab",
|
|
574
|
+
description: "\u7BA1\u7406\u5168\u5C40 BrowserRuntimeSession \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",
|
|
604
575
|
inputSchema: {
|
|
605
576
|
type: "object",
|
|
606
577
|
properties: {
|
|
607
578
|
action: {
|
|
608
579
|
type: "string",
|
|
609
580
|
enum: ["create", "close", "activate", "navigate", "goBack", "goForward", "reload", "stop"],
|
|
610
|
-
description: "Browser tab \u52A8\u4F5C\
|
|
581
|
+
description: "Browser tab \u52A8\u4F5C\u3002browserRuntimeSessionId \u53EF\u9009\uFF1Bcreate \u53EF\u4F20 ownerInstanceId \u7ED1\u5B9A Host \u63D2\u4EF6\u5B9E\u4F8B\u3002"
|
|
611
582
|
},
|
|
612
|
-
...
|
|
583
|
+
...browserRuntimeSessionIdParam,
|
|
613
584
|
...tabIdParam,
|
|
614
585
|
url: { type: "string", description: "create \u7684\u521D\u59CB URL\uFF0C\u6216 navigate \u7684\u76EE\u6807 URL/\u641C\u7D22\u8BCD\u3002" },
|
|
615
586
|
ownerInstanceId: { type: "string", description: "create \u65F6\u7ED1\u5B9A Host Browser \u63D2\u4EF6 instanceId\u3002" }
|
|
@@ -632,7 +603,7 @@ var browserRuntimeTools = [
|
|
|
632
603
|
enum: ["bindViewport", "respondCertificate", "evaluate"],
|
|
633
604
|
description: "Browser runtime \u52A8\u4F5C\u3002bindViewport \u9700\u8981 rect\uFF1BrespondCertificate \u9700\u8981 requestId \u548C allow\uFF1Bevaluate \u9700\u8981 tabId \u548C script\u3002"
|
|
634
605
|
},
|
|
635
|
-
...
|
|
606
|
+
...browserRuntimeSessionIdParam,
|
|
636
607
|
...tabIdParam,
|
|
637
608
|
ownerInstanceId: { type: "string", description: "bindViewport \u7684 UI owner instance id\u3002" },
|
|
638
609
|
rect: {
|
|
@@ -659,7 +630,7 @@ var browserRuntimeTools = [
|
|
|
659
630
|
rawDomain: "browser"
|
|
660
631
|
}),
|
|
661
632
|
annotateTool({
|
|
662
|
-
name: "seastudio-
|
|
633
|
+
name: "seastudio-browser_runtime_show",
|
|
663
634
|
description: "\u5728 Browser \u63D2\u4EF6\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",
|
|
664
635
|
inputSchema: {
|
|
665
636
|
type: "object",
|
|
@@ -919,63 +890,63 @@ var seastudio = {
|
|
|
919
890
|
}
|
|
920
891
|
},
|
|
921
892
|
browser: {
|
|
922
|
-
|
|
923
|
-
open: async (options = {}) => parseToolResult(await callTool("seastudio-
|
|
924
|
-
list: async () => parseToolResult(await callTool("seastudio-
|
|
925
|
-
get: async (
|
|
926
|
-
close: async (
|
|
927
|
-
await callTool("seastudio-
|
|
893
|
+
runtimeSession: {
|
|
894
|
+
open: async (options = {}) => parseToolResult(await callTool("seastudio-browser_runtime_session", { action: "open", ...options })),
|
|
895
|
+
list: async () => parseToolResult(await callTool("seastudio-browser_runtime_session", { action: "list" })),
|
|
896
|
+
get: async (browserRuntimeSessionId = SINGLETON_BROWSER_RUNTIME_SESSION_ID) => parseToolResult(await callTool("seastudio-browser_runtime_session", { action: "get", browserRuntimeSessionId })),
|
|
897
|
+
close: async (browserRuntimeSessionId = SINGLETON_BROWSER_RUNTIME_SESSION_ID) => parseToolResult(
|
|
898
|
+
await callTool("seastudio-browser_runtime_session", { action: "close", browserRuntimeSessionId })
|
|
928
899
|
)
|
|
929
900
|
},
|
|
930
|
-
|
|
931
|
-
|
|
932
|
-
|
|
933
|
-
tab: {
|
|
934
|
-
create: async (browserSessionId = SINGLETON_BROWSER_SESSION_ID, url, ownerInstanceId) => parseToolResult(
|
|
935
|
-
await callTool("seastudio-browser_tab", {
|
|
901
|
+
runtimeTab: {
|
|
902
|
+
create: async (browserRuntimeSessionId = SINGLETON_BROWSER_RUNTIME_SESSION_ID, url, ownerInstanceId) => parseToolResult(
|
|
903
|
+
await callTool("seastudio-browser_runtime_tab", {
|
|
936
904
|
action: "create",
|
|
937
|
-
|
|
905
|
+
browserRuntimeSessionId,
|
|
938
906
|
...url ? { url } : {},
|
|
939
907
|
...ownerInstanceId ? { ownerInstanceId } : {}
|
|
940
908
|
})
|
|
941
909
|
),
|
|
942
|
-
close: async (
|
|
943
|
-
await callTool("seastudio-
|
|
910
|
+
close: async (browserRuntimeSessionId, tabId) => parseToolResult(
|
|
911
|
+
await callTool("seastudio-browser_runtime_tab", { action: "close", browserRuntimeSessionId, tabId })
|
|
944
912
|
),
|
|
945
|
-
activate: async (
|
|
946
|
-
await callTool("seastudio-
|
|
913
|
+
activate: async (browserRuntimeSessionId, tabId) => parseToolResult(
|
|
914
|
+
await callTool("seastudio-browser_runtime_tab", { action: "activate", browserRuntimeSessionId, tabId })
|
|
947
915
|
),
|
|
948
|
-
navigate: async (
|
|
949
|
-
await callTool("seastudio-
|
|
916
|
+
navigate: async (browserRuntimeSessionId, tabId, url) => parseToolResult(
|
|
917
|
+
await callTool("seastudio-browser_runtime_tab", { action: "navigate", browserRuntimeSessionId, tabId, url })
|
|
950
918
|
),
|
|
951
|
-
goBack: async (
|
|
952
|
-
goForward: async (
|
|
953
|
-
reload: async (
|
|
954
|
-
stop: async (
|
|
919
|
+
goBack: async (browserRuntimeSessionId, tabId) => parseToolResult(await callTool("seastudio-browser_runtime_tab", { action: "goBack", browserRuntimeSessionId, tabId })),
|
|
920
|
+
goForward: async (browserRuntimeSessionId, tabId) => parseToolResult(await callTool("seastudio-browser_runtime_tab", { action: "goForward", browserRuntimeSessionId, tabId })),
|
|
921
|
+
reload: async (browserRuntimeSessionId, tabId) => parseToolResult(await callTool("seastudio-browser_runtime_tab", { action: "reload", browserRuntimeSessionId, tabId })),
|
|
922
|
+
stop: async (browserRuntimeSessionId, tabId) => parseToolResult(await callTool("seastudio-browser_runtime_tab", { action: "stop", browserRuntimeSessionId, tabId })),
|
|
955
923
|
getOrCreateForInstance: async (ownerInstanceId, url) => parseToolResult(
|
|
956
|
-
await callTool("seastudio-
|
|
924
|
+
await callTool("seastudio-browser_runtime_tab", {
|
|
957
925
|
action: "create",
|
|
958
|
-
|
|
926
|
+
browserRuntimeSessionId: SINGLETON_BROWSER_RUNTIME_SESSION_ID,
|
|
959
927
|
ownerInstanceId,
|
|
960
928
|
...url ? { url } : {}
|
|
961
929
|
})
|
|
962
930
|
)
|
|
963
931
|
},
|
|
964
932
|
viewport: {
|
|
965
|
-
bind: async (
|
|
933
|
+
bind: async (rect, options = {}) => parseToolResult(
|
|
966
934
|
await callTool("seastudio-browser_runtime", {
|
|
967
935
|
action: "bindViewport",
|
|
968
|
-
|
|
936
|
+
browserRuntimeSessionId: options.browserRuntimeSessionId ?? SINGLETON_BROWSER_RUNTIME_SESSION_ID,
|
|
969
937
|
rect,
|
|
970
|
-
...ownerInstanceId ? { ownerInstanceId } : {}
|
|
938
|
+
...options.ownerInstanceId ? { ownerInstanceId: options.ownerInstanceId } : {}
|
|
971
939
|
})
|
|
972
940
|
)
|
|
973
941
|
},
|
|
974
942
|
runtime: {
|
|
975
|
-
|
|
943
|
+
show: async (url) => parseToolResult(
|
|
944
|
+
await callTool("seastudio-browser_runtime_show", { url })
|
|
945
|
+
),
|
|
946
|
+
evaluate: async (browserRuntimeSessionId, tabId, script, timeoutMs) => parseToolResult(
|
|
976
947
|
await callTool("seastudio-browser_runtime", {
|
|
977
948
|
action: "evaluate",
|
|
978
|
-
|
|
949
|
+
browserRuntimeSessionId,
|
|
979
950
|
tabId,
|
|
980
951
|
script,
|
|
981
952
|
...timeoutMs ? { timeoutMs } : {}
|
|
@@ -983,8 +954,8 @@ var seastudio = {
|
|
|
983
954
|
)
|
|
984
955
|
},
|
|
985
956
|
certificate: {
|
|
986
|
-
respond: async (
|
|
987
|
-
await callTool("seastudio-browser_runtime", { action: "respondCertificate",
|
|
957
|
+
respond: async (browserRuntimeSessionId, requestId, allow) => parseToolResult(
|
|
958
|
+
await callTool("seastudio-browser_runtime", { action: "respondCertificate", browserRuntimeSessionId, requestId, allow })
|
|
988
959
|
)
|
|
989
960
|
}
|
|
990
961
|
}
|
|
@@ -1229,14 +1200,14 @@ var SeastudioNotifications = {
|
|
|
1229
1200
|
PROPOSAL_FEEDBACK: "seastudio:proposal-feedback",
|
|
1230
1201
|
/** 插件实例请求更新宿主 plugin tab 标题 */
|
|
1231
1202
|
PLUGIN_TAB_TITLE_CHANGED: "plugin:tab-title_changed",
|
|
1232
|
-
/**
|
|
1233
|
-
|
|
1234
|
-
/**
|
|
1235
|
-
|
|
1236
|
-
/**
|
|
1237
|
-
|
|
1238
|
-
/**
|
|
1239
|
-
|
|
1203
|
+
/** BrowserRuntimeSession 状态变化 */
|
|
1204
|
+
BROWSER_RUNTIME_SESSION_CHANGED: "browser-runtime:session_changed",
|
|
1205
|
+
/** BrowserRuntimeSession 关闭 */
|
|
1206
|
+
BROWSER_RUNTIME_SESSION_CLOSED: "browser-runtime:session_closed",
|
|
1207
|
+
/** BrowserRuntimeSession 证书错误,需要客户端 UI 决策 */
|
|
1208
|
+
BROWSER_RUNTIME_CERTIFICATE_ERROR: "browser-runtime:certificate_error",
|
|
1209
|
+
/** BrowserRuntimeSession 收到网页新标签请求 */
|
|
1210
|
+
BROWSER_RUNTIME_NEW_TAB_REQUESTED: "browser-runtime:new_tab_requested",
|
|
1240
1211
|
/**
|
|
1241
1212
|
* Agent 对话 session:新建。消息历史仍由 Agent 前端持有,宿主仅同步列表用于侧栏。
|
|
1242
1213
|
* 通常由 Agent 通过 notifications/publish 发出;其他订阅者(含 host-ui)可据此更新 UI。
|
|
@@ -1295,7 +1266,6 @@ var allTools = [
|
|
|
1295
1266
|
...editorTools,
|
|
1296
1267
|
...gitTools,
|
|
1297
1268
|
...shellTools,
|
|
1298
|
-
...seaCloudTools,
|
|
1299
1269
|
...pluginManagementTools,
|
|
1300
1270
|
...agentManagementTools,
|
|
1301
1271
|
...pluginTabTools,
|
|
@@ -1306,4 +1276,4 @@ var allTools = [
|
|
|
1306
1276
|
];
|
|
1307
1277
|
var tools = allTools;
|
|
1308
1278
|
|
|
1309
|
-
export {
|
|
1279
|
+
export { SINGLETON_BROWSER_RUNTIME_SESSION_ID, SeastudioNotifications, SeastudioRequests, agentManagementTools, agentTabTools, allTools, annotateTool, batchFlattenCopyEvidenceOutputSchema, browserRuntimeTools, 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 };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { allTools } from './chunk-
|
|
1
|
+
import { allTools } from './chunk-FNA3TFHQ.js';
|
|
2
2
|
import { normalizeMCPTool, normalizeMCPToolObjectSchema, getDefaultClient } from './chunk-TJ3CGHWJ.js';
|
|
3
3
|
|
|
4
4
|
// src/mcp/index.ts
|
|
@@ -9,7 +9,7 @@ async function loadPlugin(pluginName) {
|
|
|
9
9
|
throw new Error(`Unknown plugin: ${pluginName}. \u63D2\u4EF6 MCP \u4E0D\u518D\u901A\u8FC7 SDK \u9759\u6001\u5BFC\u5165\u3002`);
|
|
10
10
|
}
|
|
11
11
|
var MCP_PACKAGES = [
|
|
12
|
-
{ id: "seastudio", name: "SeaStudio", description: "\u6587\u4EF6/Shell/
|
|
12
|
+
{ id: "seastudio", name: "SeaStudio", description: "\u6587\u4EF6/Shell/Git/\u63D2\u4EF6\u57FA\u7840\u80FD\u529B", tools: allTools }
|
|
13
13
|
];
|
|
14
14
|
function mcpToolToOpenAI(tool) {
|
|
15
15
|
const normalizedTool = normalizeMCPTool(tool);
|