@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,114 @@
1
+ import { X } from 'lucide-react';
2
+ import * as React from 'react';
3
+ import { createPortal } from 'react-dom';
4
+ import { useNotices } from '../hooks.js';
5
+ import { useT } from '../i18n/use-t.js';
6
+ import { NoticesUtil } from '../notices/notices.js';
7
+ import { LEVEL_ICONS } from './callout.js';
8
+ import { Icon, IconButton } from './icon.js';
9
+ /** How long a notice takes to go, in style.ts. */
10
+ const LEAVE_MS = 160;
11
+ /**
12
+ * Goes by itself after its time, which stops while the pointer or the focus is on it, or the page is hidden.
13
+ * A notice that comes again is a new one (a new id, so a new toast), and starts its time over.
14
+ */
15
+ function useLifetime(notice, leave) {
16
+ const duration = NoticesUtil.duration(notice);
17
+ const [held, setHeld] = React.useState(false);
18
+ const [hidden, setHidden] = React.useState(() => document.visibilityState === 'hidden');
19
+ const left = React.useRef(duration);
20
+ React.useEffect(() => {
21
+ const onVisibility = () => setHidden(document.visibilityState === 'hidden');
22
+ document.addEventListener('visibilitychange', onVisibility);
23
+ return () => document.removeEventListener('visibilitychange', onVisibility);
24
+ }, []);
25
+ React.useEffect(() => {
26
+ if (left.current === undefined || held || hidden) {
27
+ return;
28
+ }
29
+ const started = Date.now();
30
+ const timer = setTimeout(leave, left.current);
31
+ return () => {
32
+ var _a;
33
+ clearTimeout(timer);
34
+ left.current = Math.max(0, ((_a = left.current) !== null && _a !== void 0 ? _a : 0) - (Date.now() - started));
35
+ };
36
+ }, [held, hidden, leave]);
37
+ return {
38
+ onPointerEnter: () => setHeld(true),
39
+ onPointerLeave: () => setHeld(false),
40
+ onFocus: () => setHeld(true),
41
+ onBlur: () => setHeld(false),
42
+ };
43
+ }
44
+ function Toast({ notice, notices }) {
45
+ const t = useT();
46
+ const [leaving, setLeaving] = React.useState(false);
47
+ const leave = React.useCallback(() => {
48
+ setLeaving(true);
49
+ setTimeout(() => notices.dismiss(notice.id), LEAVE_MS);
50
+ }, [notices, notice.id]);
51
+ const hold = useLifetime(notice, leave);
52
+ return (React.createElement("div", { className: `ta-toast ta-level-${notice.level}${leaving ? ' ta-leaving' : ''}`, role: notice.level === 'error' ? 'alert' : 'status', ...hold },
53
+ React.createElement(Icon, { icon: LEVEL_ICONS[notice.level], size: 16, className: "ta-level-icon" }),
54
+ React.createElement("div", { className: "ta-toast-text" },
55
+ React.createElement("div", { className: "ta-toast-message" },
56
+ notice.message,
57
+ notice.count > 1 && React.createElement("span", { className: "ta-toast-count" },
58
+ "\u00D7",
59
+ notice.count)),
60
+ notice.detail && React.createElement("div", { className: "ta-toast-detail" }, notice.detail),
61
+ notice.action && (React.createElement("button", { type: "button", className: "ta-toast-action", onClick: () => {
62
+ var _a;
63
+ (_a = notice.action) === null || _a === void 0 ? void 0 : _a.run();
64
+ leave();
65
+ } }, notice.action.label))),
66
+ React.createElement(IconButton, { icon: X, label: t('ta.dismiss'), className: "ta-toast-close", onClick: leave })));
67
+ }
68
+ function ConfirmDialog({ request, notices }) {
69
+ var _a;
70
+ const t = useT();
71
+ const answer = (confirmed) => notices.answer(request.id, confirmed);
72
+ React.useEffect(() => {
73
+ const onKey = (event) => event.key === 'Escape' && notices.answer(request.id, false);
74
+ document.addEventListener('keydown', onKey);
75
+ return () => document.removeEventListener('keydown', onKey);
76
+ }, [notices, request.id]);
77
+ return createPortal(React.createElement("div", { className: "ta-modal-scrim" },
78
+ React.createElement("button", { type: "button", className: "ta-overlay-close", "aria-label": t('ta.cancel'), tabIndex: -1, onClick: () => answer(false) }),
79
+ React.createElement("div", { className: "ta-modal ta-confirm", role: "alertdialog", "aria-modal": "true", "aria-label": request.title },
80
+ React.createElement("div", { className: "ta-confirm-title" }, request.title),
81
+ request.message && React.createElement("p", { className: "ta-confirm-message" }, request.message),
82
+ React.createElement("div", { className: "ta-dialog-actions" },
83
+ React.createElement("button", { type: "button", className: "ta-button", autoFocus: request.danger, onClick: () => answer(false) }, t('ta.cancel')),
84
+ React.createElement("button", { type: "button", className: `ta-button ${request.danger ? 'ta-button-danger' : 'ta-primary'}`, autoFocus: !request.danger, onClick: () => answer(true) }, (_a = request.confirmLabel) !== null && _a !== void 0 ? _a : t('ta.ok'))))), document.body);
85
+ }
86
+ /** Asks for a line of text, or several (`multiline`), as pi's `input` and `editor`. */
87
+ function InputDialog({ request, notices }) {
88
+ var _a;
89
+ const t = useT();
90
+ const [value, setValue] = React.useState((_a = request.value) !== null && _a !== void 0 ? _a : '');
91
+ const cancel = () => notices.answerInput(request.id, undefined);
92
+ const submit = (event) => {
93
+ event === null || event === void 0 ? void 0 : event.preventDefault();
94
+ notices.answerInput(request.id, value);
95
+ };
96
+ return createPortal(React.createElement("div", { className: "ta-modal-scrim" },
97
+ React.createElement("button", { type: "button", className: "ta-overlay-close", "aria-label": t('ta.cancel'), tabIndex: -1, onClick: cancel }),
98
+ React.createElement("form", { className: "ta-modal ta-confirm ta-ask", role: "dialog", "aria-modal": "true", "aria-label": request.title, onSubmit: submit, onKeyDown: event => event.key === 'Escape' && cancel() },
99
+ React.createElement("div", { className: "ta-confirm-title" }, request.title),
100
+ request.multiline ? (React.createElement("textarea", { className: "ta-input ta-ask-text", autoFocus: true, value: value, placeholder: request.placeholder, "aria-label": request.title, onChange: event => setValue(event.target.value), onKeyDown: event => event.key === 'Enter' && (event.metaKey || event.ctrlKey) && submit() })) : (React.createElement("input", { className: "ta-input", autoFocus: true, value: value, placeholder: request.placeholder, "aria-label": request.title, onFocus: event => event.currentTarget.select(), onChange: event => setValue(event.target.value) })),
101
+ React.createElement("div", { className: "ta-dialog-actions" },
102
+ React.createElement("button", { type: "button", className: "ta-button", onClick: cancel }, t('ta.cancel')),
103
+ React.createElement("button", { type: "submit", className: "ta-button ta-primary" }, t('ta.ok'))))), document.body);
104
+ }
105
+ /** The notices of the page in a corner, the newest nearest to it, and the question waiting for an answer. */
106
+ export function NoticeCenter() {
107
+ const t = useT();
108
+ const [{ notices, confirm, input }, center] = useNotices();
109
+ return (React.createElement(React.Fragment, null,
110
+ React.createElement("section", { className: "ta-toasts", "aria-label": t('ta.notices'), "aria-live": "polite" }, notices.map(notice => (React.createElement(Toast, { key: notice.id, notice: notice, notices: center })))),
111
+ confirm && React.createElement(ConfirmDialog, { key: confirm.id, request: confirm, notices: center }),
112
+ input && React.createElement(InputDialog, { key: input.id, request: input, notices: center })));
113
+ }
114
+ //# sourceMappingURL=notice-center.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"notice-center.js","sourceRoot":"","sources":["../../../src/browser/components/notice-center.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import * as React from 'react';
2
+ /** Using Ta from a phone: pair it through a relay, see and remove the devices paired. */
3
+ export declare function RelayDialog({ onClose }: {
4
+ onClose(): void;
5
+ }): React.ReactPortal;
@@ -0,0 +1,114 @@
1
+ import { Copy, Smartphone, Trash2, X } from 'lucide-react';
2
+ import * as React from 'react';
3
+ import { createPortal } from 'react-dom';
4
+ import { useNotices, useWorkbench } from '../hooks.js';
5
+ import { useT } from '../i18n/use-t.js';
6
+ import { QrCode } from '../util/qr-code.js';
7
+ import { Icon, IconButton } from './icon.js';
8
+ /** A phone and this computer, a relay between them, and a lock on what goes through. */
9
+ function RelayPicture() {
10
+ return (React.createElement("svg", { className: "ta-pic ta-relay-pic", viewBox: "0 0 240 72", "aria-hidden": "true" },
11
+ React.createElement("rect", { className: "ta-pic-frame", x: "14", y: "10", width: "32", height: "52", rx: "7" }),
12
+ React.createElement("rect", { className: "ta-pic-accent", x: "19", y: "17", width: "22", height: "30", rx: "3" }),
13
+ React.createElement("rect", { className: "ta-pic-line", x: "25", y: "53", width: "10", height: "3", rx: "1.5" }),
14
+ React.createElement("rect", { className: "ta-pic-frame", x: "168", y: "14", width: "58", height: "38", rx: "5" }),
15
+ React.createElement("rect", { className: "ta-pic-accent", x: "173", y: "19", width: "48", height: "28", rx: "3" }),
16
+ React.createElement("rect", { className: "ta-pic-line", x: "160", y: "54", width: "74", height: "5", rx: "2.5" }),
17
+ React.createElement("path", { className: "ta-pic-path", d: "M52 36h44M144 36h18" }),
18
+ React.createElement("circle", { className: "ta-pic-frame", cx: "120", cy: "36", r: "20" }),
19
+ React.createElement("path", { className: "ta-pic-mark", d: "M112 34h16v12h-16z" }),
20
+ React.createElement("path", { className: "ta-pic-shackle", d: "M115.5 34v-4a4.5 4.5 0 0 1 9 0v4" }),
21
+ React.createElement("circle", { className: "ta-pic-dot ta-relay-dot", cx: "74", cy: "36", r: "3" }),
22
+ React.createElement("circle", { className: "ta-pic-dot ta-relay-dot ta-relay-dot-back", cx: "153", cy: "36", r: "3" })));
23
+ }
24
+ function QrView({ text }) {
25
+ const code = React.useMemo(() => QrCode.encode(text), [text]);
26
+ const quiet = 3;
27
+ const size = code.size + quiet * 2;
28
+ return (React.createElement("svg", { className: "ta-qr", viewBox: `${-quiet} ${-quiet} ${size} ${size}`, role: "img", "aria-label": "QR", shapeRendering: "crispEdges" },
29
+ React.createElement("rect", { x: -quiet, y: -quiet, width: size, height: size, fill: "#fff" }),
30
+ React.createElement("path", { d: code.path(), fill: "#111" })));
31
+ }
32
+ /** Using Ta from a phone: pair it through a relay, see and remove the devices paired. */
33
+ export function RelayDialog({ onClose }) {
34
+ var _a, _b;
35
+ const t = useT();
36
+ const [, bench] = useWorkbench();
37
+ const [, notices] = useNotices();
38
+ const [info, setInfo] = React.useState();
39
+ const [link, setLink] = React.useState();
40
+ const [name, setName] = React.useState('');
41
+ const [busy, setBusy] = React.useState(false);
42
+ const load = React.useCallback(() => {
43
+ bench.relay.getRelay().then(setInfo, (error) => notices.error(error));
44
+ }, [bench, notices]);
45
+ React.useEffect(() => {
46
+ load();
47
+ // Whether ta serve reached the relay shows a moment after pairing.
48
+ const timer = setInterval(load, 3000);
49
+ return () => clearInterval(timer);
50
+ }, [load]);
51
+ React.useEffect(() => {
52
+ const onKey = (event) => event.key === 'Escape' && onClose();
53
+ document.addEventListener('keydown', onKey);
54
+ return () => document.removeEventListener('keydown', onKey);
55
+ }, [onClose]);
56
+ const pair = async () => {
57
+ var _a;
58
+ if (!info) {
59
+ return;
60
+ }
61
+ setBusy(true);
62
+ try {
63
+ const paired = await bench.relay.pair((_a = info.relay) !== null && _a !== void 0 ? _a : info.defaultRelay, name.trim() || t('ta.relay.phone'));
64
+ setLink(paired.link);
65
+ setName('');
66
+ load();
67
+ }
68
+ catch (error) {
69
+ notices.error(error);
70
+ }
71
+ finally {
72
+ setBusy(false);
73
+ }
74
+ };
75
+ const unpair = async (device) => {
76
+ if (await notices.confirm({ title: t('ta.relay.unpairConfirm', { name: device.name }), confirmLabel: t('ta.relay.unpair'), danger: true })) {
77
+ await bench.relay.unpair(device.id).catch((error) => notices.error(error));
78
+ load();
79
+ }
80
+ };
81
+ const relayHost = ((_b = (_a = info === null || info === void 0 ? void 0 : info.relay) !== null && _a !== void 0 ? _a : info === null || info === void 0 ? void 0 : info.defaultRelay) !== null && _b !== void 0 ? _b : '').replace(/^https?:\/\//, '');
82
+ return createPortal(React.createElement("div", { className: "ta-modal-scrim" },
83
+ React.createElement("button", { type: "button", className: "ta-overlay-close", "aria-label": t('ta.close'), tabIndex: -1, onClick: onClose }),
84
+ React.createElement("div", { className: "ta-modal ta-relay-dialog", role: "dialog", "aria-modal": "true", "aria-label": t('ta.relay.title') },
85
+ React.createElement("div", { className: "ta-modal-head" },
86
+ React.createElement("span", { className: "ta-modal-title" }, t('ta.relay.title')),
87
+ React.createElement(IconButton, { icon: X, label: t('ta.close'), onClick: onClose })),
88
+ link ? (React.createElement("div", { className: "ta-relay-pairing" },
89
+ React.createElement(QrView, { text: link }),
90
+ React.createElement("p", null, t('ta.relay.scan')),
91
+ React.createElement("div", { className: "ta-auth-actions" },
92
+ React.createElement("button", { type: "button", className: "ta-button", onClick: () => { var _a; return void ((_a = navigator.clipboard) === null || _a === void 0 ? void 0 : _a.writeText(link).catch(() => undefined)); } },
93
+ React.createElement(Icon, { icon: Copy, size: 15 }),
94
+ " ",
95
+ t('ta.auth.copyLink')),
96
+ React.createElement("button", { type: "button", className: "ta-button ta-primary", onClick: () => setLink(undefined) }, t('ta.relay.done'))))) : (React.createElement("div", { className: "ta-relay-start" },
97
+ React.createElement(RelayPicture, null),
98
+ React.createElement("p", null, t('ta.relay.hint')),
99
+ React.createElement("div", { className: "ta-relay-form" },
100
+ React.createElement("label", { className: "ta-field ta-field-small" },
101
+ React.createElement(Smartphone, { size: 15, strokeWidth: 1.75, "aria-hidden": "true" }),
102
+ React.createElement("input", { placeholder: t('ta.relay.phone'), value: name, onChange: event => setName(event.target.value) })),
103
+ React.createElement("button", { type: "button", className: "ta-button ta-primary", disabled: busy || !info, onClick: () => void pair() }, t('ta.relay.pair'))))),
104
+ info && info.devices.length > 0 && (React.createElement("section", { className: "ta-auth-group" },
105
+ React.createElement("h3", null,
106
+ t('ta.relay.devices'),
107
+ React.createElement("span", { className: `ta-relay-state${info.online ? ' ta-on' : ''}` }, info.online ? t('ta.relay.online', { relay: relayHost }) : t('ta.relay.offline', { relay: relayHost }))),
108
+ info.devices.map(device => (React.createElement("div", { key: device.id, className: "ta-auth-row ta-relay-device" },
109
+ React.createElement(Icon, { icon: Smartphone, size: 16 }),
110
+ React.createElement("span", { className: "ta-auth-name" }, device.name),
111
+ React.createElement("span", { className: "ta-auth-note" }, new Date(device.createdAt).toLocaleDateString()),
112
+ React.createElement(IconButton, { icon: Trash2, label: t('ta.relay.unpair'), onClick: () => void unpair(device) })))))))), document.body);
113
+ }
114
+ //# sourceMappingURL=relay-view.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"relay-view.js","sourceRoot":"","sources":["../../../src/browser/components/relay-view.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ import type { SessionState } from '@celljs/ta-client';
2
+ import * as React from 'react';
3
+ /**
4
+ * What ta does while it works, in one line: the phase it is in (waiting for the model, thinking, writing,
5
+ * the tool it runs, a retry) and the tokens of the run, sent up and received down.
6
+ */
7
+ export declare function RunStatus({ state }: {
8
+ state: SessionState;
9
+ }): React.JSX.Element;
@@ -0,0 +1,54 @@
1
+ import { ArrowDown, ArrowUp } from 'lucide-react';
2
+ import * as React from 'react';
3
+ import { useT } from '../i18n/use-t.js';
4
+ import { ProgressUtil } from '../util/progress.js';
5
+ import { ToolUtil } from '../util/tool.js';
6
+ import { Icon } from './icon.js';
7
+ function usePhaseText(phase) {
8
+ const t = useT();
9
+ switch (phase.kind) {
10
+ case 'waiting':
11
+ return t('ta.progress.waiting');
12
+ case 'thinking':
13
+ return t('ta.session.phase.thinking');
14
+ case 'writing':
15
+ return t('ta.session.phase.writing');
16
+ case 'calling': {
17
+ const { verb } = ToolUtil.summary(phase.tool, {});
18
+ return t('ta.progress.calling', { tool: verb ? t(verb) : phase.tool });
19
+ }
20
+ case 'tool': {
21
+ const { verb, name, target } = phase.summary;
22
+ return [verb ? t(verb) : name, target].filter(Boolean).join(' ');
23
+ }
24
+ case 'clientTool':
25
+ return `${t('ta.session.waitingClientTool')} · ${phase.tool}`;
26
+ case 'attention':
27
+ return t('ta.mood.attention');
28
+ case 'compacting':
29
+ return t('ta.progress.compacting');
30
+ case 'retrying':
31
+ return t('ta.progress.retrying', { seconds: phase.seconds, attempt: phase.attempt, max: phase.maxAttempts });
32
+ }
33
+ }
34
+ /**
35
+ * What ta does while it works, in one line: the phase it is in (waiting for the model, thinking, writing,
36
+ * the tool it runs, a retry) and the tokens of the run, sent up and received down.
37
+ */
38
+ export function RunStatus({ state }) {
39
+ const t = useT();
40
+ const phase = ProgressUtil.phase(state);
41
+ const text = usePhaseText(phase);
42
+ const { input, output } = ProgressUtil.tokens(state);
43
+ return (React.createElement("span", { className: "ta-run-status", role: "status" },
44
+ React.createElement("span", { className: `ta-status ${phase.kind === 'attention' || phase.kind === 'retrying' ? 'ta-status-waiting' : 'ta-status-running'}` }),
45
+ React.createElement("span", { className: `ta-run-phase ${phase.kind === 'tool' ? 'ta-run-tool' : ''}`, title: text }, text),
46
+ (input > 0 || output > 0) && (React.createElement("span", { className: "ta-run-tokens" },
47
+ input > 0 && (React.createElement("span", { title: t('ta.progress.input') },
48
+ React.createElement(Icon, { icon: ArrowUp, size: 12 }),
49
+ ProgressUtil.format(input))),
50
+ output > 0 && (React.createElement("span", { title: t('ta.progress.output') },
51
+ React.createElement(Icon, { icon: ArrowDown, size: 12 }),
52
+ ProgressUtil.format(output)))))));
53
+ }
54
+ //# sourceMappingURL=run-status.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"run-status.js","sourceRoot":"","sources":["../../../src/browser/components/run-status.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,37 @@
1
+ import type { TaCommandResult, TaServer, ThinkingLevel } from '@celljs/ta-protocol';
2
+ import type { Translate } from '../i18n/use-t.js';
3
+ import type { ComposerAction } from './composer-box.js';
4
+ type Model = TaCommandResult<'get_available_models'>['models'][number];
5
+ type Command = TaCommandResult<'get_commands'>['commands'][number];
6
+ /** What a session needs from the server besides its events: models, thinking levels, commands. */
7
+ export interface SessionSettings {
8
+ models: Model[];
9
+ model?: string;
10
+ thinkingLevel?: ThinkingLevel;
11
+ levels: ThinkingLevel[];
12
+ commands: Command[];
13
+ }
14
+ /** What the settings of a session do, once picked. */
15
+ export interface SessionSettingsHandlers {
16
+ setModel(model: Model): void;
17
+ setThinkingLevel(level: ThinkingLevel): void;
18
+ compact(): void;
19
+ }
20
+ export declare namespace SessionSettingsUtil {
21
+ const EMPTY: SessionSettings;
22
+ function modelRef(model?: {
23
+ provider: string;
24
+ id: string;
25
+ } | null): string;
26
+ /** The settings of a session in the + of its box: the model and the thinking level as lists to pick from, and compacting. */
27
+ function actions(settings: SessionSettings, working: boolean, handlers: SessionSettingsHandlers, t: Translate): ComposerAction[];
28
+ }
29
+ /**
30
+ * The settings of a session, loaded again after each run (an extension or another client may have changed
31
+ * them), and the entries of the + menu that change them.
32
+ */
33
+ export declare function useSessionSettings(server: TaServer, sessionId: string, working: boolean, t: Translate, onError: (error: unknown) => void): {
34
+ settings: SessionSettings;
35
+ actions: ComposerAction[];
36
+ };
37
+ export {};
@@ -0,0 +1,84 @@
1
+ import { Archive, Box, Brain } from 'lucide-react';
2
+ import * as React from 'react';
3
+ import { Icon } from './icon.js';
4
+ export var SessionSettingsUtil;
5
+ (function (SessionSettingsUtil) {
6
+ SessionSettingsUtil.EMPTY = { models: [], levels: [], commands: [] };
7
+ function modelRef(model) {
8
+ return model ? `${model.provider}/${model.id}` : '';
9
+ }
10
+ SessionSettingsUtil.modelRef = modelRef;
11
+ /** The settings of a session in the + of its box: the model and the thinking level as lists to pick from, and compacting. */
12
+ function actions(settings, working, handlers, t) {
13
+ const model = settings.models.find(candidate => modelRef(candidate) === settings.model);
14
+ return [
15
+ {
16
+ key: 'model',
17
+ label: t('ta.session.model'),
18
+ icon: React.createElement(Icon, { icon: Box, size: 16 }),
19
+ detail: model ? model.name || model.id : t('ta.session.noModel'),
20
+ items: settings.models.map(candidate => ({
21
+ key: modelRef(candidate),
22
+ label: candidate.name || candidate.id,
23
+ detail: candidate.provider,
24
+ checked: modelRef(candidate) === settings.model,
25
+ run: () => handlers.setModel(candidate),
26
+ })),
27
+ },
28
+ ...(settings.levels.length > 1
29
+ ? [
30
+ {
31
+ key: 'thinking',
32
+ label: t('ta.message.thinking'),
33
+ icon: React.createElement(Icon, { icon: Brain, size: 16 }),
34
+ detail: settings.thinkingLevel,
35
+ items: settings.levels.map(level => ({
36
+ key: level,
37
+ label: level,
38
+ checked: level === settings.thinkingLevel,
39
+ run: () => handlers.setThinkingLevel(level),
40
+ })),
41
+ },
42
+ ]
43
+ : []),
44
+ {
45
+ key: 'compact',
46
+ label: t('ta.session.compact'),
47
+ icon: React.createElement(Icon, { icon: Archive, size: 16 }),
48
+ disabled: working,
49
+ run: handlers.compact,
50
+ },
51
+ ];
52
+ }
53
+ SessionSettingsUtil.actions = actions;
54
+ })(SessionSettingsUtil || (SessionSettingsUtil = {}));
55
+ /**
56
+ * The settings of a session, loaded again after each run (an extension or another client may have changed
57
+ * them), and the entries of the + menu that change them.
58
+ */
59
+ export function useSessionSettings(server, sessionId, working, t, onError) {
60
+ const [settings, setSettings] = React.useState(SessionSettingsUtil.EMPTY);
61
+ const load = React.useCallback(() => {
62
+ Promise.all([
63
+ server.getState(sessionId),
64
+ server.getAvailableModels(sessionId),
65
+ server.getAvailableThinkingLevels(sessionId),
66
+ server.getCommands(sessionId),
67
+ ])
68
+ .then(([state, { models }, { levels }, { commands }]) => setSettings({ models, model: SessionSettingsUtil.modelRef(state.model), thinkingLevel: state.thinkingLevel, levels, commands }))
69
+ .catch(() => undefined);
70
+ }, [server, sessionId]);
71
+ React.useEffect(() => {
72
+ if (!working) {
73
+ load();
74
+ }
75
+ }, [load, working]);
76
+ const run = (command) => command.then(load, onError);
77
+ const actions = SessionSettingsUtil.actions(settings, working, {
78
+ setModel: model => run(server.setModel(sessionId, model.provider, model.id)),
79
+ setThinkingLevel: level => run(server.setThinkingLevel(sessionId, level)),
80
+ compact: () => run(server.compact(sessionId)),
81
+ }, t);
82
+ return { settings, actions };
83
+ }
84
+ //# sourceMappingURL=session-settings.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session-settings.js","sourceRoot":"","sources":["../../../src/browser/components/session-settings.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,24 @@
1
+ import type { SessionStore } from '@celljs/ta-client';
2
+ import type { TaServer, TaSessionInfo, TaWorkspaceServer } from '@celljs/ta-protocol';
3
+ import * as React from 'react';
4
+ export interface SessionViewProps {
5
+ store: SessionStore;
6
+ server: TaServer;
7
+ workspace: TaWorkspaceServer;
8
+ info?: TaSessionInfo;
9
+ onClosed(): void;
10
+ /** A run started or settled: the list of sessions shows it. */
11
+ onActivity(): void;
12
+ /** At the start and the end of the bar on top. */
13
+ leading?: React.ReactNode;
14
+ trailing?: React.ReactNode;
15
+ /** Instead of the hint of an empty conversation. */
16
+ empty?: React.ReactNode;
17
+ aboveComposer?: React.ReactNode;
18
+ belowComposer?: React.ReactNode;
19
+ /** In the box at the start: the message a fork left out. */
20
+ draftText?: string;
21
+ /** In a narrow column, as a tab of the workbench: no bar on top. */
22
+ compact?: boolean;
23
+ }
24
+ export declare function SessionView({ store, server, workspace, info, onClosed, onActivity, leading, trailing, empty, aboveComposer, belowComposer, draftText, compact, }: SessionViewProps): React.JSX.Element;
@@ -0,0 +1,84 @@
1
+ import * as React from 'react';
2
+ import { useNotices, useOpenLink, useSessionState } from '../hooks.js';
3
+ import { useT } from '../i18n/use-t.js';
4
+ import { MessageUtil } from '../util/message.js';
5
+ import { Composer } from './composer.js';
6
+ import { useConversationScroll } from './conversation-scroll.js';
7
+ import { DialogView } from './dialog-view.js';
8
+ import { OpenLink } from './link.js';
9
+ import { FileUrls } from './media.js';
10
+ import { useMessageActions } from './message-actions.js';
11
+ import { MessageActions } from './message-footer.js';
12
+ import { ConversationSession, MessageList } from './message-list.js';
13
+ import { useSessionSettings } from './session-settings.js';
14
+ /** What the extensions of the session say with `notify` goes to the notices of the page; what was said before it opened stays quiet. */
15
+ function useSessionNotices(notices) {
16
+ const [, center] = useNotices();
17
+ const seen = React.useRef(undefined);
18
+ React.useEffect(() => {
19
+ if (!seen.current) {
20
+ seen.current = new Set(notices.map(notice => notice.id));
21
+ return;
22
+ }
23
+ for (const notice of notices) {
24
+ if (!seen.current.has(notice.id)) {
25
+ seen.current.add(notice.id);
26
+ center.notify(notice.message, { level: notice.type });
27
+ }
28
+ }
29
+ }, [notices, center]);
30
+ }
31
+ export function SessionView({ store, server, workspace, info, onClosed, onActivity, leading, trailing, empty, aboveComposer, belowComposer, draftText, compact = false, }) {
32
+ var _a;
33
+ const t = useT();
34
+ const state = useSessionState(store);
35
+ const [, notices] = useNotices();
36
+ const asked = React.useMemo(() => state.messages.filter(message => message.role === 'user').length, [state.messages]);
37
+ const scroller = useConversationScroll(asked);
38
+ const fail = (cause) => notices.error(cause);
39
+ useSessionNotices(state.notices);
40
+ const { settings, actions } = useSessionSettings(server, store.sessionId, state.working, t, fail);
41
+ const composer = React.useRef(null);
42
+ const cwd = info === null || info === void 0 ? void 0 : info.cwd;
43
+ const messageActions = useMessageActions(store, server, state.working, cwd, composer, onActivity);
44
+ React.useEffect(() => {
45
+ var _a;
46
+ if (draftText) {
47
+ (_a = composer.current) === null || _a === void 0 ? void 0 : _a.setText(draftText);
48
+ }
49
+ }, [draftText]);
50
+ const fileUrl = React.useCallback((path) => workspace.fileUrl(path, cwd), [workspace, cwd]);
51
+ const openLink = useOpenLink(cwd);
52
+ // biome-ignore lint/correctness/useExhaustiveDependencies: runs when a run starts or settles
53
+ React.useEffect(() => onActivity(), [state.working, onActivity]);
54
+ React.useEffect(() => {
55
+ if (state.closed) {
56
+ onClosed();
57
+ }
58
+ }, [state.closed, onClosed]);
59
+ const statuses = Object.values(state.status);
60
+ const dialog = state.pendingUi[0];
61
+ const title = (info === null || info === void 0 ? void 0 : info.sessionName) || (info ? MessageUtil.basename(info.cwd) : t('ta.session.title'));
62
+ return (React.createElement("section", { className: `ta-session ${compact ? 'ta-session-compact' : ''}` },
63
+ !compact && (React.createElement("header", { className: "ta-session-header" },
64
+ leading,
65
+ React.createElement("div", { className: "ta-session-title" },
66
+ React.createElement("span", { className: "ta-title" }, title),
67
+ info && (React.createElement("span", { className: "ta-muted ta-path", title: info.cwd }, MessageUtil.shortPath(info.cwd)))),
68
+ trailing)),
69
+ React.createElement("div", { className: "ta-scroll", ref: scroller },
70
+ React.createElement("div", { className: "ta-thread" },
71
+ state.messages.length === 0 && (empty !== null && empty !== void 0 ? empty : React.createElement("div", { className: "ta-empty" }, t('ta.session.empty', { cwd: (_a = info === null || info === void 0 ? void 0 : info.cwd) !== null && _a !== void 0 ? _a : '.' }))),
72
+ React.createElement(ConversationSession.Provider, { value: info },
73
+ React.createElement(MessageActions.Provider, { value: messageActions },
74
+ React.createElement(FileUrls.Provider, { value: fileUrl },
75
+ React.createElement(OpenLink.Provider, { value: openLink },
76
+ React.createElement(MessageList, { state: state }))))))),
77
+ React.createElement("div", { className: "ta-bottom" },
78
+ dialog && React.createElement(DialogView, { key: dialog.id, request: dialog, respond: response => store.respondUi(response).catch(fail) }),
79
+ aboveComposer,
80
+ React.createElement(Composer, { ref: composer, store: store, server: server, workspace: workspace, working: state.working, commands: settings.commands, cwd: info === null || info === void 0 ? void 0 : info.cwd, actions: [actions], onError: fail }),
81
+ belowComposer,
82
+ statuses.length > 0 && React.createElement("div", { className: "ta-statusline" }, statuses.join(' · ')))));
83
+ }
84
+ //# sourceMappingURL=session-view.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session-view.js","sourceRoot":"","sources":["../../../src/browser/components/session-view.tsx"],"names":[],"mappings":"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"}