@agent-native/toolkit 0.228.0-nightly-20261111212500 → 0.228.0

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 (361) hide show
  1. package/agent-native.eject.json +2 -0
  2. package/dist/app/agentkit/react/approval-card.d.ts.map +1 -1
  3. package/dist/app/agentkit/react/approval-card.js +5 -3
  4. package/dist/app/agentkit/react/approval-card.js.map +1 -1
  5. package/dist/app/agentkit/react/code-block.d.ts +32 -0
  6. package/dist/app/agentkit/react/code-block.d.ts.map +1 -0
  7. package/dist/app/agentkit/react/code-block.js +125 -0
  8. package/dist/app/agentkit/react/code-block.js.map +1 -0
  9. package/dist/app/agentkit/react/components.d.ts +33 -14
  10. package/dist/app/agentkit/react/components.d.ts.map +1 -1
  11. package/dist/app/agentkit/react/components.js +843 -168
  12. package/dist/app/agentkit/react/components.js.map +1 -1
  13. package/dist/app/agentkit/react/context-usage.d.ts +45 -0
  14. package/dist/app/agentkit/react/context-usage.d.ts.map +1 -0
  15. package/dist/app/agentkit/react/context-usage.js +93 -0
  16. package/dist/app/agentkit/react/context-usage.js.map +1 -0
  17. package/dist/app/agentkit/react/context.d.ts +42 -3
  18. package/dist/app/agentkit/react/context.d.ts.map +1 -1
  19. package/dist/app/agentkit/react/context.js +46 -1
  20. package/dist/app/agentkit/react/context.js.map +1 -1
  21. package/dist/app/agentkit/react/disclosure-content.d.ts +12 -0
  22. package/dist/app/agentkit/react/disclosure-content.d.ts.map +1 -0
  23. package/dist/app/agentkit/react/disclosure-content.js +33 -0
  24. package/dist/app/agentkit/react/disclosure-content.js.map +1 -0
  25. package/dist/app/agentkit/react/duration.d.ts +6 -0
  26. package/dist/app/agentkit/react/duration.d.ts.map +1 -0
  27. package/dist/app/agentkit/react/duration.js +21 -0
  28. package/dist/app/agentkit/react/duration.js.map +1 -0
  29. package/dist/app/agentkit/react/file-change.d.ts +33 -0
  30. package/dist/app/agentkit/react/file-change.d.ts.map +1 -0
  31. package/dist/app/agentkit/react/file-change.js +83 -0
  32. package/dist/app/agentkit/react/file-change.js.map +1 -0
  33. package/dist/app/agentkit/react/file-diff.d.ts +17 -0
  34. package/dist/app/agentkit/react/file-diff.d.ts.map +1 -0
  35. package/dist/app/agentkit/react/file-diff.js +94 -0
  36. package/dist/app/agentkit/react/file-diff.js.map +1 -0
  37. package/dist/app/agentkit/react/index.d.ts +7 -0
  38. package/dist/app/agentkit/react/index.d.ts.map +1 -1
  39. package/dist/app/agentkit/react/index.js +7 -0
  40. package/dist/app/agentkit/react/index.js.map +1 -1
  41. package/dist/app/agentkit/react/question-card.d.ts +67 -0
  42. package/dist/app/agentkit/react/question-card.d.ts.map +1 -0
  43. package/dist/app/agentkit/react/question-card.js +198 -0
  44. package/dist/app/agentkit/react/question-card.js.map +1 -0
  45. package/dist/app/agentkit/react/root.d.ts +3 -2
  46. package/dist/app/agentkit/react/root.d.ts.map +1 -1
  47. package/dist/app/agentkit/react/root.js +2 -2
  48. package/dist/app/agentkit/react/root.js.map +1 -1
  49. package/dist/app/agentkit/react/roving-focus.d.ts +4 -0
  50. package/dist/app/agentkit/react/roving-focus.d.ts.map +1 -0
  51. package/dist/app/agentkit/react/roving-focus.js +75 -0
  52. package/dist/app/agentkit/react/roving-focus.js.map +1 -0
  53. package/dist/app/agentkit/react/stack-trace.d.ts +34 -0
  54. package/dist/app/agentkit/react/stack-trace.d.ts.map +1 -0
  55. package/dist/app/agentkit/react/stack-trace.js +121 -0
  56. package/dist/app/agentkit/react/stack-trace.js.map +1 -0
  57. package/dist/app/agentkit/react/stop-button.d.ts.map +1 -1
  58. package/dist/app/agentkit/react/stop-button.js +22 -6
  59. package/dist/app/agentkit/react/stop-button.js.map +1 -1
  60. package/dist/app/agentkit/react/styles.css +1306 -395
  61. package/dist/app/agentkit/react/terminal.d.ts +28 -0
  62. package/dist/app/agentkit/react/terminal.d.ts.map +1 -0
  63. package/dist/app/agentkit/react/terminal.js +84 -0
  64. package/dist/app/agentkit/react/terminal.js.map +1 -0
  65. package/dist/app/agentkit/react/trace.d.ts +31 -0
  66. package/dist/app/agentkit/react/trace.d.ts.map +1 -0
  67. package/dist/app/agentkit/react/trace.js +73 -0
  68. package/dist/app/agentkit/react/trace.js.map +1 -0
  69. package/dist/app/blocks/library/HighlightedCode.d.ts +2 -1
  70. package/dist/app/blocks/library/HighlightedCode.d.ts.map +1 -1
  71. package/dist/app/blocks/library/HighlightedCode.js +8 -111
  72. package/dist/app/blocks/library/HighlightedCode.js.map +1 -1
  73. package/dist/app/chat/AgentKitAssistantChat.d.ts.map +1 -1
  74. package/dist/app/chat/AgentKitAssistantChat.js +23 -245
  75. package/dist/app/chat/AgentKitAssistantChat.js.map +1 -1
  76. package/dist/app/chat/agentkit-chat/guided-questions.d.ts +15 -1
  77. package/dist/app/chat/agentkit-chat/guided-questions.d.ts.map +1 -1
  78. package/dist/app/chat/agentkit-chat/guided-questions.js +142 -2
  79. package/dist/app/chat/agentkit-chat/guided-questions.js.map +1 -1
  80. package/dist/app/chat/agentkit-chat/history.js +1 -1
  81. package/dist/app/chat/agentkit-chat/history.js.map +1 -1
  82. package/dist/app/chat/agentkit-chat/index.d.ts +1 -1
  83. package/dist/app/chat/agentkit-chat/index.d.ts.map +1 -1
  84. package/dist/app/chat/agentkit-chat/index.js +1 -1
  85. package/dist/app/chat/agentkit-chat/index.js.map +1 -1
  86. package/dist/app/chat/agentkit-chat/labels.d.ts +5 -0
  87. package/dist/app/chat/agentkit-chat/labels.d.ts.map +1 -0
  88. package/dist/app/chat/agentkit-chat/labels.js +245 -0
  89. package/dist/app/chat/agentkit-chat/labels.js.map +1 -0
  90. package/dist/app/chat/agentkit-chat/questions.d.ts +1 -1
  91. package/dist/app/chat/agentkit-chat/questions.d.ts.map +1 -1
  92. package/dist/app/chat/agentkit-chat/questions.js +1 -1
  93. package/dist/app/chat/agentkit-chat/questions.js.map +1 -1
  94. package/dist/app/chat/agentkit-chat/root.d.ts.map +1 -1
  95. package/dist/app/chat/agentkit-chat/root.js +5 -64
  96. package/dist/app/chat/agentkit-chat/root.js.map +1 -1
  97. package/dist/app/chat/agentkit-chat/work-step-labels.d.ts +2 -0
  98. package/dist/app/chat/agentkit-chat/work-step-labels.d.ts.map +1 -1
  99. package/dist/app/chat/agentkit-chat/work-step-labels.js +31 -0
  100. package/dist/app/chat/agentkit-chat/work-step-labels.js.map +1 -1
  101. package/dist/app/chat/chat/markdown-renderer.d.ts +2 -12
  102. package/dist/app/chat/chat/markdown-renderer.d.ts.map +1 -1
  103. package/dist/app/chat/chat/markdown-renderer.js +2 -41
  104. package/dist/app/chat/chat/markdown-renderer.js.map +1 -1
  105. package/dist/app/chat/chat/tool-call-display.d.ts.map +1 -1
  106. package/dist/app/chat/chat/tool-call-display.js +2 -2
  107. package/dist/app/chat/chat/tool-call-display.js.map +1 -1
  108. package/dist/app/chat/conversation/AgentConversation.d.ts.map +1 -1
  109. package/dist/app/chat/conversation/AgentConversation.js +2 -37
  110. package/dist/app/chat/conversation/AgentConversation.js.map +1 -1
  111. package/dist/app/chat/tool-cells/BashCell.d.ts +3 -1
  112. package/dist/app/chat/tool-cells/BashCell.d.ts.map +1 -1
  113. package/dist/app/chat/tool-cells/BashCell.js +4 -40
  114. package/dist/app/chat/tool-cells/BashCell.js.map +1 -1
  115. package/dist/app/chat/tool-cells/EditCell.d.ts.map +1 -1
  116. package/dist/app/chat/tool-cells/EditCell.js +5 -108
  117. package/dist/app/chat/tool-cells/EditCell.js.map +1 -1
  118. package/dist/app/chat/tool-cells/FilesChangedSummary.d.ts.map +1 -1
  119. package/dist/app/chat/tool-cells/FilesChangedSummary.js +23 -81
  120. package/dist/app/chat/tool-cells/FilesChangedSummary.js.map +1 -1
  121. package/dist/app/chat/tool-cells/WriteCell.d.ts.map +1 -1
  122. package/dist/app/chat/tool-cells/WriteCell.js +5 -24
  123. package/dist/app/chat/tool-cells/WriteCell.js.map +1 -1
  124. package/dist/app/code-highlighter.d.ts +11 -0
  125. package/dist/app/code-highlighter.d.ts.map +1 -0
  126. package/dist/app/code-highlighter.js +122 -0
  127. package/dist/app/code-highlighter.js.map +1 -0
  128. package/dist/app/context-xray/ThreadContextRing.js +3 -3
  129. package/dist/app/context-xray/ThreadContextRing.js.map +1 -1
  130. package/dist/app/i18n/catalogs/ar-SA.d.ts.map +1 -1
  131. package/dist/app/i18n/catalogs/ar-SA.js +22 -0
  132. package/dist/app/i18n/catalogs/ar-SA.js.map +1 -1
  133. package/dist/app/i18n/catalogs/de-DE.d.ts.map +1 -1
  134. package/dist/app/i18n/catalogs/de-DE.js +22 -0
  135. package/dist/app/i18n/catalogs/de-DE.js.map +1 -1
  136. package/dist/app/i18n/catalogs/en-US.d.ts +22 -0
  137. package/dist/app/i18n/catalogs/en-US.d.ts.map +1 -1
  138. package/dist/app/i18n/catalogs/en-US.js +22 -0
  139. package/dist/app/i18n/catalogs/en-US.js.map +1 -1
  140. package/dist/app/i18n/catalogs/es-ES.d.ts.map +1 -1
  141. package/dist/app/i18n/catalogs/es-ES.js +22 -0
  142. package/dist/app/i18n/catalogs/es-ES.js.map +1 -1
  143. package/dist/app/i18n/catalogs/fr-FR.d.ts.map +1 -1
  144. package/dist/app/i18n/catalogs/fr-FR.js +22 -0
  145. package/dist/app/i18n/catalogs/fr-FR.js.map +1 -1
  146. package/dist/app/i18n/catalogs/hi-IN.d.ts.map +1 -1
  147. package/dist/app/i18n/catalogs/hi-IN.js +22 -0
  148. package/dist/app/i18n/catalogs/hi-IN.js.map +1 -1
  149. package/dist/app/i18n/catalogs/ja-JP.d.ts.map +1 -1
  150. package/dist/app/i18n/catalogs/ja-JP.js +22 -0
  151. package/dist/app/i18n/catalogs/ja-JP.js.map +1 -1
  152. package/dist/app/i18n/catalogs/ko-KR.d.ts.map +1 -1
  153. package/dist/app/i18n/catalogs/ko-KR.js +22 -0
  154. package/dist/app/i18n/catalogs/ko-KR.js.map +1 -1
  155. package/dist/app/i18n/catalogs/pt-BR.d.ts.map +1 -1
  156. package/dist/app/i18n/catalogs/pt-BR.js +22 -0
  157. package/dist/app/i18n/catalogs/pt-BR.js.map +1 -1
  158. package/dist/app/i18n/catalogs/zh-CN.d.ts.map +1 -1
  159. package/dist/app/i18n/catalogs/zh-CN.js +22 -0
  160. package/dist/app/i18n/catalogs/zh-CN.js.map +1 -1
  161. package/dist/app/i18n/catalogs/zh-TW.d.ts.map +1 -1
  162. package/dist/app/i18n/catalogs/zh-TW.js +22 -0
  163. package/dist/app/i18n/catalogs/zh-TW.js.map +1 -1
  164. package/dist/app/onboarding/first-run-first-paint.d.ts +10 -0
  165. package/dist/app/onboarding/first-run-first-paint.d.ts.map +1 -0
  166. package/dist/app/onboarding/first-run-first-paint.js +22 -0
  167. package/dist/app/onboarding/first-run-first-paint.js.map +1 -0
  168. package/dist/app/onboarding/first-run-startup-gate.d.ts +3 -1
  169. package/dist/app/onboarding/first-run-startup-gate.d.ts.map +1 -1
  170. package/dist/app/onboarding/first-run-startup-gate.js +30 -6
  171. package/dist/app/onboarding/first-run-startup-gate.js.map +1 -1
  172. package/dist/app/providers/AppProviders.d.ts.map +1 -1
  173. package/dist/app/providers/AppProviders.js +9 -2
  174. package/dist/app/providers/AppProviders.js.map +1 -1
  175. package/dist/app/providers/BuilderSignupActivation.d.ts +2 -1
  176. package/dist/app/providers/BuilderSignupActivation.d.ts.map +1 -1
  177. package/dist/app/providers/BuilderSignupActivation.js +6 -3
  178. package/dist/app/providers/BuilderSignupActivation.js.map +1 -1
  179. package/dist/app/shared/AppShellSkeleton.d.ts.map +1 -1
  180. package/dist/app/shared/AppShellSkeleton.js +11 -1
  181. package/dist/app/shared/AppShellSkeleton.js.map +1 -1
  182. package/dist/app/styles/agent-native.css +2 -2
  183. package/dist/app/styles/tokens/agent-kit.css +20 -3
  184. package/dist/composer/AgentSuggestionBar.d.ts.map +1 -1
  185. package/dist/composer/AgentSuggestionBar.js +2 -2
  186. package/dist/composer/AgentSuggestionBar.js.map +1 -1
  187. package/dist/composer/ComposerContextMenu.js +4 -4
  188. package/dist/composer/ComposerContextMenu.js.map +1 -1
  189. package/dist/composer/ComposerContextPicker.d.ts.map +1 -1
  190. package/dist/composer/ComposerContextPicker.js +2 -2
  191. package/dist/composer/ComposerContextPicker.js.map +1 -1
  192. package/dist/composer/ComposerContextPickerDialog.d.ts.map +1 -1
  193. package/dist/composer/ComposerContextPickerDialog.js +2 -2
  194. package/dist/composer/ComposerContextPickerDialog.js.map +1 -1
  195. package/dist/composer/ComposerModePicker.d.ts.map +1 -1
  196. package/dist/composer/ComposerModePicker.js +2 -1
  197. package/dist/composer/ComposerModePicker.js.map +1 -1
  198. package/dist/composer/ComposerPlusMenu.js +1 -1
  199. package/dist/composer/ComposerPlusMenu.js.map +1 -1
  200. package/dist/composer/MentionChip.js +1 -1
  201. package/dist/composer/MentionChip.js.map +1 -1
  202. package/dist/composer/MentionPopover.d.ts +3 -0
  203. package/dist/composer/MentionPopover.d.ts.map +1 -1
  204. package/dist/composer/MentionPopover.js +34 -15
  205. package/dist/composer/MentionPopover.js.map +1 -1
  206. package/dist/composer/MessageQueueDrawer.d.ts.map +1 -1
  207. package/dist/composer/MessageQueueDrawer.js +14 -9
  208. package/dist/composer/MessageQueueDrawer.js.map +1 -1
  209. package/dist/composer/PastedTextChip.d.ts.map +1 -1
  210. package/dist/composer/PastedTextChip.js +14 -18
  211. package/dist/composer/PastedTextChip.js.map +1 -1
  212. package/dist/composer/PromptBar.js +1 -1
  213. package/dist/composer/PromptBar.js.map +1 -1
  214. package/dist/composer/PromptComposer.d.ts.map +1 -1
  215. package/dist/composer/PromptComposer.js +11 -9
  216. package/dist/composer/PromptComposer.js.map +1 -1
  217. package/dist/composer/RealtimeVoiceMode.js +2 -2
  218. package/dist/composer/RealtimeVoiceMode.js.map +1 -1
  219. package/dist/composer/TiptapComposer.d.ts.map +1 -1
  220. package/dist/composer/TiptapComposer.js +52 -89
  221. package/dist/composer/TiptapComposer.js.map +1 -1
  222. package/dist/composer/VoiceButton.d.ts +3 -1
  223. package/dist/composer/VoiceButton.d.ts.map +1 -1
  224. package/dist/composer/VoiceButton.js +10 -8
  225. package/dist/composer/VoiceButton.js.map +1 -1
  226. package/dist/composer/composer-notice.js +3 -3
  227. package/dist/composer/composer-notice.js.map +1 -1
  228. package/dist/composer/extensions/FileReference.js +1 -1
  229. package/dist/composer/extensions/FileReference.js.map +1 -1
  230. package/dist/composer/extensions/SkillReference.js +1 -1
  231. package/dist/composer/extensions/SkillReference.js.map +1 -1
  232. package/dist/composer/popover-surface.d.ts +1 -1
  233. package/dist/composer/popover-surface.d.ts.map +1 -1
  234. package/dist/composer/popover-surface.js +1 -1
  235. package/dist/composer/popover-surface.js.map +1 -1
  236. package/dist/context-ui/ContextUsageRing.d.ts +1 -45
  237. package/dist/context-ui/ContextUsageRing.d.ts.map +1 -1
  238. package/dist/context-ui/ContextUsageRing.js +2 -87
  239. package/dist/context-ui/ContextUsageRing.js.map +1 -1
  240. package/dist/context-ui/index.d.ts +2 -2
  241. package/dist/context-ui/index.d.ts.map +1 -1
  242. package/dist/context-ui/index.js +2 -2
  243. package/dist/context-ui/index.js.map +1 -1
  244. package/package.json +4 -4
  245. package/src/app/agentkit/react/approval-card.tsx +14 -2
  246. package/src/app/agentkit/react/code-block.spec.tsx +154 -0
  247. package/src/app/agentkit/react/code-block.tsx +317 -0
  248. package/src/app/agentkit/react/components.interaction.spec.tsx +7 -0
  249. package/src/app/agentkit/react/components.papercuts.spec.tsx +143 -2
  250. package/src/app/agentkit/react/components.spec.tsx +40 -47
  251. package/src/app/agentkit/react/components.tsx +1533 -413
  252. package/src/app/agentkit/react/composer-context.spec.tsx +35 -0
  253. package/src/app/agentkit/react/context-usage.tsx +353 -0
  254. package/src/app/agentkit/react/context.tsx +93 -1
  255. package/src/app/agentkit/react/disclosure-content.ts +42 -0
  256. package/src/app/agentkit/react/disclosures.spec.tsx +62 -4
  257. package/src/app/agentkit/react/duration.ts +22 -0
  258. package/src/app/agentkit/react/file-change.spec.tsx +124 -0
  259. package/src/app/agentkit/react/file-change.tsx +228 -0
  260. package/src/app/agentkit/react/file-diff.ts +110 -0
  261. package/src/app/agentkit/react/index.ts +7 -0
  262. package/src/app/agentkit/react/lifecycle.spec.tsx +565 -20
  263. package/src/app/agentkit/react/markdown.spec.tsx +18 -8
  264. package/src/app/agentkit/react/message-actions.spec.tsx +55 -1
  265. package/src/app/agentkit/react/notices.spec.tsx +4 -4
  266. package/src/app/agentkit/react/optimistic-send.spec.tsx +43 -0
  267. package/src/app/agentkit/react/question-card.spec.tsx +276 -0
  268. package/src/app/agentkit/react/question-card.tsx +533 -0
  269. package/src/app/agentkit/react/root.tsx +4 -0
  270. package/src/app/agentkit/react/roving-focus.spec.tsx +114 -0
  271. package/src/app/agentkit/react/roving-focus.ts +82 -0
  272. package/src/app/agentkit/react/stack-trace.spec.tsx +177 -0
  273. package/src/app/agentkit/react/stack-trace.tsx +281 -0
  274. package/src/app/agentkit/react/stop-button.spec.tsx +40 -0
  275. package/src/app/agentkit/react/stop-button.tsx +22 -5
  276. package/src/app/agentkit/react/styles.css +1306 -395
  277. package/src/app/agentkit/react/subagent-step.spec.tsx +554 -0
  278. package/src/app/agentkit/react/terminal.spec.tsx +228 -0
  279. package/src/app/agentkit/react/terminal.tsx +228 -0
  280. package/src/app/agentkit/react/trace.spec.tsx +120 -0
  281. package/src/app/agentkit/react/trace.tsx +239 -0
  282. package/src/app/blocks/library/HighlightedCode.tsx +14 -126
  283. package/src/app/chat/AgentKitAssistantChat.spec.tsx +28 -12
  284. package/src/app/chat/AgentKitAssistantChat.tsx +27 -253
  285. package/src/app/chat/agentkit-chat/approval-card.spec.tsx +1 -0
  286. package/src/app/chat/agentkit-chat/guided-questions.flow.spec.tsx +381 -0
  287. package/src/app/chat/agentkit-chat/guided-questions.tsx +236 -3
  288. package/src/app/chat/agentkit-chat/history.tsx +1 -1
  289. package/src/app/chat/agentkit-chat/index.ts +2 -0
  290. package/src/app/chat/agentkit-chat/labels.ts +259 -0
  291. package/src/app/chat/agentkit-chat/questions.ts +2 -0
  292. package/src/app/chat/agentkit-chat/root.spec.tsx +18 -0
  293. package/src/app/chat/agentkit-chat/root.tsx +5 -64
  294. package/src/app/chat/agentkit-chat/work-step-labels.ts +42 -0
  295. package/src/app/chat/chat/markdown-renderer.tsx +2 -59
  296. package/src/app/chat/chat/tool-call-display.spec.tsx +26 -14
  297. package/src/app/chat/chat/tool-call-display.tsx +2 -1
  298. package/src/app/chat/conversation/AgentConversation.tsx +2 -50
  299. package/src/app/chat/tool-cells/BashCell.tsx +14 -136
  300. package/src/app/chat/tool-cells/EditCell.tsx +11 -248
  301. package/src/app/chat/tool-cells/FilesChangedSummary.spec.tsx +62 -5
  302. package/src/app/chat/tool-cells/FilesChangedSummary.tsx +31 -162
  303. package/src/app/chat/tool-cells/WriteCell.tsx +11 -121
  304. package/src/app/code-highlighter.ts +131 -0
  305. package/src/app/context-xray/ThreadContextRing.tsx +7 -7
  306. package/src/app/i18n/catalogs/ar-SA.ts +22 -0
  307. package/src/app/i18n/catalogs/de-DE.ts +22 -0
  308. package/src/app/i18n/catalogs/en-US.ts +22 -0
  309. package/src/app/i18n/catalogs/es-ES.ts +22 -0
  310. package/src/app/i18n/catalogs/fr-FR.ts +22 -0
  311. package/src/app/i18n/catalogs/hi-IN.ts +22 -0
  312. package/src/app/i18n/catalogs/ja-JP.ts +22 -0
  313. package/src/app/i18n/catalogs/ko-KR.ts +22 -0
  314. package/src/app/i18n/catalogs/pt-BR.ts +22 -0
  315. package/src/app/i18n/catalogs/zh-CN.ts +22 -0
  316. package/src/app/i18n/catalogs/zh-TW.ts +22 -0
  317. package/src/app/onboarding/first-run-first-paint.spec.ts +39 -0
  318. package/src/app/onboarding/first-run-first-paint.ts +24 -0
  319. package/src/app/onboarding/first-run-startup-gate.spec.tsx +125 -13
  320. package/src/app/onboarding/first-run-startup-gate.tsx +48 -5
  321. package/src/app/providers/AppProviders.tsx +18 -0
  322. package/src/app/providers/BuilderSignupActivation.tsx +8 -2
  323. package/src/app/shared/AppShellSkeleton.spec.tsx +60 -1
  324. package/src/app/shared/AppShellSkeleton.tsx +31 -1
  325. package/src/app/styles/agent-native.css +2 -2
  326. package/src/app/styles/agent-native.spec.ts +2 -2
  327. package/src/app/styles/tokens/agent-kit.css +20 -3
  328. package/src/composer/AgentSuggestionBar.spec.tsx +3 -1
  329. package/src/composer/AgentSuggestionBar.tsx +5 -2
  330. package/src/composer/ComposerContextMenu.tsx +4 -4
  331. package/src/composer/ComposerContextPicker.tsx +8 -2
  332. package/src/composer/ComposerContextPickerDialog.tsx +5 -2
  333. package/src/composer/ComposerModePicker.tsx +2 -1
  334. package/src/composer/ComposerPlusMenu.tsx +1 -1
  335. package/src/composer/MentionChip.tsx +1 -1
  336. package/src/composer/MentionPopover.spec.tsx +108 -2
  337. package/src/composer/MentionPopover.tsx +93 -17
  338. package/src/composer/MessageQueueDrawer.spec.tsx +5 -5
  339. package/src/composer/MessageQueueDrawer.tsx +19 -12
  340. package/src/composer/PastedTextChip.spec.tsx +36 -0
  341. package/src/composer/PastedTextChip.tsx +52 -58
  342. package/src/composer/PromptBar.tsx +1 -1
  343. package/src/composer/PromptComposer.context.spec.tsx +2 -2
  344. package/src/composer/PromptComposer.submission.spec.tsx +27 -0
  345. package/src/composer/PromptComposer.tsx +17 -9
  346. package/src/composer/RealtimeVoiceMode.tsx +2 -2
  347. package/src/composer/TiptapComposer.model-picker.spec.tsx +23 -82
  348. package/src/composer/TiptapComposer.tsx +68 -145
  349. package/src/composer/VoiceButton.tsx +12 -7
  350. package/src/composer/composer-notice.tsx +3 -3
  351. package/src/composer/extensions/FileReference.tsx +1 -1
  352. package/src/composer/extensions/SkillReference.tsx +1 -1
  353. package/src/composer/popover-surface.ts +1 -1
  354. package/src/context-ui/ContextUsageRing.spec.tsx +33 -8
  355. package/src/context-ui/ContextUsageRing.tsx +13 -348
  356. package/src/context-ui/index.ts +7 -1
  357. package/dist/composer/ModelPickerParts.d.ts +0 -20
  358. package/dist/composer/ModelPickerParts.d.ts.map +0 -1
  359. package/dist/composer/ModelPickerParts.js +0 -77
  360. package/dist/composer/ModelPickerParts.js.map +0 -1
  361. package/src/composer/ModelPickerParts.tsx +0 -188
@@ -153,7 +153,6 @@ import {
153
153
  AgentKitEmptyState,
154
154
  AgentKitTranscriptSkeleton,
155
155
  AgentApprovalPrompt,
156
- AgentInteractionItem,
157
156
  AgentMessageView,
158
157
  useAgentKit,
159
158
  useAgentKitBeginPendingSubmission,
@@ -189,7 +188,7 @@ import {
189
188
  createAgentNativeAgentKitTransport,
190
189
  GuidedQuestionProviderGate,
191
190
  findMcpConnectionSuggestionIntegration,
192
- GuidedQuestionFlow,
191
+ GuidedQuestionCard,
193
192
  McpAgentKitConnectionRequestCard,
194
193
  McpAgentKitConnectionResume,
195
194
  McpConnectionSuggestion,
@@ -197,14 +196,15 @@ import {
197
196
  AgentKitHistoryMessageSupplement,
198
197
  AgentKitHistoryProvider,
199
198
  useGuidedQuestionFlow,
199
+ useRefetchGuidedQuestionsWhenAsked,
200
200
  type AgentKitHistoryConfig,
201
201
  } from "./agentkit-chat/index.js";
202
+ import { agentKitChatLabels } from "./agentkit-chat/labels.js";
202
203
  import {
203
204
  AgentKitFilesChangedSummary,
204
205
  AgentKitMarkdownText,
205
206
  } from "./agentkit-chat/parity-renderers.js";
206
207
  import { CoreAgentKitRoot } from "./agentkit-chat/root.js";
207
- import { agentKitWorkStepLabels } from "./agentkit-chat/work-step-labels.js";
208
208
  import { AgentApprovalCard } from "./chat/agent-approval-card.js";
209
209
  import { renderMarkdownToClipboardHtml } from "./chat/markdown-renderer.js";
210
210
  import {
@@ -1585,9 +1585,6 @@ const agentKitRegistry = {
1585
1585
  "connect-builder": AgentKitTool,
1586
1586
  "connect-file-storage": AgentKitTool,
1587
1587
  },
1588
- agentInteractions: {
1589
- failed: AgentKitFailedInteraction,
1590
- },
1591
1588
  };
1592
1589
 
1593
1590
  export const AgentKitAssistantChat = forwardRef<
@@ -1601,6 +1598,7 @@ export const AgentKitAssistantChat = forwardRef<
1601
1598
  }
1602
1599
  const t = useT();
1603
1600
  const translatorRef = useRef(t);
1601
+ const formatAgentInteractionDetail = useAgentInteractionDetail();
1604
1602
  translatorRef.current = t;
1605
1603
  const { formatDate } = useFormatters();
1606
1604
  const threadId = props.threadId ?? props.tabId;
@@ -1712,242 +1710,9 @@ export const AgentKitAssistantChat = forwardRef<
1712
1710
  }, [restoreRetryLoadPhase, restoreRetryThreadId, threadId]);
1713
1711
  const labels = useMemo(
1714
1712
  () => ({
1715
- conversation: t("agentChat.message.messages"),
1716
- assistant: t("agentChat.common.agent"),
1717
- you: t("agentChat.common.you"),
1718
- approvalApprove: t("agentChat.approval.approve"),
1719
- approvalDeny: t("agentChat.approval.deny"),
1720
- approvalSubmit: t("agentChat.approval.submit"),
1721
- approvalOther: t("agentChat.approval.other"),
1722
- approvalOtherPlaceholder: t("agentChat.approval.otherPlaceholder"),
1723
- approvalPending: t("agentChat.approval.pending"),
1724
- approvalAnswerPending: t("agentChat.approval.answerPending"),
1725
- connectionConnect: t("agentChat.common.connect"),
1726
- connectionConnecting: t("agentChat.connection.connecting"),
1727
- connectionRetry: t("agentChat.common.retry"),
1728
- connectionConnected: t("agentChat.integrations.connectedSection"),
1729
- connectionNotNow: t("agentChat.connection.notNow"),
1730
- connectionFailed: t("agentChat.connection.failed"),
1731
- connectionAdminRequired: t("agentChat.connection.adminRequired"),
1732
- activities: t("agentChat.activity.groupLabel"),
1733
- activityBuckets: {
1734
- thinking: t("agentChat.activity.bucketThinking"),
1735
- research: t("agentChat.activity.bucketResearch"),
1736
- actions: t("agentChat.activity.bucketActions"),
1737
- other: t("agentChat.activity.bucketOther"),
1738
- },
1739
- agents: t("agentChat.activity.agents"),
1740
- tasks: t("agentChat.activity.tasks"),
1741
- toolInput: t("agentChat.tool.input"),
1742
- toolResult: t("agentChat.tool.result"),
1743
- activityValueIdentifierHidden: t("agentChat.tool.identifierHidden"),
1744
- activityValueOmitted: t("agentChat.tool.contentOmitted"),
1745
- activityValueCircular: t("agentChat.tool.circularReference"),
1746
- working: t("agentChat.status.working"),
1747
- workingFor: t("agentChat.status.workingFor", {
1748
- duration: "{{duration}}",
1749
- }),
1750
- worked: t("agentChat.tool.worked"),
1751
- workedFor: t("agentChat.tool.workedFor", { duration: "{{duration}}" }),
1752
- showMoreActivities: t("agentChat.activity.showMore", {
1753
- count: "{{count}}",
1754
- }),
1755
- ...agentKitWorkStepLabels(t),
1756
- durationHourShort: t("agentChat.duration.hourShort"),
1757
- durationMinuteShort: t("agentChat.duration.minuteShort"),
1758
- durationSecondShort: t("agentChat.duration.secondShort"),
1759
- composerLabel: t("agentChat.composer.messageAgent"),
1713
+ ...agentKitChatLabels(t, formatDate),
1760
1714
  composerPlaceholder:
1761
1715
  props.composerPlaceholder || t("agentChat.composer.newChatPlaceholder"),
1762
- composerReplyPlaceholder: t("agentChat.composer.replyPlaceholder"),
1763
- emptyStateText: t("agentChat.empty.prompt"),
1764
- queue: t("agentChat.queue.label"),
1765
- queueSendNow: t("agentChat.queue.sendNow"),
1766
- queueSendNowHint: t("agentChat.queue.sendNowHint"),
1767
- queueSendNext: t("agentChat.queue.sendNext"),
1768
- queueSendNextHint: t("agentChat.queue.sendNextHint"),
1769
- queueItemBusy: t("agentChat.queue.itemBusy"),
1770
- queueItemBlocked: t("agentChat.queue.itemBlocked"),
1771
- queueOrderStale: t("agentChat.queue.orderStale"),
1772
- queueRemove: t("agentChat.queue.remove"),
1773
- queueMore: t("agentChat.queue.moreActions"),
1774
- suggestions: t("agentChat.composer.suggestedPrompts"),
1775
- copy: t("agentChat.message.copyMessage"),
1776
- copied: t("agentChat.common.copied"),
1777
- messageActions: t("agentChat.message.actions"),
1778
- copyRequestId: t("agentChat.message.copyRequestId"),
1779
- usage: t("agentChat.message.usage"),
1780
- usageLoading: t("agentChat.message.usageLoading"),
1781
- usageUnavailable: t("agentChat.message.usageUnavailable"),
1782
- usageNotRecorded: t("agentChat.message.usageNotRecorded"),
1783
- usageIncomplete: t("agentChat.message.usageIncomplete"),
1784
- usageReportedCost: t("agentChat.message.usageReportedCost", {
1785
- amount: "{{amount}}",
1786
- }),
1787
- usageEstimatedCost: t("agentChat.message.usageEstimatedCost", {
1788
- amount: "{{amount}}",
1789
- }),
1790
- usageMixedCost: t("agentChat.message.usageMixedCost", {
1791
- amount: "{{amount}}",
1792
- }),
1793
- usageBuilderCredits: t("agentChat.message.usageBuilderCredits", {
1794
- amount: "{{amount}}",
1795
- }),
1796
- usageEstimatedBuilderCredits: t(
1797
- "agentChat.message.usageEstimatedBuilderCredits",
1798
- { amount: "{{amount}}" },
1799
- ),
1800
- usageMixedBuilderCredits: t(
1801
- "agentChat.message.usageMixedBuilderCredits",
1802
- { amount: "{{amount}}" },
1803
- ),
1804
- requestIdUnavailable: t("agentChat.message.requestIdUnavailable"),
1805
- runDetails: t("agentChat.message.runDetails"),
1806
- runCreditsUsed: t("agentChat.message.creditsUsed"),
1807
- runCost: t("agentChat.message.cost"),
1808
- runToolCalls: t("agentChat.message.toolCalls"),
1809
- runModel: t("agentChat.message.modelUsed"),
1810
- runDetailUnavailable: t("agentChat.message.detailUnavailable"),
1811
- runDetailNotRecorded: t("agentChat.message.notRecorded"),
1812
- runDetailIncomplete: t("agentChat.message.incomplete"),
1813
- runDetailEstimated: t("agentChat.message.estimatedAmount", {
1814
- amount: "{{amount}}",
1815
- }),
1816
- runDetailMixed: t("agentChat.message.mixedAmount", {
1817
- amount: "{{amount}}",
1818
- }),
1819
- suggestedActions: t("agentChat.composer.suggestedActions"),
1820
- messageUnavailable: t("agentChat.message.unavailable"),
1821
- navigationUnavailable: t("agentChat.message.navigationUnavailable"),
1822
- copyUnavailable: t("agentChat.recovery.copyFailed"),
1823
- positiveFeedback: t("agentChat.feedback.thumbsUp"),
1824
- negativeFeedback: t("agentChat.feedback.notHelpful"),
1825
- feedbackSubmitted: t("agentChat.feedback.submitted"),
1826
- feedbackWhatWentWrong: t("agentChat.feedback.whatWentWrong"),
1827
- feedbackPlaceholder: t("agentChat.feedback.placeholder"),
1828
- feedbackKeyboardHint: t("agentChat.feedback.keyboardHint", {
1829
- shortcut: "{{shortcut}}",
1830
- }),
1831
- feedbackSubmit: t("agentChat.feedback.submit"),
1832
- feedbackReasonMisread: t("agentChat.feedback.reasonMisread"),
1833
- feedbackReasonNotDone: t("agentChat.feedback.reasonNotDone"),
1834
- feedbackReasonWrongNumbers: t("agentChat.feedback.reasonWrongNumbers"),
1835
- feedbackReasonTooSlow: t("agentChat.feedback.tooSlow"),
1836
- feedbackCopyDetails: t("agentChat.feedback.copyDetails"),
1837
- feedback: t("agentChat.feedback.label"),
1838
- feedbackGood: t("agentChat.feedback.goodResponse"),
1839
- feedbackBad: t("agentChat.feedback.badResponse"),
1840
- rateResponse: t("agentChat.feedback.rate"),
1841
- forkFromHere: t("agentChat.message.forkFromHere"),
1842
- feedbackNote: t("agentChat.feedback.note"),
1843
- moreMessageActions: t("agentChat.message.moreActions"),
1844
- fewerMessageActions: t("agentChat.message.fewerActions"),
1845
- fork: t("agentChat.message.forkChat"),
1846
- previousBranch: t("agentChat.message.previousBranch"),
1847
- nextBranch: t("agentChat.message.nextBranch"),
1848
- branchPosition: "{{index}}/{{count}}",
1849
- error: t("agentChat.error.failed"),
1850
- renderError: t("agentChat.error.render"),
1851
- runFailed: t("agentChat.error.failed"),
1852
- continueRun: t("agentChat.common.continue"),
1853
- continueRunUnavailable: t("agentChat.recovery.continueUnavailable"),
1854
- reconnect: t("agentChat.common.reconnect"),
1855
- dismissNotice: t("agentChat.common.dismiss"),
1856
- reasoning: t("agentChat.status.thinking"),
1857
- expandActivity: t("agentChat.common.expand"),
1858
- collapseActivity: t("agentChat.common.collapse"),
1859
- agentStarted: t("agentChat.agent.started"),
1860
- agentResumed: t("agentChat.agent.resumed"),
1861
- agentMessaged: t("agentChat.agent.messaged"),
1862
- agentDelegated: t("agentChat.agent.delegated"),
1863
- agentPaused: t("agentChat.agent.paused"),
1864
- agentCompleted: t("agentChat.agent.completed"),
1865
- agentFailed: t("agentChat.agent.failed"),
1866
- agentClosed: t("agentChat.agent.closed"),
1867
- editMessage: t("agentChat.message.edit"),
1868
- editingMessage: t("agentChat.message.editing"),
1869
- editingMessageHint: t("agentChat.message.editingHint"),
1870
- cancelEditing: t("agentChat.common.cancel"),
1871
- regenerateResponse: t("agentChat.common.retry"),
1872
- expandMessage: t("agentChat.common.expand"),
1873
- collapseMessage: t("agentChat.common.collapse"),
1874
- previewAttachment: t("agentChat.composer.previewAttachment", {
1875
- name: "{{name}}",
1876
- }),
1877
- pastedText: t("agentChat.pastedText.title"),
1878
- attachmentNotSaved: t("agentChat.composer.attachmentNotSaved"),
1879
- imagePreview: t("agentChat.composer.imagePreview"),
1880
- closePreview: t("agentChat.composer.closePreview"),
1881
- dropFilesToAttach: t("agentChat.composer.dropToAttach"),
1882
- dropFileFailed: t("agentChat.composer.droppedFileError"),
1883
- scrollToBottom: t("agentChat.composer.scrollToBottom"),
1884
- stop: t("agentChat.composer.stop"),
1885
- copyCode: t("agentChat.message.copyCode"),
1886
- codeCopied: t("agentChat.message.codeCopied"),
1887
- codeBlock: t("agentChat.message.codeBlock"),
1888
- codeBlockLanguage: t("agentChat.message.codeBlockLanguage", {
1889
- language: "{{language}}",
1890
- }),
1891
- table: t("agentChat.message.table"),
1892
- runStopped: t("agentChat.message.runStopped"),
1893
- responseReady: t("agentChat.message.responseReady"),
1894
- responseFailed: t("agentChat.message.responseFailed"),
1895
- waitingForApproval: t("agentChat.message.waitingForApproval"),
1896
- waitingForInput: t("agentChat.message.waitingForInput"),
1897
- workSummaryFailedCount: t("agentChat.message.workSummaryFailedCount", {
1898
- summary: "{{summary}}",
1899
- count: "{{count}}",
1900
- }),
1901
- taskStatusPending: t("agentChat.message.taskStatusPending"),
1902
- taskStatusRunning: t("agentChat.message.taskStatusRunning"),
1903
- taskStatusCompleted: t("agentChat.message.taskStatusCompleted"),
1904
- taskStatusFailed: t("agentChat.message.taskStatusFailed"),
1905
- taskStatusAwaitingInput: t("agentChat.message.taskStatusAwaitingInput"),
1906
- untitledTask: t("agentChat.message.untitledTask"),
1907
- connectionConnectProvider: t("agentChat.message.connectProvider", {
1908
- provider: "{{provider}}",
1909
- }),
1910
- connectionDeclined: t("agentChat.message.connectionDeclined", {
1911
- provider: "{{provider}}",
1912
- }),
1913
- connectionAdminRequiredTitle: t(
1914
- "agentChat.message.connectionAdminRequiredTitle",
1915
- { provider: "{{provider}}" },
1916
- ),
1917
- branchPositionLabel: t("agentChat.message.branchPositionLabel", {
1918
- index: "{{index}}",
1919
- count: "{{count}}",
1920
- }),
1921
- taskListChecked: t("agentChat.message.taskListChecked"),
1922
- taskListUnchecked: t("agentChat.message.taskListUnchecked"),
1923
- threadUnavailable: t("agentChat.message.threadNotFound"),
1924
- newChat: t("agentChat.tabs.newChat"),
1925
- loadingConversation: t("agentChat.empty.loadingChat"),
1926
- formatTimestamp: (createdAt: string) => {
1927
- const date = new Date(createdAt);
1928
- if (Number.isNaN(date.getTime())) return createdAt;
1929
- const now = new Date();
1930
- const yesterday = new Date(now);
1931
- yesterday.setDate(now.getDate() - 1);
1932
- const time = formatDate(date, {
1933
- hour: "numeric",
1934
- minute: "2-digit",
1935
- });
1936
- const sameDay = (left: Date, right: Date) =>
1937
- left.getFullYear() === right.getFullYear() &&
1938
- left.getMonth() === right.getMonth() &&
1939
- left.getDate() === right.getDate();
1940
- if (sameDay(date, now)) return time;
1941
- if (sameDay(date, yesterday)) {
1942
- return `${t("agentChat.history.yesterday")} ${time}`;
1943
- }
1944
- return formatDate(date, {
1945
- month: "short",
1946
- day: "numeric",
1947
- hour: "numeric",
1948
- minute: "2-digit",
1949
- });
1950
- },
1951
1716
  }),
1952
1717
  [formatDate, props.composerPlaceholder, t],
1953
1718
  );
@@ -2255,6 +2020,7 @@ export const AgentKitAssistantChat = forwardRef<
2255
2020
  workedForRowLayout={props.workedForRowLayout}
2256
2021
  dataChartLayout={props.dataChartLayout}
2257
2022
  formatWorkedForDuration={props.formatWorkedForDuration}
2023
+ formatAgentInteractionDetail={formatAgentInteractionDetail}
2258
2024
  onThreadForked={onThreadForked}
2259
2025
  onCopyMessage={copyAgentKitMessage}
2260
2026
  onClientEffect={dispatchAgentKitClientEffect}
@@ -5333,6 +5099,10 @@ function AgentKitTranscript({ children, threadId }: AgentKitRegionRenderProps) {
5333
5099
  return { delivered: true };
5334
5100
  },
5335
5101
  });
5102
+ useRefetchGuidedQuestionsWhenAsked({
5103
+ tools: thread.tools,
5104
+ refetch: guided.refetchPendingQuestion,
5105
+ });
5336
5106
  const activeRunId = thread.activeRunIds.at(-1);
5337
5107
  const [requestIdCopyFeedback, setRequestIdCopyFeedback] = useState<{
5338
5108
  runId: string;
@@ -5575,7 +5345,7 @@ function AgentKitTranscript({ children, threadId }: AgentKitRegionRenderProps) {
5575
5345
  {surface.props.showGuidedQuestions !== false &&
5576
5346
  guided.questions?.length ? (
5577
5347
  <div className="px-3 pb-3">
5578
- <GuidedQuestionFlow
5348
+ <GuidedQuestionCard
5579
5349
  questions={guided.questions}
5580
5350
  onSubmit={guided.handleSubmit}
5581
5351
  onSkip={guided.handleSkip}
@@ -5593,7 +5363,6 @@ function AgentKitTranscript({ children, threadId }: AgentKitRegionRenderProps) {
5593
5363
  {...(guided.description ? { description: guided.description } : {})}
5594
5364
  {...(guided.skipLabel ? { skipLabel: guided.skipLabel } : {})}
5595
5365
  {...(guided.submitLabel ? { submitLabel: guided.submitLabel } : {})}
5596
- className="h-auto items-stretch justify-stretch bg-transparent"
5597
5366
  />
5598
5367
  </div>
5599
5368
  ) : null}
@@ -6669,18 +6438,23 @@ function AgentKitReasoning({
6669
6438
  );
6670
6439
  }
6671
6440
 
6672
- function AgentKitFailedInteraction(
6673
- props: AgentKitRenderProps<AgentInteraction>,
6674
- ) {
6441
+ /** An unknown persisted failure key reads as the generic reason, never the key. */
6442
+ function useAgentInteractionDetail(): (
6443
+ interaction: AgentInteraction,
6444
+ ) => string | undefined {
6675
6445
  const t = useT();
6676
- const reasonKey = props.value.metadata?.failureReasonKey;
6677
- if (typeof reasonKey !== "string") return <AgentInteractionItem {...props} />;
6678
- // The key comes from persisted run state, so one this build does not know
6679
- // falls back to the generic reason rather than printing the key.
6680
- const detail = t(reasonKey, {
6681
- defaultValue: t("agentChat.agent.failureReason.failed"),
6682
- });
6683
- return <AgentInteractionItem {...props} value={{ ...props.value, detail }} />;
6446
+ return useCallback(
6447
+ (interaction: AgentInteraction) => {
6448
+ const reasonKey = interaction.metadata?.failureReasonKey;
6449
+ if (interaction.kind !== "failed" || typeof reasonKey !== "string") {
6450
+ return undefined;
6451
+ }
6452
+ return t(reasonKey, {
6453
+ defaultValue: t("agentChat.agent.failureReason.failed"),
6454
+ });
6455
+ },
6456
+ [t],
6457
+ );
6684
6458
  }
6685
6459
 
6686
6460
  function AgentKitConnectionRequest({
@@ -17,6 +17,7 @@ import { CoreAgentKitApproval } from "./approval-card.js";
17
17
  import { CoreAgentKitRoot } from "./root.js";
18
18
 
19
19
  vi.mock("@agent-native/core/client/i18n", () => ({
20
+ useFormatters: () => ({ formatDate: (date: Date) => date.toISOString() }),
20
21
  useT: () => (key: string, options?: Record<string, unknown>) =>
21
22
  key === "agentChat.approval.question"
22
23
  ? `Approve to run ${String(options?.tool)}?`