@seastudio/sdk 4.0.18 → 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 +8 -3
- package/dist/{chunk-UIRFMS2U.cjs → chunk-55KNKQUO.cjs} +4 -4
- package/dist/{chunk-M5UESV5E.cjs → chunk-EGCXEVBD.cjs} +55 -55
- package/dist/{chunk-IAAA5JF6.js → chunk-FNA3TFHQ.js} +55 -55
- package/dist/{chunk-LMANS2IQ.js → chunk-GKR5RYBV.js} +1 -1
- package/dist/index.cjs +23 -23
- package/dist/index.js +2 -2
- package/dist/mcp/index.cjs +23 -23
- package/dist/mcp/index.js +2 -2
- package/dist/mcp/seastudio/index.cjs +36 -36
- package/dist/mcp/seastudio/index.d.cts +61 -57
- package/dist/mcp/seastudio/index.d.ts +61 -57
- package/dist/mcp/seastudio/index.js +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -73,13 +73,13 @@ 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
|
|
@@ -88,6 +88,11 @@ masked `NPM_TOKEN` CI variable. The token must be an npm granular access token
|
|
|
88
88
|
scoped to `@seastudio/sdk` publish access and configured to bypass 2FA for CI
|
|
89
89
|
publishing.
|
|
90
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.
|
|
95
|
+
|
|
91
96
|
Do not publish this package from a personal shell as the normal release path.
|
|
92
97
|
The package `prepublishOnly` hook enforces this: local `npm publish`/`pnpm publish`
|
|
93
98
|
fails before contacting npm, so it cannot fall through to an interactive 2FA OTP
|
|
@@ -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/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: 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);
|
|
@@ -539,11 +539,11 @@ var shellTools = [
|
|
|
539
539
|
];
|
|
540
540
|
|
|
541
541
|
// src/mcp/seastudio/tools/browser.ts
|
|
542
|
-
var
|
|
543
|
-
var
|
|
544
|
-
|
|
542
|
+
var SINGLETON_BROWSER_RUNTIME_SESSION_ID = "browser-runtime-session-default";
|
|
543
|
+
var browserRuntimeSessionIdParam = {
|
|
544
|
+
browserRuntimeSessionId: {
|
|
545
545
|
type: "string",
|
|
546
|
-
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"
|
|
547
547
|
}
|
|
548
548
|
};
|
|
549
549
|
var tabIdParam = {
|
|
@@ -551,17 +551,17 @@ var tabIdParam = {
|
|
|
551
551
|
};
|
|
552
552
|
var browserRuntimeTools = [
|
|
553
553
|
annotateTool({
|
|
554
|
-
name: "seastudio-
|
|
555
|
-
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",
|
|
556
556
|
inputSchema: {
|
|
557
557
|
type: "object",
|
|
558
558
|
properties: {
|
|
559
559
|
action: {
|
|
560
560
|
type: "string",
|
|
561
561
|
enum: ["open", "list", "get", "close"],
|
|
562
|
-
description: "
|
|
562
|
+
description: "BrowserRuntimeSession \u52A8\u4F5C\u3002\u5168\u5C40\u4EC5\u4E00\u4E2A runtime session\uFF1BbrowserRuntimeSessionId \u53EF\u9009\u3002"
|
|
563
563
|
},
|
|
564
|
-
...
|
|
564
|
+
...browserRuntimeSessionIdParam,
|
|
565
565
|
homepage: { type: "string", description: "open \u7684\u53EF\u9009\u9ED8\u8BA4\u9996\u9875\u3002" }
|
|
566
566
|
},
|
|
567
567
|
required: ["action"]
|
|
@@ -572,17 +572,17 @@ var browserRuntimeTools = [
|
|
|
572
572
|
rawDomain: "browser"
|
|
573
573
|
}),
|
|
574
574
|
annotateTool({
|
|
575
|
-
name: "seastudio-
|
|
576
|
-
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",
|
|
577
577
|
inputSchema: {
|
|
578
578
|
type: "object",
|
|
579
579
|
properties: {
|
|
580
580
|
action: {
|
|
581
581
|
type: "string",
|
|
582
582
|
enum: ["create", "close", "activate", "navigate", "goBack", "goForward", "reload", "stop"],
|
|
583
|
-
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"
|
|
584
584
|
},
|
|
585
|
-
...
|
|
585
|
+
...browserRuntimeSessionIdParam,
|
|
586
586
|
...tabIdParam,
|
|
587
587
|
url: { type: "string", description: "create \u7684\u521D\u59CB URL\uFF0C\u6216 navigate \u7684\u76EE\u6807 URL/\u641C\u7D22\u8BCD\u3002" },
|
|
588
588
|
ownerInstanceId: { type: "string", description: "create \u65F6\u7ED1\u5B9A Host Browser \u63D2\u4EF6 instanceId\u3002" }
|
|
@@ -605,7 +605,7 @@ var browserRuntimeTools = [
|
|
|
605
605
|
enum: ["bindViewport", "respondCertificate", "evaluate"],
|
|
606
606
|
description: "Browser runtime \u52A8\u4F5C\u3002bindViewport \u9700\u8981 rect\uFF1BrespondCertificate \u9700\u8981 requestId \u548C allow\uFF1Bevaluate \u9700\u8981 tabId \u548C script\u3002"
|
|
607
607
|
},
|
|
608
|
-
...
|
|
608
|
+
...browserRuntimeSessionIdParam,
|
|
609
609
|
...tabIdParam,
|
|
610
610
|
ownerInstanceId: { type: "string", description: "bindViewport \u7684 UI owner instance id\u3002" },
|
|
611
611
|
rect: {
|
|
@@ -632,7 +632,7 @@ var browserRuntimeTools = [
|
|
|
632
632
|
rawDomain: "browser"
|
|
633
633
|
}),
|
|
634
634
|
annotateTool({
|
|
635
|
-
name: "seastudio-
|
|
635
|
+
name: "seastudio-browser_runtime_show",
|
|
636
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",
|
|
637
637
|
inputSchema: {
|
|
638
638
|
type: "object",
|
|
@@ -892,63 +892,63 @@ var seastudio = {
|
|
|
892
892
|
}
|
|
893
893
|
},
|
|
894
894
|
browser: {
|
|
895
|
-
|
|
896
|
-
open: async (options = {}) => parseToolResult(await callTool("seastudio-
|
|
897
|
-
list: async () => parseToolResult(await callTool("seastudio-
|
|
898
|
-
get: async (
|
|
899
|
-
close: async (
|
|
900
|
-
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 })
|
|
901
901
|
)
|
|
902
902
|
},
|
|
903
|
-
|
|
904
|
-
|
|
905
|
-
|
|
906
|
-
tab: {
|
|
907
|
-
create: async (browserSessionId = SINGLETON_BROWSER_SESSION_ID, url, ownerInstanceId) => parseToolResult(
|
|
908
|
-
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", {
|
|
909
906
|
action: "create",
|
|
910
|
-
|
|
907
|
+
browserRuntimeSessionId,
|
|
911
908
|
...url ? { url } : {},
|
|
912
909
|
...ownerInstanceId ? { ownerInstanceId } : {}
|
|
913
910
|
})
|
|
914
911
|
),
|
|
915
|
-
close: async (
|
|
916
|
-
await callTool("seastudio-
|
|
912
|
+
close: async (browserRuntimeSessionId, tabId) => parseToolResult(
|
|
913
|
+
await callTool("seastudio-browser_runtime_tab", { action: "close", browserRuntimeSessionId, tabId })
|
|
917
914
|
),
|
|
918
|
-
activate: async (
|
|
919
|
-
await callTool("seastudio-
|
|
915
|
+
activate: async (browserRuntimeSessionId, tabId) => parseToolResult(
|
|
916
|
+
await callTool("seastudio-browser_runtime_tab", { action: "activate", browserRuntimeSessionId, tabId })
|
|
920
917
|
),
|
|
921
|
-
navigate: async (
|
|
922
|
-
await callTool("seastudio-
|
|
918
|
+
navigate: async (browserRuntimeSessionId, tabId, url) => parseToolResult(
|
|
919
|
+
await callTool("seastudio-browser_runtime_tab", { action: "navigate", browserRuntimeSessionId, tabId, url })
|
|
923
920
|
),
|
|
924
|
-
goBack: async (
|
|
925
|
-
goForward: async (
|
|
926
|
-
reload: async (
|
|
927
|
-
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 })),
|
|
928
925
|
getOrCreateForInstance: async (ownerInstanceId, url) => parseToolResult(
|
|
929
|
-
await callTool("seastudio-
|
|
926
|
+
await callTool("seastudio-browser_runtime_tab", {
|
|
930
927
|
action: "create",
|
|
931
|
-
|
|
928
|
+
browserRuntimeSessionId: SINGLETON_BROWSER_RUNTIME_SESSION_ID,
|
|
932
929
|
ownerInstanceId,
|
|
933
930
|
...url ? { url } : {}
|
|
934
931
|
})
|
|
935
932
|
)
|
|
936
933
|
},
|
|
937
934
|
viewport: {
|
|
938
|
-
bind: async (
|
|
935
|
+
bind: async (rect, options = {}) => parseToolResult(
|
|
939
936
|
await callTool("seastudio-browser_runtime", {
|
|
940
937
|
action: "bindViewport",
|
|
941
|
-
|
|
938
|
+
browserRuntimeSessionId: options.browserRuntimeSessionId ?? SINGLETON_BROWSER_RUNTIME_SESSION_ID,
|
|
942
939
|
rect,
|
|
943
|
-
...ownerInstanceId ? { ownerInstanceId } : {}
|
|
940
|
+
...options.ownerInstanceId ? { ownerInstanceId: options.ownerInstanceId } : {}
|
|
944
941
|
})
|
|
945
942
|
)
|
|
946
943
|
},
|
|
947
944
|
runtime: {
|
|
948
|
-
|
|
945
|
+
show: async (url) => parseToolResult(
|
|
946
|
+
await callTool("seastudio-browser_runtime_show", { url })
|
|
947
|
+
),
|
|
948
|
+
evaluate: async (browserRuntimeSessionId, tabId, script, timeoutMs) => parseToolResult(
|
|
949
949
|
await callTool("seastudio-browser_runtime", {
|
|
950
950
|
action: "evaluate",
|
|
951
|
-
|
|
951
|
+
browserRuntimeSessionId,
|
|
952
952
|
tabId,
|
|
953
953
|
script,
|
|
954
954
|
...timeoutMs ? { timeoutMs } : {}
|
|
@@ -956,8 +956,8 @@ var seastudio = {
|
|
|
956
956
|
)
|
|
957
957
|
},
|
|
958
958
|
certificate: {
|
|
959
|
-
respond: async (
|
|
960
|
-
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 })
|
|
961
961
|
)
|
|
962
962
|
}
|
|
963
963
|
}
|
|
@@ -1202,14 +1202,14 @@ var SeastudioNotifications = {
|
|
|
1202
1202
|
PROPOSAL_FEEDBACK: "seastudio:proposal-feedback",
|
|
1203
1203
|
/** 插件实例请求更新宿主 plugin tab 标题 */
|
|
1204
1204
|
PLUGIN_TAB_TITLE_CHANGED: "plugin:tab-title_changed",
|
|
1205
|
-
/**
|
|
1206
|
-
|
|
1207
|
-
/**
|
|
1208
|
-
|
|
1209
|
-
/**
|
|
1210
|
-
|
|
1211
|
-
/**
|
|
1212
|
-
|
|
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",
|
|
1213
1213
|
/**
|
|
1214
1214
|
* Agent 对话 session:新建。消息历史仍由 Agent 前端持有,宿主仅同步列表用于侧栏。
|
|
1215
1215
|
* 通常由 Agent 通过 notifications/publish 发出;其他订阅者(含 host-ui)可据此更新 UI。
|
|
@@ -1278,7 +1278,7 @@ var allTools = [
|
|
|
1278
1278
|
];
|
|
1279
1279
|
var tools = allTools;
|
|
1280
1280
|
|
|
1281
|
-
exports.
|
|
1281
|
+
exports.SINGLETON_BROWSER_RUNTIME_SESSION_ID = SINGLETON_BROWSER_RUNTIME_SESSION_ID;
|
|
1282
1282
|
exports.SeastudioNotifications = SeastudioNotifications;
|
|
1283
1283
|
exports.SeastudioRequests = SeastudioRequests;
|
|
1284
1284
|
exports.agentManagementTools = agentManagementTools;
|
|
@@ -537,11 +537,11 @@ var shellTools = [
|
|
|
537
537
|
];
|
|
538
538
|
|
|
539
539
|
// src/mcp/seastudio/tools/browser.ts
|
|
540
|
-
var
|
|
541
|
-
var
|
|
542
|
-
|
|
540
|
+
var SINGLETON_BROWSER_RUNTIME_SESSION_ID = "browser-runtime-session-default";
|
|
541
|
+
var browserRuntimeSessionIdParam = {
|
|
542
|
+
browserRuntimeSessionId: {
|
|
543
543
|
type: "string",
|
|
544
|
-
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"
|
|
545
545
|
}
|
|
546
546
|
};
|
|
547
547
|
var tabIdParam = {
|
|
@@ -549,17 +549,17 @@ var tabIdParam = {
|
|
|
549
549
|
};
|
|
550
550
|
var browserRuntimeTools = [
|
|
551
551
|
annotateTool({
|
|
552
|
-
name: "seastudio-
|
|
553
|
-
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",
|
|
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: "BrowserRuntimeSession \u52A8\u4F5C\u3002\u5168\u5C40\u4EC5\u4E00\u4E2A runtime session\uFF1BbrowserRuntimeSessionId \u53EF\u9009\u3002"
|
|
561
561
|
},
|
|
562
|
-
...
|
|
562
|
+
...browserRuntimeSessionIdParam,
|
|
563
563
|
homepage: { type: "string", description: "open \u7684\u53EF\u9009\u9ED8\u8BA4\u9996\u9875\u3002" }
|
|
564
564
|
},
|
|
565
565
|
required: ["action"]
|
|
@@ -570,17 +570,17 @@ var browserRuntimeTools = [
|
|
|
570
570
|
rawDomain: "browser"
|
|
571
571
|
}),
|
|
572
572
|
annotateTool({
|
|
573
|
-
name: "seastudio-
|
|
574
|
-
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",
|
|
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\u3002browserRuntimeSessionId \u53EF\u9009\uFF1Bcreate \u53EF\u4F20 ownerInstanceId \u7ED1\u5B9A Host \u63D2\u4EF6\u5B9E\u4F8B\u3002"
|
|
582
582
|
},
|
|
583
|
-
...
|
|
583
|
+
...browserRuntimeSessionIdParam,
|
|
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
586
|
ownerInstanceId: { type: "string", description: "create \u65F6\u7ED1\u5B9A Host Browser \u63D2\u4EF6 instanceId\u3002" }
|
|
@@ -603,7 +603,7 @@ var browserRuntimeTools = [
|
|
|
603
603
|
enum: ["bindViewport", "respondCertificate", "evaluate"],
|
|
604
604
|
description: "Browser runtime \u52A8\u4F5C\u3002bindViewport \u9700\u8981 rect\uFF1BrespondCertificate \u9700\u8981 requestId \u548C allow\uFF1Bevaluate \u9700\u8981 tabId \u548C script\u3002"
|
|
605
605
|
},
|
|
606
|
-
...
|
|
606
|
+
...browserRuntimeSessionIdParam,
|
|
607
607
|
...tabIdParam,
|
|
608
608
|
ownerInstanceId: { type: "string", description: "bindViewport \u7684 UI owner instance id\u3002" },
|
|
609
609
|
rect: {
|
|
@@ -630,7 +630,7 @@ var browserRuntimeTools = [
|
|
|
630
630
|
rawDomain: "browser"
|
|
631
631
|
}),
|
|
632
632
|
annotateTool({
|
|
633
|
-
name: "seastudio-
|
|
633
|
+
name: "seastudio-browser_runtime_show",
|
|
634
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",
|
|
635
635
|
inputSchema: {
|
|
636
636
|
type: "object",
|
|
@@ -890,63 +890,63 @@ var seastudio = {
|
|
|
890
890
|
}
|
|
891
891
|
},
|
|
892
892
|
browser: {
|
|
893
|
-
|
|
894
|
-
open: async (options = {}) => parseToolResult(await callTool("seastudio-
|
|
895
|
-
list: async () => parseToolResult(await callTool("seastudio-
|
|
896
|
-
get: async (
|
|
897
|
-
close: async (
|
|
898
|
-
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 })
|
|
899
899
|
)
|
|
900
900
|
},
|
|
901
|
-
|
|
902
|
-
|
|
903
|
-
|
|
904
|
-
tab: {
|
|
905
|
-
create: async (browserSessionId = SINGLETON_BROWSER_SESSION_ID, url, ownerInstanceId) => parseToolResult(
|
|
906
|
-
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", {
|
|
907
904
|
action: "create",
|
|
908
|
-
|
|
905
|
+
browserRuntimeSessionId,
|
|
909
906
|
...url ? { url } : {},
|
|
910
907
|
...ownerInstanceId ? { ownerInstanceId } : {}
|
|
911
908
|
})
|
|
912
909
|
),
|
|
913
|
-
close: async (
|
|
914
|
-
await callTool("seastudio-
|
|
910
|
+
close: async (browserRuntimeSessionId, tabId) => parseToolResult(
|
|
911
|
+
await callTool("seastudio-browser_runtime_tab", { action: "close", browserRuntimeSessionId, tabId })
|
|
915
912
|
),
|
|
916
|
-
activate: async (
|
|
917
|
-
await callTool("seastudio-
|
|
913
|
+
activate: async (browserRuntimeSessionId, tabId) => parseToolResult(
|
|
914
|
+
await callTool("seastudio-browser_runtime_tab", { action: "activate", browserRuntimeSessionId, tabId })
|
|
918
915
|
),
|
|
919
|
-
navigate: async (
|
|
920
|
-
await callTool("seastudio-
|
|
916
|
+
navigate: async (browserRuntimeSessionId, tabId, url) => parseToolResult(
|
|
917
|
+
await callTool("seastudio-browser_runtime_tab", { action: "navigate", browserRuntimeSessionId, tabId, url })
|
|
921
918
|
),
|
|
922
|
-
goBack: async (
|
|
923
|
-
goForward: async (
|
|
924
|
-
reload: async (
|
|
925
|
-
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 })),
|
|
926
923
|
getOrCreateForInstance: async (ownerInstanceId, url) => parseToolResult(
|
|
927
|
-
await callTool("seastudio-
|
|
924
|
+
await callTool("seastudio-browser_runtime_tab", {
|
|
928
925
|
action: "create",
|
|
929
|
-
|
|
926
|
+
browserRuntimeSessionId: SINGLETON_BROWSER_RUNTIME_SESSION_ID,
|
|
930
927
|
ownerInstanceId,
|
|
931
928
|
...url ? { url } : {}
|
|
932
929
|
})
|
|
933
930
|
)
|
|
934
931
|
},
|
|
935
932
|
viewport: {
|
|
936
|
-
bind: async (
|
|
933
|
+
bind: async (rect, options = {}) => parseToolResult(
|
|
937
934
|
await callTool("seastudio-browser_runtime", {
|
|
938
935
|
action: "bindViewport",
|
|
939
|
-
|
|
936
|
+
browserRuntimeSessionId: options.browserRuntimeSessionId ?? SINGLETON_BROWSER_RUNTIME_SESSION_ID,
|
|
940
937
|
rect,
|
|
941
|
-
...ownerInstanceId ? { ownerInstanceId } : {}
|
|
938
|
+
...options.ownerInstanceId ? { ownerInstanceId: options.ownerInstanceId } : {}
|
|
942
939
|
})
|
|
943
940
|
)
|
|
944
941
|
},
|
|
945
942
|
runtime: {
|
|
946
|
-
|
|
943
|
+
show: async (url) => parseToolResult(
|
|
944
|
+
await callTool("seastudio-browser_runtime_show", { url })
|
|
945
|
+
),
|
|
946
|
+
evaluate: async (browserRuntimeSessionId, tabId, script, timeoutMs) => parseToolResult(
|
|
947
947
|
await callTool("seastudio-browser_runtime", {
|
|
948
948
|
action: "evaluate",
|
|
949
|
-
|
|
949
|
+
browserRuntimeSessionId,
|
|
950
950
|
tabId,
|
|
951
951
|
script,
|
|
952
952
|
...timeoutMs ? { timeoutMs } : {}
|
|
@@ -954,8 +954,8 @@ var seastudio = {
|
|
|
954
954
|
)
|
|
955
955
|
},
|
|
956
956
|
certificate: {
|
|
957
|
-
respond: async (
|
|
958
|
-
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 })
|
|
959
959
|
)
|
|
960
960
|
}
|
|
961
961
|
}
|
|
@@ -1200,14 +1200,14 @@ var SeastudioNotifications = {
|
|
|
1200
1200
|
PROPOSAL_FEEDBACK: "seastudio:proposal-feedback",
|
|
1201
1201
|
/** 插件实例请求更新宿主 plugin tab 标题 */
|
|
1202
1202
|
PLUGIN_TAB_TITLE_CHANGED: "plugin:tab-title_changed",
|
|
1203
|
-
/**
|
|
1204
|
-
|
|
1205
|
-
/**
|
|
1206
|
-
|
|
1207
|
-
/**
|
|
1208
|
-
|
|
1209
|
-
/**
|
|
1210
|
-
|
|
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",
|
|
1211
1211
|
/**
|
|
1212
1212
|
* Agent 对话 session:新建。消息历史仍由 Agent 前端持有,宿主仅同步列表用于侧栏。
|
|
1213
1213
|
* 通常由 Agent 通过 notifications/publish 发出;其他订阅者(含 host-ui)可据此更新 UI。
|
|
@@ -1276,4 +1276,4 @@ var allTools = [
|
|
|
1276
1276
|
];
|
|
1277
1277
|
var tools = allTools;
|
|
1278
1278
|
|
|
1279
|
-
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 };
|
package/dist/index.cjs
CHANGED
|
@@ -1,51 +1,51 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var chunk55KNKQUO_cjs = require('./chunk-55KNKQUO.cjs');
|
|
4
4
|
var chunk2L26XL3M_cjs = require('./chunk-2L26XL3M.cjs');
|
|
5
|
-
var
|
|
5
|
+
var chunkEGCXEVBD_cjs = require('./chunk-EGCXEVBD.cjs');
|
|
6
6
|
var chunk3I7UM66P_cjs = require('./chunk-3I7UM66P.cjs');
|
|
7
7
|
|
|
8
8
|
|
|
9
9
|
|
|
10
10
|
Object.defineProperty(exports, "MCP_PACKAGES", {
|
|
11
11
|
enumerable: true,
|
|
12
|
-
get: function () { return
|
|
12
|
+
get: function () { return chunk55KNKQUO_cjs.MCP_PACKAGES; }
|
|
13
13
|
});
|
|
14
14
|
Object.defineProperty(exports, "getMCPPackageIdForTool", {
|
|
15
15
|
enumerable: true,
|
|
16
|
-
get: function () { return
|
|
16
|
+
get: function () { return chunk55KNKQUO_cjs.getMCPPackageIdForTool; }
|
|
17
17
|
});
|
|
18
18
|
Object.defineProperty(exports, "getMCPPackages", {
|
|
19
19
|
enumerable: true,
|
|
20
|
-
get: function () { return
|
|
20
|
+
get: function () { return chunk55KNKQUO_cjs.getMCPPackages; }
|
|
21
21
|
});
|
|
22
22
|
Object.defineProperty(exports, "getMCPToolPackageIndex", {
|
|
23
23
|
enumerable: true,
|
|
24
|
-
get: function () { return
|
|
24
|
+
get: function () { return chunk55KNKQUO_cjs.getMCPToolPackageIndex; }
|
|
25
25
|
});
|
|
26
26
|
Object.defineProperty(exports, "getToolsForLLM", {
|
|
27
27
|
enumerable: true,
|
|
28
|
-
get: function () { return
|
|
28
|
+
get: function () { return chunk55KNKQUO_cjs.getToolsForLLM; }
|
|
29
29
|
});
|
|
30
30
|
Object.defineProperty(exports, "listAllTools", {
|
|
31
31
|
enumerable: true,
|
|
32
|
-
get: function () { return
|
|
32
|
+
get: function () { return chunk55KNKQUO_cjs.listAllTools; }
|
|
33
33
|
});
|
|
34
34
|
Object.defineProperty(exports, "listAvailableTools", {
|
|
35
35
|
enumerable: true,
|
|
36
|
-
get: function () { return
|
|
36
|
+
get: function () { return chunk55KNKQUO_cjs.listAvailableTools; }
|
|
37
37
|
});
|
|
38
38
|
Object.defineProperty(exports, "listAvailableToolsForLLM", {
|
|
39
39
|
enumerable: true,
|
|
40
|
-
get: function () { return
|
|
40
|
+
get: function () { return chunk55KNKQUO_cjs.listAvailableToolsForLLM; }
|
|
41
41
|
});
|
|
42
42
|
Object.defineProperty(exports, "loadPlugin", {
|
|
43
43
|
enumerable: true,
|
|
44
|
-
get: function () { return
|
|
44
|
+
get: function () { return chunk55KNKQUO_cjs.loadPlugin; }
|
|
45
45
|
});
|
|
46
46
|
Object.defineProperty(exports, "mcpToolToOpenAI", {
|
|
47
47
|
enumerable: true,
|
|
48
|
-
get: function () { return
|
|
48
|
+
get: function () { return chunk55KNKQUO_cjs.mcpToolToOpenAI; }
|
|
49
49
|
});
|
|
50
50
|
Object.defineProperty(exports, "DialogBody", {
|
|
51
51
|
enumerable: true,
|
|
@@ -101,47 +101,47 @@ Object.defineProperty(exports, "showHostContextMenu", {
|
|
|
101
101
|
});
|
|
102
102
|
Object.defineProperty(exports, "SeastudioNotifications", {
|
|
103
103
|
enumerable: true,
|
|
104
|
-
get: function () { return
|
|
104
|
+
get: function () { return chunkEGCXEVBD_cjs.SeastudioNotifications; }
|
|
105
105
|
});
|
|
106
106
|
Object.defineProperty(exports, "SeastudioRequests", {
|
|
107
107
|
enumerable: true,
|
|
108
|
-
get: function () { return
|
|
108
|
+
get: function () { return chunkEGCXEVBD_cjs.SeastudioRequests; }
|
|
109
109
|
});
|
|
110
110
|
Object.defineProperty(exports, "agentManagementTools", {
|
|
111
111
|
enumerable: true,
|
|
112
|
-
get: function () { return
|
|
112
|
+
get: function () { return chunkEGCXEVBD_cjs.agentManagementTools; }
|
|
113
113
|
});
|
|
114
114
|
Object.defineProperty(exports, "agentTabTools", {
|
|
115
115
|
enumerable: true,
|
|
116
|
-
get: function () { return
|
|
116
|
+
get: function () { return chunkEGCXEVBD_cjs.agentTabTools; }
|
|
117
117
|
});
|
|
118
118
|
Object.defineProperty(exports, "fileTools", {
|
|
119
119
|
enumerable: true,
|
|
120
|
-
get: function () { return
|
|
120
|
+
get: function () { return chunkEGCXEVBD_cjs.fileTools; }
|
|
121
121
|
});
|
|
122
122
|
Object.defineProperty(exports, "pluginManagementTools", {
|
|
123
123
|
enumerable: true,
|
|
124
|
-
get: function () { return
|
|
124
|
+
get: function () { return chunkEGCXEVBD_cjs.pluginManagementTools; }
|
|
125
125
|
});
|
|
126
126
|
Object.defineProperty(exports, "pluginTabTools", {
|
|
127
127
|
enumerable: true,
|
|
128
|
-
get: function () { return
|
|
128
|
+
get: function () { return chunkEGCXEVBD_cjs.pluginTabTools; }
|
|
129
129
|
});
|
|
130
130
|
Object.defineProperty(exports, "seastudio", {
|
|
131
131
|
enumerable: true,
|
|
132
|
-
get: function () { return
|
|
132
|
+
get: function () { return chunkEGCXEVBD_cjs.seastudio; }
|
|
133
133
|
});
|
|
134
134
|
Object.defineProperty(exports, "seastudioAllTools", {
|
|
135
135
|
enumerable: true,
|
|
136
|
-
get: function () { return
|
|
136
|
+
get: function () { return chunkEGCXEVBD_cjs.allTools; }
|
|
137
137
|
});
|
|
138
138
|
Object.defineProperty(exports, "seastudioTools", {
|
|
139
139
|
enumerable: true,
|
|
140
|
-
get: function () { return
|
|
140
|
+
get: function () { return chunkEGCXEVBD_cjs.tools; }
|
|
141
141
|
});
|
|
142
142
|
Object.defineProperty(exports, "shellTools", {
|
|
143
143
|
enumerable: true,
|
|
144
|
-
get: function () { return
|
|
144
|
+
get: function () { return chunkEGCXEVBD_cjs.shellTools; }
|
|
145
145
|
});
|
|
146
146
|
Object.defineProperty(exports, "MCPClient", {
|
|
147
147
|
enumerable: true,
|
package/dist/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { MCP_PACKAGES, getMCPPackageIdForTool, getMCPPackages, getMCPToolPackageIndex, getToolsForLLM, listAllTools, listAvailableTools, listAvailableToolsForLLM, loadPlugin, mcpToolToOpenAI } from './chunk-
|
|
1
|
+
export { MCP_PACKAGES, getMCPPackageIdForTool, getMCPPackages, getMCPToolPackageIndex, getToolsForLLM, listAllTools, listAvailableTools, listAvailableToolsForLLM, loadPlugin, mcpToolToOpenAI } from './chunk-GKR5RYBV.js';
|
|
2
2
|
export { DialogBody, DialogButton, DialogContainer, DialogFooter, DialogHeader, DialogOverlay, MenuContainer, MenuEmpty, MenuItem, MenuSeparator, Tab, cn, showHostContextMenu } from './chunk-BIOX6KGR.js';
|
|
3
|
-
export { SeastudioNotifications, SeastudioRequests, agentManagementTools, agentTabTools, fileTools, pluginManagementTools, pluginTabTools, seastudio, allTools as seastudioAllTools, tools as seastudioTools, shellTools } from './chunk-
|
|
3
|
+
export { SeastudioNotifications, SeastudioRequests, agentManagementTools, agentTabTools, fileTools, pluginManagementTools, pluginTabTools, seastudio, allTools as seastudioAllTools, tools as seastudioTools, shellTools } from './chunk-FNA3TFHQ.js';
|
|
4
4
|
export { MCPClient, MCPServer, PostMessageTransport, callHostTool, callHostToolText, createMCPClient, createMCPServer, createNotification, createRequest, createResponse, getDefaultClient, getDefaultServer, getDefaultTransport, isMCPMessage, isNotification, normalizeMCPTool, normalizeMCPToolInputSchema, normalizeMCPToolObjectSchema, setDefaultClient, setDefaultTransport, startDefaultServer } from './chunk-TJ3CGHWJ.js';
|