@parkinglot/protocol 0.1.0 → 0.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/dist/constants.d.ts +2 -1
- package/dist/constants.js +2 -1
- package/dist/constants.js.map +1 -1
- package/dist/envelope.d.ts +1 -1
- package/dist/envelope.js +2 -4
- package/dist/envelope.js.map +1 -1
- package/dist/errors.d.ts +1 -1
- package/dist/errors.js +1 -4
- package/dist/errors.js.map +1 -1
- package/dist/methods.d.ts +56 -6
- package/dist/methods.js +14 -5
- package/dist/methods.js.map +1 -1
- package/dist/runtime.d.ts +2 -2
- package/dist/schemas.d.ts +10 -6
- package/dist/schemas.js +12 -1
- package/dist/schemas.js.map +1 -1
- package/dist/types.d.ts +7 -2
- package/package.json +3 -3
package/dist/constants.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
|
|
1
|
+
/** 线协议版本:仍是设计中的 draft,尚未 stable。与各 package 的 npm 版本无关。 */
|
|
2
|
+
export declare const PROTOCOL_VERSION: "0.1.0-draft";
|
|
2
3
|
/** 协议标识名,用于握手(extension.hello / ping)确认两端协议一致。 */
|
|
3
4
|
export declare const PROTOCOL_NAME: "parkinglot";
|
|
4
5
|
export declare function protocolName(): string;
|
package/dist/constants.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
|
|
1
|
+
/** 线协议版本:仍是设计中的 draft,尚未 stable。与各 package 的 npm 版本无关。 */
|
|
2
|
+
export const PROTOCOL_VERSION = '0.1.0-draft';
|
|
2
3
|
/** 协议标识名,用于握手(extension.hello / ping)确认两端协议一致。 */
|
|
3
4
|
export const PROTOCOL_NAME = 'parkinglot';
|
|
4
5
|
export function protocolName() {
|
package/dist/constants.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,gBAAgB,GAAG,
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA,0DAA0D;AAC1D,MAAM,CAAC,MAAM,gBAAgB,GAAG,aAAsB,CAAC;AAEvD,kDAAkD;AAClD,MAAM,CAAC,MAAM,aAAa,GAAG,YAAqB,CAAC;AAEnD,MAAM,UAAU,YAAY;IAC1B,OAAO,aAAa,CAAC;AACvB,CAAC"}
|
package/dist/envelope.d.ts
CHANGED
|
@@ -39,7 +39,7 @@ export interface ProtocolError {
|
|
|
39
39
|
id: string;
|
|
40
40
|
error: ErrorBody;
|
|
41
41
|
}
|
|
42
|
-
export declare const EVENT_NAMES: readonly ["extension.connected", "extension.disconnected", "extension.tab-activated", "page.navigated", "
|
|
42
|
+
export declare const EVENT_NAMES: readonly ["extension.connected", "extension.disconnected", "extension.tab-activated", "page.navigated", "tab.created", "tab.removed"];
|
|
43
43
|
export type EventName = (typeof EVENT_NAMES)[number];
|
|
44
44
|
/** 事件消息(extension → server,server 按需转发给订阅方)。 */
|
|
45
45
|
export interface EventMessage {
|
package/dist/envelope.js
CHANGED
|
@@ -3,10 +3,8 @@ export const EVENT_NAMES = [
|
|
|
3
3
|
'extension.disconnected',
|
|
4
4
|
'extension.tab-activated',
|
|
5
5
|
'page.navigated',
|
|
6
|
-
'
|
|
7
|
-
'
|
|
8
|
-
// 扩展 → server 控制事件:popup 对 HITL 请求的批准/拒绝
|
|
9
|
-
'approval.respond',
|
|
6
|
+
'tab.created',
|
|
7
|
+
'tab.removed',
|
|
10
8
|
// Network.* 为扩展点:v1 不实现页面级网络事件
|
|
11
9
|
];
|
|
12
10
|
// ---------------------------------------------------------------------------
|
package/dist/envelope.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"envelope.js","sourceRoot":"","sources":["../src/envelope.ts"],"names":[],"mappings":"AA+CA,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,qBAAqB;IACrB,wBAAwB;IACxB,yBAAyB;IACzB,gBAAgB;IAChB,
|
|
1
|
+
{"version":3,"file":"envelope.js","sourceRoot":"","sources":["../src/envelope.ts"],"names":[],"mappings":"AA+CA,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,qBAAqB;IACrB,wBAAwB;IACxB,yBAAyB;IACzB,gBAAgB;IAChB,aAAa;IACb,aAAa;IACb,+BAA+B;CACvB,CAAC;AAYX,8EAA8E;AAC9E,kCAAkC;AAClC,8EAA8E;AAE9E,SAAS,QAAQ,CAAC,KAAc;IAC9B,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,CAAC;AACrD,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,KAAc;IACtC,OAAO,CACL,QAAQ,CAAC,KAAK,CAAC;QACf,OAAO,KAAK,CAAC,EAAE,KAAK,QAAQ;QAC5B,OAAO,KAAK,CAAC,MAAM,KAAK,QAAQ;QAChC,CAAC,KAAK,CAAC,MAAM,KAAK,SAAS,IAAI,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CACvD,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,KAAc;IACvC,OAAO,CACL,QAAQ,CAAC,KAAK,CAAC;QACf,OAAO,KAAK,CAAC,EAAE,KAAK,QAAQ;QAC5B,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC;QACtB,MAAM,IAAI,KAAK,CAAC,MAAM,CACvB,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,OAAO,CAAC,KAAc;IACpC,OAAO,CACL,QAAQ,CAAC,KAAK,CAAC;QACf,OAAO,KAAK,CAAC,EAAE,KAAK,QAAQ;QAC5B,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC;QACrB,OAAO,KAAK,CAAC,KAAK,CAAC,IAAI,KAAK,QAAQ;QACpC,OAAO,KAAK,CAAC,KAAK,CAAC,OAAO,KAAK,QAAQ,CACxC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,OAAO,CAAC,KAAc;IACpC,OAAO,QAAQ,CAAC,KAAK,CAAC,IAAI,OAAO,KAAK,CAAC,KAAK,KAAK,QAAQ,IAAI,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;AACtF,CAAC"}
|
package/dist/errors.d.ts
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* 协议错误码与错误类型。
|
|
3
3
|
* 错误码是 wire 协议的一部分:extension 与 server 两侧都必须使用同一套枚举。
|
|
4
4
|
*/
|
|
5
|
-
export declare const ERROR_CODES: readonly ["INVALID_REQUEST", "INVALID_PARAMS", "UNKNOWN_METHOD", "MESSAGE_TOO_LARGE", "EXTENSION_OFFLINE", "EXTENSION_NO_TAB", "SESSION_NOT_FOUND", "SESSION_TAB_CLOSED", "TIMEOUT", "TARGET_NOT_FOUND", "TARGET_AMBIGUOUS", "
|
|
5
|
+
export declare const ERROR_CODES: readonly ["INVALID_REQUEST", "INVALID_PARAMS", "UNKNOWN_METHOD", "MESSAGE_TOO_LARGE", "EXTENSION_OFFLINE", "EXTENSION_NO_TAB", "SESSION_NOT_FOUND", "SESSION_TAB_CLOSED", "TIMEOUT", "TARGET_NOT_FOUND", "TARGET_AMBIGUOUS", "TAB_NOT_ACTIVE", "URL_INVALID", "HOST_NOT_ALLOWED", "EVAL_DISABLED", "INTERNAL"];
|
|
6
6
|
export type ErrorCode = (typeof ERROR_CODES)[number];
|
|
7
7
|
export interface ProtocolErrorData {
|
|
8
8
|
requestId?: string;
|
package/dist/errors.js
CHANGED
|
@@ -18,13 +18,10 @@ export const ERROR_CODES = [
|
|
|
18
18
|
'TIMEOUT',
|
|
19
19
|
'TARGET_NOT_FOUND',
|
|
20
20
|
'TARGET_AMBIGUOUS',
|
|
21
|
+
'TAB_NOT_ACTIVE',
|
|
21
22
|
'URL_INVALID',
|
|
22
23
|
'HOST_NOT_ALLOWED',
|
|
23
24
|
'EVAL_DISABLED',
|
|
24
|
-
// HITL 层
|
|
25
|
-
'PENDING_APPROVAL',
|
|
26
|
-
'APPROVAL_DENIED',
|
|
27
|
-
'APPROVAL_TIMEOUT',
|
|
28
25
|
// 兜底
|
|
29
26
|
'INTERNAL',
|
|
30
27
|
];
|
package/dist/errors.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,SAAS;IACT,iBAAiB;IACjB,gBAAgB;IAChB,gBAAgB;IAChB,mBAAmB;IACnB,MAAM;IACN,mBAAmB;IACnB,kBAAkB;IAClB,SAAS;IACT,mBAAmB;IACnB,oBAAoB;IACpB,MAAM;IACN,SAAS;IACT,kBAAkB;IAClB,kBAAkB;IAClB,aAAa;IACb,kBAAkB;IAClB,eAAe;IACf,
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,SAAS;IACT,iBAAiB;IACjB,gBAAgB;IAChB,gBAAgB;IAChB,mBAAmB;IACnB,MAAM;IACN,mBAAmB;IACnB,kBAAkB;IAClB,SAAS;IACT,mBAAmB;IACnB,oBAAoB;IACpB,MAAM;IACN,SAAS;IACT,kBAAkB;IAClB,kBAAkB;IAClB,gBAAgB;IAChB,aAAa;IACb,kBAAkB;IAClB,eAAe;IACf,KAAK;IACL,UAAU;CACF,CAAC;AASX,2CAA2C;AAC3C,MAAM,OAAO,eAAgB,SAAQ,KAAK;IAC/B,IAAI,CAAY;IAChB,IAAI,CAAgC;IAE7C,YAAY,IAAe,EAAE,OAAe,EAAE,IAAwB;QACpE,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,iBAAiB,CAAC;QAC9B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;CACF;AAED,MAAM,UAAU,WAAW,CAAC,KAAc;IACxC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAK,WAAiC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AACzF,CAAC"}
|
package/dist/methods.d.ts
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import type { ElementInfo, PageSnapshot, SearchPagination, SearchResult, SessionInfo, TabInfo, Viewport } from './types.js';
|
|
1
|
+
import type { DomNode, ElementInfo, PageSnapshot, SearchPagination, SearchResult, SessionInfo, TabInfo, Viewport } from './types.js';
|
|
2
2
|
/**
|
|
3
3
|
* 命令全集(v1)。method 名与 CLI 子命令一一对应(kebab-case)。
|
|
4
4
|
* 分类:导航 / 交互 / 滚动截图 / 提取 / 页面内网络 / 标签页 / 等待 / 会话 / 高级。
|
|
5
5
|
*/
|
|
6
6
|
export declare const METHODS: readonly ["goto", "back", "forward", "reload", "click", "click-text", "fill", "type", "press", "hover", "select", "scroll", "screenshot", "extract", "get-page-info", "fetch", "search", "list-tabs", "create-tab", "close-tab", "activate-tab", "wait", "ping", "get-status", "eval"];
|
|
7
7
|
export type Method = (typeof METHODS)[number];
|
|
8
|
-
/**
|
|
8
|
+
/** 写操作分类(供审计/日志):'always'=写操作;'never'=只读;'conditional'=视参数(fetch 的 HTTP method)。 */
|
|
9
9
|
export type WriteAccess = 'always' | 'never' | 'conditional';
|
|
10
10
|
export interface MethodMeta {
|
|
11
11
|
writeAccess: WriteAccess;
|
|
@@ -53,13 +53,28 @@ export interface ScrollParams {
|
|
|
53
53
|
export interface ScreenshotParams {
|
|
54
54
|
format?: 'png' | 'jpeg';
|
|
55
55
|
fullPage?: boolean;
|
|
56
|
+
/** 元素截图:CSS 选择器(非 active tab 报 TAB_NOT_ACTIVE) */
|
|
57
|
+
selector?: string;
|
|
56
58
|
/** 由 CLI 侧解析后写入的本地路径(协议不负责写文件) */
|
|
57
59
|
path?: string;
|
|
58
60
|
}
|
|
59
61
|
export interface ExtractParams {
|
|
62
|
+
/** text:整页/分段文本;structured:DOM 树。默认 text。 */
|
|
60
63
|
mode?: 'text' | 'structured';
|
|
61
|
-
/**
|
|
64
|
+
/** article 模式(defuddle 正文提取);与 mode 互斥;selector 同时提供时作为 contentSelector */
|
|
65
|
+
article?: boolean;
|
|
66
|
+
/** 提供 → 按 CSS 匹配;缺省 → 整页(text)/ body(structured)/ 自动检测(article) */
|
|
67
|
+
selector?: string;
|
|
68
|
+
/** 第一层列表跳过前 N 个(多 root=roots;单 root=其子元素) */
|
|
69
|
+
offset?: number;
|
|
70
|
+
/** 第一层列表最多 N 个(元素计数,恒语义一致) */
|
|
62
71
|
limit?: number;
|
|
72
|
+
/** 相对 root 递归深度,不含 root;默认 3 */
|
|
73
|
+
depth?: number;
|
|
74
|
+
/** 过滤第一层列表中不可见元素(子树照常) */
|
|
75
|
+
visibleOnly?: boolean;
|
|
76
|
+
/** text 模式每段文本字符截断(替代 v1 limit 的角色) */
|
|
77
|
+
maxChars?: number;
|
|
63
78
|
}
|
|
64
79
|
export interface FetchParams {
|
|
65
80
|
url: string;
|
|
@@ -122,6 +137,43 @@ export interface ParamsMap {
|
|
|
122
137
|
export interface ElementActionResult {
|
|
123
138
|
element: ElementInfo;
|
|
124
139
|
}
|
|
140
|
+
/**
|
|
141
|
+
* extract 结果 = 按结果内 `mode` 判别的联合。
|
|
142
|
+
* - `mode:'text'` + `snapshot`:无 selector,整页快照
|
|
143
|
+
* - `mode:'text'` + `texts`:有 selector,每个匹配元素的文本(带 `total` 分页)
|
|
144
|
+
* - `mode:'structured'` + `nodes`:DOM 树(带 `total` 分页,可 `truncated`)
|
|
145
|
+
* - `mode:'article'`:defuddle 正文(由 params.article=true 触发,与 params.mode 无关)
|
|
146
|
+
*/
|
|
147
|
+
export type ExtractResult = {
|
|
148
|
+
mode: 'text';
|
|
149
|
+
snapshot: PageSnapshot;
|
|
150
|
+
} | {
|
|
151
|
+
mode: 'text';
|
|
152
|
+
texts: string[];
|
|
153
|
+
total: number;
|
|
154
|
+
offset?: number;
|
|
155
|
+
limit?: number;
|
|
156
|
+
} | {
|
|
157
|
+
mode: 'structured';
|
|
158
|
+
nodes: DomNode[];
|
|
159
|
+
/** 第一层列表的元素总数(visibleOnly 过滤后、分页前) */
|
|
160
|
+
total: number;
|
|
161
|
+
offset?: number;
|
|
162
|
+
limit?: number;
|
|
163
|
+
truncated?: boolean;
|
|
164
|
+
} | {
|
|
165
|
+
mode: 'article';
|
|
166
|
+
/** 正文(Markdown;defuddle/full 转换) */
|
|
167
|
+
content: string;
|
|
168
|
+
title?: string;
|
|
169
|
+
author?: string;
|
|
170
|
+
site?: string;
|
|
171
|
+
description?: string;
|
|
172
|
+
domain?: string;
|
|
173
|
+
language?: string;
|
|
174
|
+
url?: string;
|
|
175
|
+
wordCount?: number;
|
|
176
|
+
};
|
|
125
177
|
export interface ResultMap {
|
|
126
178
|
goto: Record<string, never>;
|
|
127
179
|
back: Record<string, never>;
|
|
@@ -141,9 +193,7 @@ export interface ResultMap {
|
|
|
141
193
|
data?: string;
|
|
142
194
|
path?: string;
|
|
143
195
|
};
|
|
144
|
-
extract:
|
|
145
|
-
snapshot: PageSnapshot;
|
|
146
|
-
};
|
|
196
|
+
extract: ExtractResult;
|
|
147
197
|
'get-page-info': {
|
|
148
198
|
url: string;
|
|
149
199
|
title: string;
|
package/dist/methods.js
CHANGED
|
@@ -47,16 +47,25 @@ export const METHOD_META = {
|
|
|
47
47
|
// 交互
|
|
48
48
|
click: { writeAccess: 'always', summary: '按 CSS 选择器点击元素' },
|
|
49
49
|
'click-text': { writeAccess: 'always', summary: '按可见文本点击元素' },
|
|
50
|
-
fill: {
|
|
51
|
-
|
|
52
|
-
|
|
50
|
+
fill: {
|
|
51
|
+
writeAccess: 'always',
|
|
52
|
+
summary: '填充输入框(整体替换;selector 可指向 label/容器,自动解析 input)',
|
|
53
|
+
},
|
|
54
|
+
type: {
|
|
55
|
+
writeAccess: 'always',
|
|
56
|
+
summary: '聚焦后逐键输入(selector 可指向 label/容器,自动解析 input)',
|
|
57
|
+
},
|
|
58
|
+
press: {
|
|
59
|
+
writeAccess: 'always',
|
|
60
|
+
summary: '按下键盘按键或组合键(Playwright 风格,如 Control+c)',
|
|
61
|
+
},
|
|
53
62
|
hover: { writeAccess: 'always', summary: '悬停在元素上' },
|
|
54
63
|
select: { writeAccess: 'always', summary: '选择下拉选项' },
|
|
55
64
|
// 滚动 / 视图
|
|
56
65
|
scroll: { writeAccess: 'always', summary: '滚动页面或元素' },
|
|
57
|
-
screenshot: { writeAccess: 'never', summary: '截图(viewport
|
|
66
|
+
screenshot: { writeAccess: 'never', summary: '截图(viewport、整页或指定元素)' },
|
|
58
67
|
// 提取
|
|
59
|
-
extract: { writeAccess: 'never', summary: '
|
|
68
|
+
extract: { writeAccess: 'never', summary: '提取页面文本 / DOM 树 / 文章正文' },
|
|
60
69
|
'get-page-info': { writeAccess: 'never', summary: '获取页面 URL/标题/视口/滚动位置' },
|
|
61
70
|
// 页面内网络
|
|
62
71
|
fetch: { writeAccess: 'conditional', summary: '在页面上下文发起网络请求(带登录态)' },
|
package/dist/methods.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"methods.js","sourceRoot":"","sources":["../src/methods.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"methods.js","sourceRoot":"","sources":["../src/methods.ts"],"names":[],"mappings":"AAWA;;;GAGG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG;IACrB,KAAK;IACL,MAAM;IACN,MAAM;IACN,SAAS;IACT,QAAQ;IACR,KAAK;IACL,OAAO;IACP,YAAY;IACZ,MAAM;IACN,MAAM;IACN,OAAO;IACP,OAAO;IACP,QAAQ;IACR,UAAU;IACV,QAAQ;IACR,YAAY;IACZ,KAAK;IACL,SAAS;IACT,eAAe;IACf,QAAQ;IACR,OAAO;IACP,QAAQ;IACR,MAAM;IACN,WAAW;IACX,YAAY;IACZ,WAAW;IACX,cAAc;IACd,KAAK;IACL,MAAM;IACN,KAAK;IACL,MAAM;IACN,YAAY;IACZ,WAAW;IACX,MAAM;CACE,CAAC;AAYX,MAAM,CAAC,MAAM,WAAW,GAA+B;IACrD,KAAK;IACL,IAAI,EAAE,EAAE,WAAW,EAAE,QAAQ,EAAE,OAAO,EAAE,WAAW,EAAE;IACrD,IAAI,EAAE,EAAE,WAAW,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE;IAClD,OAAO,EAAE,EAAE,WAAW,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE;IACrD,MAAM,EAAE,EAAE,WAAW,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE;IACrD,KAAK;IACL,KAAK,EAAE,EAAE,WAAW,EAAE,QAAQ,EAAE,OAAO,EAAE,eAAe,EAAE;IAC1D,YAAY,EAAE,EAAE,WAAW,EAAE,QAAQ,EAAE,OAAO,EAAE,WAAW,EAAE;IAC7D,IAAI,EAAE;QACJ,WAAW,EAAE,QAAQ;QACrB,OAAO,EAAE,8CAA8C;KACxD;IACD,IAAI,EAAE;QACJ,WAAW,EAAE,QAAQ;QACrB,OAAO,EAAE,2CAA2C;KACrD;IACD,KAAK,EAAE;QACL,WAAW,EAAE,QAAQ;QACrB,OAAO,EAAE,uCAAuC;KACjD;IACD,KAAK,EAAE,EAAE,WAAW,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE;IACnD,MAAM,EAAE,EAAE,WAAW,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE;IACpD,UAAU;IACV,MAAM,EAAE,EAAE,WAAW,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE;IACrD,UAAU,EAAE,EAAE,WAAW,EAAE,OAAO,EAAE,OAAO,EAAE,sBAAsB,EAAE;IACrE,KAAK;IACL,OAAO,EAAE,EAAE,WAAW,EAAE,OAAO,EAAE,OAAO,EAAE,uBAAuB,EAAE;IACnE,eAAe,EAAE,EAAE,WAAW,EAAE,OAAO,EAAE,OAAO,EAAE,qBAAqB,EAAE;IACzE,QAAQ;IACR,KAAK,EAAE,EAAE,WAAW,EAAE,aAAa,EAAE,OAAO,EAAE,oBAAoB,EAAE;IACpE,MAAM,EAAE,EAAE,WAAW,EAAE,OAAO,EAAE,OAAO,EAAE,gBAAgB,EAAE;IAC3D,MAAM;IACN,WAAW,EAAE,EAAE,WAAW,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE;IACzD,YAAY,EAAE,EAAE,WAAW,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE;IACzD,WAAW,EAAE,EAAE,WAAW,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE;IACxD,cAAc,EAAE,EAAE,WAAW,EAAE,QAAQ,EAAE,OAAO,EAAE,YAAY,EAAE;IAChE,KAAK;IACL,IAAI,EAAE,EAAE,WAAW,EAAE,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE;IACvD,KAAK;IACL,IAAI,EAAE,EAAE,WAAW,EAAE,OAAO,EAAE,OAAO,EAAE,kBAAkB,EAAE;IAC3D,YAAY,EAAE,EAAE,WAAW,EAAE,OAAO,EAAE,OAAO,EAAE,2BAA2B,EAAE;IAC5E,KAAK;IACL,IAAI,EAAE,EAAE,WAAW,EAAE,QAAQ,EAAE,OAAO,EAAE,mBAAmB,EAAE;CAC9D,CAAC"}
|
package/dist/runtime.d.ts
CHANGED
|
@@ -6,5 +6,5 @@ export { PROTOCOL_NAME, PROTOCOL_VERSION, protocolName } from './constants.js';
|
|
|
6
6
|
export { ERROR_CODES, ParkinglotError, isErrorCode, type ErrorCode, type ProtocolErrorData, } from './errors.js';
|
|
7
7
|
export { EVENT_NAMES, isError, isEvent, isRequest, isResponse, type CommandResult, type ErrorBody, type EventMessage, type EventName, type Message, type ProtocolError, type Request, type Response, } from './envelope.js';
|
|
8
8
|
export { METHOD_META, METHODS, type Method, type MethodMeta, type WriteAccess } from './methods.js';
|
|
9
|
-
export type { ActivateTabParams, ClickParams, ClickTextParams, CloseTabParams, CreateTabParams, EvalParams, FetchParams, FillParams, GotoParams, HoverParams, NoopParams, ParamsMap, ParamsOf, PressParams, ResultMap, ResultOf, ScrollParams, ScreenshotParams, SearchParams, SelectParams, TypeParams, WaitParams, } from './methods.js';
|
|
10
|
-
export type { ContextSnapshot, ElementBox, ElementInfo, Locator, PageSnapshot, SearchPagination, SearchResult, SessionInfo,
|
|
9
|
+
export type { ActivateTabParams, ClickParams, ClickTextParams, CloseTabParams, CreateTabParams, EvalParams, ExtractResult, FetchParams, FillParams, GotoParams, HoverParams, NoopParams, ParamsMap, ParamsOf, PressParams, ResultMap, ResultOf, ScrollParams, ScreenshotParams, SearchParams, SelectParams, TypeParams, WaitParams, } from './methods.js';
|
|
10
|
+
export type { ContextSnapshot, DomNode, ElementBox, ElementInfo, Locator, PageSnapshot, SearchPagination, SearchResult, SessionInfo, TabInfo, Viewport, } from './types.js';
|
package/dist/schemas.d.ts
CHANGED
|
@@ -80,6 +80,7 @@ export declare const paramsSchemas: {
|
|
|
80
80
|
jpeg: "jpeg";
|
|
81
81
|
}>>;
|
|
82
82
|
fullPage: z.ZodOptional<z.ZodBoolean>;
|
|
83
|
+
selector: z.ZodOptional<z.ZodString>;
|
|
83
84
|
path: z.ZodOptional<z.ZodString>;
|
|
84
85
|
}, z.core.$strip>;
|
|
85
86
|
extract: z.ZodObject<{
|
|
@@ -87,7 +88,13 @@ export declare const paramsSchemas: {
|
|
|
87
88
|
text: "text";
|
|
88
89
|
structured: "structured";
|
|
89
90
|
}>>;
|
|
91
|
+
article: z.ZodOptional<z.ZodBoolean>;
|
|
92
|
+
selector: z.ZodOptional<z.ZodString>;
|
|
93
|
+
offset: z.ZodOptional<z.ZodNumber>;
|
|
90
94
|
limit: z.ZodOptional<z.ZodNumber>;
|
|
95
|
+
depth: z.ZodOptional<z.ZodNumber>;
|
|
96
|
+
visibleOnly: z.ZodOptional<z.ZodBoolean>;
|
|
97
|
+
maxChars: z.ZodOptional<z.ZodNumber>;
|
|
91
98
|
}, z.core.$strip>;
|
|
92
99
|
'get-page-info': z.ZodObject<{}, z.core.$strip>;
|
|
93
100
|
fetch: z.ZodObject<{
|
|
@@ -212,12 +219,10 @@ export declare const errorSchema: z.ZodObject<{
|
|
|
212
219
|
TIMEOUT: "TIMEOUT";
|
|
213
220
|
TARGET_NOT_FOUND: "TARGET_NOT_FOUND";
|
|
214
221
|
TARGET_AMBIGUOUS: "TARGET_AMBIGUOUS";
|
|
222
|
+
TAB_NOT_ACTIVE: "TAB_NOT_ACTIVE";
|
|
215
223
|
URL_INVALID: "URL_INVALID";
|
|
216
224
|
HOST_NOT_ALLOWED: "HOST_NOT_ALLOWED";
|
|
217
225
|
EVAL_DISABLED: "EVAL_DISABLED";
|
|
218
|
-
PENDING_APPROVAL: "PENDING_APPROVAL";
|
|
219
|
-
APPROVAL_DENIED: "APPROVAL_DENIED";
|
|
220
|
-
APPROVAL_TIMEOUT: "APPROVAL_TIMEOUT";
|
|
221
226
|
INTERNAL: "INTERNAL";
|
|
222
227
|
}>;
|
|
223
228
|
message: z.ZodString;
|
|
@@ -230,9 +235,8 @@ export declare const eventSchema: z.ZodObject<{
|
|
|
230
235
|
"extension.disconnected": "extension.disconnected";
|
|
231
236
|
"extension.tab-activated": "extension.tab-activated";
|
|
232
237
|
"page.navigated": "page.navigated";
|
|
233
|
-
"
|
|
234
|
-
"
|
|
235
|
-
"approval.respond": "approval.respond";
|
|
238
|
+
"tab.created": "tab.created";
|
|
239
|
+
"tab.removed": "tab.removed";
|
|
236
240
|
}>;
|
|
237
241
|
params: z.ZodRecord<z.ZodString, z.ZodUnknown>;
|
|
238
242
|
}, z.core.$strip>;
|
package/dist/schemas.js
CHANGED
|
@@ -69,12 +69,23 @@ export const paramsSchemas = {
|
|
|
69
69
|
screenshot: z.object({
|
|
70
70
|
format: z.enum(['png', 'jpeg']).optional(),
|
|
71
71
|
fullPage: z.boolean().optional(),
|
|
72
|
+
selector: z.string().min(1).optional(),
|
|
72
73
|
path: z.string().optional(),
|
|
73
74
|
}),
|
|
74
75
|
// 提取
|
|
75
|
-
extract: z
|
|
76
|
+
extract: z
|
|
77
|
+
.object({
|
|
76
78
|
mode: z.enum(['text', 'structured']).optional(),
|
|
79
|
+
article: z.boolean().optional(),
|
|
80
|
+
selector: z.string().min(1).optional(),
|
|
81
|
+
offset: z.number().int().nonnegative().optional(),
|
|
77
82
|
limit: z.number().int().positive().optional(),
|
|
83
|
+
depth: z.number().int().nonnegative().optional(),
|
|
84
|
+
visibleOnly: z.boolean().optional(),
|
|
85
|
+
maxChars: z.number().int().positive().optional(),
|
|
86
|
+
})
|
|
87
|
+
.refine((p) => !(p.article === true && p.mode !== undefined), {
|
|
88
|
+
message: 'extract 的 article 与 mode 互斥(article=true 时不可同时提供 mode)',
|
|
78
89
|
}),
|
|
79
90
|
'get-page-info': noopSchema,
|
|
80
91
|
// 页面内网络
|
package/dist/schemas.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schemas.js","sourceRoot":"","sources":["../src/schemas.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"schemas.js","sourceRoot":"","sources":["../src/schemas.ts"],"names":[],"mappings":"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"}
|
package/dist/types.d.ts
CHANGED
|
@@ -27,6 +27,13 @@ export interface ElementInfo {
|
|
|
27
27
|
attrs: Record<string, string>;
|
|
28
28
|
box?: ElementBox;
|
|
29
29
|
}
|
|
30
|
+
/** extract structured 模式的 DOM 树节点。 */
|
|
31
|
+
export interface DomNode {
|
|
32
|
+
tag: string;
|
|
33
|
+
attrs: Record<string, string>;
|
|
34
|
+
text?: string;
|
|
35
|
+
children: DomNode[];
|
|
36
|
+
}
|
|
30
37
|
export interface PageSnapshot {
|
|
31
38
|
context: ContextSnapshot;
|
|
32
39
|
visibleText: string;
|
|
@@ -39,11 +46,9 @@ export interface TabInfo {
|
|
|
39
46
|
url: string;
|
|
40
47
|
active: boolean;
|
|
41
48
|
}
|
|
42
|
-
export type SessionMode = 'auto' | 'ask';
|
|
43
49
|
export interface SessionInfo {
|
|
44
50
|
id: string;
|
|
45
51
|
tabId?: number;
|
|
46
|
-
mode: SessionMode;
|
|
47
52
|
createdAt: string;
|
|
48
53
|
lastUsedAt: string;
|
|
49
54
|
}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@parkinglot/protocol",
|
|
3
|
-
"version": "0.
|
|
4
|
-
"description": "Shared protocol
|
|
3
|
+
"version": "0.2.0",
|
|
4
|
+
"description": "ParkingLot: Drive a real browser owned by the human user. Shared protocol (message envelope, command set, common types, validation).",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"keywords": [
|
|
7
7
|
"parkinglot",
|
|
@@ -42,7 +42,7 @@
|
|
|
42
42
|
"zod": "^4.5.4"
|
|
43
43
|
},
|
|
44
44
|
"scripts": {
|
|
45
|
-
"build": "tsc -p tsconfig.build.json",
|
|
45
|
+
"build": "node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\" && tsc -p tsconfig.build.json",
|
|
46
46
|
"typecheck": "tsc --noEmit -p tsconfig.json",
|
|
47
47
|
"test": "vitest run"
|
|
48
48
|
}
|