@travisennis/acai 0.0.9 → 0.0.11

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 (403) hide show
  1. package/README.md +51 -760
  2. package/bin/acai +52 -0
  3. package/dist/agent/index.d.ts +12 -2
  4. package/dist/agent/index.d.ts.map +1 -1
  5. package/dist/agent/index.js +380 -199
  6. package/dist/agent/sub-agent.d.ts +23 -0
  7. package/dist/agent/sub-agent.d.ts.map +1 -0
  8. package/dist/agent/sub-agent.js +109 -0
  9. package/dist/cli/index.d.ts +26 -0
  10. package/dist/cli/index.d.ts.map +1 -0
  11. package/dist/{cli.js → cli/index.js} +84 -77
  12. package/dist/{stdin.d.ts → cli/stdin.d.ts} +2 -1
  13. package/dist/cli/stdin.d.ts.map +1 -0
  14. package/dist/{stdin.js → cli/stdin.js} +11 -0
  15. package/dist/commands/copy/index.js +2 -2
  16. package/dist/commands/copy/utils.d.ts.map +1 -1
  17. package/dist/commands/copy/utils.js +15 -13
  18. package/dist/commands/generate-rules/index.d.ts +1 -1
  19. package/dist/commands/generate-rules/index.d.ts.map +1 -1
  20. package/dist/commands/generate-rules/index.js +16 -101
  21. package/dist/commands/generate-rules/service.d.ts +22 -0
  22. package/dist/commands/generate-rules/service.d.ts.map +1 -0
  23. package/dist/commands/generate-rules/service.js +103 -0
  24. package/dist/commands/handoff/index.js +2 -2
  25. package/dist/commands/health/index.js +1 -1
  26. package/dist/commands/health/utils.d.ts +3 -2
  27. package/dist/commands/health/utils.d.ts.map +1 -1
  28. package/dist/commands/health/utils.js +6 -0
  29. package/dist/commands/history/index.d.ts +1 -1
  30. package/dist/commands/history/index.d.ts.map +1 -1
  31. package/dist/commands/history/index.js +17 -18
  32. package/dist/commands/history/types.d.ts +38 -0
  33. package/dist/commands/history/types.d.ts.map +1 -1
  34. package/dist/commands/history/utils.d.ts.map +1 -1
  35. package/dist/commands/history/utils.js +63 -58
  36. package/dist/commands/init/index.d.ts.map +1 -1
  37. package/dist/commands/init/index.js +3 -8
  38. package/dist/commands/init-project/index.d.ts.map +1 -1
  39. package/dist/commands/init-project/index.js +3 -3
  40. package/dist/commands/init-project/utils.d.ts +2 -1
  41. package/dist/commands/init-project/utils.d.ts.map +1 -1
  42. package/dist/commands/init-project/utils.js +10 -2
  43. package/dist/commands/list-tools/index.d.ts.map +1 -1
  44. package/dist/commands/list-tools/index.js +7 -31
  45. package/dist/commands/manager.d.ts +2 -2
  46. package/dist/commands/manager.d.ts.map +1 -1
  47. package/dist/commands/manager.js +55 -33
  48. package/dist/commands/model/index.d.ts.map +1 -1
  49. package/dist/commands/model/index.js +20 -151
  50. package/dist/commands/model/model-panel.d.ts +4 -0
  51. package/dist/commands/model/model-panel.d.ts.map +1 -0
  52. package/dist/commands/model/model-panel.js +144 -0
  53. package/dist/commands/paste/index.d.ts.map +1 -1
  54. package/dist/commands/paste/index.js +59 -62
  55. package/dist/commands/paste/utils.d.ts.map +1 -1
  56. package/dist/commands/paste/utils.js +88 -58
  57. package/dist/commands/pickup/index.d.ts.map +1 -1
  58. package/dist/commands/pickup/index.js +6 -3
  59. package/dist/commands/pickup/utils.js +3 -3
  60. package/dist/commands/resources/index.d.ts.map +1 -1
  61. package/dist/commands/resources/index.js +33 -50
  62. package/dist/commands/review/index.d.ts.map +1 -1
  63. package/dist/commands/review/index.js +3 -117
  64. package/dist/commands/review/review-panel.d.ts +3 -0
  65. package/dist/commands/review/review-panel.d.ts.map +1 -0
  66. package/dist/commands/review/review-panel.js +186 -0
  67. package/dist/commands/review/utils.d.ts +15 -1
  68. package/dist/commands/review/utils.d.ts.map +1 -1
  69. package/dist/commands/review/utils.js +127 -68
  70. package/dist/commands/session/index.d.ts +1 -1
  71. package/dist/commands/session/index.d.ts.map +1 -1
  72. package/dist/commands/session/index.js +124 -135
  73. package/dist/commands/shell/index.d.ts.map +1 -1
  74. package/dist/commands/shell/index.js +16 -1
  75. package/dist/commands/types.d.ts +2 -2
  76. package/dist/commands/types.d.ts.map +1 -1
  77. package/dist/{config.d.ts → config/index.d.ts} +20 -9
  78. package/dist/config/index.d.ts.map +1 -0
  79. package/dist/{config.js → config/index.js} +43 -42
  80. package/dist/execution/index.d.ts.map +1 -1
  81. package/dist/execution/index.js +75 -55
  82. package/dist/index.d.ts +1 -0
  83. package/dist/index.d.ts.map +1 -1
  84. package/dist/index.js +148 -141
  85. package/dist/middleware/cache.d.ts.map +1 -1
  86. package/dist/middleware/cache.js +18 -36
  87. package/dist/models/ai-config.d.ts +1 -0
  88. package/dist/models/ai-config.d.ts.map +1 -1
  89. package/dist/models/ai-config.js +4 -3
  90. package/dist/models/anthropic-provider.d.ts +2 -5
  91. package/dist/models/anthropic-provider.d.ts.map +1 -1
  92. package/dist/models/anthropic-provider.js +3 -70
  93. package/dist/models/deepseek-provider.d.ts +1 -0
  94. package/dist/models/deepseek-provider.d.ts.map +1 -1
  95. package/dist/models/google-provider.d.ts +2 -3
  96. package/dist/models/google-provider.d.ts.map +1 -1
  97. package/dist/models/google-provider.js +0 -26
  98. package/dist/models/groq-provider.d.ts +1 -0
  99. package/dist/models/groq-provider.d.ts.map +1 -1
  100. package/dist/models/manager.d.ts +13 -2
  101. package/dist/models/manager.d.ts.map +1 -1
  102. package/dist/models/manager.js +20 -8
  103. package/dist/models/openai-provider.d.ts +2 -5
  104. package/dist/models/openai-provider.d.ts.map +1 -1
  105. package/dist/models/openai-provider.js +0 -52
  106. package/dist/models/opencode-go-provider.d.ts +25 -0
  107. package/dist/models/opencode-go-provider.d.ts.map +1 -0
  108. package/dist/models/opencode-go-provider.js +78 -0
  109. package/dist/models/opencode-zen-provider.d.ts +7 -3
  110. package/dist/models/opencode-zen-provider.d.ts.map +1 -1
  111. package/dist/models/opencode-zen-provider.js +49 -10
  112. package/dist/models/openrouter-provider.d.ts +27 -31
  113. package/dist/models/openrouter-provider.d.ts.map +1 -1
  114. package/dist/models/openrouter-provider.js +121 -180
  115. package/dist/models/providers.d.ts +3 -3
  116. package/dist/models/providers.d.ts.map +1 -1
  117. package/dist/models/providers.js +6 -0
  118. package/dist/models/xai-provider.d.ts +4 -3
  119. package/dist/models/xai-provider.d.ts.map +1 -1
  120. package/dist/models/xai-provider.js +18 -18
  121. package/dist/modes/manager.d.ts +24 -0
  122. package/dist/modes/manager.d.ts.map +1 -0
  123. package/dist/modes/manager.js +77 -0
  124. package/dist/modes/prompts.d.ts +2 -0
  125. package/dist/modes/prompts.d.ts.map +1 -0
  126. package/dist/modes/prompts.js +142 -0
  127. package/dist/prompts/mentions.d.ts +11 -0
  128. package/dist/prompts/mentions.d.ts.map +1 -0
  129. package/dist/{mentions.js → prompts/mentions.js} +55 -85
  130. package/dist/{prompts.d.ts → prompts/system-prompt.d.ts} +7 -2
  131. package/dist/prompts/system-prompt.d.ts.map +1 -0
  132. package/dist/{prompts.js → prompts/system-prompt.js} +31 -16
  133. package/dist/repl/index.d.ts +174 -0
  134. package/dist/repl/index.d.ts.map +1 -0
  135. package/dist/{repl-new.js → repl/index.js} +397 -76
  136. package/dist/repl/project-status.d.ts +1 -0
  137. package/dist/repl/project-status.d.ts.map +1 -1
  138. package/dist/repl/project-status.js +4 -1
  139. package/dist/sessions/manager.d.ts +92 -0
  140. package/dist/sessions/manager.d.ts.map +1 -1
  141. package/dist/sessions/manager.js +262 -9
  142. package/dist/sessions/summary.d.ts +4 -0
  143. package/dist/sessions/summary.d.ts.map +1 -0
  144. package/dist/sessions/summary.js +30 -0
  145. package/dist/skills/index.d.ts +29 -0
  146. package/dist/skills/index.d.ts.map +1 -0
  147. package/dist/skills/index.js +294 -0
  148. package/dist/subagents/index.d.ts +16 -0
  149. package/dist/subagents/index.d.ts.map +1 -0
  150. package/dist/subagents/index.js +231 -0
  151. package/dist/terminal/control.d.ts +1 -1
  152. package/dist/terminal/control.d.ts.map +1 -1
  153. package/dist/terminal/control.js +3 -3
  154. package/dist/terminal/east-asian-width.d.ts.map +1 -1
  155. package/dist/terminal/east-asian-width.js +404 -351
  156. package/dist/terminal/keys.d.ts +17 -0
  157. package/dist/terminal/keys.d.ts.map +1 -1
  158. package/dist/terminal/keys.js +37 -0
  159. package/dist/terminal/select-prompt.d.ts.map +1 -1
  160. package/dist/terminal/select-prompt.js +24 -12
  161. package/dist/terminal/string-width.d.ts.map +1 -1
  162. package/dist/terminal/string-width.js +25 -27
  163. package/dist/terminal/style.d.ts.map +1 -1
  164. package/dist/terminal/style.js +4 -7
  165. package/dist/terminal/supports-color.d.ts.map +1 -1
  166. package/dist/terminal/supports-color.js +41 -27
  167. package/dist/terminal/table/cell.d.ts +12 -0
  168. package/dist/terminal/table/cell.d.ts.map +1 -1
  169. package/dist/terminal/table/cell.js +40 -25
  170. package/dist/terminal/table/layout-manager.d.ts.map +1 -1
  171. package/dist/terminal/table/layout-manager.js +100 -68
  172. package/dist/terminal/table/utils.d.ts +1 -1
  173. package/dist/terminal/table/utils.d.ts.map +1 -1
  174. package/dist/terminal/table/utils.js +17 -10
  175. package/dist/terminal/wrap-ansi.d.ts.map +1 -1
  176. package/dist/terminal/wrap-ansi.js +174 -105
  177. package/dist/tokens/tracker.d.ts +1 -0
  178. package/dist/tokens/tracker.d.ts.map +1 -1
  179. package/dist/tokens/tracker.js +3 -0
  180. package/dist/tools/agent.d.ts +27 -0
  181. package/dist/tools/agent.d.ts.map +1 -0
  182. package/dist/tools/agent.js +81 -0
  183. package/dist/tools/apply-patch.d.ts +62 -0
  184. package/dist/tools/apply-patch.d.ts.map +1 -0
  185. package/dist/tools/apply-patch.js +377 -0
  186. package/dist/tools/bash.d.ts +4 -3
  187. package/dist/tools/bash.d.ts.map +1 -1
  188. package/dist/tools/bash.js +349 -141
  189. package/dist/tools/directory-tree.d.ts +3 -3
  190. package/dist/tools/directory-tree.d.ts.map +1 -1
  191. package/dist/tools/directory-tree.js +8 -5
  192. package/dist/tools/dynamic-tool-loader.d.ts +3 -6
  193. package/dist/tools/dynamic-tool-loader.d.ts.map +1 -1
  194. package/dist/tools/dynamic-tool-loader.js +20 -4
  195. package/dist/tools/edit-file.d.ts +7 -7
  196. package/dist/tools/edit-file.d.ts.map +1 -1
  197. package/dist/tools/edit-file.js +292 -85
  198. package/dist/tools/glob.d.ts +6 -6
  199. package/dist/tools/glob.d.ts.map +1 -1
  200. package/dist/tools/glob.js +110 -63
  201. package/dist/tools/grep.d.ts +15 -12
  202. package/dist/tools/grep.d.ts.map +1 -1
  203. package/dist/tools/grep.js +315 -193
  204. package/dist/tools/index.d.ts +114 -9
  205. package/dist/tools/index.d.ts.map +1 -1
  206. package/dist/tools/index.js +39 -24
  207. package/dist/tools/ls.d.ts +2 -2
  208. package/dist/tools/ls.d.ts.map +1 -1
  209. package/dist/tools/ls.js +7 -5
  210. package/dist/tools/read-file.d.ts +4 -6
  211. package/dist/tools/read-file.d.ts.map +1 -1
  212. package/dist/tools/read-file.js +84 -39
  213. package/dist/tools/save-file.d.ts +3 -3
  214. package/dist/tools/save-file.d.ts.map +1 -1
  215. package/dist/tools/save-file.js +36 -31
  216. package/dist/tools/skill.d.ts +23 -0
  217. package/dist/tools/skill.d.ts.map +1 -0
  218. package/dist/tools/skill.js +65 -0
  219. package/dist/tools/think.d.ts.map +1 -1
  220. package/dist/tools/think.js +2 -9
  221. package/dist/tools/utils.d.ts +2 -0
  222. package/dist/tools/utils.d.ts.map +1 -1
  223. package/dist/tools/utils.js +12 -0
  224. package/dist/tools/web-fetch.d.ts +50 -0
  225. package/dist/tools/web-fetch.d.ts.map +1 -0
  226. package/dist/tools/web-fetch.js +446 -0
  227. package/dist/tools/web-search.d.ts +44 -0
  228. package/dist/tools/web-search.d.ts.map +1 -0
  229. package/dist/tools/web-search.js +226 -0
  230. package/dist/tui/autocomplete/attachment-provider.d.ts +3 -6
  231. package/dist/tui/autocomplete/attachment-provider.d.ts.map +1 -1
  232. package/dist/tui/autocomplete/attachment-provider.js +25 -78
  233. package/dist/tui/autocomplete/base-provider.d.ts +1 -0
  234. package/dist/tui/autocomplete/base-provider.d.ts.map +1 -1
  235. package/dist/tui/autocomplete/combined-provider.d.ts +1 -4
  236. package/dist/tui/autocomplete/combined-provider.d.ts.map +1 -1
  237. package/dist/tui/autocomplete/combined-provider.js +3 -17
  238. package/dist/tui/autocomplete/command-provider.d.ts +1 -0
  239. package/dist/tui/autocomplete/command-provider.d.ts.map +1 -1
  240. package/dist/tui/autocomplete/command-provider.js +3 -0
  241. package/dist/tui/autocomplete/file-search-provider.d.ts +2 -1
  242. package/dist/tui/autocomplete/file-search-provider.d.ts.map +1 -1
  243. package/dist/tui/autocomplete/file-search-provider.js +37 -17
  244. package/dist/tui/autocomplete/skill-provider.d.ts +17 -0
  245. package/dist/tui/autocomplete/skill-provider.d.ts.map +1 -0
  246. package/dist/tui/autocomplete/skill-provider.js +49 -0
  247. package/dist/tui/autocomplete/utils.d.ts +2 -1
  248. package/dist/tui/autocomplete/utils.d.ts.map +1 -1
  249. package/dist/tui/autocomplete/utils.js +25 -23
  250. package/dist/tui/autocomplete.d.ts +2 -2
  251. package/dist/tui/autocomplete.d.ts.map +1 -1
  252. package/dist/tui/autocomplete.js +3 -5
  253. package/dist/tui/components/assistant-message.d.ts.map +1 -1
  254. package/dist/tui/components/assistant-message.js +0 -4
  255. package/dist/tui/components/editor.d.ts +18 -3
  256. package/dist/tui/components/editor.d.ts.map +1 -1
  257. package/dist/tui/components/editor.js +211 -237
  258. package/dist/tui/components/footer.d.ts +6 -4
  259. package/dist/tui/components/footer.d.ts.map +1 -1
  260. package/dist/tui/components/footer.js +49 -25
  261. package/dist/tui/components/markdown.d.ts +10 -7
  262. package/dist/tui/components/markdown.d.ts.map +1 -1
  263. package/dist/tui/components/markdown.js +57 -39
  264. package/dist/tui/components/modal.d.ts.map +1 -1
  265. package/dist/tui/components/modal.js +35 -33
  266. package/dist/tui/components/notification.d.ts +13 -2
  267. package/dist/tui/components/notification.d.ts.map +1 -1
  268. package/dist/tui/components/notification.js +36 -2
  269. package/dist/tui/components/progress-bar.js +1 -1
  270. package/dist/tui/components/select-list.d.ts +1 -0
  271. package/dist/tui/components/select-list.d.ts.map +1 -1
  272. package/dist/tui/components/select-list.js +14 -11
  273. package/dist/tui/components/text.d.ts +16 -0
  274. package/dist/tui/components/text.d.ts.map +1 -1
  275. package/dist/tui/components/text.js +72 -57
  276. package/dist/tui/components/thinking-block.d.ts +9 -0
  277. package/dist/tui/components/thinking-block.d.ts.map +1 -1
  278. package/dist/tui/components/thinking-block.js +43 -11
  279. package/dist/tui/components/tool-execution.d.ts +5 -1
  280. package/dist/tui/components/tool-execution.d.ts.map +1 -1
  281. package/dist/tui/components/tool-execution.js +19 -10
  282. package/dist/tui/components/user-message.d.ts.map +1 -1
  283. package/dist/tui/components/user-message.js +0 -3
  284. package/dist/tui/components/welcome.d.ts +2 -1
  285. package/dist/tui/components/welcome.d.ts.map +1 -1
  286. package/dist/tui/components/welcome.js +2 -2
  287. package/dist/tui/editor-launcher.d.ts +3 -2
  288. package/dist/tui/editor-launcher.d.ts.map +1 -1
  289. package/dist/tui/index.d.ts +0 -1
  290. package/dist/tui/index.d.ts.map +1 -1
  291. package/dist/tui/terminal.d.ts.map +1 -1
  292. package/dist/tui/terminal.js +10 -2
  293. package/dist/tui/tui.d.ts +43 -0
  294. package/dist/tui/tui.d.ts.map +1 -1
  295. package/dist/tui/tui.js +166 -41
  296. package/dist/tui/utils.d.ts +1 -5
  297. package/dist/tui/utils.d.ts.map +1 -1
  298. package/dist/tui/utils.js +271 -44
  299. package/dist/utils/bash/parse.d.ts +19 -0
  300. package/dist/utils/bash/parse.d.ts.map +1 -0
  301. package/dist/utils/bash/parse.js +223 -0
  302. package/dist/utils/bash/quote.d.ts +6 -0
  303. package/dist/utils/bash/quote.d.ts.map +1 -0
  304. package/dist/utils/bash/quote.js +23 -0
  305. package/dist/utils/bash.d.ts.map +1 -1
  306. package/dist/utils/bash.js +211 -126
  307. package/dist/utils/command-protection.d.ts +28 -0
  308. package/dist/utils/command-protection.d.ts.map +1 -0
  309. package/dist/utils/command-protection.js +324 -0
  310. package/dist/utils/dedent.d.ts.map +1 -0
  311. package/dist/utils/env-expand.d.ts +2 -0
  312. package/dist/utils/env-expand.d.ts.map +1 -0
  313. package/dist/utils/env-expand.js +8 -0
  314. package/dist/utils/filesystem/path-display.d.ts +11 -0
  315. package/dist/utils/filesystem/path-display.d.ts.map +1 -0
  316. package/dist/utils/filesystem/path-display.js +32 -0
  317. package/dist/utils/filesystem/security.d.ts +2 -2
  318. package/dist/utils/filesystem/security.d.ts.map +1 -1
  319. package/dist/utils/filesystem/security.js +28 -30
  320. package/dist/utils/formatting.d.ts.map +1 -0
  321. package/dist/{formatting.js → utils/formatting.js} +1 -1
  322. package/dist/utils/git.d.ts +4 -0
  323. package/dist/utils/git.d.ts.map +1 -1
  324. package/dist/utils/git.js +30 -0
  325. package/dist/utils/glob.d.ts +1 -1
  326. package/dist/utils/glob.d.ts.map +1 -1
  327. package/dist/utils/logger.d.ts.map +1 -0
  328. package/dist/{logger.js → utils/logger.js} +1 -1
  329. package/dist/utils/parsing.d.ts.map +1 -0
  330. package/dist/utils/process.d.ts.map +1 -1
  331. package/dist/utils/process.js +90 -37
  332. package/dist/utils/templates.d.ts +2 -0
  333. package/dist/utils/templates.d.ts.map +1 -0
  334. package/dist/utils/templates.js +24 -0
  335. package/dist/utils/version.d.ts.map +1 -0
  336. package/dist/{version.js → utils/version.js} +1 -1
  337. package/package.json +35 -26
  338. package/dist/cli.d.ts +0 -23
  339. package/dist/cli.d.ts.map +0 -1
  340. package/dist/commands/add-directory/types.d.ts +0 -6
  341. package/dist/commands/add-directory/types.d.ts.map +0 -1
  342. package/dist/commands/add-directory/types.js +0 -1
  343. package/dist/commands/copy/types.d.ts +0 -3
  344. package/dist/commands/copy/types.d.ts.map +0 -1
  345. package/dist/commands/copy/types.js +0 -1
  346. package/dist/commands/exit/index.d.ts +0 -10
  347. package/dist/commands/exit/index.d.ts.map +0 -1
  348. package/dist/commands/exit/index.js +0 -21
  349. package/dist/commands/exit/types.d.ts +0 -8
  350. package/dist/commands/exit/types.d.ts.map +0 -1
  351. package/dist/commands/exit/types.js +0 -1
  352. package/dist/commands/exit/utils.d.ts +0 -2
  353. package/dist/commands/exit/utils.d.ts.map +0 -1
  354. package/dist/commands/exit/utils.js +0 -13
  355. package/dist/commands/prompt/index.d.ts +0 -5
  356. package/dist/commands/prompt/index.d.ts.map +0 -1
  357. package/dist/commands/prompt/index.js +0 -122
  358. package/dist/commands/prompt/types.d.ts +0 -15
  359. package/dist/commands/prompt/types.d.ts.map +0 -1
  360. package/dist/commands/prompt/types.js +0 -1
  361. package/dist/commands/prompt/utils.d.ts +0 -12
  362. package/dist/commands/prompt/utils.d.ts.map +0 -1
  363. package/dist/commands/prompt/utils.js +0 -107
  364. package/dist/commands/reset/index.d.ts +0 -3
  365. package/dist/commands/reset/index.d.ts.map +0 -1
  366. package/dist/commands/reset/index.js +0 -25
  367. package/dist/commands/reset/types.d.ts +0 -1
  368. package/dist/commands/reset/types.d.ts.map +0 -1
  369. package/dist/commands/reset/types.js +0 -3
  370. package/dist/commands/review/types.d.ts +0 -12
  371. package/dist/commands/review/types.d.ts.map +0 -1
  372. package/dist/commands/review/types.js +0 -1
  373. package/dist/commands/save/index.d.ts +0 -3
  374. package/dist/commands/save/index.d.ts.map +0 -1
  375. package/dist/commands/save/index.js +0 -19
  376. package/dist/config.d.ts.map +0 -1
  377. package/dist/dedent.d.ts.map +0 -1
  378. package/dist/formatting.d.ts.map +0 -1
  379. package/dist/logger.d.ts.map +0 -1
  380. package/dist/mentions.d.ts +0 -14
  381. package/dist/mentions.d.ts.map +0 -1
  382. package/dist/parsing.d.ts.map +0 -1
  383. package/dist/prompts.d.ts.map +0 -1
  384. package/dist/repl-new.d.ts +0 -65
  385. package/dist/repl-new.d.ts.map +0 -1
  386. package/dist/skills.d.ts +0 -16
  387. package/dist/skills.d.ts.map +0 -1
  388. package/dist/skills.js +0 -233
  389. package/dist/stdin.d.ts.map +0 -1
  390. package/dist/tui/autocomplete/path-provider.d.ts +0 -21
  391. package/dist/tui/autocomplete/path-provider.d.ts.map +0 -1
  392. package/dist/tui/autocomplete/path-provider.js +0 -164
  393. package/dist/utils/iterables.d.ts +0 -2
  394. package/dist/utils/iterables.d.ts.map +0 -1
  395. package/dist/utils/iterables.js +0 -6
  396. package/dist/version.d.ts.map +0 -1
  397. /package/dist/{dedent.d.ts → utils/dedent.d.ts} +0 -0
  398. /package/dist/{dedent.js → utils/dedent.js} +0 -0
  399. /package/dist/{formatting.d.ts → utils/formatting.d.ts} +0 -0
  400. /package/dist/{logger.d.ts → utils/logger.d.ts} +0 -0
  401. /package/dist/{parsing.d.ts → utils/parsing.d.ts} +0 -0
  402. /package/dist/{parsing.js → utils/parsing.js} +0 -0
  403. /package/dist/{version.d.ts → utils/version.d.ts} +0 -0
@@ -3,365 +3,418 @@ function validate(codePoint) {
3
3
  throw new TypeError(`Expected a code point, got \`${typeof codePoint}\`.`);
4
4
  }
5
5
  }
6
+ // Individual code points that are ambiguous (stored in Set for O(1) lookup)
7
+ const AMBIGUOUS_CODE_POINTS = new Set([
8
+ 0xa1,
9
+ 0xa4,
10
+ 0xa7,
11
+ 0xa8,
12
+ 0xaa,
13
+ 0xad,
14
+ 0xae, // 0xa1-0xae range (partial)
15
+ 0xc6,
16
+ 0xd0,
17
+ 0xd7,
18
+ 0xd8, // 0xc6-0xd8 range (partial)
19
+ 0xe6,
20
+ 0xec,
21
+ 0xed,
22
+ 0xf0,
23
+ 0xf2,
24
+ 0xf3, // 0xe6-0xf3 range (partial)
25
+ 0xfc,
26
+ 0xfe, // 0xfc-0xfe
27
+ 0x101,
28
+ 0x111,
29
+ 0x113,
30
+ 0x11b, // 0x101-0x11b range (partial)
31
+ 0x126,
32
+ 0x127,
33
+ 0x12b, // 0x126-0x12b range (partial)
34
+ 0x138, // 0x138
35
+ 0x144, // 0x144
36
+ 0x14d,
37
+ 0x152,
38
+ 0x153, // 0x14d-0x153 range (partial)
39
+ 0x166,
40
+ 0x167,
41
+ 0x16b, // 0x166-0x16b range (partial)
42
+ 0x1ce,
43
+ 0x1d0,
44
+ 0x1d2,
45
+ 0x1d4,
46
+ 0x1d6,
47
+ 0x1d8,
48
+ 0x1da,
49
+ 0x1dc, // 0x1ce-0x1dc range
50
+ 0x251,
51
+ 0x261, // 0x251-0x261 range (partial)
52
+ 0x2c4,
53
+ 0x2c7, // 0x2c4-0x2c7 range (partial)
54
+ 0x2cd,
55
+ 0x2d0, // 0x2cd-0x2d0 range (partial)
56
+ 0x2dd,
57
+ 0x2df, // 0x2dd-0x2df range (partial)
58
+ 0x401,
59
+ 0x451, // 0x401, 0x451
60
+ 0x2010, // 0x2010
61
+ 0x2018,
62
+ 0x2019,
63
+ 0x201c,
64
+ 0x201d, // 0x2018-0x201d range
65
+ 0x2020,
66
+ 0x2021,
67
+ 0x2022, // 0x2020-0x2022 range
68
+ 0x2024,
69
+ 0x2025,
70
+ 0x2026,
71
+ 0x2027, // 0x2024-0x2027 range
72
+ 0x2030,
73
+ 0x2032,
74
+ 0x2033,
75
+ 0x2035, // 0x2030-0x2035 range (partial)
76
+ 0x203b,
77
+ 0x203e, // 0x203b-0x203e range
78
+ 0x2074,
79
+ 0x207f, // 0x2074-0x207f range
80
+ 0x20ac, // 0x20ac
81
+ 0x2103,
82
+ 0x2105,
83
+ 0x2109, // 0x2103-0x2109 range (partial)
84
+ 0x2113,
85
+ 0x2116, // 0x2113-0x2116 range
86
+ 0x2121,
87
+ 0x2122,
88
+ 0x2126,
89
+ 0x212b, // 0x2121-0x212b range
90
+ 0x2153,
91
+ 0x2154, // 0x2153-0x2154
92
+ 0x2189, // 0x2189
93
+ 0x21b8,
94
+ 0x21b9, // 0x21b8-0x21b9
95
+ 0x21d2,
96
+ 0x21d4, // 0x21d2-0x21d4
97
+ 0x21e7, // 0x21e7
98
+ 0x2200,
99
+ 0x2202,
100
+ 0x2203,
101
+ 0x2207, // 0x2200-0x2207 range (partial)
102
+ 0x2208,
103
+ 0x220b, // 0x2208-0x220b range
104
+ 0x220f,
105
+ 0x2211, // 0x220f-0x2211 range
106
+ 0x2215, // 0x2215
107
+ 0x221a, // 0x221a
108
+ 0x2223,
109
+ 0x2225, // 0x2223-0x2225 range
110
+ 0x222e, // 0x222e
111
+ 0x223c,
112
+ 0x223d, // 0x223c-0x223d
113
+ 0x2248,
114
+ 0x224c, // 0x2248-0x224c
115
+ 0x2252, // 0x2252
116
+ 0x2260,
117
+ 0x2261, // 0x2260-0x2261
118
+ 0x226a,
119
+ 0x226b, // 0x226a-0x226b
120
+ 0x226e,
121
+ 0x226f, // 0x226e-0x226f
122
+ 0x2282,
123
+ 0x2283, // 0x2282-0x2283
124
+ 0x2286,
125
+ 0x2287, // 0x2286-0x2287
126
+ 0x2295,
127
+ 0x2299, // 0x2295-0x2299
128
+ 0x22a5,
129
+ 0x22bf, // 0x22a5-0x22bf
130
+ 0x2312, // 0x2312
131
+ 0x25a0,
132
+ 0x25a1, // 0x25a0-0x25a1
133
+ 0x25b2,
134
+ 0x25b3, // 0x25b2-0x25b3
135
+ 0x25b6,
136
+ 0x25b7, // 0x25b6-0x25b7
137
+ 0x25bc,
138
+ 0x25bd, // 0x25bc-0x25bd
139
+ 0x25c0,
140
+ 0x25c1, // 0x25c0-0x25c1
141
+ 0x25cb, // 0x25cb
142
+ 0x25ef, // 0x25ef
143
+ 0x2605,
144
+ 0x2606, // 0x2605-0x2606
145
+ 0x2609, // 0x2609
146
+ 0x260e,
147
+ 0x260f, // 0x260e-0x260f
148
+ 0x261c,
149
+ 0x261e, // 0x261c-0x261e
150
+ 0x2640,
151
+ 0x2642, // 0x2640-0x2642
152
+ 0x2660,
153
+ 0x2661, // 0x2660-0x2661
154
+ 0x266d,
155
+ 0x266f, // 0x266d-0x266f
156
+ 0x269e,
157
+ 0x269f, // 0x269e-0x269f
158
+ 0x26bf, // 0x26bf
159
+ 0x26e3, // 0x26e3
160
+ 0x26e8,
161
+ 0x26e9, // 0x26e8-0x26e9
162
+ 0x26f4, // 0x26f4
163
+ 0x26fb,
164
+ 0x26fc,
165
+ 0x26fe,
166
+ 0x26ff, // 0x26fb-0x26ff
167
+ 0x273d, // 0x273d
168
+ 0xfffd, // 0xfffd
169
+ 0x1f18f,
170
+ 0x1f190, // 0x1f18f-0x1f190
171
+ ]);
172
+ // Ranges of ambiguous code points (stored as [start, end] tuples)
173
+ const AMBIGUOUS_RANGES = [
174
+ [0xb0, 0xb4], // Latin Extended Additional
175
+ [0xb6, 0xba], // Latin Extended Additional
176
+ [0xbc, 0xbf], // Latin Extended Additional
177
+ [0xde, 0xe1], // Latin Extended Additional
178
+ [0xe8, 0xea], // Latin Extended Additional
179
+ [0xf7, 0xfa], // Latin Extended Additional
180
+ [0x101, 0x101], // Added for completeness
181
+ [0x111, 0x111],
182
+ [0x113, 0x113],
183
+ [0x11b, 0x11b],
184
+ [0x131, 0x133], // Latin Extended Additional
185
+ [0x13f, 0x142], // Latin Extended Additional
186
+ [0x144, 0x144],
187
+ [0x148, 0x14b], // Latin Extended Additional
188
+ [0x14d, 0x14d],
189
+ [0x152, 0x153], // Latin Extended Additional
190
+ [0x166, 0x167], // Latin Extended Additional
191
+ [0x16b, 0x16b],
192
+ [0x2c9, 0x2cb], // Cyrillic Extended Additional
193
+ [0x2d8, 0x2db], // Cyrillic Extended Additional
194
+ [0x300, 0x36f], // Combining Diacritical Marks
195
+ [0x391, 0x3a1], // Greek and Coptic (uppercase)
196
+ [0x3a3, 0x3a9], // Greek and Coptic (uppercase)
197
+ [0x3b1, 0x3c1], // Greek and Coptic (lowercase)
198
+ [0x3c3, 0x3c9], // Greek and Coptic (lowercase)
199
+ [0x410, 0x44f], // Cyrillic
200
+ [0x2013, 0x2016], // General Punctuation
201
+ [0x2024, 0x2027], // General Punctuation
202
+ [0x215b, 0x215e], // Number Forms
203
+ [0x2160, 0x216b], // Number Forms (Roman numerals)
204
+ [0x2170, 0x2179], // Number Forms (small Roman)
205
+ [0x2190, 0x2199], // Arrows
206
+ [0x21d2, 0x21d2],
207
+ [0x21d4, 0x21d4],
208
+ [0x221d, 0x2220], // Mathematical Operators
209
+ [0x2227, 0x222c], // Mathematical Operators
210
+ [0x2234, 0x2237], // Mathematical Operators
211
+ [0x223c, 0x223d], // Mathematical Operators
212
+ [0x2248, 0x2248],
213
+ [0x224c, 0x224c],
214
+ [0x2252, 0x2252],
215
+ [0x2260, 0x2261], // Mathematical Operators
216
+ [0x2264, 0x2267], // Mathematical Operators
217
+ [0x226a, 0x226b], // Mathematical Operators
218
+ [0x226e, 0x226f], // Mathematical Operators
219
+ [0x2282, 0x2283], // Mathematical Operators
220
+ [0x2286, 0x2287], // Mathematical Operators
221
+ [0x2295, 0x2295],
222
+ [0x2299, 0x2299],
223
+ [0x22a5, 0x22a5],
224
+ [0x22bf, 0x22bf],
225
+ [0x2312, 0x2312],
226
+ [0x2460, 0x24e9], // Enclosed Alphanumerics
227
+ [0x24eb, 0x254b], // Enclosed Alphanumerics
228
+ [0x2550, 0x2573], // Box Drawing
229
+ [0x2580, 0x258f], // Block Elements
230
+ [0x2592, 0x2595], // Block Elements
231
+ [0x25a3, 0x25a9], // Geometric Shapes
232
+ [0x25b2, 0x25b3], // Geometric Shapes
233
+ [0x25b6, 0x25b7], // Geometric Shapes
234
+ [0x25bc, 0x25bd], // Geometric Shapes
235
+ [0x25c0, 0x25c1], // Geometric Shapes
236
+ [0x25c6, 0x25c8], // Geometric Shapes
237
+ [0x25ce, 0x25d1], // Geometric Shapes
238
+ [0x25e2, 0x25e5], // Geometric Shapes
239
+ [0x2605, 0x2606], // Miscellaneous Symbols
240
+ [0x2609, 0x2609],
241
+ [0x260e, 0x260f], // Miscellaneous Symbols
242
+ [0x261c, 0x261e], // Miscellaneous Symbols
243
+ [0x2640, 0x2640],
244
+ [0x2642, 0x2642],
245
+ [0x2660, 0x2661], // Miscellaneous Symbols
246
+ [0x2663, 0x2665], // Miscellaneous Symbols
247
+ [0x2667, 0x266a], // Miscellaneous Symbols
248
+ [0x266c, 0x266c],
249
+ [0x266d, 0x266d],
250
+ [0x266f, 0x266f],
251
+ [0x26c6, 0x26cd], // Miscellaneous Symbols
252
+ [0x26cf, 0x26d3], // Miscellaneous Symbols
253
+ [0x26d5, 0x26e1], // Miscellaneous Symbols
254
+ [0x26e8, 0x26e9], // Miscellaneous Symbols
255
+ [0x26eb, 0x26f1], // Miscellaneous Symbols
256
+ [0x26f4, 0x26f4],
257
+ [0x26f6, 0x26f9], // Miscellaneous Symbols
258
+ [0x26fb, 0x26fc], // Miscellaneous Symbols
259
+ [0x26fe, 0x26ff], // Miscellaneous Symbols
260
+ [0x2776, 0x277f], // Dingbats
261
+ [0x2b56, 0x2b59], // Miscellaneous Symbols and Arrows
262
+ [0x3248, 0x324f], // Enclosed CJK
263
+ [0xe000, 0xf8ff], // Private Use Area
264
+ [0xfe00, 0xfe0f], // Variation Selectors
265
+ [0x1f100, 0x1f10a], // Enclosed Alphanumeric Supplement
266
+ [0x1f110, 0x1f12d], // Enclosed Alphanumeric Supplement
267
+ [0x1f130, 0x1f169], // Enclosed Alphanumeric Supplement
268
+ [0x1f170, 0x1f18d], // Enclosed Alphanumeric Supplement
269
+ [0x1f19b, 0x1f1ac], // Enclosed Alphanumeric Supplement
270
+ [0xe0100, 0xe01ef], // Variation Selectors Supplement
271
+ [0xf0000, 0xffffd], // Supplementary Private Use Area-A
272
+ [0x100000, 0x10fffd], // Supplementary Private Use Area-B
273
+ ];
6
274
  function isAmbiguous(codePoint) {
7
- return (codePoint === 0xa1 ||
8
- codePoint === 0xa4 ||
9
- codePoint === 0xa7 ||
10
- codePoint === 0xa8 ||
11
- codePoint === 0xaa ||
12
- codePoint === 0xad ||
13
- codePoint === 0xae ||
14
- (codePoint >= 0xb0 && codePoint <= 0xb4) ||
15
- (codePoint >= 0xb6 && codePoint <= 0xba) ||
16
- (codePoint >= 0xbc && codePoint <= 0xbf) ||
17
- codePoint === 0xc6 ||
18
- codePoint === 0xd0 ||
19
- codePoint === 0xd7 ||
20
- codePoint === 0xd8 ||
21
- (codePoint >= 0xde && codePoint <= 0xe1) ||
22
- codePoint === 0xe6 ||
23
- (codePoint >= 0xe8 && codePoint <= 0xea) ||
24
- codePoint === 0xec ||
25
- codePoint === 0xed ||
26
- codePoint === 0xf0 ||
27
- codePoint === 0xf2 ||
28
- codePoint === 0xf3 ||
29
- (codePoint >= 0xf7 && codePoint <= 0xfa) ||
30
- codePoint === 0xfc ||
31
- codePoint === 0xfe ||
32
- codePoint === 0x101 ||
33
- codePoint === 0x111 ||
34
- codePoint === 0x113 ||
35
- codePoint === 0x11b ||
36
- codePoint === 0x126 ||
37
- codePoint === 0x127 ||
38
- codePoint === 0x12b ||
39
- (codePoint >= 0x131 && codePoint <= 0x133) ||
40
- codePoint === 0x138 ||
41
- (codePoint >= 0x13f && codePoint <= 0x142) ||
42
- codePoint === 0x144 ||
43
- (codePoint >= 0x148 && codePoint <= 0x14b) ||
44
- codePoint === 0x14d ||
45
- codePoint === 0x152 ||
46
- codePoint === 0x153 ||
47
- codePoint === 0x166 ||
48
- codePoint === 0x167 ||
49
- codePoint === 0x16b ||
50
- codePoint === 0x1ce ||
51
- codePoint === 0x1d0 ||
52
- codePoint === 0x1d2 ||
53
- codePoint === 0x1d4 ||
54
- codePoint === 0x1d6 ||
55
- codePoint === 0x1d8 ||
56
- codePoint === 0x1da ||
57
- codePoint === 0x1dc ||
58
- codePoint === 0x251 ||
59
- codePoint === 0x261 ||
60
- codePoint === 0x2c4 ||
61
- codePoint === 0x2c7 ||
62
- (codePoint >= 0x2c9 && codePoint <= 0x2cb) ||
63
- codePoint === 0x2cd ||
64
- codePoint === 0x2d0 ||
65
- (codePoint >= 0x2d8 && codePoint <= 0x2db) ||
66
- codePoint === 0x2dd ||
67
- codePoint === 0x2df ||
68
- (codePoint >= 0x300 && codePoint <= 0x36f) ||
69
- (codePoint >= 0x391 && codePoint <= 0x3a1) ||
70
- (codePoint >= 0x3a3 && codePoint <= 0x3a9) ||
71
- (codePoint >= 0x3b1 && codePoint <= 0x3c1) ||
72
- (codePoint >= 0x3c3 && codePoint <= 0x3c9) ||
73
- codePoint === 0x401 ||
74
- (codePoint >= 0x410 && codePoint <= 0x44f) ||
75
- codePoint === 0x451 ||
76
- codePoint === 0x2010 ||
77
- (codePoint >= 0x2013 && codePoint <= 0x2016) ||
78
- codePoint === 0x2018 ||
79
- codePoint === 0x2019 ||
80
- codePoint === 0x201c ||
81
- codePoint === 0x201d ||
82
- (codePoint >= 0x2020 && codePoint <= 0x2022) ||
83
- (codePoint >= 0x2024 && codePoint <= 0x2027) ||
84
- codePoint === 0x2030 ||
85
- codePoint === 0x2032 ||
86
- codePoint === 0x2033 ||
87
- codePoint === 0x2035 ||
88
- codePoint === 0x203b ||
89
- codePoint === 0x203e ||
90
- codePoint === 0x2074 ||
91
- codePoint === 0x207f ||
92
- (codePoint >= 0x2081 && codePoint <= 0x2084) ||
93
- codePoint === 0x20ac ||
94
- codePoint === 0x2103 ||
95
- codePoint === 0x2105 ||
96
- codePoint === 0x2109 ||
97
- codePoint === 0x2113 ||
98
- codePoint === 0x2116 ||
99
- codePoint === 0x2121 ||
100
- codePoint === 0x2122 ||
101
- codePoint === 0x2126 ||
102
- codePoint === 0x212b ||
103
- codePoint === 0x2153 ||
104
- codePoint === 0x2154 ||
105
- (codePoint >= 0x215b && codePoint <= 0x215e) ||
106
- (codePoint >= 0x2160 && codePoint <= 0x216b) ||
107
- (codePoint >= 0x2170 && codePoint <= 0x2179) ||
108
- codePoint === 0x2189 ||
109
- (codePoint >= 0x2190 && codePoint <= 0x2199) ||
110
- codePoint === 0x21b8 ||
111
- codePoint === 0x21b9 ||
112
- codePoint === 0x21d2 ||
113
- codePoint === 0x21d4 ||
114
- codePoint === 0x21e7 ||
115
- codePoint === 0x2200 ||
116
- codePoint === 0x2202 ||
117
- codePoint === 0x2203 ||
118
- codePoint === 0x2207 ||
119
- codePoint === 0x2208 ||
120
- codePoint === 0x220b ||
121
- codePoint === 0x220f ||
122
- codePoint === 0x2211 ||
123
- codePoint === 0x2215 ||
124
- codePoint === 0x221a ||
125
- (codePoint >= 0x221d && codePoint <= 0x2220) ||
126
- codePoint === 0x2223 ||
127
- codePoint === 0x2225 ||
128
- (codePoint >= 0x2227 && codePoint <= 0x222c) ||
129
- codePoint === 0x222e ||
130
- (codePoint >= 0x2234 && codePoint <= 0x2237) ||
131
- codePoint === 0x223c ||
132
- codePoint === 0x223d ||
133
- codePoint === 0x2248 ||
134
- codePoint === 0x224c ||
135
- codePoint === 0x2252 ||
136
- codePoint === 0x2260 ||
137
- codePoint === 0x2261 ||
138
- (codePoint >= 0x2264 && codePoint <= 0x2267) ||
139
- codePoint === 0x226a ||
140
- codePoint === 0x226b ||
141
- codePoint === 0x226e ||
142
- codePoint === 0x226f ||
143
- codePoint === 0x2282 ||
144
- codePoint === 0x2283 ||
145
- codePoint === 0x2286 ||
146
- codePoint === 0x2287 ||
147
- codePoint === 0x2295 ||
148
- codePoint === 0x2299 ||
149
- codePoint === 0x22a5 ||
150
- codePoint === 0x22bf ||
151
- codePoint === 0x2312 ||
152
- (codePoint >= 0x2460 && codePoint <= 0x24e9) ||
153
- (codePoint >= 0x24eb && codePoint <= 0x254b) ||
154
- (codePoint >= 0x2550 && codePoint <= 0x2573) ||
155
- (codePoint >= 0x2580 && codePoint <= 0x258f) ||
156
- (codePoint >= 0x2592 && codePoint <= 0x2595) ||
157
- codePoint === 0x25a0 ||
158
- codePoint === 0x25a1 ||
159
- (codePoint >= 0x25a3 && codePoint <= 0x25a9) ||
160
- codePoint === 0x25b2 ||
161
- codePoint === 0x25b3 ||
162
- codePoint === 0x25b6 ||
163
- codePoint === 0x25b7 ||
164
- codePoint === 0x25bc ||
165
- codePoint === 0x25bd ||
166
- codePoint === 0x25c0 ||
167
- codePoint === 0x25c1 ||
168
- (codePoint >= 0x25c6 && codePoint <= 0x25c8) ||
169
- codePoint === 0x25cb ||
170
- (codePoint >= 0x25ce && codePoint <= 0x25d1) ||
171
- (codePoint >= 0x25e2 && codePoint <= 0x25e5) ||
172
- codePoint === 0x25ef ||
173
- codePoint === 0x2605 ||
174
- codePoint === 0x2606 ||
175
- codePoint === 0x2609 ||
176
- codePoint === 0x260e ||
177
- codePoint === 0x260f ||
178
- codePoint === 0x261c ||
179
- codePoint === 0x261e ||
180
- codePoint === 0x2640 ||
181
- codePoint === 0x2642 ||
182
- codePoint === 0x2660 ||
183
- codePoint === 0x2661 ||
184
- (codePoint >= 0x2663 && codePoint <= 0x2665) ||
185
- (codePoint >= 0x2667 && codePoint <= 0x266a) ||
186
- codePoint === 0x266c ||
187
- codePoint === 0x266d ||
188
- codePoint === 0x266f ||
189
- codePoint === 0x269e ||
190
- codePoint === 0x269f ||
191
- codePoint === 0x26bf ||
192
- (codePoint >= 0x26c6 && codePoint <= 0x26cd) ||
193
- (codePoint >= 0x26cf && codePoint <= 0x26d3) ||
194
- (codePoint >= 0x26d5 && codePoint <= 0x26e1) ||
195
- codePoint === 0x26e3 ||
196
- codePoint === 0x26e8 ||
197
- codePoint === 0x26e9 ||
198
- (codePoint >= 0x26eb && codePoint <= 0x26f1) ||
199
- codePoint === 0x26f4 ||
200
- (codePoint >= 0x26f6 && codePoint <= 0x26f9) ||
201
- codePoint === 0x26fb ||
202
- codePoint === 0x26fc ||
203
- codePoint === 0x26fe ||
204
- codePoint === 0x26ff ||
205
- codePoint === 0x273d ||
206
- (codePoint >= 0x2776 && codePoint <= 0x277f) ||
207
- (codePoint >= 0x2b56 && codePoint <= 0x2b59) ||
208
- (codePoint >= 0x3248 && codePoint <= 0x324f) ||
209
- (codePoint >= 0xe000 && codePoint <= 0xf8ff) ||
210
- (codePoint >= 0xfe00 && codePoint <= 0xfe0f) ||
211
- codePoint === 0xfffd ||
212
- (codePoint >= 0x1f100 && codePoint <= 0x1f10a) ||
213
- (codePoint >= 0x1f110 && codePoint <= 0x1f12d) ||
214
- (codePoint >= 0x1f130 && codePoint <= 0x1f169) ||
215
- (codePoint >= 0x1f170 && codePoint <= 0x1f18d) ||
216
- codePoint === 0x1f18f ||
217
- codePoint === 0x1f190 ||
218
- (codePoint >= 0x1f19b && codePoint <= 0x1f1ac) ||
219
- (codePoint >= 0xe0100 && codePoint <= 0xe01ef) ||
220
- (codePoint >= 0xf0000 && codePoint <= 0xffffd) ||
221
- (codePoint >= 0x100000 && codePoint <= 0x10fffd));
275
+ // Check individual code points first (O(1) lookup)
276
+ if (AMBIGUOUS_CODE_POINTS.has(codePoint)) {
277
+ return true;
278
+ }
279
+ // Then check ranges (linear in number of ranges, which is much smaller)
280
+ for (const [start, end] of AMBIGUOUS_RANGES) {
281
+ if (codePoint >= start && codePoint <= end) {
282
+ return true;
283
+ }
284
+ }
285
+ return false;
222
286
  }
223
287
  function isFullWidth(codePoint) {
224
288
  return (codePoint === 0x3000 ||
225
289
  (codePoint >= 0xff01 && codePoint <= 0xff60) ||
226
290
  (codePoint >= 0xffe0 && codePoint <= 0xffe6));
227
291
  }
292
+ const WIDE_RANGES = [
293
+ [0x1100, 0x115f],
294
+ [0x231a, 0x231b],
295
+ [0x2329, 0x232a],
296
+ [0x23e9, 0x23ec],
297
+ [0x23f0, 0x23f0],
298
+ [0x23f3, 0x23f3],
299
+ [0x25fd, 0x25fe],
300
+ [0x2614, 0x2615],
301
+ [0x2630, 0x2637],
302
+ [0x2648, 0x2653],
303
+ [0x267f, 0x267f],
304
+ [0x268a, 0x268f],
305
+ [0x2693, 0x2693],
306
+ [0x26a1, 0x26a1],
307
+ [0x26aa, 0x26ab],
308
+ [0x26bd, 0x26be],
309
+ [0x26c4, 0x26c5],
310
+ [0x26ce, 0x26ce],
311
+ [0x26d4, 0x26d4],
312
+ [0x26ea, 0x26ea],
313
+ [0x26f2, 0x26f3],
314
+ [0x26f5, 0x26f5],
315
+ [0x26fa, 0x26fa],
316
+ [0x26fd, 0x26fd],
317
+ [0x2705, 0x2705],
318
+ [0x270a, 0x270b],
319
+ [0x2728, 0x2728],
320
+ [0x274c, 0x274c],
321
+ [0x274e, 0x274e],
322
+ [0x2753, 0x2755],
323
+ [0x2757, 0x2757],
324
+ [0x2795, 0x2797],
325
+ [0x27b0, 0x27b0],
326
+ [0x27bf, 0x27bf],
327
+ [0x2b1b, 0x2b1c],
328
+ [0x2b50, 0x2b50],
329
+ [0x2b55, 0x2b55],
330
+ [0x2e80, 0x2e99],
331
+ [0x2e9b, 0x2ef3],
332
+ [0x2f00, 0x2fd5],
333
+ [0x2ff0, 0x2fff],
334
+ [0x3001, 0x303e],
335
+ [0x3041, 0x3096],
336
+ [0x3099, 0x30ff],
337
+ [0x3105, 0x312f],
338
+ [0x3131, 0x318e],
339
+ [0x3190, 0x31e5],
340
+ [0x31ef, 0x321e],
341
+ [0x3220, 0x3247],
342
+ [0x3250, 0xa48c],
343
+ [0xa490, 0xa4c6],
344
+ [0xa960, 0xa97c],
345
+ [0xac00, 0xd7a3],
346
+ [0xf900, 0xfaff],
347
+ [0xfe10, 0xfe19],
348
+ [0xfe30, 0xfe52],
349
+ [0xfe54, 0xfe66],
350
+ [0xfe68, 0xfe6b],
351
+ [0x16fe0, 0x16fe4],
352
+ [0x16ff0, 0x16ff6],
353
+ [0x17000, 0x18cd5],
354
+ [0x18cff, 0x18d1e],
355
+ [0x18d80, 0x18df2],
356
+ [0x1aff0, 0x1aff3],
357
+ [0x1aff5, 0x1affb],
358
+ [0x1affd, 0x1affe],
359
+ [0x1b000, 0x1b122],
360
+ [0x1b132, 0x1b132],
361
+ [0x1b150, 0x1b152],
362
+ [0x1b155, 0x1b155],
363
+ [0x1b164, 0x1b167],
364
+ [0x1b170, 0x1b2fb],
365
+ [0x1d300, 0x1d356],
366
+ [0x1d360, 0x1d376],
367
+ [0x1f004, 0x1f004],
368
+ [0x1f0cf, 0x1f0cf],
369
+ [0x1f18e, 0x1f18e],
370
+ [0x1f191, 0x1f19a],
371
+ [0x1f200, 0x1f202],
372
+ [0x1f210, 0x1f23b],
373
+ [0x1f240, 0x1f248],
374
+ [0x1f250, 0x1f251],
375
+ [0x1f260, 0x1f265],
376
+ [0x1f300, 0x1f320],
377
+ [0x1f32d, 0x1f335],
378
+ [0x1f337, 0x1f37c],
379
+ [0x1f37e, 0x1f393],
380
+ [0x1f3a0, 0x1f3ca],
381
+ [0x1f3cf, 0x1f3d3],
382
+ [0x1f3e0, 0x1f3f0],
383
+ [0x1f3f4, 0x1f3f4],
384
+ [0x1f3f8, 0x1f43e],
385
+ [0x1f440, 0x1f440],
386
+ [0x1f442, 0x1f4fc],
387
+ [0x1f4ff, 0x1f53d],
388
+ [0x1f54b, 0x1f54e],
389
+ [0x1f550, 0x1f567],
390
+ [0x1f57a, 0x1f57a],
391
+ [0x1f595, 0x1f596],
392
+ [0x1f5a4, 0x1f5a4],
393
+ [0x1f5fb, 0x1f64f],
394
+ [0x1f680, 0x1f6c5],
395
+ [0x1f6cc, 0x1f6cc],
396
+ [0x1f6d0, 0x1f6d2],
397
+ [0x1f6d5, 0x1f6d8],
398
+ [0x1f6dc, 0x1f6df],
399
+ [0x1f6eb, 0x1f6ec],
400
+ [0x1f6f4, 0x1f6fc],
401
+ [0x1f7e0, 0x1f7eb],
402
+ [0x1f7f0, 0x1f7f0],
403
+ [0x1f90c, 0x1f93a],
404
+ [0x1f93c, 0x1f945],
405
+ [0x1f947, 0x1f9ff],
406
+ [0x1fa70, 0x1fa7c],
407
+ [0x1fa80, 0x1fa8a],
408
+ [0x1fa8e, 0x1fac6],
409
+ [0x1fac8, 0x1fac8],
410
+ [0x1facd, 0x1fadc],
411
+ [0x1fadf, 0x1faea],
412
+ [0x1faef, 0x1faf8],
413
+ [0x20000, 0x2fffd],
414
+ [0x30000, 0x3fffd],
415
+ ];
228
416
  function isWide(codePoint) {
229
- return ((codePoint >= 0x1100 && codePoint <= 0x115f) ||
230
- codePoint === 0x231a ||
231
- codePoint === 0x231b ||
232
- codePoint === 0x2329 ||
233
- codePoint === 0x232a ||
234
- (codePoint >= 0x23e9 && codePoint <= 0x23ec) ||
235
- codePoint === 0x23f0 ||
236
- codePoint === 0x23f3 ||
237
- codePoint === 0x25fd ||
238
- codePoint === 0x25fe ||
239
- codePoint === 0x2614 ||
240
- codePoint === 0x2615 ||
241
- (codePoint >= 0x2630 && codePoint <= 0x2637) ||
242
- (codePoint >= 0x2648 && codePoint <= 0x2653) ||
243
- codePoint === 0x267f ||
244
- (codePoint >= 0x268a && codePoint <= 0x268f) ||
245
- codePoint === 0x2693 ||
246
- codePoint === 0x26a1 ||
247
- codePoint === 0x26aa ||
248
- codePoint === 0x26ab ||
249
- codePoint === 0x26bd ||
250
- codePoint === 0x26be ||
251
- codePoint === 0x26c4 ||
252
- codePoint === 0x26c5 ||
253
- codePoint === 0x26ce ||
254
- codePoint === 0x26d4 ||
255
- codePoint === 0x26ea ||
256
- codePoint === 0x26f2 ||
257
- codePoint === 0x26f3 ||
258
- codePoint === 0x26f5 ||
259
- codePoint === 0x26fa ||
260
- codePoint === 0x26fd ||
261
- codePoint === 0x2705 ||
262
- codePoint === 0x270a ||
263
- codePoint === 0x270b ||
264
- codePoint === 0x2728 ||
265
- codePoint === 0x274c ||
266
- codePoint === 0x274e ||
267
- (codePoint >= 0x2753 && codePoint <= 0x2755) ||
268
- codePoint === 0x2757 ||
269
- (codePoint >= 0x2795 && codePoint <= 0x2797) ||
270
- codePoint === 0x27b0 ||
271
- codePoint === 0x27bf ||
272
- codePoint === 0x2b1b ||
273
- codePoint === 0x2b1c ||
274
- codePoint === 0x2b50 ||
275
- codePoint === 0x2b55 ||
276
- (codePoint >= 0x2e80 && codePoint <= 0x2e99) ||
277
- (codePoint >= 0x2e9b && codePoint <= 0x2ef3) ||
278
- (codePoint >= 0x2f00 && codePoint <= 0x2fd5) ||
279
- (codePoint >= 0x2ff0 && codePoint <= 0x2fff) ||
280
- (codePoint >= 0x3001 && codePoint <= 0x303e) ||
281
- (codePoint >= 0x3041 && codePoint <= 0x3096) ||
282
- (codePoint >= 0x3099 && codePoint <= 0x30ff) ||
283
- (codePoint >= 0x3105 && codePoint <= 0x312f) ||
284
- (codePoint >= 0x3131 && codePoint <= 0x318e) ||
285
- (codePoint >= 0x3190 && codePoint <= 0x31e5) ||
286
- (codePoint >= 0x31ef && codePoint <= 0x321e) ||
287
- (codePoint >= 0x3220 && codePoint <= 0x3247) ||
288
- (codePoint >= 0x3250 && codePoint <= 0xa48c) ||
289
- (codePoint >= 0xa490 && codePoint <= 0xa4c6) ||
290
- (codePoint >= 0xa960 && codePoint <= 0xa97c) ||
291
- (codePoint >= 0xac00 && codePoint <= 0xd7a3) ||
292
- (codePoint >= 0xf900 && codePoint <= 0xfaff) ||
293
- (codePoint >= 0xfe10 && codePoint <= 0xfe19) ||
294
- (codePoint >= 0xfe30 && codePoint <= 0xfe52) ||
295
- (codePoint >= 0xfe54 && codePoint <= 0xfe66) ||
296
- (codePoint >= 0xfe68 && codePoint <= 0xfe6b) ||
297
- (codePoint >= 0x16fe0 && codePoint <= 0x16fe4) ||
298
- (codePoint >= 0x16ff0 && codePoint <= 0x16ff6) ||
299
- (codePoint >= 0x17000 && codePoint <= 0x18cd5) ||
300
- (codePoint >= 0x18cff && codePoint <= 0x18d1e) ||
301
- (codePoint >= 0x18d80 && codePoint <= 0x18df2) ||
302
- (codePoint >= 0x1aff0 && codePoint <= 0x1aff3) ||
303
- (codePoint >= 0x1aff5 && codePoint <= 0x1affb) ||
304
- codePoint === 0x1affd ||
305
- codePoint === 0x1affe ||
306
- (codePoint >= 0x1b000 && codePoint <= 0x1b122) ||
307
- codePoint === 0x1b132 ||
308
- (codePoint >= 0x1b150 && codePoint <= 0x1b152) ||
309
- codePoint === 0x1b155 ||
310
- (codePoint >= 0x1b164 && codePoint <= 0x1b167) ||
311
- (codePoint >= 0x1b170 && codePoint <= 0x1b2fb) ||
312
- (codePoint >= 0x1d300 && codePoint <= 0x1d356) ||
313
- (codePoint >= 0x1d360 && codePoint <= 0x1d376) ||
314
- codePoint === 0x1f004 ||
315
- codePoint === 0x1f0cf ||
316
- codePoint === 0x1f18e ||
317
- (codePoint >= 0x1f191 && codePoint <= 0x1f19a) ||
318
- (codePoint >= 0x1f200 && codePoint <= 0x1f202) ||
319
- (codePoint >= 0x1f210 && codePoint <= 0x1f23b) ||
320
- (codePoint >= 0x1f240 && codePoint <= 0x1f248) ||
321
- codePoint === 0x1f250 ||
322
- codePoint === 0x1f251 ||
323
- (codePoint >= 0x1f260 && codePoint <= 0x1f265) ||
324
- (codePoint >= 0x1f300 && codePoint <= 0x1f320) ||
325
- (codePoint >= 0x1f32d && codePoint <= 0x1f335) ||
326
- (codePoint >= 0x1f337 && codePoint <= 0x1f37c) ||
327
- (codePoint >= 0x1f37e && codePoint <= 0x1f393) ||
328
- (codePoint >= 0x1f3a0 && codePoint <= 0x1f3ca) ||
329
- (codePoint >= 0x1f3cf && codePoint <= 0x1f3d3) ||
330
- (codePoint >= 0x1f3e0 && codePoint <= 0x1f3f0) ||
331
- codePoint === 0x1f3f4 ||
332
- (codePoint >= 0x1f3f8 && codePoint <= 0x1f43e) ||
333
- codePoint === 0x1f440 ||
334
- (codePoint >= 0x1f442 && codePoint <= 0x1f4fc) ||
335
- (codePoint >= 0x1f4ff && codePoint <= 0x1f53d) ||
336
- (codePoint >= 0x1f54b && codePoint <= 0x1f54e) ||
337
- (codePoint >= 0x1f550 && codePoint <= 0x1f567) ||
338
- codePoint === 0x1f57a ||
339
- codePoint === 0x1f595 ||
340
- codePoint === 0x1f596 ||
341
- codePoint === 0x1f5a4 ||
342
- (codePoint >= 0x1f5fb && codePoint <= 0x1f64f) ||
343
- (codePoint >= 0x1f680 && codePoint <= 0x1f6c5) ||
344
- codePoint === 0x1f6cc ||
345
- (codePoint >= 0x1f6d0 && codePoint <= 0x1f6d2) ||
346
- (codePoint >= 0x1f6d5 && codePoint <= 0x1f6d8) ||
347
- (codePoint >= 0x1f6dc && codePoint <= 0x1f6df) ||
348
- codePoint === 0x1f6eb ||
349
- codePoint === 0x1f6ec ||
350
- (codePoint >= 0x1f6f4 && codePoint <= 0x1f6fc) ||
351
- (codePoint >= 0x1f7e0 && codePoint <= 0x1f7eb) ||
352
- codePoint === 0x1f7f0 ||
353
- (codePoint >= 0x1f90c && codePoint <= 0x1f93a) ||
354
- (codePoint >= 0x1f93c && codePoint <= 0x1f945) ||
355
- (codePoint >= 0x1f947 && codePoint <= 0x1f9ff) ||
356
- (codePoint >= 0x1fa70 && codePoint <= 0x1fa7c) ||
357
- (codePoint >= 0x1fa80 && codePoint <= 0x1fa8a) ||
358
- (codePoint >= 0x1fa8e && codePoint <= 0x1fac6) ||
359
- codePoint === 0x1fac8 ||
360
- (codePoint >= 0x1facd && codePoint <= 0x1fadc) ||
361
- (codePoint >= 0x1fadf && codePoint <= 0x1faea) ||
362
- (codePoint >= 0x1faef && codePoint <= 0x1faf8) ||
363
- (codePoint >= 0x20000 && codePoint <= 0x2fffd) ||
364
- (codePoint >= 0x30000 && codePoint <= 0x3fffd));
417
+ return WIDE_RANGES.some(([start, end]) => codePoint >= start && codePoint <= end);
365
418
  }
366
419
  function getCategory(codePoint) {
367
420
  if (isAmbiguous(codePoint))