@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.
@@ -1,4 +1,5 @@
1
- export declare const PROTOCOL_VERSION: "0.1.0";
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
- export const PROTOCOL_VERSION = '0.1.0';
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() {
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,gBAAgB,GAAG,OAAgB,CAAC;AAEjD,kDAAkD;AAClD,MAAM,CAAC,MAAM,aAAa,GAAG,YAAqB,CAAC;AAEnD,MAAM,UAAU,YAAY;IAC1B,OAAO,aAAa,CAAC;AACvB,CAAC"}
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"}
@@ -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", "approval.requested", "approval.responded", "approval.respond"];
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
- 'approval.requested',
7
- 'approval.responded',
8
- // 扩展 → server 控制事件:popup 对 HITL 请求的批准/拒绝
9
- 'approval.respond',
6
+ 'tab.created',
7
+ 'tab.removed',
10
8
  // Network.* 为扩展点:v1 不实现页面级网络事件
11
9
  ];
12
10
  // ---------------------------------------------------------------------------
@@ -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,oBAAoB;IACpB,oBAAoB;IACpB,yCAAyC;IACzC,kBAAkB;IAClB,+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"}
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", "URL_INVALID", "HOST_NOT_ALLOWED", "EVAL_DISABLED", "PENDING_APPROVAL", "APPROVAL_DENIED", "APPROVAL_TIMEOUT", "INTERNAL"];
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
  ];
@@ -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,SAAS;IACT,kBAAkB;IAClB,iBAAiB;IACjB,kBAAkB;IAClB,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"}
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
- /** HITL 分类:'always'=写操作需批准;'never'=只读;'conditional'=视参数(fetch 的 HTTP method)。 */
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
- /** 返回文本的最大字符数(LLM 上下文裁剪) */
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: { writeAccess: 'always', summary: '填充输入框(整体替换)' },
51
- type: { writeAccess: 'always', summary: '聚焦后逐键输入' },
52
- press: { writeAccess: 'always', summary: '按下键盘按键' },
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: '在页面上下文发起网络请求(带登录态)' },
@@ -1 +1 @@
1
- {"version":3,"file":"methods.js","sourceRoot":"","sources":["../src/methods.ts"],"names":[],"mappings":"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"}
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, SessionMode, TabInfo, Viewport, } from './types.js';
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
- "approval.requested": "approval.requested";
234
- "approval.responded": "approval.responded";
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.object({
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
  // 页面内网络
@@ -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.1.0",
4
- "description": "Shared protocol for ParkingLot: message envelope, command set, common types, validation.",
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
  }