@celljs/ta-web 0.0.0-stage → 4.6.1

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 (1077) hide show
  1. package/README.md +83 -2
  2. package/esm/browser/assistant/assistant-export.d.ts +13 -0
  3. package/esm/browser/assistant/assistant-export.js +33 -0
  4. package/esm/browser/assistant/assistant-export.js.map +1 -0
  5. package/esm/browser/assistant/assistant-extension.d.ts +20 -0
  6. package/esm/browser/assistant/assistant-extension.js +153 -0
  7. package/esm/browser/assistant/assistant-extension.js.map +1 -0
  8. package/esm/browser/assistant/assistant-hooks.d.ts +8 -0
  9. package/esm/browser/assistant/assistant-hooks.js +55 -0
  10. package/esm/browser/assistant/assistant-hooks.js.map +1 -0
  11. package/esm/browser/assistant/assistant-protocol.d.ts +51 -0
  12. package/esm/browser/assistant/assistant-protocol.js +2 -0
  13. package/esm/browser/assistant/assistant-protocol.js.map +1 -0
  14. package/esm/browser/assistant/assistant-tasks.d.ts +48 -0
  15. package/esm/browser/assistant/assistant-tasks.js +115 -0
  16. package/esm/browser/assistant/assistant-tasks.js.map +1 -0
  17. package/esm/browser/assistant/assistant-view.d.ts +21 -0
  18. package/esm/browser/assistant/assistant-view.js +324 -0
  19. package/esm/browser/assistant/assistant-view.js.map +1 -0
  20. package/esm/browser/assistant/assistant.d.ts +51 -0
  21. package/esm/browser/assistant/assistant.js +302 -0
  22. package/esm/browser/assistant/assistant.js.map +1 -0
  23. package/esm/browser/assistant/voice.d.ts +14 -0
  24. package/esm/browser/assistant/voice.js +72 -0
  25. package/esm/browser/assistant/voice.js.map +1 -0
  26. package/esm/browser/avatar/dino-avatar.d.ts +139 -0
  27. package/esm/browser/avatar/dino-avatar.js +420 -0
  28. package/esm/browser/avatar/dino-avatar.js.map +1 -0
  29. package/esm/browser/avatar/dino-motion.d.ts +24 -0
  30. package/esm/browser/avatar/dino-motion.js +295 -0
  31. package/esm/browser/avatar/dino-motion.js.map +1 -0
  32. package/esm/browser/chat/chat-protocol.d.ts +46 -0
  33. package/esm/browser/chat/chat-protocol.js +2 -0
  34. package/esm/browser/chat/chat-protocol.js.map +1 -0
  35. package/esm/browser/chat/chat-view.d.ts +15 -0
  36. package/esm/browser/chat/chat-view.js +87 -0
  37. package/esm/browser/chat/chat-view.js.map +1 -0
  38. package/esm/browser/chat/chat.d.ts +69 -0
  39. package/esm/browser/chat/chat.js +343 -0
  40. package/esm/browser/chat/chat.js.map +1 -0
  41. package/esm/browser/components/account-menu.d.ts +8 -0
  42. package/esm/browser/components/account-menu.js +82 -0
  43. package/esm/browser/components/account-menu.js.map +1 -0
  44. package/esm/browser/components/agent-settings-view.d.ts +23 -0
  45. package/esm/browser/components/agent-settings-view.js +105 -0
  46. package/esm/browser/components/agent-settings-view.js.map +1 -0
  47. package/esm/browser/components/app-view.d.ts +9 -0
  48. package/esm/browser/components/app-view.js +405 -0
  49. package/esm/browser/components/app-view.js.map +1 -0
  50. package/esm/browser/components/auth-pictures.d.ts +6 -0
  51. package/esm/browser/components/auth-pictures.js +37 -0
  52. package/esm/browser/components/auth-pictures.js.map +1 -0
  53. package/esm/browser/components/auth-view.d.ts +54 -0
  54. package/esm/browser/components/auth-view.js +300 -0
  55. package/esm/browser/components/auth-view.js.map +1 -0
  56. package/esm/browser/components/callout.d.ts +18 -0
  57. package/esm/browser/components/callout.js +17 -0
  58. package/esm/browser/components/callout.js.map +1 -0
  59. package/esm/browser/components/chat-list.d.ts +52 -0
  60. package/esm/browser/components/chat-list.js +189 -0
  61. package/esm/browser/components/chat-list.js.map +1 -0
  62. package/esm/browser/components/code-editor.d.ts +7 -0
  63. package/esm/browser/components/code-editor.js +85 -0
  64. package/esm/browser/components/code-editor.js.map +1 -0
  65. package/esm/browser/components/composer-box.d.ts +73 -0
  66. package/esm/browser/components/composer-box.js +297 -0
  67. package/esm/browser/components/composer-box.js.map +1 -0
  68. package/esm/browser/components/composer-menu.d.ts +17 -0
  69. package/esm/browser/components/composer-menu.js +18 -0
  70. package/esm/browser/components/composer-menu.js.map +1 -0
  71. package/esm/browser/components/composer.d.ts +37 -0
  72. package/esm/browser/components/composer.js +99 -0
  73. package/esm/browser/components/composer.js.map +1 -0
  74. package/esm/browser/components/connection-bar.d.ts +6 -0
  75. package/esm/browser/components/connection-bar.js +73 -0
  76. package/esm/browser/components/connection-bar.js.map +1 -0
  77. package/esm/browser/components/context-menu.d.ts +12 -0
  78. package/esm/browser/components/context-menu.js +68 -0
  79. package/esm/browser/components/context-menu.js.map +1 -0
  80. package/esm/browser/components/conversation-scroll.d.ts +13 -0
  81. package/esm/browser/components/conversation-scroll.js +121 -0
  82. package/esm/browser/components/conversation-scroll.js.map +1 -0
  83. package/esm/browser/components/dialog-view.d.ts +9 -0
  84. package/esm/browser/components/dialog-view.js +41 -0
  85. package/esm/browser/components/dialog-view.js.map +1 -0
  86. package/esm/browser/components/diff-editor.d.ts +10 -0
  87. package/esm/browser/components/diff-editor.js +101 -0
  88. package/esm/browser/components/diff-editor.js.map +1 -0
  89. package/esm/browser/components/diff-view.d.ts +4 -0
  90. package/esm/browser/components/diff-view.js +11 -0
  91. package/esm/browser/components/diff-view.js.map +1 -0
  92. package/esm/browser/components/dino.d.ts +8 -0
  93. package/esm/browser/components/dino.js +14 -0
  94. package/esm/browser/components/dino.js.map +1 -0
  95. package/esm/browser/components/editor-area.d.ts +28 -0
  96. package/esm/browser/components/editor-area.js +134 -0
  97. package/esm/browser/components/editor-area.js.map +1 -0
  98. package/esm/browser/components/folder-picker.d.ts +28 -0
  99. package/esm/browser/components/folder-picker.js +106 -0
  100. package/esm/browser/components/folder-picker.js.map +1 -0
  101. package/esm/browser/components/fork-view.d.ts +14 -0
  102. package/esm/browser/components/fork-view.js +43 -0
  103. package/esm/browser/components/fork-view.js.map +1 -0
  104. package/esm/browser/components/hero-cards.d.ts +20 -0
  105. package/esm/browser/components/hero-cards.js +109 -0
  106. package/esm/browser/components/hero-cards.js.map +1 -0
  107. package/esm/browser/components/icon.d.ts +29 -0
  108. package/esm/browser/components/icon.js +23 -0
  109. package/esm/browser/components/icon.js.map +1 -0
  110. package/esm/browser/components/link-dialog.d.ts +3 -0
  111. package/esm/browser/components/link-dialog.js +45 -0
  112. package/esm/browser/components/link-dialog.js.map +1 -0
  113. package/esm/browser/components/link.d.ts +19 -0
  114. package/esm/browser/components/link.js +56 -0
  115. package/esm/browser/components/link.js.map +1 -0
  116. package/esm/browser/components/manage-menu.d.ts +13 -0
  117. package/esm/browser/components/manage-menu.js +96 -0
  118. package/esm/browser/components/manage-menu.js.map +1 -0
  119. package/esm/browser/components/markdown.d.ts +9 -0
  120. package/esm/browser/components/markdown.js +98 -0
  121. package/esm/browser/components/markdown.js.map +1 -0
  122. package/esm/browser/components/math.d.ts +10 -0
  123. package/esm/browser/components/math.js +21 -0
  124. package/esm/browser/components/math.js.map +1 -0
  125. package/esm/browser/components/media.d.ts +11 -0
  126. package/esm/browser/components/media.js +76 -0
  127. package/esm/browser/components/media.js.map +1 -0
  128. package/esm/browser/components/mermaid-view.d.ts +10 -0
  129. package/esm/browser/components/mermaid-view.js +84 -0
  130. package/esm/browser/components/mermaid-view.js.map +1 -0
  131. package/esm/browser/components/message-actions.d.ts +12 -0
  132. package/esm/browser/components/message-actions.js +78 -0
  133. package/esm/browser/components/message-actions.js.map +1 -0
  134. package/esm/browser/components/message-footer.d.ts +29 -0
  135. package/esm/browser/components/message-footer.js +86 -0
  136. package/esm/browser/components/message-footer.js.map +1 -0
  137. package/esm/browser/components/message-list.d.ts +37 -0
  138. package/esm/browser/components/message-list.js +216 -0
  139. package/esm/browser/components/message-list.js.map +1 -0
  140. package/esm/browser/components/notice-center.d.ts +3 -0
  141. package/esm/browser/components/notice-center.js +114 -0
  142. package/esm/browser/components/notice-center.js.map +1 -0
  143. package/esm/browser/components/relay-view.d.ts +5 -0
  144. package/esm/browser/components/relay-view.js +114 -0
  145. package/esm/browser/components/relay-view.js.map +1 -0
  146. package/esm/browser/components/run-status.d.ts +9 -0
  147. package/esm/browser/components/run-status.js +54 -0
  148. package/esm/browser/components/run-status.js.map +1 -0
  149. package/esm/browser/components/session-settings.d.ts +37 -0
  150. package/esm/browser/components/session-settings.js +84 -0
  151. package/esm/browser/components/session-settings.js.map +1 -0
  152. package/esm/browser/components/session-view.d.ts +24 -0
  153. package/esm/browser/components/session-view.js +84 -0
  154. package/esm/browser/components/session-view.js.map +1 -0
  155. package/esm/browser/components/settings-controls.d.ts +40 -0
  156. package/esm/browser/components/settings-controls.js +28 -0
  157. package/esm/browser/components/settings-controls.js.map +1 -0
  158. package/esm/browser/components/settings-view.d.ts +22 -0
  159. package/esm/browser/components/settings-view.js +357 -0
  160. package/esm/browser/components/settings-view.js.map +1 -0
  161. package/esm/browser/components/split-pane.d.ts +24 -0
  162. package/esm/browser/components/split-pane.js +75 -0
  163. package/esm/browser/components/split-pane.js.map +1 -0
  164. package/esm/browser/components/ta-avatar.d.ts +13 -0
  165. package/esm/browser/components/ta-avatar.js +185 -0
  166. package/esm/browser/components/ta-avatar.js.map +1 -0
  167. package/esm/browser/components/tool-view.d.ts +18 -0
  168. package/esm/browser/components/tool-view.js +110 -0
  169. package/esm/browser/components/tool-view.js.map +1 -0
  170. package/esm/browser/components/trusted-domains.d.ts +3 -0
  171. package/esm/browser/components/trusted-domains.js +39 -0
  172. package/esm/browser/components/trusted-domains.js.map +1 -0
  173. package/esm/browser/components/web-composer.d.ts +14 -0
  174. package/esm/browser/components/web-composer.js +22 -0
  175. package/esm/browser/components/web-composer.js.map +1 -0
  176. package/esm/browser/components/web-dialog.d.ts +4 -0
  177. package/esm/browser/components/web-dialog.js +22 -0
  178. package/esm/browser/components/web-dialog.js.map +1 -0
  179. package/esm/browser/components/workbench-toggle.d.ts +12 -0
  180. package/esm/browser/components/workbench-toggle.js +17 -0
  181. package/esm/browser/components/workbench-toggle.js.map +1 -0
  182. package/esm/browser/components/workbench-view.d.ts +8 -0
  183. package/esm/browser/components/workbench-view.js +62 -0
  184. package/esm/browser/components/workbench-view.js.map +1 -0
  185. package/esm/browser/components/working-directory.d.ts +5 -0
  186. package/esm/browser/components/working-directory.js +25 -0
  187. package/esm/browser/components/working-directory.js.map +1 -0
  188. package/esm/browser/editor/monaco-loader.d.ts +60 -0
  189. package/esm/browser/editor/monaco-loader.js +135 -0
  190. package/esm/browser/editor/monaco-loader.js.map +1 -0
  191. package/esm/browser/editor/monaco.d.ts +45 -0
  192. package/esm/browser/editor/monaco.js +54 -0
  193. package/esm/browser/editor/monaco.js.map +1 -0
  194. package/esm/browser/extension/extension-view.d.ts +35 -0
  195. package/esm/browser/extension/extension-view.js +53 -0
  196. package/esm/browser/extension/extension-view.js.map +1 -0
  197. package/esm/browser/extension/icons.d.ts +3 -0
  198. package/esm/browser/extension/icons.js +82 -0
  199. package/esm/browser/extension/icons.js.map +1 -0
  200. package/esm/browser/extension/web-extension-api.d.ts +362 -0
  201. package/esm/browser/extension/web-extension-api.js +2 -0
  202. package/esm/browser/extension/web-extension-api.js.map +1 -0
  203. package/esm/browser/extension/web-extension-protocol.d.ts +132 -0
  204. package/esm/browser/extension/web-extension-protocol.js +10 -0
  205. package/esm/browser/extension/web-extension-protocol.js.map +1 -0
  206. package/esm/browser/extension/web-extensions.d.ts +118 -0
  207. package/esm/browser/extension/web-extensions.js +654 -0
  208. package/esm/browser/extension/web-extensions.js.map +1 -0
  209. package/esm/browser/hooks.d.ts +21 -0
  210. package/esm/browser/hooks.js +65 -0
  211. package/esm/browser/hooks.js.map +1 -0
  212. package/esm/browser/i18n/locales.d.ts +435 -0
  213. package/esm/browser/i18n/locales.js +35 -0
  214. package/esm/browser/i18n/locales.js.map +1 -0
  215. package/esm/browser/i18n/messages.d.ts +427 -0
  216. package/esm/browser/i18n/messages.js +858 -0
  217. package/esm/browser/i18n/messages.js.map +1 -0
  218. package/esm/browser/i18n/use-t.d.ts +7 -0
  219. package/esm/browser/i18n/use-t.js +18 -0
  220. package/esm/browser/i18n/use-t.js.map +1 -0
  221. package/esm/browser/index.d.ts +52 -0
  222. package/esm/browser/index.js +53 -0
  223. package/esm/browser/index.js.map +1 -0
  224. package/esm/browser/links/links-protocol.d.ts +35 -0
  225. package/esm/browser/links/links-protocol.js +2 -0
  226. package/esm/browser/links/links-protocol.js.map +1 -0
  227. package/esm/browser/links/links.d.ts +32 -0
  228. package/esm/browser/links/links.js +141 -0
  229. package/esm/browser/links/links.js.map +1 -0
  230. package/esm/browser/markdown/hooks.d.ts +6 -0
  231. package/esm/browser/markdown/hooks.js +21 -0
  232. package/esm/browser/markdown/hooks.js.map +1 -0
  233. package/esm/browser/markdown/lazy.d.ts +21 -0
  234. package/esm/browser/markdown/lazy.js +39 -0
  235. package/esm/browser/markdown/lazy.js.map +1 -0
  236. package/esm/browser/markdown/math.d.ts +18 -0
  237. package/esm/browser/markdown/math.js +30 -0
  238. package/esm/browser/markdown/math.js.map +1 -0
  239. package/esm/browser/markdown/mermaid.d.ts +20 -0
  240. package/esm/browser/markdown/mermaid.js +84 -0
  241. package/esm/browser/markdown/mermaid.js.map +1 -0
  242. package/esm/browser/module.d.ts +4 -0
  243. package/esm/browser/module.js +6 -0
  244. package/esm/browser/module.js.map +1 -0
  245. package/esm/browser/notices/notices-protocol.d.ts +82 -0
  246. package/esm/browser/notices/notices-protocol.js +2 -0
  247. package/esm/browser/notices/notices-protocol.js.map +1 -0
  248. package/esm/browser/notices/notices.d.ts +47 -0
  249. package/esm/browser/notices/notices.js +162 -0
  250. package/esm/browser/notices/notices.js.map +1 -0
  251. package/esm/browser/pwa/pwa-protocol.d.ts +20 -0
  252. package/esm/browser/pwa/pwa-protocol.js +2 -0
  253. package/esm/browser/pwa/pwa-protocol.js.map +1 -0
  254. package/esm/browser/pwa/pwa.d.ts +39 -0
  255. package/esm/browser/pwa/pwa.js +120 -0
  256. package/esm/browser/pwa/pwa.js.map +1 -0
  257. package/esm/browser/settings/agent-settings.d.ts +33 -0
  258. package/esm/browser/settings/agent-settings.js +85 -0
  259. package/esm/browser/settings/agent-settings.js.map +1 -0
  260. package/esm/browser/settings/settings-protocol.d.ts +44 -0
  261. package/esm/browser/settings/settings-protocol.js +35 -0
  262. package/esm/browser/settings/settings-protocol.js.map +1 -0
  263. package/esm/browser/settings/settings.d.ts +31 -0
  264. package/esm/browser/settings/settings.js +102 -0
  265. package/esm/browser/settings/settings.js.map +1 -0
  266. package/esm/browser/state/state-protocol.d.ts +48 -0
  267. package/esm/browser/state/state-protocol.js +32 -0
  268. package/esm/browser/state/state-protocol.js.map +1 -0
  269. package/esm/browser/state/state.d.ts +39 -0
  270. package/esm/browser/state/state.js +210 -0
  271. package/esm/browser/state/state.js.map +1 -0
  272. package/esm/browser/style/base.d.ts +2 -0
  273. package/esm/browser/style/base.js +140 -0
  274. package/esm/browser/style/base.js.map +1 -0
  275. package/esm/browser/style/conversation.d.ts +2 -0
  276. package/esm/browser/style/conversation.js +201 -0
  277. package/esm/browser/style/conversation.js.map +1 -0
  278. package/esm/browser/style/layout.d.ts +2 -0
  279. package/esm/browser/style/layout.js +371 -0
  280. package/esm/browser/style/layout.js.map +1 -0
  281. package/esm/browser/style/pages.d.ts +2 -0
  282. package/esm/browser/style/pages.js +75 -0
  283. package/esm/browser/style/pages.js.map +1 -0
  284. package/esm/browser/style/shell.d.ts +2 -0
  285. package/esm/browser/style/shell.js +236 -0
  286. package/esm/browser/style/shell.js.map +1 -0
  287. package/esm/browser/style.d.ts +5 -0
  288. package/esm/browser/style.js +11 -0
  289. package/esm/browser/style.js.map +1 -0
  290. package/esm/browser/util/composer.d.ts +85 -0
  291. package/esm/browser/util/composer.js +121 -0
  292. package/esm/browser/util/composer.js.map +1 -0
  293. package/esm/browser/util/diff.d.ts +17 -0
  294. package/esm/browser/util/diff.js +29 -0
  295. package/esm/browser/util/diff.js.map +1 -0
  296. package/esm/browser/util/frame.d.ts +32 -0
  297. package/esm/browser/util/frame.js +47 -0
  298. package/esm/browser/util/frame.js.map +1 -0
  299. package/esm/browser/util/layout.d.ts +26 -0
  300. package/esm/browser/util/layout.js +54 -0
  301. package/esm/browser/util/layout.js.map +1 -0
  302. package/esm/browser/util/link.d.ts +53 -0
  303. package/esm/browser/util/link.js +229 -0
  304. package/esm/browser/util/link.js.map +1 -0
  305. package/esm/browser/util/markdown.d.ts +86 -0
  306. package/esm/browser/util/markdown.js +330 -0
  307. package/esm/browser/util/markdown.js.map +1 -0
  308. package/esm/browser/util/message.d.ts +74 -0
  309. package/esm/browser/util/message.js +143 -0
  310. package/esm/browser/util/message.js.map +1 -0
  311. package/esm/browser/util/process.d.ts +73 -0
  312. package/esm/browser/util/process.js +135 -0
  313. package/esm/browser/util/process.js.map +1 -0
  314. package/esm/browser/util/progress.d.ts +50 -0
  315. package/esm/browser/util/progress.js +143 -0
  316. package/esm/browser/util/progress.js.map +1 -0
  317. package/esm/browser/util/qr-code.d.ts +37 -0
  318. package/esm/browser/util/qr-code.js +349 -0
  319. package/esm/browser/util/qr-code.js.map +1 -0
  320. package/esm/browser/util/tool.d.ts +41 -0
  321. package/esm/browser/util/tool.js +151 -0
  322. package/esm/browser/util/tool.js.map +1 -0
  323. package/esm/browser/view.d.ts +3 -0
  324. package/esm/browser/view.js +16 -0
  325. package/esm/browser/view.js.map +1 -0
  326. package/esm/browser/workbench-protocol.d.ts +50 -0
  327. package/esm/browser/workbench-protocol.js +2 -0
  328. package/esm/browser/workbench-protocol.js.map +1 -0
  329. package/esm/browser/workbench.d.ts +63 -0
  330. package/esm/browser/workbench.js +278 -0
  331. package/esm/browser/workbench.js.map +1 -0
  332. package/esm/package.json +3 -0
  333. package/lib/browser/assistant/assistant-export.d.ts +14 -0
  334. package/lib/browser/assistant/assistant-export.d.ts.map +1 -0
  335. package/lib/browser/assistant/assistant-export.js +36 -0
  336. package/lib/browser/assistant/assistant-export.js.map +1 -0
  337. package/lib/browser/assistant/assistant-export.spec.d.ts +2 -0
  338. package/lib/browser/assistant/assistant-export.spec.d.ts.map +1 -0
  339. package/lib/browser/assistant/assistant-export.spec.js +27 -0
  340. package/lib/browser/assistant/assistant-export.spec.js.map +1 -0
  341. package/lib/browser/assistant/assistant-extension.d.ts +21 -0
  342. package/lib/browser/assistant/assistant-extension.d.ts.map +1 -0
  343. package/lib/browser/assistant/assistant-extension.js +189 -0
  344. package/lib/browser/assistant/assistant-extension.js.map +1 -0
  345. package/lib/browser/assistant/assistant-extension.spec.d.ts +2 -0
  346. package/lib/browser/assistant/assistant-extension.spec.d.ts.map +1 -0
  347. package/lib/browser/assistant/assistant-extension.spec.js +121 -0
  348. package/lib/browser/assistant/assistant-extension.spec.js.map +1 -0
  349. package/lib/browser/assistant/assistant-hooks.d.ts +9 -0
  350. package/lib/browser/assistant/assistant-hooks.d.ts.map +1 -0
  351. package/lib/browser/assistant/assistant-hooks.js +94 -0
  352. package/lib/browser/assistant/assistant-hooks.js.map +1 -0
  353. package/lib/browser/assistant/assistant-protocol.d.ts +52 -0
  354. package/lib/browser/assistant/assistant-protocol.d.ts.map +1 -0
  355. package/lib/browser/assistant/assistant-protocol.js +5 -0
  356. package/lib/browser/assistant/assistant-protocol.js.map +1 -0
  357. package/lib/browser/assistant/assistant-tasks.d.ts +49 -0
  358. package/lib/browser/assistant/assistant-tasks.d.ts.map +1 -0
  359. package/lib/browser/assistant/assistant-tasks.js +158 -0
  360. package/lib/browser/assistant/assistant-tasks.js.map +1 -0
  361. package/lib/browser/assistant/assistant-view.d.ts +22 -0
  362. package/lib/browser/assistant/assistant-view.d.ts.map +1 -0
  363. package/lib/browser/assistant/assistant-view.js +365 -0
  364. package/lib/browser/assistant/assistant-view.js.map +1 -0
  365. package/lib/browser/assistant/assistant.d.ts +52 -0
  366. package/lib/browser/assistant/assistant.d.ts.map +1 -0
  367. package/lib/browser/assistant/assistant.js +305 -0
  368. package/lib/browser/assistant/assistant.js.map +1 -0
  369. package/lib/browser/assistant/assistant.spec.d.ts +2 -0
  370. package/lib/browser/assistant/assistant.spec.d.ts.map +1 -0
  371. package/lib/browser/assistant/assistant.spec.js +80 -0
  372. package/lib/browser/assistant/assistant.spec.js.map +1 -0
  373. package/lib/browser/assistant/voice.d.ts +15 -0
  374. package/lib/browser/assistant/voice.d.ts.map +1 -0
  375. package/lib/browser/assistant/voice.js +75 -0
  376. package/lib/browser/assistant/voice.js.map +1 -0
  377. package/lib/browser/assistant/voice.spec.d.ts +2 -0
  378. package/lib/browser/assistant/voice.spec.d.ts.map +1 -0
  379. package/lib/browser/assistant/voice.spec.js +10 -0
  380. package/lib/browser/assistant/voice.spec.js.map +1 -0
  381. package/lib/browser/avatar/dino-avatar.d.ts +140 -0
  382. package/lib/browser/avatar/dino-avatar.d.ts.map +1 -0
  383. package/lib/browser/avatar/dino-avatar.js +429 -0
  384. package/lib/browser/avatar/dino-avatar.js.map +1 -0
  385. package/lib/browser/avatar/dino-avatar.spec.d.ts +2 -0
  386. package/lib/browser/avatar/dino-avatar.spec.d.ts.map +1 -0
  387. package/lib/browser/avatar/dino-avatar.spec.js +143 -0
  388. package/lib/browser/avatar/dino-avatar.spec.js.map +1 -0
  389. package/lib/browser/avatar/dino-motion.d.ts +25 -0
  390. package/lib/browser/avatar/dino-motion.d.ts.map +1 -0
  391. package/lib/browser/avatar/dino-motion.js +298 -0
  392. package/lib/browser/avatar/dino-motion.js.map +1 -0
  393. package/lib/browser/chat/chat-protocol.d.ts +47 -0
  394. package/lib/browser/chat/chat-protocol.d.ts.map +1 -0
  395. package/lib/browser/chat/chat-protocol.js +5 -0
  396. package/lib/browser/chat/chat-protocol.js.map +1 -0
  397. package/lib/browser/chat/chat-view.d.ts +16 -0
  398. package/lib/browser/chat/chat-view.d.ts.map +1 -0
  399. package/lib/browser/chat/chat-view.js +125 -0
  400. package/lib/browser/chat/chat-view.js.map +1 -0
  401. package/lib/browser/chat/chat.d.ts +70 -0
  402. package/lib/browser/chat/chat.d.ts.map +1 -0
  403. package/lib/browser/chat/chat.js +346 -0
  404. package/lib/browser/chat/chat.js.map +1 -0
  405. package/lib/browser/chat/chat.spec.d.ts +2 -0
  406. package/lib/browser/chat/chat.spec.d.ts.map +1 -0
  407. package/lib/browser/chat/chat.spec.js +185 -0
  408. package/lib/browser/chat/chat.spec.js.map +1 -0
  409. package/lib/browser/components/account-menu.d.ts +9 -0
  410. package/lib/browser/components/account-menu.d.ts.map +1 -0
  411. package/lib/browser/components/account-menu.js +119 -0
  412. package/lib/browser/components/account-menu.js.map +1 -0
  413. package/lib/browser/components/agent-settings-view.d.ts +24 -0
  414. package/lib/browser/components/agent-settings-view.d.ts.map +1 -0
  415. package/lib/browser/components/agent-settings-view.js +143 -0
  416. package/lib/browser/components/agent-settings-view.js.map +1 -0
  417. package/lib/browser/components/app-view.d.ts +10 -0
  418. package/lib/browser/components/app-view.d.ts.map +1 -0
  419. package/lib/browser/components/app-view.js +441 -0
  420. package/lib/browser/components/app-view.js.map +1 -0
  421. package/lib/browser/components/auth-pictures.d.ts +7 -0
  422. package/lib/browser/components/auth-pictures.d.ts.map +1 -0
  423. package/lib/browser/components/auth-pictures.js +73 -0
  424. package/lib/browser/components/auth-pictures.js.map +1 -0
  425. package/lib/browser/components/auth-view.d.ts +55 -0
  426. package/lib/browser/components/auth-view.d.ts.map +1 -0
  427. package/lib/browser/components/auth-view.js +340 -0
  428. package/lib/browser/components/auth-view.js.map +1 -0
  429. package/lib/browser/components/callout.d.ts +19 -0
  430. package/lib/browser/components/callout.d.ts.map +1 -0
  431. package/lib/browser/components/callout.js +54 -0
  432. package/lib/browser/components/callout.js.map +1 -0
  433. package/lib/browser/components/chat-list.d.ts +53 -0
  434. package/lib/browser/components/chat-list.d.ts.map +1 -0
  435. package/lib/browser/components/chat-list.js +226 -0
  436. package/lib/browser/components/chat-list.js.map +1 -0
  437. package/lib/browser/components/chat-list.spec.d.ts +2 -0
  438. package/lib/browser/components/chat-list.spec.d.ts.map +1 -0
  439. package/lib/browser/components/chat-list.spec.js +61 -0
  440. package/lib/browser/components/chat-list.spec.js.map +1 -0
  441. package/lib/browser/components/code-editor.d.ts +8 -0
  442. package/lib/browser/components/code-editor.d.ts.map +1 -0
  443. package/lib/browser/components/code-editor.js +121 -0
  444. package/lib/browser/components/code-editor.js.map +1 -0
  445. package/lib/browser/components/composer-box.d.ts +74 -0
  446. package/lib/browser/components/composer-box.d.ts.map +1 -0
  447. package/lib/browser/components/composer-box.js +334 -0
  448. package/lib/browser/components/composer-box.js.map +1 -0
  449. package/lib/browser/components/composer-menu.d.ts +18 -0
  450. package/lib/browser/components/composer-menu.d.ts.map +1 -0
  451. package/lib/browser/components/composer-menu.js +54 -0
  452. package/lib/browser/components/composer-menu.js.map +1 -0
  453. package/lib/browser/components/composer.d.ts +38 -0
  454. package/lib/browser/components/composer.d.ts.map +1 -0
  455. package/lib/browser/components/composer.js +135 -0
  456. package/lib/browser/components/composer.js.map +1 -0
  457. package/lib/browser/components/composer.spec.d.ts +2 -0
  458. package/lib/browser/components/composer.spec.d.ts.map +1 -0
  459. package/lib/browser/components/composer.spec.js +129 -0
  460. package/lib/browser/components/composer.spec.js.map +1 -0
  461. package/lib/browser/components/connection-bar.d.ts +7 -0
  462. package/lib/browser/components/connection-bar.d.ts.map +1 -0
  463. package/lib/browser/components/connection-bar.js +109 -0
  464. package/lib/browser/components/connection-bar.js.map +1 -0
  465. package/lib/browser/components/context-menu.d.ts +13 -0
  466. package/lib/browser/components/context-menu.d.ts.map +1 -0
  467. package/lib/browser/components/context-menu.js +104 -0
  468. package/lib/browser/components/context-menu.js.map +1 -0
  469. package/lib/browser/components/conversation-scroll.d.ts +14 -0
  470. package/lib/browser/components/conversation-scroll.d.ts.map +1 -0
  471. package/lib/browser/components/conversation-scroll.js +158 -0
  472. package/lib/browser/components/conversation-scroll.js.map +1 -0
  473. package/lib/browser/components/dialog-view.d.ts +10 -0
  474. package/lib/browser/components/dialog-view.d.ts.map +1 -0
  475. package/lib/browser/components/dialog-view.js +77 -0
  476. package/lib/browser/components/dialog-view.js.map +1 -0
  477. package/lib/browser/components/diff-editor.d.ts +11 -0
  478. package/lib/browser/components/diff-editor.d.ts.map +1 -0
  479. package/lib/browser/components/diff-editor.js +137 -0
  480. package/lib/browser/components/diff-editor.js.map +1 -0
  481. package/lib/browser/components/diff-view.d.ts +5 -0
  482. package/lib/browser/components/diff-view.d.ts.map +1 -0
  483. package/lib/browser/components/diff-view.js +47 -0
  484. package/lib/browser/components/diff-view.js.map +1 -0
  485. package/lib/browser/components/dino.d.ts +9 -0
  486. package/lib/browser/components/dino.d.ts.map +1 -0
  487. package/lib/browser/components/dino.js +52 -0
  488. package/lib/browser/components/dino.js.map +1 -0
  489. package/lib/browser/components/editor-area.d.ts +29 -0
  490. package/lib/browser/components/editor-area.d.ts.map +1 -0
  491. package/lib/browser/components/editor-area.js +171 -0
  492. package/lib/browser/components/editor-area.js.map +1 -0
  493. package/lib/browser/components/folder-picker.d.ts +29 -0
  494. package/lib/browser/components/folder-picker.d.ts.map +1 -0
  495. package/lib/browser/components/folder-picker.js +144 -0
  496. package/lib/browser/components/folder-picker.js.map +1 -0
  497. package/lib/browser/components/folder-picker.spec.d.ts +2 -0
  498. package/lib/browser/components/folder-picker.spec.d.ts.map +1 -0
  499. package/lib/browser/components/folder-picker.spec.js +28 -0
  500. package/lib/browser/components/folder-picker.spec.js.map +1 -0
  501. package/lib/browser/components/fork-view.d.ts +15 -0
  502. package/lib/browser/components/fork-view.d.ts.map +1 -0
  503. package/lib/browser/components/fork-view.js +79 -0
  504. package/lib/browser/components/fork-view.js.map +1 -0
  505. package/lib/browser/components/hero-cards.d.ts +21 -0
  506. package/lib/browser/components/hero-cards.d.ts.map +1 -0
  507. package/lib/browser/components/hero-cards.js +146 -0
  508. package/lib/browser/components/hero-cards.js.map +1 -0
  509. package/lib/browser/components/icon.d.ts +30 -0
  510. package/lib/browser/components/icon.d.ts.map +1 -0
  511. package/lib/browser/components/icon.js +61 -0
  512. package/lib/browser/components/icon.js.map +1 -0
  513. package/lib/browser/components/link-dialog.d.ts +4 -0
  514. package/lib/browser/components/link-dialog.d.ts.map +1 -0
  515. package/lib/browser/components/link-dialog.js +81 -0
  516. package/lib/browser/components/link-dialog.js.map +1 -0
  517. package/lib/browser/components/link.d.ts +20 -0
  518. package/lib/browser/components/link.d.ts.map +1 -0
  519. package/lib/browser/components/link.js +94 -0
  520. package/lib/browser/components/link.js.map +1 -0
  521. package/lib/browser/components/manage-menu.d.ts +14 -0
  522. package/lib/browser/components/manage-menu.d.ts.map +1 -0
  523. package/lib/browser/components/manage-menu.js +132 -0
  524. package/lib/browser/components/manage-menu.js.map +1 -0
  525. package/lib/browser/components/markdown.d.ts +10 -0
  526. package/lib/browser/components/markdown.d.ts.map +1 -0
  527. package/lib/browser/components/markdown.js +135 -0
  528. package/lib/browser/components/markdown.js.map +1 -0
  529. package/lib/browser/components/markdown.spec.d.ts +2 -0
  530. package/lib/browser/components/markdown.spec.d.ts.map +1 -0
  531. package/lib/browser/components/markdown.spec.js +72 -0
  532. package/lib/browser/components/markdown.spec.js.map +1 -0
  533. package/lib/browser/components/math.d.ts +11 -0
  534. package/lib/browser/components/math.d.ts.map +1 -0
  535. package/lib/browser/components/math.js +57 -0
  536. package/lib/browser/components/math.js.map +1 -0
  537. package/lib/browser/components/media.d.ts +12 -0
  538. package/lib/browser/components/media.d.ts.map +1 -0
  539. package/lib/browser/components/media.js +113 -0
  540. package/lib/browser/components/media.js.map +1 -0
  541. package/lib/browser/components/mermaid-view.d.ts +11 -0
  542. package/lib/browser/components/mermaid-view.d.ts.map +1 -0
  543. package/lib/browser/components/mermaid-view.js +120 -0
  544. package/lib/browser/components/mermaid-view.js.map +1 -0
  545. package/lib/browser/components/message-actions.d.ts +13 -0
  546. package/lib/browser/components/message-actions.d.ts.map +1 -0
  547. package/lib/browser/components/message-actions.js +114 -0
  548. package/lib/browser/components/message-actions.js.map +1 -0
  549. package/lib/browser/components/message-footer.d.ts +30 -0
  550. package/lib/browser/components/message-footer.d.ts.map +1 -0
  551. package/lib/browser/components/message-footer.js +124 -0
  552. package/lib/browser/components/message-footer.js.map +1 -0
  553. package/lib/browser/components/message-list.d.ts +38 -0
  554. package/lib/browser/components/message-list.d.ts.map +1 -0
  555. package/lib/browser/components/message-list.js +257 -0
  556. package/lib/browser/components/message-list.js.map +1 -0
  557. package/lib/browser/components/message-list.spec.d.ts +2 -0
  558. package/lib/browser/components/message-list.spec.d.ts.map +1 -0
  559. package/lib/browser/components/message-list.spec.js +269 -0
  560. package/lib/browser/components/message-list.spec.js.map +1 -0
  561. package/lib/browser/components/notice-center.d.ts +4 -0
  562. package/lib/browser/components/notice-center.d.ts.map +1 -0
  563. package/lib/browser/components/notice-center.js +150 -0
  564. package/lib/browser/components/notice-center.js.map +1 -0
  565. package/lib/browser/components/relay-view.d.ts +6 -0
  566. package/lib/browser/components/relay-view.d.ts.map +1 -0
  567. package/lib/browser/components/relay-view.js +150 -0
  568. package/lib/browser/components/relay-view.js.map +1 -0
  569. package/lib/browser/components/run-status.d.ts +10 -0
  570. package/lib/browser/components/run-status.d.ts.map +1 -0
  571. package/lib/browser/components/run-status.js +90 -0
  572. package/lib/browser/components/run-status.js.map +1 -0
  573. package/lib/browser/components/session-settings.d.ts +38 -0
  574. package/lib/browser/components/session-settings.d.ts.map +1 -0
  575. package/lib/browser/components/session-settings.js +121 -0
  576. package/lib/browser/components/session-settings.js.map +1 -0
  577. package/lib/browser/components/session-settings.spec.d.ts +2 -0
  578. package/lib/browser/components/session-settings.spec.d.ts.map +1 -0
  579. package/lib/browser/components/session-settings.spec.js +47 -0
  580. package/lib/browser/components/session-settings.spec.js.map +1 -0
  581. package/lib/browser/components/session-view.d.ts +25 -0
  582. package/lib/browser/components/session-view.d.ts.map +1 -0
  583. package/lib/browser/components/session-view.js +120 -0
  584. package/lib/browser/components/session-view.js.map +1 -0
  585. package/lib/browser/components/settings-controls.d.ts +41 -0
  586. package/lib/browser/components/settings-controls.d.ts.map +1 -0
  587. package/lib/browser/components/settings-controls.js +68 -0
  588. package/lib/browser/components/settings-controls.js.map +1 -0
  589. package/lib/browser/components/settings-view.d.ts +23 -0
  590. package/lib/browser/components/settings-view.d.ts.map +1 -0
  591. package/lib/browser/components/settings-view.js +394 -0
  592. package/lib/browser/components/settings-view.js.map +1 -0
  593. package/lib/browser/components/split-pane.d.ts +25 -0
  594. package/lib/browser/components/split-pane.d.ts.map +1 -0
  595. package/lib/browser/components/split-pane.js +113 -0
  596. package/lib/browser/components/split-pane.js.map +1 -0
  597. package/lib/browser/components/ta-avatar.d.ts +14 -0
  598. package/lib/browser/components/ta-avatar.d.ts.map +1 -0
  599. package/lib/browser/components/ta-avatar.js +221 -0
  600. package/lib/browser/components/ta-avatar.js.map +1 -0
  601. package/lib/browser/components/ta-avatar.spec.d.ts +2 -0
  602. package/lib/browser/components/ta-avatar.spec.d.ts.map +1 -0
  603. package/lib/browser/components/ta-avatar.spec.js +60 -0
  604. package/lib/browser/components/ta-avatar.spec.js.map +1 -0
  605. package/lib/browser/components/tool-view.d.ts +19 -0
  606. package/lib/browser/components/tool-view.d.ts.map +1 -0
  607. package/lib/browser/components/tool-view.js +146 -0
  608. package/lib/browser/components/tool-view.js.map +1 -0
  609. package/lib/browser/components/trusted-domains.d.ts +4 -0
  610. package/lib/browser/components/trusted-domains.d.ts.map +1 -0
  611. package/lib/browser/components/trusted-domains.js +75 -0
  612. package/lib/browser/components/trusted-domains.js.map +1 -0
  613. package/lib/browser/components/web-composer.d.ts +15 -0
  614. package/lib/browser/components/web-composer.d.ts.map +1 -0
  615. package/lib/browser/components/web-composer.js +58 -0
  616. package/lib/browser/components/web-composer.js.map +1 -0
  617. package/lib/browser/components/web-dialog.d.ts +5 -0
  618. package/lib/browser/components/web-dialog.d.ts.map +1 -0
  619. package/lib/browser/components/web-dialog.js +58 -0
  620. package/lib/browser/components/web-dialog.js.map +1 -0
  621. package/lib/browser/components/workbench-toggle.d.ts +13 -0
  622. package/lib/browser/components/workbench-toggle.d.ts.map +1 -0
  623. package/lib/browser/components/workbench-toggle.js +54 -0
  624. package/lib/browser/components/workbench-toggle.js.map +1 -0
  625. package/lib/browser/components/workbench-toggle.spec.d.ts +2 -0
  626. package/lib/browser/components/workbench-toggle.spec.d.ts.map +1 -0
  627. package/lib/browser/components/workbench-toggle.spec.js +64 -0
  628. package/lib/browser/components/workbench-toggle.spec.js.map +1 -0
  629. package/lib/browser/components/workbench-view.d.ts +9 -0
  630. package/lib/browser/components/workbench-view.d.ts.map +1 -0
  631. package/lib/browser/components/workbench-view.js +99 -0
  632. package/lib/browser/components/workbench-view.js.map +1 -0
  633. package/lib/browser/components/working-directory.d.ts +6 -0
  634. package/lib/browser/components/working-directory.d.ts.map +1 -0
  635. package/lib/browser/components/working-directory.js +61 -0
  636. package/lib/browser/components/working-directory.js.map +1 -0
  637. package/lib/browser/editor/monaco-loader.d.ts +61 -0
  638. package/lib/browser/editor/monaco-loader.d.ts.map +1 -0
  639. package/lib/browser/editor/monaco-loader.js +138 -0
  640. package/lib/browser/editor/monaco-loader.js.map +1 -0
  641. package/lib/browser/editor/monaco-loader.spec.d.ts +2 -0
  642. package/lib/browser/editor/monaco-loader.spec.d.ts.map +1 -0
  643. package/lib/browser/editor/monaco-loader.spec.js +39 -0
  644. package/lib/browser/editor/monaco-loader.spec.js.map +1 -0
  645. package/lib/browser/editor/monaco.d.ts +46 -0
  646. package/lib/browser/editor/monaco.d.ts.map +1 -0
  647. package/lib/browser/editor/monaco.js +93 -0
  648. package/lib/browser/editor/monaco.js.map +1 -0
  649. package/lib/browser/extension/extension-view.d.ts +36 -0
  650. package/lib/browser/extension/extension-view.d.ts.map +1 -0
  651. package/lib/browser/extension/extension-view.js +91 -0
  652. package/lib/browser/extension/extension-view.js.map +1 -0
  653. package/lib/browser/extension/icons.d.ts +4 -0
  654. package/lib/browser/extension/icons.d.ts.map +1 -0
  655. package/lib/browser/extension/icons.js +85 -0
  656. package/lib/browser/extension/icons.js.map +1 -0
  657. package/lib/browser/extension/web-extension-api.d.ts +363 -0
  658. package/lib/browser/extension/web-extension-api.d.ts.map +1 -0
  659. package/lib/browser/extension/web-extension-api.js +3 -0
  660. package/lib/browser/extension/web-extension-api.js.map +1 -0
  661. package/lib/browser/extension/web-extension-protocol.d.ts +133 -0
  662. package/lib/browser/extension/web-extension-protocol.d.ts.map +1 -0
  663. package/lib/browser/extension/web-extension-protocol.js +13 -0
  664. package/lib/browser/extension/web-extension-protocol.js.map +1 -0
  665. package/lib/browser/extension/web-extensions.d.ts +119 -0
  666. package/lib/browser/extension/web-extensions.d.ts.map +1 -0
  667. package/lib/browser/extension/web-extensions.js +690 -0
  668. package/lib/browser/extension/web-extensions.js.map +1 -0
  669. package/lib/browser/extension/web-extensions.spec.d.ts +2 -0
  670. package/lib/browser/extension/web-extensions.spec.d.ts.map +1 -0
  671. package/lib/browser/extension/web-extensions.spec.js +617 -0
  672. package/lib/browser/extension/web-extensions.spec.js.map +1 -0
  673. package/lib/browser/hooks.d.ts +22 -0
  674. package/lib/browser/hooks.d.ts.map +1 -0
  675. package/lib/browser/hooks.js +109 -0
  676. package/lib/browser/hooks.js.map +1 -0
  677. package/lib/browser/i18n/locales.d.ts +436 -0
  678. package/lib/browser/i18n/locales.d.ts.map +1 -0
  679. package/lib/browser/i18n/locales.js +38 -0
  680. package/lib/browser/i18n/locales.js.map +1 -0
  681. package/lib/browser/i18n/messages.d.ts +428 -0
  682. package/lib/browser/i18n/messages.d.ts.map +1 -0
  683. package/lib/browser/i18n/messages.js +862 -0
  684. package/lib/browser/i18n/messages.js.map +1 -0
  685. package/lib/browser/i18n/use-t.d.ts +8 -0
  686. package/lib/browser/i18n/use-t.d.ts.map +1 -0
  687. package/lib/browser/i18n/use-t.js +54 -0
  688. package/lib/browser/i18n/use-t.js.map +1 -0
  689. package/lib/browser/index.d.ts +53 -0
  690. package/lib/browser/index.d.ts.map +1 -0
  691. package/lib/browser/index.js +69 -0
  692. package/lib/browser/index.js.map +1 -0
  693. package/lib/browser/links/links-protocol.d.ts +36 -0
  694. package/lib/browser/links/links-protocol.d.ts.map +1 -0
  695. package/lib/browser/links/links-protocol.js +5 -0
  696. package/lib/browser/links/links-protocol.js.map +1 -0
  697. package/lib/browser/links/links.d.ts +33 -0
  698. package/lib/browser/links/links.d.ts.map +1 -0
  699. package/lib/browser/links/links.js +144 -0
  700. package/lib/browser/links/links.js.map +1 -0
  701. package/lib/browser/links/links.spec.d.ts +2 -0
  702. package/lib/browser/links/links.spec.d.ts.map +1 -0
  703. package/lib/browser/links/links.spec.js +123 -0
  704. package/lib/browser/links/links.spec.js.map +1 -0
  705. package/lib/browser/markdown/hooks.d.ts +7 -0
  706. package/lib/browser/markdown/hooks.d.ts.map +1 -0
  707. package/lib/browser/markdown/hooks.js +58 -0
  708. package/lib/browser/markdown/hooks.js.map +1 -0
  709. package/lib/browser/markdown/lazy.d.ts +22 -0
  710. package/lib/browser/markdown/lazy.d.ts.map +1 -0
  711. package/lib/browser/markdown/lazy.js +44 -0
  712. package/lib/browser/markdown/lazy.js.map +1 -0
  713. package/lib/browser/markdown/lazy.spec.d.ts +2 -0
  714. package/lib/browser/markdown/lazy.spec.d.ts.map +1 -0
  715. package/lib/browser/markdown/lazy.spec.js +35 -0
  716. package/lib/browser/markdown/lazy.spec.js.map +1 -0
  717. package/lib/browser/markdown/math.d.ts +19 -0
  718. package/lib/browser/markdown/math.d.ts.map +1 -0
  719. package/lib/browser/markdown/math.js +33 -0
  720. package/lib/browser/markdown/math.js.map +1 -0
  721. package/lib/browser/markdown/math.spec.d.ts +2 -0
  722. package/lib/browser/markdown/math.spec.d.ts.map +1 -0
  723. package/lib/browser/markdown/math.spec.js +24 -0
  724. package/lib/browser/markdown/math.spec.js.map +1 -0
  725. package/lib/browser/markdown/mermaid.d.ts +21 -0
  726. package/lib/browser/markdown/mermaid.d.ts.map +1 -0
  727. package/lib/browser/markdown/mermaid.js +87 -0
  728. package/lib/browser/markdown/mermaid.js.map +1 -0
  729. package/lib/browser/markdown/mermaid.spec.d.ts +2 -0
  730. package/lib/browser/markdown/mermaid.spec.d.ts.map +1 -0
  731. package/lib/browser/markdown/mermaid.spec.js +21 -0
  732. package/lib/browser/markdown/mermaid.spec.js.map +1 -0
  733. package/lib/browser/module.d.ts +5 -0
  734. package/lib/browser/module.d.ts.map +1 -0
  735. package/lib/browser/module.js +8 -0
  736. package/lib/browser/module.js.map +1 -0
  737. package/lib/browser/notices/notices-protocol.d.ts +83 -0
  738. package/lib/browser/notices/notices-protocol.d.ts.map +1 -0
  739. package/lib/browser/notices/notices-protocol.js +5 -0
  740. package/lib/browser/notices/notices-protocol.js.map +1 -0
  741. package/lib/browser/notices/notices.d.ts +48 -0
  742. package/lib/browser/notices/notices.d.ts.map +1 -0
  743. package/lib/browser/notices/notices.js +165 -0
  744. package/lib/browser/notices/notices.js.map +1 -0
  745. package/lib/browser/notices/notices.spec.d.ts +2 -0
  746. package/lib/browser/notices/notices.spec.d.ts.map +1 -0
  747. package/lib/browser/notices/notices.spec.js +96 -0
  748. package/lib/browser/notices/notices.spec.js.map +1 -0
  749. package/lib/browser/pwa/pwa-protocol.d.ts +21 -0
  750. package/lib/browser/pwa/pwa-protocol.d.ts.map +1 -0
  751. package/lib/browser/pwa/pwa-protocol.js +5 -0
  752. package/lib/browser/pwa/pwa-protocol.js.map +1 -0
  753. package/lib/browser/pwa/pwa.d.ts +40 -0
  754. package/lib/browser/pwa/pwa.d.ts.map +1 -0
  755. package/lib/browser/pwa/pwa.js +123 -0
  756. package/lib/browser/pwa/pwa.js.map +1 -0
  757. package/lib/browser/pwa/pwa.spec.d.ts +2 -0
  758. package/lib/browser/pwa/pwa.spec.d.ts.map +1 -0
  759. package/lib/browser/pwa/pwa.spec.js +134 -0
  760. package/lib/browser/pwa/pwa.spec.js.map +1 -0
  761. package/lib/browser/settings/agent-settings.d.ts +34 -0
  762. package/lib/browser/settings/agent-settings.d.ts.map +1 -0
  763. package/lib/browser/settings/agent-settings.js +88 -0
  764. package/lib/browser/settings/agent-settings.js.map +1 -0
  765. package/lib/browser/settings/agent-settings.spec.d.ts +2 -0
  766. package/lib/browser/settings/agent-settings.spec.d.ts.map +1 -0
  767. package/lib/browser/settings/agent-settings.spec.js +53 -0
  768. package/lib/browser/settings/agent-settings.spec.js.map +1 -0
  769. package/lib/browser/settings/settings-protocol.d.ts +45 -0
  770. package/lib/browser/settings/settings-protocol.d.ts.map +1 -0
  771. package/lib/browser/settings/settings-protocol.js +38 -0
  772. package/lib/browser/settings/settings-protocol.js.map +1 -0
  773. package/lib/browser/settings/settings.d.ts +32 -0
  774. package/lib/browser/settings/settings.d.ts.map +1 -0
  775. package/lib/browser/settings/settings.js +105 -0
  776. package/lib/browser/settings/settings.js.map +1 -0
  777. package/lib/browser/settings/settings.spec.d.ts +2 -0
  778. package/lib/browser/settings/settings.spec.d.ts.map +1 -0
  779. package/lib/browser/settings/settings.spec.js +32 -0
  780. package/lib/browser/settings/settings.spec.js.map +1 -0
  781. package/lib/browser/state/state-protocol.d.ts +49 -0
  782. package/lib/browser/state/state-protocol.d.ts.map +1 -0
  783. package/lib/browser/state/state-protocol.js +35 -0
  784. package/lib/browser/state/state-protocol.js.map +1 -0
  785. package/lib/browser/state/state.d.ts +40 -0
  786. package/lib/browser/state/state.d.ts.map +1 -0
  787. package/lib/browser/state/state.js +213 -0
  788. package/lib/browser/state/state.js.map +1 -0
  789. package/lib/browser/state/state.spec.d.ts +2 -0
  790. package/lib/browser/state/state.spec.d.ts.map +1 -0
  791. package/lib/browser/state/state.spec.js +201 -0
  792. package/lib/browser/state/state.spec.js.map +1 -0
  793. package/lib/browser/style/base.d.ts +3 -0
  794. package/lib/browser/style/base.d.ts.map +1 -0
  795. package/lib/browser/style/base.js +143 -0
  796. package/lib/browser/style/base.js.map +1 -0
  797. package/lib/browser/style/conversation.d.ts +3 -0
  798. package/lib/browser/style/conversation.d.ts.map +1 -0
  799. package/lib/browser/style/conversation.js +204 -0
  800. package/lib/browser/style/conversation.js.map +1 -0
  801. package/lib/browser/style/layout.d.ts +3 -0
  802. package/lib/browser/style/layout.d.ts.map +1 -0
  803. package/lib/browser/style/layout.js +374 -0
  804. package/lib/browser/style/layout.js.map +1 -0
  805. package/lib/browser/style/pages.d.ts +3 -0
  806. package/lib/browser/style/pages.d.ts.map +1 -0
  807. package/lib/browser/style/pages.js +78 -0
  808. package/lib/browser/style/pages.js.map +1 -0
  809. package/lib/browser/style/shell.d.ts +3 -0
  810. package/lib/browser/style/shell.d.ts.map +1 -0
  811. package/lib/browser/style/shell.js +239 -0
  812. package/lib/browser/style/shell.js.map +1 -0
  813. package/lib/browser/style.d.ts +6 -0
  814. package/lib/browser/style.d.ts.map +1 -0
  815. package/lib/browser/style.js +14 -0
  816. package/lib/browser/style.js.map +1 -0
  817. package/lib/browser/util/composer.d.ts +86 -0
  818. package/lib/browser/util/composer.d.ts.map +1 -0
  819. package/lib/browser/util/composer.js +124 -0
  820. package/lib/browser/util/composer.js.map +1 -0
  821. package/lib/browser/util/composer.spec.d.ts +2 -0
  822. package/lib/browser/util/composer.spec.d.ts.map +1 -0
  823. package/lib/browser/util/composer.spec.js +66 -0
  824. package/lib/browser/util/composer.spec.js.map +1 -0
  825. package/lib/browser/util/diff.d.ts +18 -0
  826. package/lib/browser/util/diff.d.ts.map +1 -0
  827. package/lib/browser/util/diff.js +32 -0
  828. package/lib/browser/util/diff.js.map +1 -0
  829. package/lib/browser/util/diff.spec.d.ts +2 -0
  830. package/lib/browser/util/diff.spec.d.ts.map +1 -0
  831. package/lib/browser/util/diff.spec.js +21 -0
  832. package/lib/browser/util/diff.spec.js.map +1 -0
  833. package/lib/browser/util/frame.d.ts +33 -0
  834. package/lib/browser/util/frame.d.ts.map +1 -0
  835. package/lib/browser/util/frame.js +50 -0
  836. package/lib/browser/util/frame.js.map +1 -0
  837. package/lib/browser/util/frame.spec.d.ts +2 -0
  838. package/lib/browser/util/frame.spec.d.ts.map +1 -0
  839. package/lib/browser/util/frame.spec.js +60 -0
  840. package/lib/browser/util/frame.spec.js.map +1 -0
  841. package/lib/browser/util/layout.d.ts +27 -0
  842. package/lib/browser/util/layout.d.ts.map +1 -0
  843. package/lib/browser/util/layout.js +57 -0
  844. package/lib/browser/util/layout.js.map +1 -0
  845. package/lib/browser/util/layout.spec.d.ts +2 -0
  846. package/lib/browser/util/layout.spec.d.ts.map +1 -0
  847. package/lib/browser/util/layout.spec.js +35 -0
  848. package/lib/browser/util/layout.spec.js.map +1 -0
  849. package/lib/browser/util/link.d.ts +54 -0
  850. package/lib/browser/util/link.d.ts.map +1 -0
  851. package/lib/browser/util/link.js +232 -0
  852. package/lib/browser/util/link.js.map +1 -0
  853. package/lib/browser/util/link.spec.d.ts +2 -0
  854. package/lib/browser/util/link.spec.d.ts.map +1 -0
  855. package/lib/browser/util/link.spec.js +101 -0
  856. package/lib/browser/util/link.spec.js.map +1 -0
  857. package/lib/browser/util/markdown.d.ts +87 -0
  858. package/lib/browser/util/markdown.d.ts.map +1 -0
  859. package/lib/browser/util/markdown.js +333 -0
  860. package/lib/browser/util/markdown.js.map +1 -0
  861. package/lib/browser/util/markdown.spec.d.ts +2 -0
  862. package/lib/browser/util/markdown.spec.d.ts.map +1 -0
  863. package/lib/browser/util/markdown.spec.js +124 -0
  864. package/lib/browser/util/markdown.spec.js.map +1 -0
  865. package/lib/browser/util/message.d.ts +75 -0
  866. package/lib/browser/util/message.d.ts.map +1 -0
  867. package/lib/browser/util/message.js +146 -0
  868. package/lib/browser/util/message.js.map +1 -0
  869. package/lib/browser/util/message.spec.d.ts +2 -0
  870. package/lib/browser/util/message.spec.d.ts.map +1 -0
  871. package/lib/browser/util/message.spec.js +59 -0
  872. package/lib/browser/util/message.spec.js.map +1 -0
  873. package/lib/browser/util/process.d.ts +74 -0
  874. package/lib/browser/util/process.d.ts.map +1 -0
  875. package/lib/browser/util/process.js +138 -0
  876. package/lib/browser/util/process.js.map +1 -0
  877. package/lib/browser/util/process.spec.d.ts +2 -0
  878. package/lib/browser/util/process.spec.d.ts.map +1 -0
  879. package/lib/browser/util/process.spec.js +106 -0
  880. package/lib/browser/util/process.spec.js.map +1 -0
  881. package/lib/browser/util/progress.d.ts +51 -0
  882. package/lib/browser/util/progress.d.ts.map +1 -0
  883. package/lib/browser/util/progress.js +146 -0
  884. package/lib/browser/util/progress.js.map +1 -0
  885. package/lib/browser/util/progress.spec.d.ts +2 -0
  886. package/lib/browser/util/progress.spec.d.ts.map +1 -0
  887. package/lib/browser/util/progress.spec.js +77 -0
  888. package/lib/browser/util/progress.spec.js.map +1 -0
  889. package/lib/browser/util/qr-code.d.ts +38 -0
  890. package/lib/browser/util/qr-code.d.ts.map +1 -0
  891. package/lib/browser/util/qr-code.js +353 -0
  892. package/lib/browser/util/qr-code.js.map +1 -0
  893. package/lib/browser/util/qr-code.spec.d.ts +2 -0
  894. package/lib/browser/util/qr-code.spec.d.ts.map +1 -0
  895. package/lib/browser/util/qr-code.spec.js +48 -0
  896. package/lib/browser/util/qr-code.spec.js.map +1 -0
  897. package/lib/browser/util/tool.d.ts +42 -0
  898. package/lib/browser/util/tool.d.ts.map +1 -0
  899. package/lib/browser/util/tool.js +154 -0
  900. package/lib/browser/util/tool.js.map +1 -0
  901. package/lib/browser/util/tool.spec.d.ts +2 -0
  902. package/lib/browser/util/tool.spec.d.ts.map +1 -0
  903. package/lib/browser/util/tool.spec.js +73 -0
  904. package/lib/browser/util/tool.spec.js.map +1 -0
  905. package/lib/browser/view.d.ts +4 -0
  906. package/lib/browser/view.d.ts.map +1 -0
  907. package/lib/browser/view.js +19 -0
  908. package/lib/browser/view.js.map +1 -0
  909. package/lib/browser/workbench-protocol.d.ts +51 -0
  910. package/lib/browser/workbench-protocol.d.ts.map +1 -0
  911. package/lib/browser/workbench-protocol.js +5 -0
  912. package/lib/browser/workbench-protocol.js.map +1 -0
  913. package/lib/browser/workbench.d.ts +64 -0
  914. package/lib/browser/workbench.d.ts.map +1 -0
  915. package/lib/browser/workbench.js +281 -0
  916. package/lib/browser/workbench.js.map +1 -0
  917. package/lib/browser/workbench.spec.d.ts +2 -0
  918. package/lib/browser/workbench.spec.d.ts.map +1 -0
  919. package/lib/browser/workbench.spec.js +34 -0
  920. package/lib/browser/workbench.spec.js.map +1 -0
  921. package/package.json +81 -4
  922. package/src/browser/assistant/assistant-export.spec.ts +30 -0
  923. package/src/browser/assistant/assistant-export.ts +41 -0
  924. package/src/browser/assistant/assistant-extension.spec.ts +122 -0
  925. package/src/browser/assistant/assistant-extension.ts +137 -0
  926. package/src/browser/assistant/assistant-hooks.ts +63 -0
  927. package/src/browser/assistant/assistant-protocol.ts +55 -0
  928. package/src/browser/assistant/assistant-tasks.tsx +194 -0
  929. package/src/browser/assistant/assistant-view.tsx +453 -0
  930. package/src/browser/assistant/assistant.spec.ts +80 -0
  931. package/src/browser/assistant/assistant.ts +315 -0
  932. package/src/browser/assistant/voice.spec.ts +8 -0
  933. package/src/browser/assistant/voice.ts +87 -0
  934. package/src/browser/avatar/dino-avatar.spec.ts +151 -0
  935. package/src/browser/avatar/dino-avatar.ts +541 -0
  936. package/src/browser/avatar/dino-motion.ts +313 -0
  937. package/src/browser/chat/chat-protocol.ts +47 -0
  938. package/src/browser/chat/chat-view.tsx +155 -0
  939. package/src/browser/chat/chat.spec.ts +194 -0
  940. package/src/browser/chat/chat.ts +335 -0
  941. package/src/browser/components/account-menu.tsx +114 -0
  942. package/src/browser/components/agent-settings-view.tsx +196 -0
  943. package/src/browser/components/app-view.tsx +553 -0
  944. package/src/browser/components/auth-pictures.tsx +55 -0
  945. package/src/browser/components/auth-view.tsx +421 -0
  946. package/src/browser/components/callout.tsx +33 -0
  947. package/src/browser/components/chat-list.spec.ts +66 -0
  948. package/src/browser/components/chat-list.tsx +276 -0
  949. package/src/browser/components/code-editor.tsx +114 -0
  950. package/src/browser/components/composer-box.tsx +475 -0
  951. package/src/browser/components/composer-menu.tsx +49 -0
  952. package/src/browser/components/composer.spec.tsx +130 -0
  953. package/src/browser/components/composer.tsx +170 -0
  954. package/src/browser/components/connection-bar.tsx +85 -0
  955. package/src/browser/components/context-menu.tsx +100 -0
  956. package/src/browser/components/conversation-scroll.ts +126 -0
  957. package/src/browser/components/dialog-view.tsx +82 -0
  958. package/src/browser/components/diff-editor.tsx +131 -0
  959. package/src/browser/components/diff-view.tsx +19 -0
  960. package/src/browser/components/dino.tsx +19 -0
  961. package/src/browser/components/editor-area.tsx +234 -0
  962. package/src/browser/components/folder-picker.spec.ts +30 -0
  963. package/src/browser/components/folder-picker.tsx +177 -0
  964. package/src/browser/components/fork-view.tsx +65 -0
  965. package/src/browser/components/hero-cards.tsx +189 -0
  966. package/src/browser/components/icon.tsx +62 -0
  967. package/src/browser/components/link-dialog.tsx +66 -0
  968. package/src/browser/components/link.tsx +77 -0
  969. package/src/browser/components/manage-menu.tsx +165 -0
  970. package/src/browser/components/markdown.spec.tsx +46 -0
  971. package/src/browser/components/markdown.tsx +155 -0
  972. package/src/browser/components/math.tsx +21 -0
  973. package/src/browser/components/media.tsx +91 -0
  974. package/src/browser/components/mermaid-view.tsx +105 -0
  975. package/src/browser/components/message-actions.tsx +89 -0
  976. package/src/browser/components/message-footer.tsx +128 -0
  977. package/src/browser/components/message-list.spec.tsx +321 -0
  978. package/src/browser/components/message-list.tsx +328 -0
  979. package/src/browser/components/notice-center.tsx +187 -0
  980. package/src/browser/components/relay-view.tsx +146 -0
  981. package/src/browser/components/run-status.tsx +70 -0
  982. package/src/browser/components/session-settings.spec.tsx +49 -0
  983. package/src/browser/components/session-settings.tsx +119 -0
  984. package/src/browser/components/session-view.tsx +153 -0
  985. package/src/browser/components/settings-controls.tsx +94 -0
  986. package/src/browser/components/settings-view.tsx +573 -0
  987. package/src/browser/components/split-pane.tsx +108 -0
  988. package/src/browser/components/ta-avatar.spec.tsx +27 -0
  989. package/src/browser/components/ta-avatar.tsx +251 -0
  990. package/src/browser/components/tool-view.tsx +186 -0
  991. package/src/browser/components/trusted-domains.tsx +60 -0
  992. package/src/browser/components/web-composer.tsx +47 -0
  993. package/src/browser/components/web-dialog.tsx +29 -0
  994. package/src/browser/components/workbench-toggle.spec.tsx +35 -0
  995. package/src/browser/components/workbench-toggle.tsx +24 -0
  996. package/src/browser/components/workbench-view.tsx +77 -0
  997. package/src/browser/components/working-directory.tsx +22 -0
  998. package/src/browser/editor/monaco-loader.spec.ts +39 -0
  999. package/src/browser/editor/monaco-loader.ts +139 -0
  1000. package/src/browser/editor/monaco.ts +55 -0
  1001. package/src/browser/editor/worker-modules.d.ts +5 -0
  1002. package/src/browser/extension/extension-view.tsx +78 -0
  1003. package/src/browser/extension/icons.ts +161 -0
  1004. package/src/browser/extension/web-extension-api.ts +346 -0
  1005. package/src/browser/extension/web-extension-protocol.ts +154 -0
  1006. package/src/browser/extension/web-extensions.spec.ts +597 -0
  1007. package/src/browser/extension/web-extensions.ts +717 -0
  1008. package/src/browser/hooks.ts +102 -0
  1009. package/src/browser/i18n/locales.ts +20 -0
  1010. package/src/browser/i18n/messages.ts +864 -0
  1011. package/src/browser/i18n/use-t.ts +21 -0
  1012. package/src/browser/index.ts +52 -0
  1013. package/src/browser/links/links-protocol.ts +41 -0
  1014. package/src/browser/links/links.spec.ts +132 -0
  1015. package/src/browser/links/links.ts +127 -0
  1016. package/src/browser/markdown/hooks.ts +32 -0
  1017. package/src/browser/markdown/lazy.spec.ts +34 -0
  1018. package/src/browser/markdown/lazy.ts +46 -0
  1019. package/src/browser/markdown/math.spec.ts +20 -0
  1020. package/src/browser/markdown/math.ts +33 -0
  1021. package/src/browser/markdown/mermaid.spec.ts +21 -0
  1022. package/src/browser/markdown/mermaid.ts +89 -0
  1023. package/src/browser/markdown/style-modules.d.ts +2 -0
  1024. package/src/browser/module.ts +6 -0
  1025. package/src/browser/notices/notices-protocol.ts +92 -0
  1026. package/src/browser/notices/notices.spec.ts +99 -0
  1027. package/src/browser/notices/notices.ts +173 -0
  1028. package/src/browser/public/icons/apple-touch-icon.png +0 -0
  1029. package/src/browser/public/icons/icon-192.png +0 -0
  1030. package/src/browser/public/icons/icon-512.png +0 -0
  1031. package/src/browser/public/icons/icon.svg +1 -0
  1032. package/src/browser/public/icons/maskable-512.png +0 -0
  1033. package/src/browser/public/manifest.webmanifest +40 -0
  1034. package/src/browser/public/sw.js +78 -0
  1035. package/src/browser/pwa/pwa-protocol.ts +22 -0
  1036. package/src/browser/pwa/pwa.spec.ts +143 -0
  1037. package/src/browser/pwa/pwa.ts +123 -0
  1038. package/src/browser/settings/agent-settings.spec.ts +56 -0
  1039. package/src/browser/settings/agent-settings.ts +96 -0
  1040. package/src/browser/settings/settings-protocol.ts +75 -0
  1041. package/src/browser/settings/settings.spec.ts +31 -0
  1042. package/src/browser/settings/settings.ts +89 -0
  1043. package/src/browser/state/state-protocol.ts +71 -0
  1044. package/src/browser/state/state.spec.ts +214 -0
  1045. package/src/browser/state/state.ts +217 -0
  1046. package/src/browser/style/base.ts +139 -0
  1047. package/src/browser/style/conversation.ts +200 -0
  1048. package/src/browser/style/layout.ts +370 -0
  1049. package/src/browser/style/pages.ts +74 -0
  1050. package/src/browser/style/shell.ts +235 -0
  1051. package/src/browser/style.ts +11 -0
  1052. package/src/browser/util/composer.spec.ts +71 -0
  1053. package/src/browser/util/composer.ts +157 -0
  1054. package/src/browser/util/diff.spec.ts +20 -0
  1055. package/src/browser/util/diff.ts +33 -0
  1056. package/src/browser/util/frame.spec.ts +62 -0
  1057. package/src/browser/util/frame.ts +54 -0
  1058. package/src/browser/util/layout.spec.ts +37 -0
  1059. package/src/browser/util/layout.ts +71 -0
  1060. package/src/browser/util/link.spec.ts +104 -0
  1061. package/src/browser/util/link.ts +237 -0
  1062. package/src/browser/util/markdown.spec.ts +133 -0
  1063. package/src/browser/util/markdown.ts +347 -0
  1064. package/src/browser/util/message.spec.ts +63 -0
  1065. package/src/browser/util/message.ts +188 -0
  1066. package/src/browser/util/process.spec.ts +133 -0
  1067. package/src/browser/util/process.ts +166 -0
  1068. package/src/browser/util/progress.spec.ts +86 -0
  1069. package/src/browser/util/progress.ts +170 -0
  1070. package/src/browser/util/qr-code.spec.ts +49 -0
  1071. package/src/browser/util/qr-code.ts +371 -0
  1072. package/src/browser/util/tool.spec.ts +78 -0
  1073. package/src/browser/util/tool.ts +190 -0
  1074. package/src/browser/view.ts +6 -0
  1075. package/src/browser/workbench-protocol.ts +66 -0
  1076. package/src/browser/workbench.spec.ts +37 -0
  1077. package/src/browser/workbench.ts +297 -0
@@ -0,0 +1,334 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.ComposerBox = void 0;
37
+ exports.Attachments = Attachments;
38
+ const lucide_react_1 = require("lucide-react");
39
+ const React = __importStar(require("react"));
40
+ const use_t_1 = require("../i18n/use-t");
41
+ const composer_1 = require("../util/composer");
42
+ const composer_menu_1 = require("./composer-menu");
43
+ const icon_1 = require("./icon");
44
+ function readImage(file) {
45
+ return new Promise(resolve => {
46
+ const reader = new FileReader();
47
+ reader.onload = () => resolve(composer_1.ComposerUtil.image(String(reader.result)));
48
+ reader.onerror = () => resolve(undefined);
49
+ reader.readAsDataURL(file);
50
+ });
51
+ }
52
+ /**
53
+ * The images to send, each shown at once from its file while it is read: a placeholder that shimmers until
54
+ * the thumbnail paints, and a spinner until it can be sent.
55
+ */
56
+ function Attachments({ attachments, onRemove }) {
57
+ const t = (0, use_t_1.useT)();
58
+ return (React.createElement("div", { className: "ta-attachments" }, attachments.map(attachment => (React.createElement("div", { key: attachment.id, className: `ta-attachment ${attachment.image ? '' : 'ta-attachment-loading'}`, "aria-busy": !attachment.image },
59
+ attachment.preview ? React.createElement("img", { className: "ta-thumb", src: attachment.preview, alt: "", decoding: "async" }) : React.createElement("div", { className: "ta-thumb" }),
60
+ !attachment.image && (React.createElement("span", { className: "ta-attachment-spinner", role: "status", "aria-label": t('ta.composer.imageLoading') },
61
+ React.createElement("span", { className: "ta-spinner" }))),
62
+ React.createElement("button", { type: "button", className: "ta-attachment-remove", "aria-label": t('ta.composer.removeImage'), title: t('ta.composer.removeImage'), onClick: () => onRemove(attachment.id) },
63
+ React.createElement(icon_1.Icon, { icon: lucide_react_1.X, size: 12 })))))));
64
+ }
65
+ /** The + on the left of the box: what is not typing, in one place. A list opens in place of the menu. */
66
+ function PlusMenu({ sections, onClose }) {
67
+ const [open, setOpen] = React.useState();
68
+ const shown = (open === null || open === void 0 ? void 0 : open.items) ? [open.items] : sections;
69
+ const pick = (action) => {
70
+ var _a;
71
+ if (action.items) {
72
+ setOpen(action);
73
+ return;
74
+ }
75
+ onClose();
76
+ (_a = action.run) === null || _a === void 0 ? void 0 : _a.call(action);
77
+ };
78
+ return (React.createElement("div", { className: "ta-plus-menu", role: "menu", "aria-label": open === null || open === void 0 ? void 0 : open.label },
79
+ open && (React.createElement("button", { type: "button", className: "ta-plus-back", onClick: () => setOpen(undefined) },
80
+ React.createElement(icon_1.Icon, { icon: lucide_react_1.ChevronLeft, size: 15 }),
81
+ React.createElement("span", null, open.label))),
82
+ React.createElement("div", { className: "ta-plus-items" }, shown.map((section, index) => (React.createElement(React.Fragment, { key: index },
83
+ index > 0 && React.createElement("hr", { className: "ta-plus-line" }),
84
+ section.map(action => { var _a; return (React.createElement("button", { key: action.key, type: "button", role: "menuitem", className: "ta-plus-item", disabled: action.disabled, onClick: () => pick(action) },
85
+ React.createElement("span", { className: "ta-plus-icon" }, (_a = action.icon) !== null && _a !== void 0 ? _a : (action.checked ? React.createElement(icon_1.Icon, { icon: lucide_react_1.Check, size: 15 }) : null)),
86
+ React.createElement("span", { className: "ta-plus-label" }, action.label),
87
+ action.detail && React.createElement("span", { className: "ta-plus-detail" }, action.detail),
88
+ action.items && React.createElement(icon_1.Icon, { icon: lucide_react_1.ChevronRight, size: 14, className: "ta-plus-chevron" }))); })))))));
89
+ }
90
+ /**
91
+ * The message box of every conversation: Enter sends, Shift+Enter is a new line, Alt+Enter a follow-up;
92
+ * `/` lists commands, `@` the `mentions` its owner finds; images are pasted, dropped or picked. The rest (images,
93
+ * mentions, commands, the settings of the conversation) is behind the + on its left.
94
+ */
95
+ exports.ComposerBox = React.forwardRef(function ComposerBox(props, ref) {
96
+ var _a;
97
+ const { placeholder, working = false, onStop, onSend, commands = [], onMentionQuery, mentions, mentionLabel, images: takesImages, actions = [], above, beside, after, autoFocus, onError, } = props;
98
+ const t = (0, use_t_1.useT)();
99
+ const [text, setText] = React.useState('');
100
+ const [caret, setCaret] = React.useState(0);
101
+ const [attachments, setAttachments] = React.useState([]);
102
+ const [selected, setSelected] = React.useState(0);
103
+ const [dismissed, setDismissed] = React.useState();
104
+ const [dragging, setDragging] = React.useState(false);
105
+ const [menu, setMenu] = React.useState(false);
106
+ const input = React.useRef(null);
107
+ const picker = React.useRef(null);
108
+ const plus = React.useRef(null);
109
+ const menuId = React.useId();
110
+ const found = composer_1.ComposerUtil.trigger(text, caret);
111
+ const trigger = found && `${found.kind}:${found.start}` !== dismissed ? found : undefined;
112
+ const query = (trigger === null || trigger === void 0 ? void 0 : trigger.kind) === 'file' ? trigger.query : undefined;
113
+ React.useEffect(() => onMentionQuery === null || onMentionQuery === void 0 ? void 0 : onMentionQuery(query), [onMentionQuery, query]);
114
+ const items = (trigger === null || trigger === void 0 ? void 0 : trigger.kind) === 'command'
115
+ ? composer_1.ComposerUtil.commands(commands, trigger.query).map(command => ({ key: command.name, label: `/${command.name}`, detail: command.description }))
116
+ : (trigger === null || trigger === void 0 ? void 0 : trigger.kind) === 'file'
117
+ ? onMentionQuery
118
+ ? ((_a = mentions === null || mentions === void 0 ? void 0 : mentions.items) !== null && _a !== void 0 ? _a : [])
119
+ : []
120
+ : [];
121
+ const note = (trigger === null || trigger === void 0 ? void 0 : trigger.kind) === 'file' && onMentionQuery && !items.length ? mentions === null || mentions === void 0 ? void 0 : mentions.note : undefined;
122
+ const sendable = text.trim().length > 0 || attachments.length > 0;
123
+ const action = composer_1.ComposerUtil.action(working, sendable);
124
+ // An image still being read holds the message back, rather than leaving without it.
125
+ const reading = !composer_1.ComposerUtil.ready(attachments);
126
+ // Grows with the text, up to a limit; measured again when the text or the width changes (the first
127
+ // layout of a page can be narrower than the last).
128
+ const fit = React.useCallback(() => {
129
+ const element = input.current;
130
+ if (element) {
131
+ element.style.height = 'auto';
132
+ element.style.height = `${Math.min(element.scrollHeight, 240)}px`;
133
+ }
134
+ }, []);
135
+ // biome-ignore lint/correctness/useExhaustiveDependencies: the height is measured again whenever the text changes
136
+ React.useLayoutEffect(fit, [text]);
137
+ React.useEffect(() => {
138
+ const element = input.current;
139
+ if (!element || typeof ResizeObserver === 'undefined') {
140
+ return;
141
+ }
142
+ let width = element.clientWidth;
143
+ const observer = new ResizeObserver(() => {
144
+ if (element.clientWidth !== width) {
145
+ width = element.clientWidth;
146
+ fit();
147
+ }
148
+ });
149
+ observer.observe(element);
150
+ return () => observer.disconnect();
151
+ }, [fit]);
152
+ React.useEffect(() => {
153
+ if (!menu) {
154
+ return;
155
+ }
156
+ const close = (event) => {
157
+ var _a;
158
+ if (!((_a = plus.current) === null || _a === void 0 ? void 0 : _a.contains(event.target))) {
159
+ setMenu(false);
160
+ }
161
+ };
162
+ const onKey = (event) => event.key === 'Escape' && setMenu(false);
163
+ document.addEventListener('pointerdown', close);
164
+ document.addEventListener('keydown', onKey);
165
+ return () => {
166
+ document.removeEventListener('pointerdown', close);
167
+ document.removeEventListener('keydown', onKey);
168
+ };
169
+ }, [menu]);
170
+ const edit = (next, position) => {
171
+ setText(next);
172
+ setCaret(position);
173
+ setSelected(0);
174
+ setDismissed(undefined);
175
+ requestAnimationFrame(() => {
176
+ var _a, _b;
177
+ (_a = input.current) === null || _a === void 0 ? void 0 : _a.focus();
178
+ (_b = input.current) === null || _b === void 0 ? void 0 : _b.setSelectionRange(position, position);
179
+ });
180
+ };
181
+ const latest = React.useRef(text);
182
+ latest.current = text;
183
+ React.useImperativeHandle(ref, () => ({ text: () => latest.current, setText: next => edit(next, next.length) }));
184
+ const pick = (item) => {
185
+ if (!trigger) {
186
+ return;
187
+ }
188
+ const insertion = trigger.kind === 'command' ? item.label : composer_1.ComposerUtil.reference(item.key);
189
+ const next = composer_1.ComposerUtil.replace(text, trigger, insertion);
190
+ edit(next.text, next.caret);
191
+ };
192
+ /** A command typed out in full: Enter sends it rather than picking it again. */
193
+ const typed = (item) => (trigger === null || trigger === void 0 ? void 0 : trigger.kind) === 'command' && (item === null || item === void 0 ? void 0 : item.label) === text.trim();
194
+ const send = (followUp) => {
195
+ const message = text.trim();
196
+ if ((!message && !attachments.length) || reading) {
197
+ return;
198
+ }
199
+ const attached = attachments;
200
+ setText('');
201
+ setCaret(0);
202
+ setAttachments([]);
203
+ onSend(message, composer_1.ComposerUtil.images(attached), followUp).then(() => composer_1.ComposerUtil.release(attached), error => {
204
+ setText(message);
205
+ setAttachments(attached);
206
+ onError(error);
207
+ });
208
+ };
209
+ const remove = (id) => {
210
+ composer_1.ComposerUtil.release(attachments.filter(attachment => attachment.id === id));
211
+ setAttachments(previous => previous.filter(attachment => attachment.id !== id));
212
+ };
213
+ // The previews of a box that goes away go with it.
214
+ const shown = React.useRef(attachments);
215
+ shown.current = attachments;
216
+ React.useEffect(() => () => composer_1.ComposerUtil.release(shown.current), []);
217
+ /** Shows each image at once from its file, and reads them all at the same time. */
218
+ const addFiles = (list) => {
219
+ const added = [];
220
+ for (const file of Array.from(list)) {
221
+ const reason = composer_1.ComposerUtil.rejectImage(file, attachments.length + added.length);
222
+ if (reason) {
223
+ onError(new Error(t(`ta.composer.image.${reason}`, { name: file.name })));
224
+ continue;
225
+ }
226
+ added.push({ attachment: { id: crypto.randomUUID(), preview: URL.createObjectURL(file) }, file });
227
+ }
228
+ if (!added.length) {
229
+ return;
230
+ }
231
+ setAttachments(previous => [...previous, ...added.map(({ attachment }) => attachment)]);
232
+ for (const { attachment, file } of added) {
233
+ void readImage(file).then(image => {
234
+ if (!image) {
235
+ composer_1.ComposerUtil.release([attachment]);
236
+ }
237
+ setAttachments(previous => image
238
+ ? previous.map(other => (other.id === attachment.id ? { ...other, image } : other))
239
+ : previous.filter(other => other.id !== attachment.id));
240
+ });
241
+ }
242
+ };
243
+ const onKeyDown = (event) => {
244
+ var _a;
245
+ const composing = event.nativeEvent.isComposing || event.keyCode === 229;
246
+ if (items.length && !composing && (event.key === 'ArrowDown' || event.key === 'ArrowUp')) {
247
+ event.preventDefault();
248
+ setSelected((selected + (event.key === 'ArrowDown' ? 1 : items.length - 1)) % items.length);
249
+ }
250
+ else if (items.length && !composing && (event.key === 'Tab' || (event.key === 'Enter' && !event.shiftKey && !typed(items[selected])))) {
251
+ event.preventDefault();
252
+ pick((_a = items[selected]) !== null && _a !== void 0 ? _a : items[0]);
253
+ }
254
+ else if (trigger && event.key === 'Escape') {
255
+ event.preventDefault();
256
+ setDismissed(`${trigger.kind}:${trigger.start}`);
257
+ }
258
+ else if (composer_1.ComposerUtil.isSend({ key: event.key, shiftKey: event.shiftKey, isComposing: event.nativeEvent.isComposing, keyCode: event.keyCode })) {
259
+ event.preventDefault();
260
+ send(event.altKey);
261
+ }
262
+ else if (event.key === 'Escape' && working && onStop) {
263
+ event.preventDefault();
264
+ onStop();
265
+ }
266
+ };
267
+ const onPaste = (event) => {
268
+ const pasted = takesImages ? Array.from(event.clipboardData.files).filter(file => file.type.startsWith('image/')) : [];
269
+ if (pasted.length) {
270
+ event.preventDefault();
271
+ addFiles(pasted);
272
+ }
273
+ };
274
+ const onDrop = (event) => {
275
+ setDragging(false);
276
+ if (takesImages && event.dataTransfer.files.length) {
277
+ event.preventDefault();
278
+ addFiles(event.dataTransfer.files);
279
+ }
280
+ };
281
+ const own = [];
282
+ if (takesImages) {
283
+ own.push({ key: 'image', label: t('ta.composer.addImage'), icon: React.createElement(icon_1.Icon, { icon: lucide_react_1.ImagePlus, size: 16 }), run: () => { var _a; return (_a = picker.current) === null || _a === void 0 ? void 0 : _a.click(); } });
284
+ }
285
+ if (mentionLabel) {
286
+ own.push({ key: 'mention', label: mentionLabel, icon: React.createElement(icon_1.Icon, { icon: lucide_react_1.AtSign, size: 16 }), run: () => edit(...composer_1.ComposerUtil.insert(text, caret, '@')) });
287
+ }
288
+ if (commands.length) {
289
+ own.push({
290
+ key: 'command',
291
+ label: t('ta.composer.commands'),
292
+ icon: React.createElement(icon_1.Icon, { icon: lucide_react_1.Slash, size: 16 }),
293
+ run: () => edit(`/${text.replace(/^\//, '')}`, 1),
294
+ });
295
+ }
296
+ const typing = (action) => action.insert === undefined ? action : { ...action, run: () => edit(...composer_1.ComposerUtil.insert(text, caret, action.insert)) };
297
+ const sections = [own, ...actions.map(section => section.map(typing))].filter(section => section.length > 0);
298
+ return (React.createElement("div", { className: "ta-console-composer" },
299
+ (items.length > 0 || note) && React.createElement(composer_menu_1.ComposerMenu, { id: menuId, items: items, selected: selected, note: note, onPick: pick, onHover: setSelected }),
300
+ above,
301
+ React.createElement("div", { className: `ta-console-box ${dragging ? 'ta-dragging' : ''}`, onDragOver: event => {
302
+ if (takesImages && event.dataTransfer.types.includes('Files')) {
303
+ event.preventDefault();
304
+ setDragging(true);
305
+ }
306
+ }, onDragLeave: () => setDragging(false), onDrop: onDrop },
307
+ attachments.length > 0 && React.createElement(Attachments, { attachments: attachments, onRemove: remove }),
308
+ React.createElement("div", { className: "ta-console-row" },
309
+ sections.length > 0 && (React.createElement("div", { className: "ta-plus", ref: plus },
310
+ React.createElement(icon_1.IconButton, { icon: lucide_react_1.Plus, label: t('ta.composer.more'), className: `ta-attach ta-plus-button ${menu ? 'ta-on' : ''}`, onClick: () => setMenu(!menu) }),
311
+ menu && React.createElement(PlusMenu, { sections: sections, onClose: () => setMenu(false) }))),
312
+ beside,
313
+ takesImages && (React.createElement("input", { ref: picker, type: "file", accept: composer_1.IMAGE_TYPES.join(','), multiple: true, hidden: true, onChange: event => {
314
+ if (event.target.files) {
315
+ addFiles(event.target.files);
316
+ }
317
+ event.target.value = '';
318
+ } })),
319
+ React.createElement("textarea", { ref: input, rows: 1, value: text, autoFocus: autoFocus, "aria-label": t('ta.composer.label'), "aria-controls": items.length ? menuId : undefined, "aria-activedescendant": items.length ? `${menuId}-${selected}` : undefined, placeholder: placeholder, onChange: event => {
320
+ setText(event.target.value);
321
+ setCaret(event.target.selectionStart);
322
+ setSelected(0);
323
+ }, onSelect: event => setCaret(event.currentTarget.selectionStart), onKeyDown: onKeyDown, onPaste: onPaste }),
324
+ after,
325
+ React.createElement("button", { type: "button", className: `ta-send ${action === 'stop' ? 'ta-send-stop' : ''}`, disabled: action === 'send' && (!sendable || reading), title: action === 'stop'
326
+ ? t('ta.composer.stopTitle')
327
+ : reading
328
+ ? t('ta.composer.imageLoading')
329
+ : working
330
+ ? t('ta.composer.steerTitle')
331
+ : t('ta.send'), "aria-label": action === 'stop' ? t('ta.stop') : t('ta.send'), onClick: () => (action === 'stop' ? onStop === null || onStop === void 0 ? void 0 : onStop() : send(false)) },
332
+ React.createElement(icon_1.Icon, { icon: action === 'stop' ? lucide_react_1.Square : lucide_react_1.ArrowUp, size: action === 'stop' ? 14 : 18 }))))));
333
+ });
334
+ //# sourceMappingURL=composer-box.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"composer-box.js","sourceRoot":"","sources":["../../../src/browser/components/composer-box.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ import * as React from 'react';
2
+ export interface ComposerMenuItem {
3
+ key: string;
4
+ label: string;
5
+ detail?: string;
6
+ }
7
+ export interface ComposerMenuProps {
8
+ id: string;
9
+ items: ComposerMenuItem[];
10
+ selected: number;
11
+ /** Instead of the items: why there are none. */
12
+ note?: string;
13
+ onPick(item: ComposerMenuItem): void;
14
+ onHover(index: number): void;
15
+ }
16
+ /** The commands or files for what is typed; the keys stay in the message box, which owns the selection. */
17
+ export declare function ComposerMenu({ id, items, selected, note, onPick, onHover }: ComposerMenuProps): React.JSX.Element;
18
+ //# sourceMappingURL=composer-menu.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"composer-menu.d.ts","sourceRoot":"","sources":["../../../src/browser/components/composer-menu.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,MAAM,WAAW,gBAAgB;IAC7B,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,iBAAiB;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,gBAAgB,EAAE,CAAC;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,gDAAgD;IAChD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,IAAI,EAAE,gBAAgB,GAAG,IAAI,CAAC;IACrC,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CAChC;AAED,2GAA2G;AAC3G,wBAAgB,YAAY,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,iBAAiB,qBA6B7F"}
@@ -0,0 +1,54 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.ComposerMenu = ComposerMenu;
37
+ const React = __importStar(require("react"));
38
+ /** The commands or files for what is typed; the keys stay in the message box, which owns the selection. */
39
+ function ComposerMenu({ id, items, selected, note, onPick, onHover }) {
40
+ const list = React.useRef(null);
41
+ // biome-ignore lint/correctness/useExhaustiveDependencies: keeps the selected item in view whenever the selection moves
42
+ React.useEffect(() => {
43
+ var _a, _b;
44
+ (_b = (_a = list.current) === null || _a === void 0 ? void 0 : _a.querySelector('.ta-selected')) === null || _b === void 0 ? void 0 : _b.scrollIntoView({ block: 'nearest' });
45
+ }, [selected]);
46
+ return (React.createElement("div", { className: `ta-commands ${items.length ? '' : 'ta-commands-note'}`, id: id, role: "listbox", ref: list },
47
+ items.map((item, index) => (React.createElement("button", { key: item.key, id: `${id}-${index}`, type: "button", role: "option", "aria-selected": index === selected, tabIndex: -1, className: `ta-command ${index === selected ? 'ta-selected' : ''}`,
48
+ // Keeps the focus in the message box.
49
+ onMouseDown: event => event.preventDefault(), onMouseEnter: () => onHover(index), onClick: () => onPick(item) },
50
+ React.createElement("span", { className: "ta-command-label" }, item.label),
51
+ item.detail && React.createElement("span", { className: "ta-muted" }, item.detail)))),
52
+ !items.length && note && React.createElement("div", { className: "ta-command-note" }, note)));
53
+ }
54
+ //# sourceMappingURL=composer-menu.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"composer-menu.js","sourceRoot":"","sources":["../../../src/browser/components/composer-menu.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,MAAY,KAAK,kCAAc;AAkB/B,2GAA2G;AAC3G,sBAA6B,EAAE,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAqB;IAC1F,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,CAAiB,IAAI,CAAC,CAAC;IAChD,wHAAwH;IACxH,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;;QACjB,MAAA,MAAA,IAAI,CAAC,OAAO,0CAAE,aAAa,CAAC,cAAc,CAAC,0CAAE,cAAc,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;IACtF,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;IACf,OAAO,CACH,6BAAK,SAAS,EAAE,eAAe,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,kBAAkB,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAC,SAAS,EAAC,GAAG,EAAE,IAAI;QACpG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,CACxB,gCACI,GAAG,EAAE,IAAI,CAAC,GAAG,EACb,EAAE,EAAE,GAAG,EAAE,IAAI,KAAK,EAAE,EACpB,IAAI,EAAC,QAAQ,EACb,IAAI,EAAC,QAAQ,mBACE,KAAK,KAAK,QAAQ,EACjC,QAAQ,EAAE,CAAC,CAAC,EACZ,SAAS,EAAE,cAAc,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,EAAE;YAClE,sCAAsC;YACtC,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,cAAc,EAAE,EAC5C,YAAY,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,EAClC,OAAO,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC;YAE3B,8BAAM,SAAS,EAAC,kBAAkB,IAAE,IAAI,CAAC,KAAK,CAAQ;YACrD,IAAI,CAAC,MAAM,IAAI,8BAAM,SAAS,EAAC,UAAU,IAAE,IAAI,CAAC,MAAM,CAAQ,CAC1D,CACZ,CAAC;QACD,CAAC,KAAK,CAAC,MAAM,IAAI,IAAI,IAAI,6BAAK,SAAS,EAAC,iBAAiB,IAAE,IAAI,CAAO,CACrE,CACT,CAAC;AACN,CAAC"}
@@ -0,0 +1,38 @@
1
+ import type { SessionStore } from '@celljs/ta-client';
2
+ import type { TaCommandResult, TaServer, TaWorkspaceServer } from '@celljs/ta-protocol';
3
+ import * as React from 'react';
4
+ import { type ComposerImage } from '../util/composer';
5
+ import { type ComposerAction, type ComposerBoxHandle } from './composer-box';
6
+ type Command = TaCommandResult<'get_commands'>['commands'][number];
7
+ export interface ComposerProps {
8
+ /** The session it sends to; none for a new conversation, which sends with `onSubmit`. */
9
+ store?: SessionStore;
10
+ onSubmit?(message: string, images?: ComposerImage[]): Promise<unknown>;
11
+ /** Controls beside the +, as the directory of a new conversation. */
12
+ beside?: React.ReactNode;
13
+ /** Controls on the right, before the send button. */
14
+ after?: React.ReactNode;
15
+ server: TaServer;
16
+ /** Where `@` looks for files. */
17
+ workspace: Pick<TaWorkspaceServer, 'findFiles'>;
18
+ working: boolean;
19
+ commands: Command[];
20
+ /** The directory of the session: where `@` looks for files. */
21
+ cwd?: string;
22
+ /** The settings of the conversation, in the + menu. */
23
+ actions?: ComposerAction[][];
24
+ /** Instead of the hint of a session. */
25
+ placeholder?: string;
26
+ /** Above the box, before what waits to be sent. */
27
+ above?: React.ReactNode;
28
+ /** A message goes out (as the double stops reading aloud). */
29
+ onSending?(): void;
30
+ onError(error: unknown): void;
31
+ }
32
+ /**
33
+ * The message box of a session, with the keys of pi's terminal: while the agent works, Enter steers it
34
+ * and Alt+Enter queues a follow-up; Escape stops it.
35
+ */
36
+ export declare const Composer: React.ForwardRefExoticComponent<ComposerProps & React.RefAttributes<ComposerBoxHandle>>;
37
+ export {};
38
+ //# sourceMappingURL=composer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"composer.d.ts","sourceRoot":"","sources":["../../../src/browser/components/composer.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,KAAK,EAAE,eAAe,EAAE,QAAQ,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAExF,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,KAAK,aAAa,EAAoC,MAAM,kBAAkB,CAAC;AACxF,OAAO,EAAE,KAAK,cAAc,EAAe,KAAK,iBAAiB,EAAyB,MAAM,gBAAgB,CAAC;AAGjH,KAAK,OAAO,GAAG,eAAe,CAAC,cAAc,CAAC,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,CAAC;AAMnE,MAAM,WAAW,aAAa;IAC1B,yFAAyF;IACzF,KAAK,CAAC,EAAE,YAAY,CAAC;IACrB,QAAQ,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,aAAa,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACvE,qEAAqE;IACrE,MAAM,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACzB,qDAAqD;IACrD,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACxB,MAAM,EAAE,QAAQ,CAAC;IACjB,iCAAiC;IACjC,SAAS,EAAE,IAAI,CAAC,iBAAiB,EAAE,WAAW,CAAC,CAAC;IAChD,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,+DAA+D;IAC/D,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,uDAAuD;IACvD,OAAO,CAAC,EAAE,cAAc,EAAE,EAAE,CAAC;IAC7B,wCAAwC;IACxC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,mDAAmD;IACnD,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACxB,8DAA8D;IAC9D,SAAS,CAAC,IAAI,IAAI,CAAC;IACnB,OAAO,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI,CAAC;CACjC;AAoDD;;;GAGG;AACH,eAAO,MAAM,QAAQ,yFA0EnB,CAAC"}
@@ -0,0 +1,135 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.Composer = void 0;
37
+ const lucide_react_1 = require("lucide-react");
38
+ const React = __importStar(require("react"));
39
+ const use_t_1 = require("../i18n/use-t");
40
+ const composer_1 = require("../util/composer");
41
+ const composer_box_1 = require("./composer-box");
42
+ const icon_1 = require("./icon");
43
+ const FILE_LIMIT = 20;
44
+ const FILE_DELAY_MS = 120;
45
+ const EMPTY_QUEUE = { steering: [], followUp: [] };
46
+ /** The files for an `@` being typed; a server without file search answers with an error, and the menu says so. */
47
+ function useFiles(workspace, cwd, query) {
48
+ const t = (0, use_t_1.useT)();
49
+ const [matches, setMatches] = React.useState();
50
+ React.useEffect(() => {
51
+ if (query === undefined) {
52
+ return;
53
+ }
54
+ let current = true;
55
+ const timer = setTimeout(() => {
56
+ workspace.findFiles(query, cwd, FILE_LIMIT).then(paths => current && setMatches({ query, paths }), () => current && setMatches({ query, paths: [], failed: true }));
57
+ }, FILE_DELAY_MS);
58
+ return () => {
59
+ current = false;
60
+ clearTimeout(timer);
61
+ };
62
+ }, [workspace, cwd, query]);
63
+ if (query === undefined || !matches) {
64
+ return undefined;
65
+ }
66
+ const note = composer_1.ComposerUtil.fileNote(matches);
67
+ return {
68
+ items: matches.paths.map(path => ({ key: path, label: path })),
69
+ note: note === 'unavailable' ? t('ta.composer.filesUnavailable') : note === 'none' ? t('ta.composer.noFiles') : undefined,
70
+ };
71
+ }
72
+ /** The messages waiting for the agent, from pi's `queue_update`. */
73
+ function useQueue(store, working) {
74
+ const [queue, setQueue] = React.useState(EMPTY_QUEUE);
75
+ React.useEffect(() => store === null || store === void 0 ? void 0 : store.onEvent(event => {
76
+ if (event.type === 'queue_update') {
77
+ setQueue({ steering: [...event.steering], followUp: [...event.followUp] });
78
+ }
79
+ }), [store]);
80
+ React.useEffect(() => {
81
+ if (!working) {
82
+ setQueue(EMPTY_QUEUE);
83
+ }
84
+ }, [working]);
85
+ return [queue, setQueue];
86
+ }
87
+ /**
88
+ * The message box of a session, with the keys of pi's terminal: while the agent works, Enter steers it
89
+ * and Alt+Enter queues a follow-up; Escape stops it.
90
+ */
91
+ exports.Composer = React.forwardRef(function Composer(props, ref) {
92
+ const { store, onSubmit, beside, after, server, workspace, working, commands, cwd, actions, placeholder, above, onSending, onError } = props;
93
+ const t = (0, use_t_1.useT)();
94
+ const [queue, setQueue] = useQueue(store, working);
95
+ const [query, setQuery] = React.useState();
96
+ const files = useFiles(workspace, cwd, query);
97
+ const box = React.useRef(null);
98
+ React.useImperativeHandle(ref, () => ({ text: () => { var _a; var _b; return (_b = (_a = box.current) === null || _a === void 0 ? void 0 : _a.text()) !== null && _b !== void 0 ? _b : ''; }, setText: text => { var _a; return (_a = box.current) === null || _a === void 0 ? void 0 : _a.setText(text); } }));
99
+ const stop = () => store && server.abort(store.sessionId).catch(onError);
100
+ const send = (message, images, followUp) => {
101
+ var _a;
102
+ onSending === null || onSending === void 0 ? void 0 : onSending();
103
+ const prompt = { clientMessageId: crypto.randomUUID(), message, images: images.length ? images : undefined };
104
+ if (!store) {
105
+ return (_a = onSubmit === null || onSubmit === void 0 ? void 0 : onSubmit(message, prompt.images)) !== null && _a !== void 0 ? _a : Promise.resolve();
106
+ }
107
+ return !working
108
+ ? store.prompt(message, { images: prompt.images })
109
+ : followUp
110
+ ? server.followUp(store.sessionId, prompt)
111
+ : server.steer(store.sessionId, prompt);
112
+ };
113
+ const takeBack = () => {
114
+ if (!store) {
115
+ return;
116
+ }
117
+ server.clearQueue(store.sessionId).then(taken => {
118
+ var _a;
119
+ setQueue(EMPTY_QUEUE);
120
+ (_a = box.current) === null || _a === void 0 ? void 0 : _a.setText(composer_1.ComposerUtil.restore(taken, box.current.text()));
121
+ }, onError);
122
+ };
123
+ const waiting = composer_1.ComposerUtil.queued(queue);
124
+ return (React.createElement(composer_box_1.ComposerBox, { ref: box, placeholder: placeholder !== null && placeholder !== void 0 ? placeholder : t(working ? 'ta.composer.steerPlaceholder' : 'ta.composer.placeholder'), working: working, onStop: stop, onSend: send, commands: commands, onMentionQuery: setQuery, mentions: files, mentionLabel: t('ta.composer.mentionFile'), images: true, actions: actions, beside: beside, after: after, autoFocus: true, onError: onError, above: React.createElement(React.Fragment, null,
125
+ above,
126
+ waiting.length > 0 && (React.createElement("div", { className: "ta-queue", "aria-live": "polite" },
127
+ waiting.map((entry, index) => (React.createElement("div", { key: index, className: "ta-queue-row" },
128
+ React.createElement("span", { className: "ta-queue-kind" }, t(entry.kind === 'steering' ? 'ta.composer.queue.steering' : 'ta.composer.queue.followUp')),
129
+ React.createElement("span", { className: "ta-ellipsis" }, entry.text)))),
130
+ React.createElement("button", { type: "button", className: "ta-link ta-queue-back", onClick: takeBack, title: t('ta.composer.queue.takeBackTitle') },
131
+ React.createElement(icon_1.Icon, { icon: lucide_react_1.Undo2, size: 13 }),
132
+ " ",
133
+ t('ta.composer.queue.takeBack'))))) }));
134
+ });
135
+ //# sourceMappingURL=composer.js.map