@agent-infra/browser 0.1.6 → 0.2.0-alpha.4

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 (186) hide show
  1. package/README.md +35 -52
  2. package/README.zh-CN.md +57 -0
  3. package/dist/actions/index.d.ts +3 -0
  4. package/dist/actions/index.d.ts.map +1 -0
  5. package/dist/actions/index.js +46 -0
  6. package/dist/actions/index.js.map +1 -0
  7. package/dist/actions/index.mjs +7 -0
  8. package/dist/actions/key-map.d.ts +28 -0
  9. package/dist/actions/key-map.d.ts.map +1 -0
  10. package/dist/actions/key-map.js +409 -0
  11. package/dist/actions/key-map.js.map +1 -0
  12. package/dist/actions/key-map.mjs +369 -0
  13. package/dist/actions/key-map.mjs.map +1 -0
  14. package/dist/actions/keyboard.d.ts +21 -0
  15. package/dist/actions/keyboard.d.ts.map +1 -0
  16. package/dist/actions/keyboard.js +196 -0
  17. package/dist/actions/keyboard.js.map +1 -0
  18. package/dist/actions/keyboard.mjs +152 -0
  19. package/dist/actions/keyboard.mjs.map +1 -0
  20. package/dist/actions/keyboard.test.d.ts +2 -0
  21. package/dist/actions/keyboard.test.d.ts.map +1 -0
  22. package/dist/actions/mouse.d.ts +19 -0
  23. package/dist/actions/mouse.d.ts.map +1 -0
  24. package/dist/actions/mouse.js +173 -0
  25. package/dist/actions/mouse.js.map +1 -0
  26. package/dist/actions/mouse.mjs +136 -0
  27. package/dist/actions/mouse.mjs.map +1 -0
  28. package/dist/browser/base.d.ts +47 -0
  29. package/dist/browser/base.d.ts.map +1 -0
  30. package/dist/browser/base.js +156 -0
  31. package/dist/browser/base.js.map +1 -0
  32. package/dist/browser/base.mjs +122 -0
  33. package/dist/browser/base.mjs.map +1 -0
  34. package/dist/browser/browser.d.ts +23 -0
  35. package/dist/browser/browser.d.ts.map +1 -0
  36. package/dist/browser/browser.js +183 -0
  37. package/dist/browser/browser.js.map +1 -0
  38. package/dist/browser/browser.mjs +149 -0
  39. package/dist/browser/browser.mjs.map +1 -0
  40. package/dist/env.d.ts +4 -0
  41. package/dist/env.d.ts.map +1 -0
  42. package/dist/env.js +96 -0
  43. package/dist/env.js.map +1 -0
  44. package/dist/env.mjs +62 -0
  45. package/dist/env.mjs.map +1 -0
  46. package/dist/index.node.d.ts +7 -0
  47. package/dist/index.node.d.ts.map +1 -0
  48. package/dist/index.node.js +106 -0
  49. package/dist/index.node.js.map +1 -0
  50. package/dist/index.node.mjs +10 -0
  51. package/dist/index.web.d.ts +7 -0
  52. package/dist/index.web.d.ts.map +1 -0
  53. package/dist/{index.js → index.web.js} +33 -20
  54. package/dist/index.web.js.map +1 -0
  55. package/dist/index.web.mjs +10 -0
  56. package/dist/injected-script/index.d.ts +3 -0
  57. package/dist/injected-script/index.d.ts.map +1 -0
  58. package/dist/injected-script/index.js +46 -0
  59. package/dist/injected-script/index.js.map +1 -0
  60. package/dist/injected-script/index.mjs +7 -0
  61. package/dist/injected-script/visibility.d.ts +2 -0
  62. package/dist/injected-script/visibility.d.ts.map +1 -0
  63. package/dist/injected-script/visibility.js +66 -0
  64. package/dist/injected-script/visibility.js.map +1 -0
  65. package/dist/injected-script/visibility.mjs +32 -0
  66. package/dist/injected-script/visibility.mjs.map +1 -0
  67. package/dist/injected-script/webdriver.d.ts +2 -0
  68. package/dist/injected-script/webdriver.d.ts.map +1 -0
  69. package/dist/injected-script/webdriver.js +71 -0
  70. package/dist/injected-script/webdriver.js.map +1 -0
  71. package/dist/injected-script/webdriver.mjs +37 -0
  72. package/dist/injected-script/webdriver.mjs.map +1 -0
  73. package/dist/polyfills/index.d.ts +2 -0
  74. package/dist/polyfills/index.d.ts.map +1 -0
  75. package/dist/polyfills/index.js +66 -0
  76. package/dist/polyfills/index.js.map +1 -0
  77. package/dist/polyfills/index.mjs +5 -0
  78. package/dist/polyfills/withResolvers.d.ts +2 -0
  79. package/dist/polyfills/withResolvers.d.ts.map +1 -0
  80. package/dist/polyfills/withResolvers.js +37 -0
  81. package/dist/polyfills/withResolvers.js.map +1 -0
  82. package/dist/polyfills/withResolvers.mjs +19 -0
  83. package/dist/polyfills/withResolvers.mjs.map +1 -0
  84. package/dist/tabs/dialog.d.ts +14 -0
  85. package/dist/tabs/dialog.d.ts.map +1 -0
  86. package/dist/tabs/dialog.js +175 -0
  87. package/dist/tabs/dialog.js.map +1 -0
  88. package/dist/tabs/dialog.mjs +141 -0
  89. package/dist/tabs/dialog.mjs.map +1 -0
  90. package/dist/tabs/index.d.ts +3 -0
  91. package/dist/tabs/index.d.ts.map +1 -0
  92. package/dist/tabs/index.js +46 -0
  93. package/dist/tabs/index.js.map +1 -0
  94. package/dist/tabs/index.mjs +7 -0
  95. package/dist/tabs/tab.d.ts +50 -0
  96. package/dist/tabs/tab.d.ts.map +1 -0
  97. package/dist/tabs/tab.js +579 -0
  98. package/dist/tabs/tab.js.map +1 -0
  99. package/dist/tabs/tab.mjs +545 -0
  100. package/dist/tabs/tab.mjs.map +1 -0
  101. package/dist/tabs/tabs.d.ts +21 -0
  102. package/dist/tabs/tabs.d.ts.map +1 -0
  103. package/dist/tabs/tabs.js +458 -0
  104. package/dist/tabs/tabs.js.map +1 -0
  105. package/dist/tabs/tabs.mjs +424 -0
  106. package/dist/tabs/tabs.mjs.map +1 -0
  107. package/dist/types/actions.d.ts +26 -0
  108. package/dist/types/actions.d.ts.map +1 -0
  109. package/dist/types/actions.js +24 -0
  110. package/dist/types/actions.js.map +1 -0
  111. package/dist/types/browser.d.ts +7 -0
  112. package/dist/types/browser.d.ts.map +1 -0
  113. package/dist/types/browser.js +24 -0
  114. package/dist/types/browser.js.map +1 -0
  115. package/dist/types/browser.mjs +4 -0
  116. package/dist/types/dialog.d.ts +7 -0
  117. package/dist/types/dialog.d.ts.map +1 -0
  118. package/dist/types/dialog.js +24 -0
  119. package/dist/types/dialog.js.map +1 -0
  120. package/dist/types/dialog.mjs +4 -0
  121. package/dist/types/env.d.ts +8 -0
  122. package/dist/types/env.d.ts.map +1 -0
  123. package/dist/{types.js → types/env.js} +1 -1
  124. package/dist/types/env.js.map +1 -0
  125. package/dist/types/env.mjs +4 -0
  126. package/dist/types/index.d.ts +6 -0
  127. package/dist/types/index.d.ts.map +1 -0
  128. package/dist/types/index.js +102 -0
  129. package/dist/types/index.js.map +1 -0
  130. package/dist/types/index.mjs +9 -0
  131. package/dist/types/tabs.d.ts +98 -0
  132. package/dist/types/tabs.d.ts.map +1 -0
  133. package/dist/types/tabs.js +48 -0
  134. package/dist/types/tabs.js.map +1 -0
  135. package/dist/types/tabs.mjs +14 -0
  136. package/dist/types/tabs.mjs.map +1 -0
  137. package/dist/utils/iife.d.ts +2 -0
  138. package/dist/utils/iife.d.ts.map +1 -0
  139. package/dist/utils/iife.js +48 -0
  140. package/dist/utils/iife.js.map +1 -0
  141. package/dist/utils/iife.mjs +14 -0
  142. package/dist/utils/iife.mjs.map +1 -0
  143. package/dist/utils/index.d.ts +4 -0
  144. package/dist/utils/index.d.ts.map +1 -0
  145. package/dist/utils/index.js +50 -0
  146. package/dist/utils/index.js.map +1 -0
  147. package/dist/utils/index.mjs +8 -0
  148. package/dist/utils/mutex.d.ts +21 -0
  149. package/dist/utils/mutex.d.ts.map +1 -0
  150. package/dist/utils/mutex.js +133 -0
  151. package/dist/utils/mutex.js.map +1 -0
  152. package/dist/utils/mutex.mjs +99 -0
  153. package/dist/utils/mutex.mjs.map +1 -0
  154. package/dist/utils/url.d.ts +7 -0
  155. package/dist/utils/url.d.ts.map +1 -0
  156. package/dist/utils/url.js +76 -0
  157. package/dist/utils/url.js.map +1 -0
  158. package/dist/utils/url.mjs +42 -0
  159. package/dist/utils/url.mjs.map +1 -0
  160. package/package.json +21 -13
  161. package/dist/base-browser.d.ts +0 -94
  162. package/dist/base-browser.d.ts.map +0 -1
  163. package/dist/base-browser.js +0 -189
  164. package/dist/base-browser.js.map +0 -1
  165. package/dist/base-browser.mjs +0 -155
  166. package/dist/base-browser.mjs.map +0 -1
  167. package/dist/index.d.ts +0 -15
  168. package/dist/index.d.ts.map +0 -1
  169. package/dist/index.js.map +0 -1
  170. package/dist/index.mjs +0 -8
  171. package/dist/local-browser.d.ts +0 -19
  172. package/dist/local-browser.d.ts.map +0 -1
  173. package/dist/local-browser.js +0 -134
  174. package/dist/local-browser.js.map +0 -1
  175. package/dist/local-browser.mjs +0 -100
  176. package/dist/local-browser.mjs.map +0 -1
  177. package/dist/remote-browser.d.ts +0 -49
  178. package/dist/remote-browser.d.ts.map +0 -1
  179. package/dist/remote-browser.js +0 -89
  180. package/dist/remote-browser.js.map +0 -1
  181. package/dist/remote-browser.mjs +0 -55
  182. package/dist/remote-browser.mjs.map +0 -1
  183. package/dist/types.d.ts +0 -158
  184. package/dist/types.d.ts.map +0 -1
  185. package/dist/types.js.map +0 -1
  186. /package/dist/{types.mjs → types/actions.mjs} +0 -0
package/README.md CHANGED
@@ -1,74 +1,57 @@
1
- # @agent-infra/browser
2
-
3
- A tiny Browser Control library based on [puppeteer](https://github.com/puppeteer/puppeteer), built for **Agent Tars**.
4
-
5
- <p>
6
- <a href="https://npmjs.com/package/@agent-infra/browser?activeTab=readme"><img src="https://img.shields.io/npm/v/@agent-infra/browser?style=flat-square&colorA=564341&colorB=EDED91" alt="npm version" /></a>
7
- <a href="https://npmcharts.com/compare/@agent-infra/browser?minimal=true"><img src="https://img.shields.io/npm/dm/@agent-infra/browser.svg?style=flat-square&colorA=564341&colorB=EDED91" alt="downloads" /></a>
8
- <a href="https://nodejs.org/en/about/previous-releases"><img src="https://img.shields.io/node/v/@agent-infra/browser.svg?style=flat-square&colorA=564341&colorB=EDED91" alt="node version"></a>
9
- <a href="https://github.com/bytedance/UI-TARS-desktop/blob/main/LICENSE"><img src="https://img.shields.io/badge/License-Apache%202.0-blue.svg?style=flat-square&colorA=564341&colorB=EDED91" alt="license" /></a>
10
- </p>
11
-
12
- ## Features
1
+ <div align="right">
2
+ <a href="README.zh-CN.md">简体中文</a> | <b>English</b>
3
+ </div>
13
4
 
14
- - 🔍 **Browser Detection** - Auto-detects installed browsers across platforms
15
- - 🔄 **Remote Browser Support** - Connect to remote browser instances
16
- - 🛡️ **Type Safety** - Written in TypeScript with full type definitions
17
-
18
- ## Architecture
5
+ # @agent-infra/browser
19
6
 
20
- ```mermaid
21
- graph TD
22
- A[Browser Interface] --> B[Local Browser]
23
- A --> C[Remote Browser]
24
- B --> D[Browser Finder]
25
- B --> E[Browser Adapter]
26
- C --> E
27
- E --> F[Puppeteer Adapter]
28
- F --> G[Browser Control]
29
- ```
7
+ **@agent-infra/browser** is an SDK based on **puppeteer** specifically designed to provide foundational functionality for browser agents. It provides high-level abstractions for tab management, dialog handling, hotkey support, and more while maintaining simple and intuitive APIs.
30
8
 
31
9
  ## Installation
32
10
 
33
11
  ```bash
34
12
  npm install @agent-infra/browser
35
- # or
36
- yarn add @agent-infra/browser
37
- # or
38
- pnpm add @agent-infra/browser
39
13
  ```
40
14
 
41
15
  ## Quick Start
42
16
 
17
+ Here is a simple usage demo. Browser will find the Chrome or Edge browser installed on your computer, launch a controlled browser instance, and then execute some operations through CDP control.
18
+
43
19
  ```typescript
44
- import { LocalBrowser } from '@agent-infra/browser';
20
+ import { Browser } from '@agent-infra/browser';
21
+
22
+ // Create browser instance
23
+ const browser = await Browser.create();
45
24
 
46
- async function main() {
47
- // Initialize browser
48
- const browser = new LocalBrowser();
25
+ // Set User-Agent (optional)
26
+ browser.setUserAgent({
27
+ userAgent:
28
+ 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36',
29
+ });
49
30
 
50
- try {
51
- // Launch browser
52
- await browser.launch({ headless: false });
31
+ // Get current active tab
32
+ const activeTab = browser.getActiveTab();
53
33
 
54
- // Create new page
55
- const page = await browser.createPage();
34
+ // Navigate to specified webpage
35
+ await activeTab.goto('https://example.com');
56
36
 
57
- // Navigate to URL
58
- await page.goto('https://example.com');
37
+ // Take screenshot
38
+ const screenshot = await activeTab.screenshot();
59
39
 
60
- // Take screenshot
61
- await page.screenshot({ path: 'example.png' });
62
- } finally {
63
- // Always close browser
64
- await browser.close();
65
- }
66
- }
40
+ // Close browser
41
+ await browser.close();
67
42
  ```
68
43
 
44
+ ## Complete Documentation
45
+
46
+ For detailed API documentation and advanced usage examples, please refer to our [complete documentation](../../docs/browser.md).
47
+
48
+ ## License
49
+
50
+ Apache License 2.0.
51
+
69
52
  ## Credits
70
53
 
71
- Thanks to:
54
+ Special thanks to the open source projects that inspired this toolkit:
72
55
 
73
- - [EGOIST](https://github.com/egoist) for creating a great AI chatbot product [ChatWise](https://chatwise.app/) from which we draw a lot of inspiration for browser detection functionality.
74
- - The [puppeteer](https://github.com/puppeteer/puppeteer) project which helps us operate the browser better.
56
+ - [puppeteer](https://github.com/puppeteer/puppeteer) - The underlying browser automation library
57
+ - [Chrome DevTools Protocol](https://chromedevtools.github.io/devtools-protocol/) - Chrome DevTools Protocol
@@ -0,0 +1,57 @@
1
+ <div align="right">
2
+ <b>简体中文</b> | <a href="README.md">English</a>
3
+ </div>
4
+
5
+ # @agent-infra/browser
6
+
7
+ **@agent-infra/browser** 是一个基于 **puppeteer** 的 SDK,专门设计用于为浏览器代理提供基础功能。它提供了标签页管理、对话框处理、热键支持等方面的高级抽象,同时保持了简单直观的 API。
8
+
9
+ ## 安装
10
+
11
+ ```bash
12
+ npm install @agent-infra/browser
13
+ ```
14
+
15
+ ## 快速开始
16
+
17
+ 这是一个简单的使用示例。Browser 会找到您计算机上安装的 Chrome 或 Edge 浏览器,启动一个受控的浏览器实例,然后通过 CDP 控制执行一些操作。
18
+
19
+ ```typescript
20
+ import { Browser } from '@agent-infra/browser';
21
+
22
+ // 创建浏览器实例
23
+ const browser = await Browser.create();
24
+
25
+ // 设置 User-Agent(可选)
26
+ browser.setUserAgent({
27
+ userAgent:
28
+ 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36',
29
+ });
30
+
31
+ // 获取当前活动标签页
32
+ const activeTab = browser.getActiveTab();
33
+
34
+ // 导航到指定网页
35
+ await activeTab.goto('https://example.com');
36
+
37
+ // 截图
38
+ const screenshot = await activeTab.screenshot();
39
+
40
+ // 关闭浏览器
41
+ await browser.close();
42
+ ```
43
+
44
+ ## 完整文档
45
+
46
+ 有关详细的 API 文档和高级使用示例,请参考我们的[完整文档](../../docs/browser.zh-CN.md)。
47
+
48
+ ## 许可证
49
+
50
+ Apache License 2.0。
51
+
52
+ ## 致谢
53
+
54
+ 特别感谢启发此工具包的开源项目:
55
+
56
+ - [puppeteer](https://github.com/puppeteer/puppeteer) - 底层浏览器自动化库
57
+ - [Chrome DevTools Protocol](https://chromedevtools.github.io/devtools-protocol/) - Chrome 开发者工具协议
@@ -0,0 +1,3 @@
1
+ export { Keyboard } from './keyboard';
2
+ export { Mouse } from './mouse';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/actions/index.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC"}
@@ -0,0 +1,46 @@
1
+ /**
2
+ * Copyright (c) 2025 Bytedance, Inc. and its affiliates.
3
+ * SPDX-License-Identifier: Apache-2.0
4
+ */
5
+ "use strict";
6
+ var __webpack_require__ = {};
7
+ (()=>{
8
+ __webpack_require__.d = (exports1, definition)=>{
9
+ for(var key in definition)if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
10
+ enumerable: true,
11
+ get: definition[key]
12
+ });
13
+ };
14
+ })();
15
+ (()=>{
16
+ __webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop);
17
+ })();
18
+ (()=>{
19
+ __webpack_require__.r = (exports1)=>{
20
+ if ('undefined' != typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
21
+ value: 'Module'
22
+ });
23
+ Object.defineProperty(exports1, '__esModule', {
24
+ value: true
25
+ });
26
+ };
27
+ })();
28
+ var __webpack_exports__ = {};
29
+ __webpack_require__.r(__webpack_exports__);
30
+ __webpack_require__.d(__webpack_exports__, {
31
+ Mouse: ()=>external_mouse_js_namespaceObject.Mouse,
32
+ Keyboard: ()=>external_keyboard_js_namespaceObject.Keyboard
33
+ });
34
+ const external_keyboard_js_namespaceObject = require("./keyboard.js");
35
+ const external_mouse_js_namespaceObject = require("./mouse.js");
36
+ exports.Keyboard = __webpack_exports__.Keyboard;
37
+ exports.Mouse = __webpack_exports__.Mouse;
38
+ for(var __webpack_i__ in __webpack_exports__)if (-1 === [
39
+ "Keyboard",
40
+ "Mouse"
41
+ ].indexOf(__webpack_i__)) exports[__webpack_i__] = __webpack_exports__[__webpack_i__];
42
+ Object.defineProperty(exports, '__esModule', {
43
+ value: true
44
+ });
45
+
46
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"actions/index.js","sources":["webpack://@agent-infra/browser/webpack/runtime/define_property_getters","webpack://@agent-infra/browser/webpack/runtime/has_own_property","webpack://@agent-infra/browser/webpack/runtime/make_namespace_object"],"sourcesContent":["__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n }\n }\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};"],"names":["__webpack_require__","definition","key","Object","obj","prop","Symbol"],"mappings":";;;;;;;IAAAA,oBAAoB,CAAC,GAAG,CAAC,UAASC;QACjC,IAAI,IAAIC,OAAOD,WACR,IAAGD,oBAAoB,CAAC,CAACC,YAAYC,QAAQ,CAACF,oBAAoB,CAAC,CAAC,UAASE,MACzEC,OAAO,cAAc,CAAC,UAASD,KAAK;YAAE,YAAY;YAAM,KAAKD,UAAU,CAACC,IAAI;QAAC;IAGzF;;;ICNAF,oBAAoB,CAAC,GAAG,CAACI,KAAKC,OAAUF,OAAO,SAAS,CAAC,cAAc,CAAC,IAAI,CAACC,KAAKC;;;ICClFL,oBAAoB,CAAC,GAAG,CAAC;QACxB,IAAG,AAAkB,eAAlB,OAAOM,UAA0BA,OAAO,WAAW,EACrDH,OAAO,cAAc,CAAC,UAASG,OAAO,WAAW,EAAE;YAAE,OAAO;QAAS;QAEtEH,OAAO,cAAc,CAAC,UAAS,cAAc;YAAE,OAAO;QAAK;IAC5D"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Copyright (c) 2025 Bytedance, Inc. and its affiliates.
3
+ * SPDX-License-Identifier: Apache-2.0
4
+ */
5
+ import { Keyboard } from "./keyboard.mjs";
6
+ import { Mouse } from "./mouse.mjs";
7
+ export { Keyboard, Mouse };
@@ -0,0 +1,28 @@
1
+ /**
2
+ * The following code is modified based on
3
+ * https://github.com/puppeteer/puppeteer/blob/main/packages/puppeteer-core/src/common/USKeyboardLayout.ts
4
+ *
5
+ * Copyright 2017 Google Inc.
6
+ * SPDX-License-Identifier: Apache-2.0
7
+ * https://github.com/puppeteer/puppeteer/blob/main/LICENSE
8
+ */
9
+ import type { KeyInput } from 'puppeteer-core';
10
+ /**
11
+ * Only adapt for common macOS system hotkeys
12
+ *
13
+ * See issues:
14
+ * - https://github.com/bytedance/UI-TARS-desktop/pull/560
15
+ *
16
+ * References:
17
+ * - Mac shortcuts list: https://support.apple.com/zh-cn/102650
18
+ * - Chrome: https://support.google.com/chrome/answer/157179
19
+ * - CDP: https://chromedevtools.github.io/devtools-protocol/tot/Input/#method-dispatchKeyEvent
20
+ * - Commands: https://source.chromium.org/chromium/chromium/src/+/main:third_party/blink/renderer/core/editing/commands/editor_command_names.h
21
+ */
22
+ export declare const MAC_SYSTEM_HOTKEY_MAP: Map<string, {
23
+ key: KeyInput;
24
+ commands: string;
25
+ }>;
26
+ export declare const KEY_ABBR_TO_STANDARD_MAP: Readonly<Record<string, KeyInput>>;
27
+ export declare const KEY_LOW_TO_STANDARD_MAP: Readonly<Record<string, KeyInput>>;
28
+ //# sourceMappingURL=key-map.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"key-map.d.ts","sourceRoot":"","sources":["../../src/actions/key-map.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE/C;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,qBAAqB;SAEzB,QAAQ;cAAY,MAAM;EAuBjC,CAAC;AAEH,eAAO,MAAM,wBAAwB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAmBvE,CAAC;AAGF,eAAO,MAAM,uBAAuB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAsOtE,CAAC"}
@@ -0,0 +1,409 @@
1
+ /**
2
+ * Copyright (c) 2025 Bytedance, Inc. and its affiliates.
3
+ * SPDX-License-Identifier: Apache-2.0
4
+ */
5
+ "use strict";
6
+ var __webpack_require__ = {};
7
+ (()=>{
8
+ __webpack_require__.d = (exports1, definition)=>{
9
+ for(var key in definition)if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
10
+ enumerable: true,
11
+ get: definition[key]
12
+ });
13
+ };
14
+ })();
15
+ (()=>{
16
+ __webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop);
17
+ })();
18
+ (()=>{
19
+ __webpack_require__.r = (exports1)=>{
20
+ if ('undefined' != typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
21
+ value: 'Module'
22
+ });
23
+ Object.defineProperty(exports1, '__esModule', {
24
+ value: true
25
+ });
26
+ };
27
+ })();
28
+ var __webpack_exports__ = {};
29
+ __webpack_require__.r(__webpack_exports__);
30
+ __webpack_require__.d(__webpack_exports__, {
31
+ KEY_ABBR_TO_STANDARD_MAP: ()=>KEY_ABBR_TO_STANDARD_MAP,
32
+ KEY_LOW_TO_STANDARD_MAP: ()=>KEY_LOW_TO_STANDARD_MAP,
33
+ MAC_SYSTEM_HOTKEY_MAP: ()=>MAC_SYSTEM_HOTKEY_MAP
34
+ });
35
+ const MAC_SYSTEM_HOTKEY_MAP = new Map([
36
+ [
37
+ 'CorM+A',
38
+ {
39
+ key: 'KeyA',
40
+ commands: 'SelectAll'
41
+ }
42
+ ],
43
+ [
44
+ 'CorM+KeyA',
45
+ {
46
+ key: 'KeyA',
47
+ commands: 'SelectAll'
48
+ }
49
+ ],
50
+ [
51
+ 'CorM+X',
52
+ {
53
+ key: 'KeyX',
54
+ commands: 'Cut'
55
+ }
56
+ ],
57
+ [
58
+ 'CorM+KeyX',
59
+ {
60
+ key: 'KeyX',
61
+ commands: 'Cut'
62
+ }
63
+ ],
64
+ [
65
+ 'CorM+C',
66
+ {
67
+ key: 'KeyC',
68
+ commands: 'Copy'
69
+ }
70
+ ],
71
+ [
72
+ 'CorM+KeyC',
73
+ {
74
+ key: 'KeyC',
75
+ commands: 'Copy'
76
+ }
77
+ ],
78
+ [
79
+ 'CorM+V',
80
+ {
81
+ key: 'KeyV',
82
+ commands: 'Paste'
83
+ }
84
+ ],
85
+ [
86
+ 'CorM+KeyV',
87
+ {
88
+ key: 'KeyV',
89
+ commands: 'Paste'
90
+ }
91
+ ],
92
+ [
93
+ 'CorM+Z',
94
+ {
95
+ key: 'KeyZ',
96
+ commands: 'Undo'
97
+ }
98
+ ],
99
+ [
100
+ 'CorM+KeyZ',
101
+ {
102
+ key: 'KeyZ',
103
+ commands: 'Undo'
104
+ }
105
+ ],
106
+ [
107
+ 'CorM+Y',
108
+ {
109
+ key: 'KeyY',
110
+ commands: 'Redo'
111
+ }
112
+ ],
113
+ [
114
+ 'CorM+KeyY',
115
+ {
116
+ key: 'KeyY',
117
+ commands: 'Redo'
118
+ }
119
+ ],
120
+ [
121
+ 'CorM+Shift+Z',
122
+ {
123
+ key: 'KeyZ',
124
+ commands: 'Redo'
125
+ }
126
+ ],
127
+ [
128
+ 'CorM+Shift+KeyZ',
129
+ {
130
+ key: 'KeyZ',
131
+ commands: 'Redo'
132
+ }
133
+ ],
134
+ [
135
+ 'Shift+CorM+Z',
136
+ {
137
+ key: 'KeyZ',
138
+ commands: 'Redo'
139
+ }
140
+ ],
141
+ [
142
+ 'Shift+CorM+KeyZ',
143
+ {
144
+ key: 'KeyZ',
145
+ commands: 'Redo'
146
+ }
147
+ ]
148
+ ]);
149
+ const KEY_ABBR_TO_STANDARD_MAP = {
150
+ ctrl: 'Control',
151
+ cmd: 'Meta',
152
+ command: 'Meta',
153
+ opt: 'Alt',
154
+ option: 'Alt',
155
+ up: 'ArrowUp',
156
+ down: 'ArrowDown',
157
+ left: 'ArrowLeft',
158
+ right: 'ArrowRight',
159
+ esc: 'Escape',
160
+ del: 'Delete',
161
+ ins: 'Insert',
162
+ pgup: 'PageUp',
163
+ pgdown: 'PageDown',
164
+ return: 'Enter'
165
+ };
166
+ const KEY_LOW_TO_STANDARD_MAP = {
167
+ 0: '0',
168
+ 1: '1',
169
+ 2: '2',
170
+ 3: '3',
171
+ 4: '4',
172
+ 5: '5',
173
+ 6: '6',
174
+ 7: '7',
175
+ 8: '8',
176
+ 9: '9',
177
+ power: 'Power',
178
+ eject: 'Eject',
179
+ abort: 'Abort',
180
+ help: 'Help',
181
+ backspace: 'Backspace',
182
+ tab: 'Tab',
183
+ numpad5: 'Numpad5',
184
+ numpadenter: 'NumpadEnter',
185
+ enter: 'Enter',
186
+ '\r': '\r',
187
+ '\n': '\n',
188
+ shiftleft: 'ShiftLeft',
189
+ shiftright: 'ShiftRight',
190
+ controlleft: 'ControlLeft',
191
+ controlright: 'ControlRight',
192
+ altleft: 'AltLeft',
193
+ altright: 'AltRight',
194
+ pause: 'Pause',
195
+ capslock: 'CapsLock',
196
+ escape: 'Escape',
197
+ convert: 'Convert',
198
+ nonconvert: 'NonConvert',
199
+ space: 'Space',
200
+ numpad9: 'Numpad9',
201
+ pageup: 'PageUp',
202
+ numpad3: 'Numpad3',
203
+ pagedown: 'PageDown',
204
+ end: 'End',
205
+ numpad1: 'Numpad1',
206
+ home: 'Home',
207
+ numpad7: 'Numpad7',
208
+ arrowleft: 'ArrowLeft',
209
+ numpad4: 'Numpad4',
210
+ numpad8: 'Numpad8',
211
+ arrowup: 'ArrowUp',
212
+ arrowright: 'ArrowRight',
213
+ numpad6: 'Numpad6',
214
+ numpad2: 'Numpad2',
215
+ arrowdown: 'ArrowDown',
216
+ select: 'Select',
217
+ open: 'Open',
218
+ printscreen: 'PrintScreen',
219
+ insert: 'Insert',
220
+ numpad0: 'Numpad0',
221
+ delete: 'Delete',
222
+ numpaddecimal: 'NumpadDecimal',
223
+ digit0: 'Digit0',
224
+ digit1: 'Digit1',
225
+ digit2: 'Digit2',
226
+ digit3: 'Digit3',
227
+ digit4: 'Digit4',
228
+ digit5: 'Digit5',
229
+ digit6: 'Digit6',
230
+ digit7: 'Digit7',
231
+ digit8: 'Digit8',
232
+ digit9: 'Digit9',
233
+ keya: 'KeyA',
234
+ keyb: 'KeyB',
235
+ keyc: 'KeyC',
236
+ keyd: 'KeyD',
237
+ keye: 'KeyE',
238
+ keyf: 'KeyF',
239
+ keyg: 'KeyG',
240
+ keyh: 'KeyH',
241
+ keyi: 'KeyI',
242
+ keyj: 'KeyJ',
243
+ keyk: 'KeyK',
244
+ keyl: 'KeyL',
245
+ keym: 'KeyM',
246
+ keyn: 'KeyN',
247
+ keyo: 'KeyO',
248
+ keyp: 'KeyP',
249
+ keyq: 'KeyQ',
250
+ keyr: 'KeyR',
251
+ keys: 'KeyS',
252
+ keyt: 'KeyT',
253
+ keyu: 'KeyU',
254
+ keyv: 'KeyV',
255
+ keyw: 'KeyW',
256
+ keyx: 'KeyX',
257
+ keyy: 'KeyY',
258
+ keyz: 'KeyZ',
259
+ metaleft: 'MetaLeft',
260
+ metaright: 'MetaRight',
261
+ contextmenu: 'ContextMenu',
262
+ numpadmultiply: 'NumpadMultiply',
263
+ numpadadd: 'NumpadAdd',
264
+ numpadsubtract: 'NumpadSubtract',
265
+ numpaddivide: 'NumpadDivide',
266
+ f1: 'F1',
267
+ f2: 'F2',
268
+ f3: 'F3',
269
+ f4: 'F4',
270
+ f5: 'F5',
271
+ f6: 'F6',
272
+ f7: 'F7',
273
+ f8: 'F8',
274
+ f9: 'F9',
275
+ f10: 'F10',
276
+ f11: 'F11',
277
+ f12: 'F12',
278
+ f13: 'F13',
279
+ f14: 'F14',
280
+ f15: 'F15',
281
+ f16: 'F16',
282
+ f17: 'F17',
283
+ f18: 'F18',
284
+ f19: 'F19',
285
+ f20: 'F20',
286
+ f21: 'F21',
287
+ f22: 'F22',
288
+ f23: 'F23',
289
+ f24: 'F24',
290
+ numlock: 'NumLock',
291
+ scrolllock: 'ScrollLock',
292
+ audiovolumemute: 'AudioVolumeMute',
293
+ audiovolumedown: 'AudioVolumeDown',
294
+ audiovolumeup: 'AudioVolumeUp',
295
+ mediatracknext: 'MediaTrackNext',
296
+ mediatrackprevious: 'MediaTrackPrevious',
297
+ mediastop: 'MediaStop',
298
+ mediaplaypause: 'MediaPlayPause',
299
+ semicolon: 'Semicolon',
300
+ equal: 'Equal',
301
+ numpadequal: 'NumpadEqual',
302
+ comma: 'Comma',
303
+ minus: 'Minus',
304
+ period: 'Period',
305
+ slash: 'Slash',
306
+ backquote: 'Backquote',
307
+ bracketleft: 'BracketLeft',
308
+ backslash: 'Backslash',
309
+ bracketright: 'BracketRight',
310
+ quote: 'Quote',
311
+ altgraph: 'AltGraph',
312
+ props: 'Props',
313
+ cancel: 'Cancel',
314
+ clear: 'Clear',
315
+ shift: 'Shift',
316
+ control: 'Control',
317
+ alt: 'Alt',
318
+ accept: 'Accept',
319
+ modechange: 'ModeChange',
320
+ ' ': ' ',
321
+ print: 'Print',
322
+ execute: 'Execute',
323
+ '\u0000': '\u0000',
324
+ a: 'A',
325
+ b: 'B',
326
+ c: 'C',
327
+ d: 'D',
328
+ e: 'E',
329
+ f: 'F',
330
+ g: 'G',
331
+ h: 'H',
332
+ i: 'I',
333
+ j: 'J',
334
+ k: 'K',
335
+ l: 'L',
336
+ m: 'M',
337
+ n: 'N',
338
+ o: 'O',
339
+ p: 'P',
340
+ q: 'Q',
341
+ r: 'R',
342
+ s: 'S',
343
+ t: 'T',
344
+ u: 'U',
345
+ v: 'V',
346
+ w: 'W',
347
+ x: 'X',
348
+ y: 'Y',
349
+ z: 'Z',
350
+ meta: 'Meta',
351
+ '*': '*',
352
+ '+': '+',
353
+ '-': '-',
354
+ '/': '/',
355
+ ';': ';',
356
+ '=': '=',
357
+ ',': ',',
358
+ '.': '.',
359
+ '`': '`',
360
+ '[': '[',
361
+ '\\': '\\',
362
+ ']': ']',
363
+ "'": "'",
364
+ attn: 'Attn',
365
+ crsel: 'CrSel',
366
+ exsel: 'ExSel',
367
+ eraseeof: 'EraseEof',
368
+ play: 'Play',
369
+ zoomout: 'ZoomOut',
370
+ ')': ')',
371
+ '!': '!',
372
+ '@': '@',
373
+ '#': '#',
374
+ $: '$',
375
+ '%': '%',
376
+ '^': '^',
377
+ '&': '&',
378
+ '(': '(',
379
+ ':': ':',
380
+ '<': '<',
381
+ _: '_',
382
+ '>': '>',
383
+ '?': '?',
384
+ '~': '~',
385
+ '{': '{',
386
+ '|': '|',
387
+ '}': '}',
388
+ '"': '"',
389
+ softleft: 'SoftLeft',
390
+ softright: 'SoftRight',
391
+ camera: 'Camera',
392
+ call: 'Call',
393
+ endcall: 'EndCall',
394
+ volumedown: 'VolumeDown',
395
+ volumeup: 'VolumeUp'
396
+ };
397
+ exports.KEY_ABBR_TO_STANDARD_MAP = __webpack_exports__.KEY_ABBR_TO_STANDARD_MAP;
398
+ exports.KEY_LOW_TO_STANDARD_MAP = __webpack_exports__.KEY_LOW_TO_STANDARD_MAP;
399
+ exports.MAC_SYSTEM_HOTKEY_MAP = __webpack_exports__.MAC_SYSTEM_HOTKEY_MAP;
400
+ for(var __webpack_i__ in __webpack_exports__)if (-1 === [
401
+ "KEY_ABBR_TO_STANDARD_MAP",
402
+ "KEY_LOW_TO_STANDARD_MAP",
403
+ "MAC_SYSTEM_HOTKEY_MAP"
404
+ ].indexOf(__webpack_i__)) exports[__webpack_i__] = __webpack_exports__[__webpack_i__];
405
+ Object.defineProperty(exports, '__esModule', {
406
+ value: true
407
+ });
408
+
409
+ //# sourceMappingURL=key-map.js.map