@downcity/plugins 1.0.246 → 1.0.252
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/bin/image/ImagePlugin.d.ts +1 -1
- package/bin/image/ImagePlugin.d.ts.map +1 -1
- package/bin/image/ImagePlugin.js +26 -10
- package/bin/image/ImagePlugin.js.map +1 -1
- package/bin/image/runtime/ImageResultStorage.d.ts +14 -0
- package/bin/image/runtime/ImageResultStorage.d.ts.map +1 -0
- package/bin/image/runtime/ImageResultStorage.js +167 -0
- package/bin/image/runtime/ImageResultStorage.js.map +1 -0
- package/bin/image/types/ImagePlugin.d.ts +22 -0
- package/bin/image/types/ImagePlugin.d.ts.map +1 -1
- package/bin/web/Plugin.d.ts +25 -30
- package/bin/web/Plugin.d.ts.map +1 -1
- package/bin/web/Plugin.js +254 -110
- package/bin/web/Plugin.js.map +1 -1
- package/bin/web/providers/ComputerUseBrowserProviderAdapter.d.ts +35 -0
- package/bin/web/providers/ComputerUseBrowserProviderAdapter.d.ts.map +1 -0
- package/bin/web/providers/ComputerUseBrowserProviderAdapter.js +62 -0
- package/bin/web/providers/ComputerUseBrowserProviderAdapter.js.map +1 -0
- package/bin/web/providers/PlaywrightBrowserProvider.d.ts +43 -0
- package/bin/web/providers/PlaywrightBrowserProvider.d.ts.map +1 -0
- package/bin/web/providers/PlaywrightBrowserProvider.js +184 -0
- package/bin/web/providers/PlaywrightBrowserProvider.js.map +1 -0
- package/bin/web/providers/SemanticBrowserProviderAdapter.d.ts +39 -0
- package/bin/web/providers/SemanticBrowserProviderAdapter.d.ts.map +1 -0
- package/bin/web/providers/SemanticBrowserProviderAdapter.js +61 -0
- package/bin/web/providers/SemanticBrowserProviderAdapter.js.map +1 -0
- package/bin/web/types/ComputerUseBrowserProviderAdapter.d.ts +43 -0
- package/bin/web/types/ComputerUseBrowserProviderAdapter.d.ts.map +1 -0
- package/bin/web/types/ComputerUseBrowserProviderAdapter.js +8 -0
- package/bin/web/types/ComputerUseBrowserProviderAdapter.js.map +1 -0
- package/bin/web/types/PlaywrightBrowserProvider.d.ts +17 -0
- package/bin/web/types/PlaywrightBrowserProvider.d.ts.map +1 -0
- package/bin/web/types/PlaywrightBrowserProvider.js +7 -0
- package/bin/web/types/PlaywrightBrowserProvider.js.map +1 -0
- package/bin/web/types/SemanticBrowserProviderAdapter.d.ts +19 -0
- package/bin/web/types/SemanticBrowserProviderAdapter.d.ts.map +1 -0
- package/bin/web/types/SemanticBrowserProviderAdapter.js +8 -0
- package/bin/web/types/SemanticBrowserProviderAdapter.js.map +1 -0
- package/bin/web/types/WebPlugin.d.ts +213 -63
- package/bin/web/types/WebPlugin.d.ts.map +1 -1
- package/bin/web/types/WebPlugin.js +23 -11
- package/bin/web/types/WebPlugin.js.map +1 -1
- package/bin/web.d.ts +9 -3
- package/bin/web.d.ts.map +1 -1
- package/bin/web.js +5 -2
- package/bin/web.js.map +1 -1
- package/package.json +4 -3
- package/scripts/web-plugin.test.mjs +195 -57
- package/src/image/ImagePlugin.ts +25 -12
- package/src/image/runtime/ImageResultStorage.ts +198 -0
- package/src/image/types/ImagePlugin.ts +24 -0
- package/src/web/Plugin.ts +289 -125
- package/src/web/providers/ComputerUseBrowserProviderAdapter.ts +93 -0
- package/src/web/providers/PlaywrightBrowserProvider.ts +239 -0
- package/src/web/providers/SemanticBrowserProviderAdapter.ts +92 -0
- package/src/web/types/ComputerUseBrowserProviderAdapter.ts +58 -0
- package/src/web/types/PlaywrightBrowserProvider.ts +17 -0
- package/src/web/types/SemanticBrowserProviderAdapter.ts +30 -0
- package/src/web/types/WebPlugin.ts +236 -63
- package/src/web.ts +30 -8
- package/bin/web/PROMPT.d.ts +0 -7
- package/bin/web/PROMPT.d.ts.map +0 -1
- package/bin/web/PROMPT.js +0 -8
- package/bin/web/PROMPT.js.map +0 -1
- package/bin/web/WebPromptAssets.d.ts +0 -12
- package/bin/web/WebPromptAssets.d.ts.map +0 -1
- package/bin/web/WebPromptAssets.js +0 -13
- package/bin/web/WebPromptAssets.js.map +0 -1
- package/bin/web/runtime/Prompt.d.ts +0 -14
- package/bin/web/runtime/Prompt.d.ts.map +0 -1
- package/bin/web/runtime/Prompt.js +0 -77
- package/bin/web/runtime/Prompt.js.map +0 -1
- package/src/web/PROMPT.ts +0 -9
- package/src/web/PROMPT.ts.txt +0 -61
- package/src/web/WebPromptAssets.ts +0 -14
- package/src/web/runtime/Prompt.ts +0 -99
|
@@ -1,73 +1,223 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* WebPlugin
|
|
2
|
+
* WebPlugin 的公开协议类型。
|
|
3
3
|
*
|
|
4
4
|
* 关键点(中文)
|
|
5
|
-
* -
|
|
6
|
-
* -
|
|
7
|
-
* -
|
|
5
|
+
* - WebPlugin 只定义联网能力的稳定边界,不绑定搜索服务、浏览器云厂商或模型。
|
|
6
|
+
* - 浏览器 provider 负责 session 的创建、观察、动作执行和关闭。
|
|
7
|
+
* - 所有 action 返回值都保持 JSON 可序列化,避免把 Playwright 对象泄漏到 Agent 内核。
|
|
8
8
|
*/
|
|
9
9
|
import type { JsonObject } from "@downcity/agent";
|
|
10
|
-
/**
|
|
11
|
-
* WebPlugin action 名称常量。
|
|
12
|
-
*/
|
|
10
|
+
/** WebPlugin 对外 action 名称。 */
|
|
13
11
|
export declare const WEB_PLUGIN_ACTIONS: {
|
|
14
|
-
/**
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
readonly
|
|
12
|
+
/** 搜索公开网页或索引。 */
|
|
13
|
+
readonly search: "search";
|
|
14
|
+
/** 打开已知 URL 并读取文档。 */
|
|
15
|
+
readonly open: "open";
|
|
16
|
+
/** 创建浏览器 session。 */
|
|
17
|
+
readonly browser_create_session: "browser_create_session";
|
|
18
|
+
/** 读取浏览器当前状态。 */
|
|
19
|
+
readonly browser_observe: "browser_observe";
|
|
20
|
+
/** 执行一个确定性的浏览器动作。 */
|
|
21
|
+
readonly browser_act: "browser_act";
|
|
22
|
+
/** 执行一个由语义 provider 解释的自然语言动作。 */
|
|
23
|
+
readonly browser_semantic_act: "browser_semantic_act";
|
|
24
|
+
/** 从当前浏览器页面抽取文本。 */
|
|
25
|
+
readonly browser_extract: "browser_extract";
|
|
26
|
+
/** 使用语义 provider 抽取页面内容。 */
|
|
27
|
+
readonly browser_semantic_extract: "browser_semantic_extract";
|
|
28
|
+
/** 关闭浏览器 session。 */
|
|
29
|
+
readonly browser_close_session: "browser_close_session";
|
|
18
30
|
};
|
|
19
|
-
/**
|
|
20
|
-
|
|
21
|
-
*/
|
|
22
|
-
export
|
|
23
|
-
/**
|
|
24
|
-
|
|
25
|
-
*/
|
|
26
|
-
|
|
27
|
-
/**
|
|
28
|
-
|
|
29
|
-
*/
|
|
30
|
-
export interface WebPluginInstallPayload {
|
|
31
|
-
/**
|
|
32
|
-
* 需要获取安装说明的联网能力。
|
|
33
|
-
*
|
|
34
|
-
* 说明(中文)
|
|
35
|
-
* - `web-access`:返回 web-access Skill 的安装工作流。
|
|
36
|
-
* - `agent-browser`:返回 agent-browser Skill 与 CLI 的安装工作流。
|
|
37
|
-
* - `all`:返回以上全部能力的安装工作流。
|
|
38
|
-
* - 默认值为 `web-access`。
|
|
39
|
-
*/
|
|
40
|
-
target?: WebPluginInstallTarget;
|
|
41
|
-
/**
|
|
42
|
-
* agent-browser CLI 的安装作用域。
|
|
43
|
-
*
|
|
44
|
-
* 说明(中文)
|
|
45
|
-
* - `user`:提示 Agent 将 CLI 安装到 npm 全局环境。
|
|
46
|
-
* - `project`:提示 Agent 使用项目已有的包管理器安装 devDependency。
|
|
47
|
-
* - Skill 安装位置由 SkillPlugin 的扫描配置决定,不受此字段控制。
|
|
48
|
-
* - 默认值为 `user`。
|
|
49
|
-
*/
|
|
50
|
-
scope?: WebPluginInstallScope;
|
|
31
|
+
/** WebPlugin action 名称联合类型。 */
|
|
32
|
+
export type WebPluginActionName = (typeof WEB_PLUGIN_ACTIONS)[keyof typeof WEB_PLUGIN_ACTIONS];
|
|
33
|
+
/** 搜索 action 输入。 */
|
|
34
|
+
export interface WebSearchInput {
|
|
35
|
+
/** 用户要检索的自然语言查询。 */
|
|
36
|
+
query: string;
|
|
37
|
+
/** 最多返回的结果数量,provider 可自行设置上限。 */
|
|
38
|
+
limit?: number;
|
|
39
|
+
/** 只搜索这些域名;不传时由 provider 决定搜索范围。 */
|
|
40
|
+
domains?: string[];
|
|
51
41
|
}
|
|
52
|
-
/**
|
|
53
|
-
|
|
54
|
-
*/
|
|
55
|
-
|
|
56
|
-
/**
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
/**
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
42
|
+
/** 单条搜索结果。 */
|
|
43
|
+
export interface WebSearchItem extends JsonObject {
|
|
44
|
+
/** 结果页面的规范 URL。 */
|
|
45
|
+
url: string;
|
|
46
|
+
/** 页面标题。 */
|
|
47
|
+
title: string | null;
|
|
48
|
+
/** 搜索 provider 返回的摘要。 */
|
|
49
|
+
snippet: string | null;
|
|
50
|
+
/** provider 给出的相关性分数。 */
|
|
51
|
+
score: number | null;
|
|
52
|
+
}
|
|
53
|
+
/** 搜索 action 返回值。 */
|
|
54
|
+
export interface WebSearchResult extends JsonObject {
|
|
55
|
+
/** 实际使用的 provider 名称。 */
|
|
56
|
+
provider: string;
|
|
57
|
+
/** 搜索结果列表。 */
|
|
58
|
+
items: WebSearchItem[];
|
|
59
|
+
}
|
|
60
|
+
/** 已知 URL 打开输入。 */
|
|
61
|
+
export interface WebOpenInput {
|
|
62
|
+
/** 要读取的 HTTP(S) URL。 */
|
|
63
|
+
url: string;
|
|
64
|
+
/** 返回正文的最大字符数。 */
|
|
65
|
+
max_chars?: number;
|
|
66
|
+
}
|
|
67
|
+
/** 已知 URL 打开返回值。 */
|
|
68
|
+
export interface WebOpenResult extends JsonObject {
|
|
69
|
+
/** 实际使用的 provider 名称。 */
|
|
70
|
+
provider: string;
|
|
71
|
+
/** 最终读取到的 URL。 */
|
|
72
|
+
url: string;
|
|
73
|
+
/** 页面标题。 */
|
|
74
|
+
title: string | null;
|
|
75
|
+
/** 页面正文或 provider 生成的 Markdown。 */
|
|
76
|
+
content: string;
|
|
77
|
+
}
|
|
78
|
+
/** 浏览器 session 创建输入。 */
|
|
79
|
+
export interface BrowserCreateSessionInput {
|
|
80
|
+
/** 创建后立即打开的 URL。 */
|
|
81
|
+
url?: string;
|
|
82
|
+
/** 是否在首次观察时返回 PNG data URL。 */
|
|
83
|
+
include_screenshot?: boolean;
|
|
84
|
+
}
|
|
85
|
+
/** 浏览器页面的可序列化观察结果。 */
|
|
86
|
+
export interface BrowserObservation extends JsonObject {
|
|
87
|
+
/** 实际使用的 provider 名称。 */
|
|
88
|
+
provider: string;
|
|
89
|
+
/** 浏览器 session 标识。 */
|
|
90
|
+
session_id: string;
|
|
91
|
+
/** 当前页面 URL。 */
|
|
92
|
+
url: string;
|
|
93
|
+
/** 当前页面标题。 */
|
|
94
|
+
title: string;
|
|
95
|
+
/** 当前页面的可见文本快照。 */
|
|
96
|
+
text: string;
|
|
97
|
+
/** 可选的 PNG data URL,供视觉模型使用。 */
|
|
98
|
+
screenshot_data_url: string | null;
|
|
99
|
+
}
|
|
100
|
+
/** 浏览器动作输入。 */
|
|
101
|
+
export type BrowserAction = {
|
|
102
|
+
type: "goto"; /** 目标 URL。 */
|
|
103
|
+
url: string;
|
|
104
|
+
} | {
|
|
105
|
+
type: "click"; /** CSS selector。 */
|
|
106
|
+
selector: string;
|
|
107
|
+
} | {
|
|
108
|
+
/** 填充表单元素。 */
|
|
109
|
+
type: "fill";
|
|
110
|
+
/** CSS selector。 */
|
|
111
|
+
selector: string;
|
|
112
|
+
/** 要填充的文本。 */
|
|
113
|
+
value: string;
|
|
114
|
+
} | {
|
|
115
|
+
/** 在元素上按键。 */
|
|
116
|
+
type: "press";
|
|
117
|
+
/** CSS selector。 */
|
|
118
|
+
selector: string;
|
|
119
|
+
/** Playwright 支持的键名。 */
|
|
120
|
+
key: string;
|
|
121
|
+
} | {
|
|
122
|
+
/** 滚动页面。 */
|
|
123
|
+
type: "scroll";
|
|
124
|
+
/** 垂直滚动像素,正数向下。 */
|
|
125
|
+
y?: number;
|
|
126
|
+
/** 水平滚动像素,正数向右。 */
|
|
127
|
+
x?: number;
|
|
128
|
+
} | {
|
|
129
|
+
/** 等待页面稳定。 */
|
|
130
|
+
type: "wait";
|
|
131
|
+
/** 等待毫秒数,provider 可限制最大值。 */
|
|
132
|
+
milliseconds?: number;
|
|
133
|
+
};
|
|
134
|
+
/** 浏览器动作输入 payload。 */
|
|
135
|
+
export interface BrowserActInput {
|
|
136
|
+
/** 目标浏览器 session 标识。 */
|
|
137
|
+
session_id: string;
|
|
138
|
+
/** 要执行的确定性动作。 */
|
|
139
|
+
action: BrowserAction;
|
|
140
|
+
/** 动作完成后是否附带截图。 */
|
|
141
|
+
include_screenshot?: boolean;
|
|
142
|
+
}
|
|
143
|
+
/** 语义浏览器动作输入。 */
|
|
144
|
+
export interface BrowserSemanticActInput {
|
|
145
|
+
/** 目标浏览器 session 标识。 */
|
|
146
|
+
session_id: string;
|
|
147
|
+
/** 给语义 provider 的自然语言动作,例如“点击登录按钮”。 */
|
|
148
|
+
instruction: string;
|
|
149
|
+
/** 动作完成后是否附带截图。 */
|
|
150
|
+
include_screenshot?: boolean;
|
|
151
|
+
}
|
|
152
|
+
/** 浏览器观察输入 payload。 */
|
|
153
|
+
export interface BrowserObserveInput {
|
|
154
|
+
/** 目标浏览器 session 标识。 */
|
|
155
|
+
session_id: string;
|
|
156
|
+
/** 是否返回 PNG data URL。 */
|
|
157
|
+
include_screenshot?: boolean;
|
|
158
|
+
}
|
|
159
|
+
/** 浏览器抽取输入 payload。 */
|
|
160
|
+
export interface BrowserExtractInput {
|
|
161
|
+
/** 目标浏览器 session 标识。 */
|
|
162
|
+
session_id: string;
|
|
163
|
+
/** 可选 CSS selector;不传时读取 body 文本。 */
|
|
164
|
+
selector?: string;
|
|
165
|
+
/** 返回的最大字符数。 */
|
|
166
|
+
max_chars?: number;
|
|
167
|
+
}
|
|
168
|
+
/** 语义浏览器抽取输入。 */
|
|
169
|
+
export interface BrowserSemanticExtractInput {
|
|
170
|
+
/** 目标浏览器 session 标识。 */
|
|
171
|
+
session_id: string;
|
|
172
|
+
/** 给语义 provider 的抽取要求。 */
|
|
173
|
+
instruction: string;
|
|
174
|
+
/** 返回内容的最大字符数。 */
|
|
175
|
+
max_chars?: number;
|
|
176
|
+
}
|
|
177
|
+
/** 浏览器抽取返回值。 */
|
|
178
|
+
export interface BrowserExtractResult extends JsonObject {
|
|
179
|
+
/** 实际使用的 provider 名称。 */
|
|
180
|
+
provider: string;
|
|
181
|
+
/** 浏览器 session 标识。 */
|
|
182
|
+
session_id: string;
|
|
183
|
+
/** 当前页面 URL。 */
|
|
184
|
+
url: string;
|
|
185
|
+
/** 抽取到的文本。 */
|
|
186
|
+
content: string;
|
|
187
|
+
}
|
|
188
|
+
/** 浏览器 session 关闭输入。 */
|
|
189
|
+
export interface BrowserCloseSessionInput {
|
|
190
|
+
/** 要关闭的浏览器 session 标识。 */
|
|
191
|
+
session_id: string;
|
|
192
|
+
}
|
|
193
|
+
/** 浏览器 provider 的能力协议。 */
|
|
194
|
+
export interface BrowserProvider {
|
|
195
|
+
/** provider 稳定名称,用于结果和诊断。 */
|
|
196
|
+
readonly name: string;
|
|
197
|
+
/** 创建浏览器 session 并返回初始观察结果。 */
|
|
198
|
+
create_session(input: BrowserCreateSessionInput): Promise<BrowserObservation>;
|
|
199
|
+
/** 读取指定 session 当前状态。 */
|
|
200
|
+
observe(input: BrowserObserveInput): Promise<BrowserObservation>;
|
|
201
|
+
/** 执行确定性动作并返回动作后的状态。 */
|
|
202
|
+
act(input: BrowserActInput): Promise<BrowserObservation>;
|
|
203
|
+
/** 可选的自然语言动作能力,由 Stagehand 或 Computer Use adapter 实现。 */
|
|
204
|
+
semantic_act?(input: BrowserSemanticActInput): Promise<BrowserObservation>;
|
|
205
|
+
/** 从指定 session 抽取文本。 */
|
|
206
|
+
extract(input: BrowserExtractInput): Promise<BrowserExtractResult>;
|
|
207
|
+
/** 可选的自然语言结构化抽取能力。 */
|
|
208
|
+
semantic_extract?(input: BrowserSemanticExtractInput): Promise<BrowserExtractResult>;
|
|
209
|
+
/** 关闭指定 session。 */
|
|
210
|
+
close_session(input: BrowserCloseSessionInput): Promise<void>;
|
|
211
|
+
/** 释放 provider 持有的浏览器连接和剩余 session。 */
|
|
212
|
+
dispose(): Promise<void>;
|
|
213
|
+
}
|
|
214
|
+
/** WebPlugin 构造参数。 */
|
|
215
|
+
export interface WebPluginOptions {
|
|
216
|
+
/** 搜索 provider;未配置时 search action 返回能力不可用。 */
|
|
217
|
+
search?: (input: WebSearchInput) => Promise<WebSearchResult> | WebSearchResult;
|
|
218
|
+
/** 已知 URL 文档 provider;未配置时 open action 返回能力不可用。 */
|
|
219
|
+
open?: (input: WebOpenInput) => Promise<WebOpenResult> | WebOpenResult;
|
|
220
|
+
/** 浏览器 provider;未配置时 browser actions 返回能力不可用。 */
|
|
221
|
+
browser?: BrowserProvider;
|
|
72
222
|
}
|
|
73
223
|
//# sourceMappingURL=WebPlugin.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WebPlugin.d.ts","sourceRoot":"","sources":["../../../src/web/types/WebPlugin.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAElD
|
|
1
|
+
{"version":3,"file":"WebPlugin.d.ts","sourceRoot":"","sources":["../../../src/web/types/WebPlugin.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,18 +1,30 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* WebPlugin
|
|
2
|
+
* WebPlugin 的公开协议类型。
|
|
3
3
|
*
|
|
4
4
|
* 关键点(中文)
|
|
5
|
-
* -
|
|
6
|
-
* -
|
|
7
|
-
* -
|
|
8
|
-
*/
|
|
9
|
-
/**
|
|
10
|
-
* WebPlugin action 名称常量。
|
|
5
|
+
* - WebPlugin 只定义联网能力的稳定边界,不绑定搜索服务、浏览器云厂商或模型。
|
|
6
|
+
* - 浏览器 provider 负责 session 的创建、观察、动作执行和关闭。
|
|
7
|
+
* - 所有 action 返回值都保持 JSON 可序列化,避免把 Playwright 对象泄漏到 Agent 内核。
|
|
11
8
|
*/
|
|
9
|
+
/** WebPlugin 对外 action 名称。 */
|
|
12
10
|
export const WEB_PLUGIN_ACTIONS = {
|
|
13
|
-
/**
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
11
|
+
/** 搜索公开网页或索引。 */
|
|
12
|
+
search: "search",
|
|
13
|
+
/** 打开已知 URL 并读取文档。 */
|
|
14
|
+
open: "open",
|
|
15
|
+
/** 创建浏览器 session。 */
|
|
16
|
+
browser_create_session: "browser_create_session",
|
|
17
|
+
/** 读取浏览器当前状态。 */
|
|
18
|
+
browser_observe: "browser_observe",
|
|
19
|
+
/** 执行一个确定性的浏览器动作。 */
|
|
20
|
+
browser_act: "browser_act",
|
|
21
|
+
/** 执行一个由语义 provider 解释的自然语言动作。 */
|
|
22
|
+
browser_semantic_act: "browser_semantic_act",
|
|
23
|
+
/** 从当前浏览器页面抽取文本。 */
|
|
24
|
+
browser_extract: "browser_extract",
|
|
25
|
+
/** 使用语义 provider 抽取页面内容。 */
|
|
26
|
+
browser_semantic_extract: "browser_semantic_extract",
|
|
27
|
+
/** 关闭浏览器 session。 */
|
|
28
|
+
browser_close_session: "browser_close_session",
|
|
17
29
|
};
|
|
18
30
|
//# sourceMappingURL=WebPlugin.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WebPlugin.js","sourceRoot":"","sources":["../../../src/web/types/WebPlugin.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH
|
|
1
|
+
{"version":3,"file":"WebPlugin.js","sourceRoot":"","sources":["../../../src/web/types/WebPlugin.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH,8BAA8B;AAC9B,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC,iBAAiB;IACjB,MAAM,EAAE,QAAQ;IAChB,sBAAsB;IACtB,IAAI,EAAE,MAAM;IACZ,qBAAqB;IACrB,sBAAsB,EAAE,wBAAwB;IAChD,iBAAiB;IACjB,eAAe,EAAE,iBAAiB;IAClC,qBAAqB;IACrB,WAAW,EAAE,aAAa;IAC1B,kCAAkC;IAClC,oBAAoB,EAAE,sBAAsB;IAC5C,oBAAoB;IACpB,eAAe,EAAE,iBAAiB;IAClC,4BAA4B;IAC5B,wBAAwB,EAAE,0BAA0B;IACpD,qBAAqB;IACrB,qBAAqB,EAAE,uBAAuB;CACtC,CAAC"}
|
package/bin/web.d.ts
CHANGED
|
@@ -1,9 +1,15 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* `@downcity/plugins/web` 独立公开入口。
|
|
3
3
|
*
|
|
4
|
-
*
|
|
4
|
+
* 关键点(中文):汇总 provider-neutral WebPlugin 与 Playwright/CDP provider。
|
|
5
5
|
*/
|
|
6
6
|
export { WebPlugin } from "./web/Plugin.js";
|
|
7
|
-
export {
|
|
8
|
-
export
|
|
7
|
+
export { PlaywrightBrowserProvider } from "./web/providers/PlaywrightBrowserProvider.js";
|
|
8
|
+
export { SemanticBrowserProviderAdapter } from "./web/providers/SemanticBrowserProviderAdapter.js";
|
|
9
|
+
export { ComputerUseBrowserProviderAdapter } from "./web/providers/ComputerUseBrowserProviderAdapter.js";
|
|
10
|
+
export { WEB_PLUGIN_ACTIONS } from "./web/types/WebPlugin.js";
|
|
11
|
+
export type { BrowserActInput, BrowserAction, BrowserCloseSessionInput, BrowserCreateSessionInput, BrowserExtractInput, BrowserExtractResult, BrowserObservation, BrowserObserveInput, BrowserProvider, BrowserSemanticActInput, BrowserSemanticExtractInput, WebOpenInput, WebOpenResult, WebPluginActionName, WebPluginOptions, WebSearchInput, WebSearchItem, WebSearchResult, } from "./web/types/WebPlugin.js";
|
|
12
|
+
export type { PlaywrightBrowserProviderOptions } from "./web/types/PlaywrightBrowserProvider.js";
|
|
13
|
+
export type { SemanticBrowserProviderAdapterOptions } from "./web/types/SemanticBrowserProviderAdapter.js";
|
|
14
|
+
export type { ComputerUseBrowserProviderAdapterOptions, ComputerUseBrowserProviderMethods, ComputerUseBrowserRunInput, } from "./web/types/ComputerUseBrowserProviderAdapter.js";
|
|
9
15
|
//# sourceMappingURL=web.d.ts.map
|
package/bin/web.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"web.d.ts","sourceRoot":"","sources":["../src/web.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,
|
|
1
|
+
{"version":3,"file":"web.d.ts","sourceRoot":"","sources":["../src/web.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,yBAAyB,EAAE,MAAM,8CAA8C,CAAC;AACzF,OAAO,EAAE,8BAA8B,EAAE,MAAM,mDAAmD,CAAC;AACnG,OAAO,EAAE,iCAAiC,EAAE,MAAM,sDAAsD,CAAC;AACzG,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,YAAY,EACV,eAAe,EACf,aAAa,EACb,wBAAwB,EACxB,yBAAyB,EACzB,mBAAmB,EACnB,oBAAoB,EACpB,kBAAkB,EAClB,mBAAmB,EACnB,eAAe,EACf,uBAAuB,EACvB,2BAA2B,EAC3B,YAAY,EACZ,aAAa,EACb,mBAAmB,EACnB,gBAAgB,EAChB,cAAc,EACd,aAAa,EACb,eAAe,GAChB,MAAM,0BAA0B,CAAC;AAClC,YAAY,EAAE,gCAAgC,EAAE,MAAM,0CAA0C,CAAC;AACjG,YAAY,EAAE,qCAAqC,EAAE,MAAM,+CAA+C,CAAC;AAC3G,YAAY,EACV,wCAAwC,EACxC,iCAAiC,EACjC,0BAA0B,GAC3B,MAAM,kDAAkD,CAAC"}
|
package/bin/web.js
CHANGED
|
@@ -1,8 +1,11 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* `@downcity/plugins/web` 独立公开入口。
|
|
3
3
|
*
|
|
4
|
-
*
|
|
4
|
+
* 关键点(中文):汇总 provider-neutral WebPlugin 与 Playwright/CDP provider。
|
|
5
5
|
*/
|
|
6
6
|
export { WebPlugin } from "./web/Plugin.js";
|
|
7
|
-
export {
|
|
7
|
+
export { PlaywrightBrowserProvider } from "./web/providers/PlaywrightBrowserProvider.js";
|
|
8
|
+
export { SemanticBrowserProviderAdapter } from "./web/providers/SemanticBrowserProviderAdapter.js";
|
|
9
|
+
export { ComputerUseBrowserProviderAdapter } from "./web/providers/ComputerUseBrowserProviderAdapter.js";
|
|
10
|
+
export { WEB_PLUGIN_ACTIONS } from "./web/types/WebPlugin.js";
|
|
8
11
|
//# sourceMappingURL=web.js.map
|
package/bin/web.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"web.js","sourceRoot":"","sources":["../src/web.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,
|
|
1
|
+
{"version":3,"file":"web.js","sourceRoot":"","sources":["../src/web.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,yBAAyB,EAAE,MAAM,8CAA8C,CAAC;AACzF,OAAO,EAAE,8BAA8B,EAAE,MAAM,mDAAmD,CAAC;AACnG,OAAO,EAAE,iCAAiC,EAAE,MAAM,sDAAsD,CAAC;AACzG,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@downcity/plugins",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.252",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "Downcity 内建 plugin 集合包",
|
|
6
6
|
"main": "./bin/index.js",
|
|
@@ -48,8 +48,8 @@
|
|
|
48
48
|
}
|
|
49
49
|
},
|
|
50
50
|
"dependencies": {
|
|
51
|
-
"@downcity/agent": "^1.1.
|
|
52
|
-
"@downcity/shell": "^0.1.
|
|
51
|
+
"@downcity/agent": "^1.1.335",
|
|
52
|
+
"@downcity/shell": "^0.1.170",
|
|
53
53
|
"ai": "^6.0.193",
|
|
54
54
|
"better-sqlite3": "^12.10.0",
|
|
55
55
|
"commander": "^15.0.0",
|
|
@@ -57,6 +57,7 @@
|
|
|
57
57
|
"fs-extra": "^11.3.5",
|
|
58
58
|
"js-yaml": "^4.1.1",
|
|
59
59
|
"node-cron": "^4.2.1",
|
|
60
|
+
"playwright-core": "^1.62.1",
|
|
60
61
|
"ws": "^8.21.0",
|
|
61
62
|
"zod": "^4.4.3"
|
|
62
63
|
},
|