@opentiny/next-sdk 0.4.0 → 0.4.2

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.
Files changed (149) hide show
  1. package/agent/AgentModelProvider.ts +78 -81
  2. package/agent/type.ts +6 -9
  3. package/agent/utils/getAISDKTools.ts +0 -1
  4. package/agent/utils/getBuiltinMcpTools.ts +7 -7
  5. package/core.ts +0 -3
  6. package/dist/SimulatorMask-BHVXyogh-CARX3Rff.js +361 -0
  7. package/dist/agent/type.d.ts +4 -12
  8. package/dist/agent/utils/getBuiltinMcpTools.d.ts +3 -3
  9. package/dist/core.d.ts +0 -1
  10. package/dist/core.js +16 -17
  11. package/dist/index-R_HIbfUX.js +6604 -0
  12. package/dist/index.d.ts +11 -3
  13. package/dist/index.js +76 -4969
  14. package/dist/{initialize-builtin-WebMCP-HgObT902.js → initialize-builtin-WebMCP-JaoKwVlm.js} +1156 -1037
  15. package/dist/page-tools/a11y/build.d.ts +10 -0
  16. package/dist/page-tools/a11y/config.d.ts +96 -0
  17. package/dist/page-tools/a11y/constants.d.ts +11 -0
  18. package/dist/page-tools/a11y/search.d.ts +17 -0
  19. package/dist/page-tools/a11y/types.d.ts +95 -0
  20. package/dist/page-tools/a11y/utils.d.ts +55 -0
  21. package/dist/page-tools/a11y/vnode.d.ts +40 -0
  22. package/dist/page-tools/a11y-tree.d.ts +9 -99
  23. package/dist/page-tools/configs/console-cloud.d.ts +6 -0
  24. package/dist/page-tools/constants.d.ts +10 -0
  25. package/dist/page-tools/context.d.ts +40 -0
  26. package/dist/page-tools/handlers/browserState.d.ts +8 -0
  27. package/dist/page-tools/handlers/click.d.ts +8 -0
  28. package/dist/page-tools/handlers/executeJavascript.d.ts +8 -0
  29. package/dist/page-tools/handlers/fill.d.ts +8 -0
  30. package/dist/page-tools/handlers/scroll.d.ts +8 -0
  31. package/dist/page-tools/handlers/searchTree.d.ts +9 -0
  32. package/dist/page-tools/handlers/select.d.ts +8 -0
  33. package/dist/page-tools/page-agent-highlight/index.d.ts +21 -0
  34. package/dist/page-tools/page-agent-mask/SimulatorMask.d.ts +16 -0
  35. package/dist/page-tools/page-agent-mask/checkDarkMode.d.ts +5 -0
  36. package/dist/page-tools/page-agent-tool-event.d.ts +26 -0
  37. package/dist/page-tools/page-agent-tool.d.ts +3 -8
  38. package/dist/page-tools/schema.d.ts +44 -0
  39. package/dist/page-tools/tool-config.d.ts +50 -0
  40. package/dist/page-tools/utils/dom.d.ts +6 -0
  41. package/dist/page-tools/utils/scroll.d.ts +15 -0
  42. package/dist/runtime.d.ts +7 -0
  43. package/dist/runtime.js +732 -0
  44. package/dist/utils/builtinProxy.d.ts +1 -1
  45. package/dist/vitest.config.d.ts +2 -0
  46. package/index.ts +35 -5
  47. package/package.json +23 -29
  48. package/page-tools/a11y/build.ts +74 -0
  49. package/page-tools/a11y/config.ts +465 -0
  50. package/page-tools/a11y/constants.ts +131 -0
  51. package/page-tools/a11y/search.ts +127 -0
  52. package/page-tools/a11y/types.ts +105 -0
  53. package/page-tools/a11y/utils.ts +239 -0
  54. package/page-tools/a11y/vnode.ts +439 -0
  55. package/page-tools/a11y-tree.ts +9 -527
  56. package/page-tools/bridge.ts +23 -3
  57. package/page-tools/configs/console-cloud.ts +172 -0
  58. package/page-tools/constants.ts +12 -0
  59. package/page-tools/context.ts +50 -0
  60. package/page-tools/handlers/browserState.ts +12 -0
  61. package/page-tools/handlers/click.ts +30 -0
  62. package/page-tools/handlers/executeJavascript.ts +22 -0
  63. package/page-tools/handlers/fill.ts +65 -0
  64. package/page-tools/handlers/scroll.ts +66 -0
  65. package/page-tools/handlers/searchTree.ts +27 -0
  66. package/page-tools/handlers/select.ts +39 -0
  67. package/page-tools/page-agent-highlight/index.ts +245 -0
  68. package/page-tools/page-agent-mask/SimulatorMask.module.css +14 -0
  69. package/page-tools/page-agent-mask/SimulatorMask.ts +299 -0
  70. package/page-tools/page-agent-mask/checkDarkMode.ts +181 -0
  71. package/page-tools/page-agent-mask/cursor-border.svg +3 -0
  72. package/page-tools/page-agent-mask/cursor-fill.svg +5 -0
  73. package/page-tools/page-agent-mask/cursor.module.css +70 -0
  74. package/page-tools/page-agent-mask/hauwei.svg +25 -0
  75. package/page-tools/page-agent-prompt.md +34 -18
  76. package/page-tools/page-agent-tool-event.ts +113 -0
  77. package/page-tools/page-agent-tool.ts +146 -162
  78. package/page-tools/schema.ts +52 -0
  79. package/page-tools/tool-config.ts +100 -0
  80. package/page-tools/utils/dom.ts +158 -0
  81. package/page-tools/utils/scroll.ts +58 -0
  82. package/runtime.ts +44 -0
  83. package/test/page-tools/a11y/build.test.ts +638 -0
  84. package/test/page-tools/a11y/config.test.ts +370 -0
  85. package/test/page-tools/configs/console-cloud.test.ts +168 -0
  86. package/test/page-tools/page-agent-highlight.test.ts +110 -0
  87. package/test/page-tools/page-agent-tool-dispatch.test.ts +208 -0
  88. package/test/page-tools/page-agent-tool.test.ts +102 -0
  89. package/test/page-tools/tool-config.test.ts +112 -0
  90. package/test/page-tools/utils/dom.test.ts +122 -0
  91. package/utils/builtinProxy.ts +45 -13
  92. package/vite.config.runtime.ts +22 -0
  93. package/vite.config.ts +52 -8
  94. package/vitest.config.ts +10 -0
  95. package/McpSdk.ts +0 -14
  96. package/WebAgent.ts +0 -5
  97. package/WebMcp.ts +0 -26
  98. package/Zod.ts +0 -1
  99. package/dist/McpSdk.d.ts +0 -14
  100. package/dist/SimulatorMask-BHVXyogh-BFEGpD5S.js +0 -1048
  101. package/dist/SimulatorMask-BHVXyogh-CCYbrb84.js +0 -801
  102. package/dist/WebAgent.d.ts +0 -5
  103. package/dist/WebMcp.d.ts +0 -23
  104. package/dist/Zod.d.ts +0 -1
  105. package/dist/index.es.dev.js +0 -59017
  106. package/dist/index.es.js +0 -46795
  107. package/dist/index.umd.dev.js +0 -60355
  108. package/dist/index.umd.js +0 -1248
  109. package/dist/mcpsdk@1.25.3.dev.js +0 -22780
  110. package/dist/mcpsdk@1.25.3.es.dev.js +0 -22778
  111. package/dist/mcpsdk@1.25.3.es.js +0 -16960
  112. package/dist/mcpsdk@1.25.3.js +0 -48
  113. package/dist/transport/ExtensionClientTransport.d.ts +0 -24
  114. package/dist/transport/ExtensionContentServerTransport.d.ts +0 -39
  115. package/dist/transport/ExtensionPageServerTransport.d.ts +0 -36
  116. package/dist/transport/messages.d.ts +0 -9
  117. package/dist/vite.config.mcpSdk.d.ts +0 -2
  118. package/dist/vite.config.webAgent.d.ts +0 -2
  119. package/dist/vite.config.webMcp.d.ts +0 -2
  120. package/dist/vite.config.webMcpFull.d.ts +0 -2
  121. package/dist/vite.config.zod.d.ts +0 -2
  122. package/dist/webagent.dev.js +0 -49360
  123. package/dist/webagent.es.dev.js +0 -49071
  124. package/dist/webagent.es.js +0 -39219
  125. package/dist/webagent.js +0 -642
  126. package/dist/webmcp-full.dev.js +0 -31336
  127. package/dist/webmcp-full.es.dev.js +0 -30283
  128. package/dist/webmcp-full.es.js +0 -22889
  129. package/dist/webmcp-full.js +0 -645
  130. package/dist/webmcp.dev.js +0 -9572
  131. package/dist/webmcp.es.dev.js +0 -8518
  132. package/dist/webmcp.es.js +0 -6727
  133. package/dist/webmcp.js +0 -602
  134. package/dist/zod@3.25.76.dev.js +0 -4037
  135. package/dist/zod@3.25.76.es.dev.js +0 -4033
  136. package/dist/zod@3.25.76.es.js +0 -2945
  137. package/dist/zod@3.25.76.js +0 -1
  138. package/transport/ExtensionClientTransport.ts +0 -100
  139. package/transport/ExtensionContentServerTransport.ts +0 -162
  140. package/transport/ExtensionPageServerTransport.ts +0 -149
  141. package/transport/messages.ts +0 -63
  142. package/vite-build-tsc.ts +0 -63
  143. package/vite-env.d.ts +0 -10
  144. package/vite.config.mcpSdk.ts +0 -28
  145. package/vite.config.webAgent.ts +0 -19
  146. package/vite.config.webMcp.ts +0 -40
  147. package/vite.config.webMcpFull.ts +0 -19
  148. package/vite.config.zod.ts +0 -23
  149. /package/dist/{vite-build-tsc.d.ts → vite.config.runtime.d.ts} +0 -0
@@ -1,9 +1,4 @@
1
- declare global {
2
- interface Window {
3
- __webmcpcli_interactiveWhitelist?: Element[];
4
- __webmcpcli_interactiveBlacklist?: Element[];
5
- __webmcpcli_beforeGetBrowserState?: (() => void) | null;
6
- }
7
- }
1
+ import { PageAgentToolOptions } from './constants';
2
+
8
3
  /** 在浏览器页面中注册 page-agent-tool, 用于页面的内容获取和操作,页面的动效 */
9
- export declare function registerPageAgentTool(): void;
4
+ export declare function registerPageAgentTool(options?: PageAgentToolOptions): void;
@@ -0,0 +1,44 @@
1
+ import { z } from 'zod';
2
+
3
+ export declare const inputSchema: z.ZodObject<{
4
+ action: z.ZodEnum<["browserState", "click", "fill", "select", "scroll", "executeJavascript", "searchTree"]>;
5
+ index: z.ZodOptional<z.ZodNumber>;
6
+ text: z.ZodOptional<z.ZodString>;
7
+ down: z.ZodOptional<z.ZodBoolean>;
8
+ right: z.ZodOptional<z.ZodBoolean>;
9
+ numPages: z.ZodOptional<z.ZodNumber>;
10
+ pixels: z.ZodOptional<z.ZodNumber>;
11
+ script: z.ZodOptional<z.ZodString>;
12
+ query: z.ZodOptional<z.ZodString>;
13
+ contextLines: z.ZodDefault<z.ZodNumber>;
14
+ maxMatches: z.ZodDefault<z.ZodNumber>;
15
+ responseMode: z.ZodDefault<z.ZodOptional<z.ZodEnum<["full", "diff", "both"]>>>;
16
+ }, "strip", z.ZodTypeAny, {
17
+ action: "fill" | "click" | "select" | "scroll" | "browserState" | "executeJavascript" | "searchTree";
18
+ contextLines: number;
19
+ maxMatches: number;
20
+ responseMode: "full" | "diff" | "both";
21
+ text?: string | undefined;
22
+ right?: boolean | undefined;
23
+ script?: string | undefined;
24
+ index?: number | undefined;
25
+ down?: boolean | undefined;
26
+ numPages?: number | undefined;
27
+ pixels?: number | undefined;
28
+ query?: string | undefined;
29
+ }, {
30
+ action: "fill" | "click" | "select" | "scroll" | "browserState" | "executeJavascript" | "searchTree";
31
+ text?: string | undefined;
32
+ right?: boolean | undefined;
33
+ script?: string | undefined;
34
+ contextLines?: number | undefined;
35
+ maxMatches?: number | undefined;
36
+ index?: number | undefined;
37
+ down?: boolean | undefined;
38
+ numPages?: number | undefined;
39
+ pixels?: number | undefined;
40
+ query?: string | undefined;
41
+ responseMode?: "full" | "diff" | "both" | undefined;
42
+ }>;
43
+ export type PageAgentToolInput = z.infer<typeof inputSchema>;
44
+ export type PageAgentToolRawInput = z.input<typeof inputSchema>;
@@ -0,0 +1,50 @@
1
+ import { A11yConfig, ResolvedA11yConfig } from './a11y/config';
2
+
3
+ export interface PageAgentToolConfig {
4
+ /** 是否启用元素高亮 */
5
+ enableHighlight: boolean;
6
+ /** 是否在工具调用后移除遮罩, 默认值为 true 移除 */
7
+ removeMaskAfterToolCall?: boolean;
8
+ /**
9
+ * 统一无障碍配置:按角色(roles)、状态(states:selected/disabled/error/warning 等)自定义规则,
10
+ * 以及白名单/黑名单/自定义暴露属性/弹窗选择器。已与默认配置合并(数组类字段是拼接结果)。
11
+ */
12
+ a11yConfig: ResolvedA11yConfig;
13
+ }
14
+ /**
15
+ * 用于初始化(registerPageAgentTool 的入参)或运行期 setPageAgentToolConfig 的补丁对象:
16
+ * enableHighlight 为覆盖式更新;a11yConfig 为拼接式合并(数组类字段追加,不丢已有规则,语义见 a11y/config.ts)。
17
+ */
18
+ export interface PageAgentToolConfigPatch {
19
+ /** 是否启用元素高亮 */
20
+ enableHighlight?: boolean;
21
+ /** 是否在工具调用后移除遮罩, 默认值为 true 移除 */
22
+ removeMaskAfterToolCall?: boolean;
23
+ /** 是否在工具调用后移除遮罩 */
24
+ /** 统一无障碍配置,会与当前生效的 a11yConfig 按数组拼接合并 */
25
+ a11yConfig?: A11yConfig;
26
+ }
27
+ /** registerPageAgentTool(options) 的入参类型,与运行期补丁 {@link PageAgentToolConfigPatch} 完全一致 */
28
+ export type PageAgentToolOptions = PageAgentToolConfigPatch;
29
+ /** 默认生效的完整工具配置 */
30
+ export declare const DEFAULT_PAGE_AGENT_TOOL_CONFIG: PageAgentToolConfig;
31
+ declare global {
32
+ interface Window {
33
+ /** 运行期唯一生效的 page-agent-tool 完整配置(已与默认值合并),可通过 getPageAgentToolConfig/setPageAgentToolConfig 读写 */
34
+ __webmcpcli_toolConfig?: PageAgentToolConfig;
35
+ }
36
+ }
37
+ /** 读取当前生效的完整工具配置(已与默认值合并)。未初始化时返回默认配置 */
38
+ export declare function getPageAgentToolConfig(): PageAgentToolConfig;
39
+ /**
40
+ * 更新当前生效配置。
41
+ * - patch 为对象时:enableHighlight 覆盖式更新;a11yConfig 与当前配置按数组拼接合并(不丢已有规则)
42
+ * - patch 为函数时:入参为当前生效配置,返回值直接与默认配置合并(而不是再与 current 相加)。
43
+ * 这样函数体内可以对 current.a11yConfig 做任意过滤/裁剪(如按条件"移除"某条旧规则),
44
+ * 返回值即为最终生效的配置,不会因为再与 current 相加而让被过滤掉的旧规则"复活"
45
+ * - options.mode = 'replace' 时(仅影响对象类型的 patch):不与"当前生效配置"合并,而是与默认配置重新合并
46
+ * 返回合并后的最新完整配置,并写回运行期存储供 buildBrowserStateResponse/buildA11yTree 等读取。
47
+ */
48
+ export declare function setPageAgentToolConfig(patch: PageAgentToolConfigPatch | ((current: PageAgentToolConfig) => PageAgentToolConfigPatch), options?: {
49
+ mode?: 'merge' | 'replace';
50
+ }): PageAgentToolConfig;
@@ -0,0 +1,6 @@
1
+ export declare function isInShadowDom(el: Element): boolean;
2
+ export declare function dispatchComposedEvents(el: Element, ...types: string[]): void;
3
+ export declare function deepQuerySelectorAll(selector: string, root?: Document | Element | ShadowRoot): Element[];
4
+ export declare function waitForDomSettled(timeout?: number, settleTime?: number): Promise<void>;
5
+ export declare function detectPageDialog(): string;
6
+ export declare function detectValidationErrors(): string;
@@ -0,0 +1,15 @@
1
+ export declare function getScrollInfo(target?: Window | Element): {
2
+ scrollY: number;
3
+ scrollX: number;
4
+ pixelsAbove: number;
5
+ pixelsBelow: number;
6
+ pixelsLeft: number;
7
+ pixelsRight: number;
8
+ pagesAbove: number;
9
+ pagesBelow: number;
10
+ atTop: boolean;
11
+ atBottom: boolean;
12
+ atLeft: boolean;
13
+ atRight: boolean;
14
+ };
15
+ export declare function waitForScrollEnd(target: Window | Element, timeout?: number): Promise<void>;
@@ -0,0 +1,7 @@
1
+ import { initializeBuiltinWebMCP } from './page-tools/initialize-builtin-WebMCP';
2
+ import { registerPageAgentTool } from './page-tools/page-agent-tool';
3
+ import { getPageAgentToolConfig, setPageAgentToolConfig } from './page-tools/tool-config';
4
+ import { defineA11yConfig } from './page-tools/a11y/config';
5
+ import { consoleCloudPageAgentToolOptions, isConsoleCloudHost } from './page-tools/configs/console-cloud';
6
+
7
+ export { initializeBuiltinWebMCP, registerPageAgentTool, getPageAgentToolConfig, setPageAgentToolConfig, defineA11yConfig, consoleCloudPageAgentToolOptions, isConsoleCloudHost, };