@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
@@ -0,0 +1,33 @@
1
+ import { createContext, useContext, useEffect, useRef, useState, } from "react";
2
+ import { scheduleIdleMount } from "./idle-mount.js";
3
+ /** True while a long thread opens, so closed rows can mount later. */
4
+ export const AgentKitDeferClosedContentContext = createContext(false);
5
+ /**
6
+ * Keeps closed content mounted for find-in-page; in a long thread it mounts
7
+ * at idle, so the history paints first.
8
+ */
9
+ export function useUntilFoundContent(open, onReveal) {
10
+ const ref = useRef(null);
11
+ const revealRef = useRef(onReveal);
12
+ revealRef.current = onReveal;
13
+ const deferClosed = useContext(AgentKitDeferClosedContentContext);
14
+ const [contentMounted, setContentMounted] = useState(open || !deferClosed);
15
+ if (open && !contentMounted)
16
+ setContentMounted(true);
17
+ useEffect(() => {
18
+ if (contentMounted)
19
+ return;
20
+ return scheduleIdleMount(() => setContentMounted(true));
21
+ }, [contentMounted]);
22
+ useEffect(() => {
23
+ const element = ref.current;
24
+ if (!element || open)
25
+ return;
26
+ element.setAttribute("hidden", "until-found");
27
+ const reveal = () => revealRef.current?.();
28
+ element.addEventListener("beforematch", reveal);
29
+ return () => element.removeEventListener("beforematch", reveal);
30
+ }, [open]);
31
+ return { ref, mounted: contentMounted || open };
32
+ }
33
+ //# sourceMappingURL=disclosure-content.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"disclosure-content.js","sourceRoot":"","sources":["../../../../src/app/agentkit/react/disclosure-content.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,EACb,UAAU,EACV,SAAS,EACT,MAAM,EACN,QAAQ,GAET,MAAM,OAAO,CAAC;AAEf,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAEpD,sEAAsE;AACtE,MAAM,CAAC,MAAM,iCAAiC,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;AAEtE;;;GAGG;AACH,MAAM,UAAU,oBAAoB,CAClC,IAAa,EACb,QAAkC;IAElC,MAAM,GAAG,GAAG,MAAM,CAAiB,IAAI,CAAC,CAAC;IACzC,MAAM,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;IACnC,SAAS,CAAC,OAAO,GAAG,QAAQ,CAAC;IAC7B,MAAM,WAAW,GAAG,UAAU,CAAC,iCAAiC,CAAC,CAAC;IAClE,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAAG,QAAQ,CAAC,IAAI,IAAI,CAAC,WAAW,CAAC,CAAC;IAC3E,IAAI,IAAI,IAAI,CAAC,cAAc;QAAE,iBAAiB,CAAC,IAAI,CAAC,CAAC;IACrD,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,cAAc;YAAE,OAAO;QAC3B,OAAO,iBAAiB,CAAC,GAAG,EAAE,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC;IAC1D,CAAC,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC;IACrB,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC;QAC5B,IAAI,CAAC,OAAO,IAAI,IAAI;YAAE,OAAO;QAC7B,OAAO,CAAC,YAAY,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;QAC9C,MAAM,MAAM,GAAG,GAAG,EAAE,CAAC,SAAS,CAAC,OAAO,EAAE,EAAE,CAAC;QAC3C,OAAO,CAAC,gBAAgB,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;QAChD,OAAO,GAAG,EAAE,CAAC,OAAO,CAAC,mBAAmB,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;IAClE,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IACX,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,cAAc,IAAI,IAAI,EAAE,CAAC;AAClD,CAAC"}
@@ -0,0 +1,6 @@
1
+ export declare function formatAgentKitDuration(ms: number, units?: {
2
+ hour?: string;
3
+ minute?: string;
4
+ second?: string;
5
+ }): string;
6
+ //# sourceMappingURL=duration.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"duration.d.ts","sourceRoot":"","sources":["../../../../src/app/agentkit/react/duration.ts"],"names":[],"mappings":"AAAA,wBAAgB,sBAAsB,CACpC,EAAE,EAAE,MAAM,EACV,KAAK,GAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAO,GAC9D,MAAM,CAkBR"}
@@ -0,0 +1,21 @@
1
+ export function formatAgentKitDuration(ms, units = {}) {
2
+ const hour = units.hour ?? "h";
3
+ const minute = units.minute ?? "m";
4
+ const second = units.second ?? "s";
5
+ const totalSeconds = Math.max(0, Math.round(ms / 1_000));
6
+ if (totalSeconds < 60)
7
+ return `${Math.max(1, totalSeconds)}${second}`;
8
+ const minutes = Math.floor(totalSeconds / 60);
9
+ const seconds = totalSeconds % 60;
10
+ if (minutes < 60) {
11
+ return seconds === 0
12
+ ? `${minutes}${minute}`
13
+ : `${minutes}${minute} ${seconds}${second}`;
14
+ }
15
+ const hours = Math.floor(minutes / 60);
16
+ const remainingMinutes = minutes % 60;
17
+ return remainingMinutes === 0
18
+ ? `${hours}${hour}`
19
+ : `${hours}${hour} ${remainingMinutes}${minute}`;
20
+ }
21
+ //# sourceMappingURL=duration.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"duration.js","sourceRoot":"","sources":["../../../../src/app/agentkit/react/duration.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,sBAAsB,CACpC,EAAU,EACV,KAAK,GAAwD,EAAE;IAE/D,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,IAAI,GAAG,CAAC;IAC/B,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,IAAI,GAAG,CAAC;IACnC,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,IAAI,GAAG,CAAC;IACnC,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC;IACzD,IAAI,YAAY,GAAG,EAAE;QAAE,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,YAAY,CAAC,GAAG,MAAM,EAAE,CAAC;IACtE,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,GAAG,EAAE,CAAC,CAAC;IAC9C,MAAM,OAAO,GAAG,YAAY,GAAG,EAAE,CAAC;IAClC,IAAI,OAAO,GAAG,EAAE,EAAE,CAAC;QACjB,OAAO,OAAO,KAAK,CAAC;YAClB,CAAC,CAAC,GAAG,OAAO,GAAG,MAAM,EAAE;YACvB,CAAC,CAAC,GAAG,OAAO,GAAG,MAAM,IAAI,OAAO,GAAG,MAAM,EAAE,CAAC;IAChD,CAAC;IACD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,EAAE,CAAC,CAAC;IACvC,MAAM,gBAAgB,GAAG,OAAO,GAAG,EAAE,CAAC;IACtC,OAAO,gBAAgB,KAAK,CAAC;QAC3B,CAAC,CAAC,GAAG,KAAK,GAAG,IAAI,EAAE;QACnB,CAAC,CAAC,GAAG,KAAK,GAAG,IAAI,IAAI,gBAAgB,GAAG,MAAM,EAAE,CAAC;AACrD,CAAC"}
@@ -0,0 +1,33 @@
1
+ import { type TraceCollapsibleOpenProps } from "./trace.js";
2
+ export interface FileChangeData {
3
+ filePath: string;
4
+ /** `edit` uses `oldText` and `newText`; `write` uses `content`. */
5
+ kind: "edit" | "write";
6
+ oldText?: string | undefined;
7
+ newText?: string | undefined;
8
+ content?: string | undefined;
9
+ /** A write's line count when its content was not kept. */
10
+ lineCount?: number | undefined;
11
+ truncated?: boolean | undefined;
12
+ }
13
+ export declare function fileChangeStats(change: FileChangeData): {
14
+ added: number;
15
+ removed: number;
16
+ };
17
+ /** A long directory truncates before the file name does. */
18
+ export declare function FilePath({ filePath }: {
19
+ filePath: string;
20
+ }): import("react").JSX.Element;
21
+ export declare function FileChangeStats({ change }: {
22
+ change: FileChangeData;
23
+ }): import("react").JSX.Element;
24
+ export declare function FileChangeBody({ change }: {
25
+ change: FileChangeData;
26
+ }): import("react").JSX.Element | null;
27
+ export declare function FileChange({ change, running, defaultOpen, className, ...openProps }: TraceCollapsibleOpenProps & {
28
+ change: FileChangeData;
29
+ running?: boolean;
30
+ defaultOpen?: boolean;
31
+ className?: string;
32
+ }): import("react").JSX.Element;
33
+ //# sourceMappingURL=file-change.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"file-change.d.ts","sourceRoot":"","sources":["../../../../src/app/agentkit/react/file-change.tsx"],"names":[],"mappings":"AAWA,OAAO,EAQL,KAAK,yBAAyB,EAC/B,MAAM,YAAY,CAAC;AAapB,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,MAAM,CAAC;IACjB,mEAAmE;IACnE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,0DAA0D;IAC1D,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,SAAS,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CACjC;AAED,wBAAgB,eAAe,CAAC,MAAM,EAAE,cAAc,GAAG;IACvD,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;CACjB,CAWA;AAUD,4DAA4D;AAC5D,wBAAgB,QAAQ,CAAC,EAAE,QAAQ,EAAE,EAAE;IAAE,QAAQ,EAAE,MAAM,CAAA;CAAE,+BAgB1D;AAED,wBAAgB,eAAe,CAAC,EAAE,MAAM,EAAE,EAAE;IAAE,MAAM,EAAE,cAAc,CAAA;CAAE,+BAerE;AAED,wBAAgB,cAAc,CAAC,EAAE,MAAM,EAAE,EAAE;IAAE,MAAM,EAAE,cAAc,CAAA;CAAE,sCAyDpE;AAED,wBAAgB,UAAU,CAAC,EACzB,MAAM,EACN,OAAe,EACf,WAAmB,EACnB,SAAS,EACT,GAAG,SAAS,EACb,EAAE,yBAAyB,GAAG;IAC7B,MAAM,EAAE,cAAc,CAAC;IACvB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,+BAoDA"}
@@ -0,0 +1,83 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { IconFileDiff, IconFilePlus } from "@tabler/icons-react";
3
+ import { useMemo, useState } from "react";
4
+ import { CodeBlock, CodeBlockContent, CodeBlockFooter, CodeBlockLine, } from "./code-block.js";
5
+ import { useAgentKitLabels } from "./context.js";
6
+ import { cachedLineDiff, diffStats } from "./file-diff.js";
7
+ import { TraceCollapsible, TraceCollapsibleContent, TraceCollapsibleTrigger, TraceDescription, TraceIcon, TraceLine, TraceTitle, } from "./trace.js";
8
+ const MAX_COLLAPSED_LINES = 40;
9
+ const EXTENSION_LANGUAGES = {
10
+ mjs: "javascript",
11
+ cjs: "javascript",
12
+ mts: "typescript",
13
+ cts: "typescript",
14
+ htm: "html",
15
+ zsh: "bash",
16
+ };
17
+ export function fileChangeStats(change) {
18
+ if (change.kind === "write") {
19
+ return {
20
+ added: change.lineCount ??
21
+ (change.content ? change.content.split("\n").length : 0),
22
+ removed: 0,
23
+ };
24
+ }
25
+ if (!change.oldText && !change.newText)
26
+ return { added: 0, removed: 0 };
27
+ return diffStats(cachedLineDiff(change.oldText ?? "", change.newText ?? ""));
28
+ }
29
+ function fileLanguage(filePath) {
30
+ const name = filePath.split(/[/\\]/).at(-1) ?? "";
31
+ const dot = name.lastIndexOf(".");
32
+ if (dot <= 0)
33
+ return undefined;
34
+ const extension = name.slice(dot + 1).toLowerCase();
35
+ return EXTENSION_LANGUAGES[extension] ?? extension;
36
+ }
37
+ /** A long directory truncates before the file name does. */
38
+ export function FilePath({ filePath }) {
39
+ const separator = filePath.lastIndexOf("/");
40
+ const directory = separator < 0 ? "" : filePath.slice(0, separator + 1);
41
+ const fileName = separator < 0 ? filePath : filePath.slice(separator + 1);
42
+ return (_jsxs(TraceTitle, { className: "agentkit-file-path", title: filePath, "data-agent-file-change-path": "", children: [directory ? (_jsx("span", { className: "agentkit-file-path-directory", children: directory })) : null, _jsx("span", { className: "agentkit-file-path-name", children: fileName })] }));
43
+ }
44
+ export function FileChangeStats({ change }) {
45
+ const labels = useAgentKitLabels();
46
+ const { added, removed } = fileChangeStats(change);
47
+ return (_jsxs(TraceDescription, { className: "agentkit-file-change-stats", "data-agent-file-change-stats": "", children: [_jsxs("span", { "data-sign": "added", children: ["+", added] }), change.kind === "edit" ? (_jsxs("span", { "data-sign": "removed", children: ["\u2212", removed] })) : null, change.truncated ? _jsx("span", { children: labels.workStepFilePartial }) : null] }));
48
+ }
49
+ export function FileChangeBody({ change }) {
50
+ const labels = useAgentKitLabels();
51
+ const [showAll, setShowAll] = useState(false);
52
+ const diff = useMemo(() => change.kind === "edit" && (change.oldText || change.newText)
53
+ ? cachedLineDiff(change.oldText ?? "", change.newText ?? "")
54
+ : undefined, [change.kind, change.oldText, change.newText]);
55
+ const lines = diff ?? (change.content ? change.content.split("\n") : []);
56
+ if (!lines.length)
57
+ return null;
58
+ const hidden = showAll ? 0 : Math.max(0, lines.length - MAX_COLLAPSED_LINES);
59
+ const footer = hidden ? (_jsx(CodeBlockFooter, { children: _jsx("button", { type: "button", className: "agentkit-terminal-earlier", onClick: () => setShowAll(true), children: labels.workStepFileMoreLines.replace("{{count}}", () => `${hidden}`) }) })) : null;
60
+ if (diff) {
61
+ const visible = hidden ? diff.slice(0, MAX_COLLAPSED_LINES) : diff;
62
+ return (_jsxs(CodeBlock, { size: "sm", className: "agentkit-file-change-body", children: [_jsx(CodeBlockContent, { wrap: true, children: visible.map((line, index) => (_jsx(CodeBlockLine, { variant: line.kind === "context" ? "default" : line.kind, children: line.text }, index))) }), footer] }));
63
+ }
64
+ const content = change.content ?? "";
65
+ return (_jsxs(CodeBlock, { size: "sm", className: "agentkit-file-change-body", children: [_jsx(CodeBlockContent, { wrap: true, lineNumbers: true, language: fileLanguage(change.filePath), children: hidden
66
+ ? content.split("\n").slice(0, MAX_COLLAPSED_LINES).join("\n")
67
+ : content }), footer] }));
68
+ }
69
+ export function FileChange({ change, running = false, defaultOpen = false, className, ...openProps }) {
70
+ const labels = useAgentKitLabels();
71
+ const hasBody = change.kind === "edit"
72
+ ? Boolean(change.oldText || change.newText)
73
+ : Boolean(change.content);
74
+ const line = (_jsxs(TraceLine, { status: running ? "running" : undefined, children: [_jsx(TraceIcon, { children: change.kind === "edit" ? (_jsx(IconFileDiff, { "aria-hidden": "true", className: "agentkit-icon" })) : (_jsx(IconFilePlus, { "aria-hidden": "true", className: "agentkit-icon" })) }), _jsx(FilePath, { filePath: change.filePath }), running ? (_jsx("span", { className: "agentkit-visually-hidden", children: labels.taskStatusRunning })) : (_jsx(FileChangeStats, { change: change }))] }));
75
+ const classes = className
76
+ ? `agentkit-file-change ${className}`
77
+ : "agentkit-file-change";
78
+ if (!hasBody) {
79
+ return (_jsx("div", { className: classes, "data-kind": change.kind, children: _jsx("span", { className: "agentkit-disclosure-summary", "data-expandable": "false", children: line }) }));
80
+ }
81
+ return (_jsxs(TraceCollapsible, { ...openProps, defaultOpen: defaultOpen, className: classes, "data-kind": change.kind, children: [_jsx(TraceCollapsibleTrigger, { "data-agent-file-change-row": "", children: line }), _jsx(TraceCollapsibleContent, { className: "agentkit-file-change-content", children: _jsx(FileChangeBody, { change: change }) })] }));
82
+ }
83
+ //# sourceMappingURL=file-change.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"file-change.js","sourceRoot":"","sources":["../../../../src/app/agentkit/react/file-change.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ export interface DiffLine {
2
+ kind: "context" | "added" | "removed";
3
+ text: string;
4
+ oldLineNo?: number;
5
+ newLineNo?: number;
6
+ }
7
+ export declare function computeLineDiff(oldText: string, newText: string): DiffLine[];
8
+ export declare function diffStats(lines: DiffLine[]): {
9
+ added: number;
10
+ removed: number;
11
+ };
12
+ /**
13
+ * `computeLineDiff`, cached by text: a row's stats and its body share one
14
+ * quadratic pass, and a re-render reuses it.
15
+ */
16
+ export declare function cachedLineDiff(oldText: string, newText: string): DiffLine[];
17
+ //# sourceMappingURL=file-diff.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"file-diff.d.ts","sourceRoot":"","sources":["../../../../src/app/agentkit/react/file-diff.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,SAAS,GAAG,OAAO,GAAG,SAAS,CAAC;IACtC,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,QAAQ,EAAE,CAiE5E;AAED,wBAAgB,SAAS,CAAC,KAAK,EAAE,QAAQ,EAAE,GAAG;IAC5C,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;CACjB,CAQA;AAKD;;;GAGG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,QAAQ,EAAE,CAe3E"}
@@ -0,0 +1,94 @@
1
+ export function computeLineDiff(oldText, newText) {
2
+ const oldLines = oldText.split("\n");
3
+ const newLines = newText.split("\n");
4
+ const MAX_LINES = 2000;
5
+ const a = oldLines.slice(0, MAX_LINES);
6
+ const b = newLines.slice(0, MAX_LINES);
7
+ const m = a.length;
8
+ const n = b.length;
9
+ // LCS of suffixes: cell(i, j) covers a[i..] against b[j..].
10
+ const width = n + 1;
11
+ const lengths = new Uint32Array((m + 1) * width);
12
+ const cell = (row, column) => lengths.at(row * width + column) ?? 0;
13
+ for (let i = m - 1; i >= 0; i--) {
14
+ for (let j = n - 1; j >= 0; j--) {
15
+ lengths[i * width + j] =
16
+ a.at(i) === b.at(j)
17
+ ? cell(i + 1, j + 1) + 1
18
+ : Math.max(cell(i + 1, j), cell(i, j + 1));
19
+ }
20
+ }
21
+ const result = [];
22
+ let i = 0;
23
+ let j = 0;
24
+ let oldLineNo = 1;
25
+ let newLineNo = 1;
26
+ for (;;) {
27
+ const left = a.at(i);
28
+ const right = b.at(j);
29
+ if (left === undefined && right === undefined)
30
+ break;
31
+ if (left !== undefined && left === right) {
32
+ result.push({
33
+ kind: "context",
34
+ text: left,
35
+ oldLineNo: oldLineNo++,
36
+ newLineNo: newLineNo++,
37
+ });
38
+ i++;
39
+ j++;
40
+ }
41
+ else if (left !== undefined &&
42
+ (right === undefined || cell(i + 1, j) >= cell(i, j + 1))) {
43
+ // Ties remove first, so removals precede the additions replacing them.
44
+ result.push({ kind: "removed", text: left, oldLineNo: oldLineNo++ });
45
+ i++;
46
+ }
47
+ else if (right !== undefined) {
48
+ result.push({ kind: "added", text: right, newLineNo: newLineNo++ });
49
+ j++;
50
+ }
51
+ }
52
+ for (const text of oldLines.slice(MAX_LINES)) {
53
+ result.push({ kind: "removed", text, oldLineNo: oldLineNo++ });
54
+ }
55
+ for (const text of newLines.slice(MAX_LINES)) {
56
+ result.push({ kind: "added", text, newLineNo: newLineNo++ });
57
+ }
58
+ return result;
59
+ }
60
+ export function diffStats(lines) {
61
+ let added = 0;
62
+ let removed = 0;
63
+ for (const line of lines) {
64
+ if (line.kind === "added")
65
+ added++;
66
+ else if (line.kind === "removed")
67
+ removed++;
68
+ }
69
+ return { added, removed };
70
+ }
71
+ const CACHED_DIFFS = 32;
72
+ const cachedDiffs = new Map();
73
+ /**
74
+ * `computeLineDiff`, cached by text: a row's stats and its body share one
75
+ * quadratic pass, and a re-render reuses it.
76
+ */
77
+ export function cachedLineDiff(oldText, newText) {
78
+ const key = `${oldText.length}:${oldText}\u0000${newText}`;
79
+ const cached = cachedDiffs.get(key);
80
+ if (cached) {
81
+ cachedDiffs.delete(key);
82
+ cachedDiffs.set(key, cached);
83
+ return cached;
84
+ }
85
+ const diff = computeLineDiff(oldText, newText);
86
+ cachedDiffs.set(key, diff);
87
+ if (cachedDiffs.size > CACHED_DIFFS) {
88
+ const oldest = cachedDiffs.keys().next();
89
+ if (!oldest.done)
90
+ cachedDiffs.delete(oldest.value);
91
+ }
92
+ return diff;
93
+ }
94
+ //# sourceMappingURL=file-diff.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"file-diff.js","sourceRoot":"","sources":["../../../../src/app/agentkit/react/file-diff.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,19 @@
1
1
  export * from "./approval-card.js";
2
+ export * from "./question-card.js";
2
3
  export * from "./chat.js";
4
+ export * from "./code-block.js";
3
5
  export * from "./components.js";
6
+ export * from "./context-usage.js";
4
7
  export * from "./context.js";
5
8
  export * from "./data-chart-layout.js";
9
+ export * from "./file-change.js";
6
10
  export * from "./message-content-order.js";
7
11
  export { AGENTKIT_CLIENT_REQUEST_ID_METADATA_KEY, agentKitClientRequestId, type AgentKitPendingSubmission, type AgentKitPendingSubmissionDraft, type AgentKitPendingSubmissionFile, } from "./pending-submissions.js";
8
12
  export * from "./root.js";
13
+ export * from "./stack-trace.js";
9
14
  export * from "./streaming-text.js";
15
+ export * from "./terminal.js";
16
+ export * from "./trace.js";
10
17
  export * from "./transcript-layout.js";
11
18
  export * from "./work-steps.js";
12
19
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/app/agentkit/react/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,WAAW,CAAC;AAC1B,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,cAAc,wBAAwB,CAAC;AACvC,cAAc,4BAA4B,CAAC;AAC3C,OAAO,EACL,uCAAuC,EACvC,uBAAuB,EACvB,KAAK,yBAAyB,EAC9B,KAAK,8BAA8B,EACnC,KAAK,6BAA6B,GACnC,MAAM,0BAA0B,CAAC;AAClC,cAAc,WAAW,CAAC;AAC1B,cAAc,qBAAqB,CAAC;AACpC,cAAc,wBAAwB,CAAC;AACvC,cAAc,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/app/agentkit/react/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,WAAW,CAAC;AAC1B,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,cAAc,cAAc,CAAC;AAC7B,cAAc,wBAAwB,CAAC;AACvC,cAAc,kBAAkB,CAAC;AACjC,cAAc,4BAA4B,CAAC;AAC3C,OAAO,EACL,uCAAuC,EACvC,uBAAuB,EACvB,KAAK,yBAAyB,EAC9B,KAAK,8BAA8B,EACnC,KAAK,6BAA6B,GACnC,MAAM,0BAA0B,CAAC;AAClC,cAAc,WAAW,CAAC;AAC1B,cAAc,kBAAkB,CAAC;AACjC,cAAc,qBAAqB,CAAC;AACpC,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,wBAAwB,CAAC;AACvC,cAAc,iBAAiB,CAAC"}
@@ -1,12 +1,19 @@
1
1
  export * from "./approval-card.js";
2
+ export * from "./question-card.js";
2
3
  export * from "./chat.js";
4
+ export * from "./code-block.js";
3
5
  export * from "./components.js";
6
+ export * from "./context-usage.js";
4
7
  export * from "./context.js";
5
8
  export * from "./data-chart-layout.js";
9
+ export * from "./file-change.js";
6
10
  export * from "./message-content-order.js";
7
11
  export { AGENTKIT_CLIENT_REQUEST_ID_METADATA_KEY, agentKitClientRequestId, } from "./pending-submissions.js";
8
12
  export * from "./root.js";
13
+ export * from "./stack-trace.js";
9
14
  export * from "./streaming-text.js";
15
+ export * from "./terminal.js";
16
+ export * from "./trace.js";
10
17
  export * from "./transcript-layout.js";
11
18
  export * from "./work-steps.js";
12
19
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/app/agentkit/react/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,WAAW,CAAC;AAC1B,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,cAAc,wBAAwB,CAAC;AACvC,cAAc,4BAA4B,CAAC;AAC3C,OAAO,EACL,uCAAuC,EACvC,uBAAuB,GAIxB,MAAM,0BAA0B,CAAC;AAClC,cAAc,WAAW,CAAC;AAC1B,cAAc,qBAAqB,CAAC;AACpC,cAAc,wBAAwB,CAAC;AACvC,cAAc,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/app/agentkit/react/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,WAAW,CAAC;AAC1B,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,cAAc,cAAc,CAAC;AAC7B,cAAc,wBAAwB,CAAC;AACvC,cAAc,kBAAkB,CAAC;AACjC,cAAc,4BAA4B,CAAC;AAC3C,OAAO,EACL,uCAAuC,EACvC,uBAAuB,GAIxB,MAAM,0BAA0B,CAAC;AAClC,cAAc,WAAW,CAAC;AAC1B,cAAc,kBAAkB,CAAC;AACjC,cAAc,qBAAqB,CAAC;AACpC,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,wBAAwB,CAAC;AACvC,cAAc,iBAAiB,CAAC"}
@@ -0,0 +1,67 @@
1
+ import { type ReactNode } from "react";
2
+ export interface AgentKitQuestionOption {
3
+ value: string;
4
+ label: string;
5
+ recommended?: boolean;
6
+ /** A CSS color for a swatch before the label. */
7
+ color?: string;
8
+ }
9
+ export interface AgentKitQuestion {
10
+ id: string;
11
+ question: string;
12
+ description?: string;
13
+ /** None, with no `range` or `files`, makes it a written-answer question. */
14
+ options: readonly AgentKitQuestionOption[];
15
+ /** Answered on a slider. */
16
+ range?: {
17
+ min: number;
18
+ max: number;
19
+ step: number;
20
+ initial: number;
21
+ };
22
+ /** Files the user chooses or drops on the card. */
23
+ files?: boolean;
24
+ multiSelect?: boolean;
25
+ /** Offers the written response beside the options. On by default. */
26
+ allowOther?: boolean;
27
+ required?: boolean;
28
+ /** Picking an option answers this question without pressing Next. */
29
+ submitOnSelect?: boolean;
30
+ placeholder?: string;
31
+ }
32
+ export interface AgentKitQuestionAnswer {
33
+ values: string[];
34
+ other?: string;
35
+ files?: File[];
36
+ }
37
+ /** By question id; a skipped question has no entry. */
38
+ export type AgentKitQuestionAnswers = Record<string, AgentKitQuestionAnswer>;
39
+ export interface QuestionCardProps {
40
+ questions: readonly AgentKitQuestion[];
41
+ /** All answers at once, after the last question. */
42
+ onSubmit: (answers: AgentKitQuestionAnswers) => void;
43
+ /** Closing the card, or skipping every question. */
44
+ onDismiss: () => void;
45
+ title?: string;
46
+ /** Shown under the title, for every question. */
47
+ description?: string;
48
+ /** The last step's send label, such as "Generate". */
49
+ submitLabel?: string;
50
+ skipLabel?: string;
51
+ busy?: boolean;
52
+ /** Locks the answers too. */
53
+ disabled?: boolean;
54
+ /** Answers can be picked, but nothing is sent or skipped. */
55
+ submitBlocked?: boolean;
56
+ /** Shown under the actions, such as a setup notice. */
57
+ footer?: ReactNode;
58
+ /** A control beside the written response, such as dictation. */
59
+ renderResponseControl?: (control: {
60
+ append: (text: string) => void;
61
+ disabled: boolean;
62
+ }) => ReactNode;
63
+ className?: string;
64
+ }
65
+ /** Asks one question at a time and sends every answer in one message. */
66
+ export declare function QuestionCard({ questions, onSubmit, onDismiss, title, description, submitLabel, skipLabel, busy, disabled, submitBlocked, footer, renderResponseControl, className, }: QuestionCardProps): import("react").JSX.Element | null;
67
+ //# sourceMappingURL=question-card.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"question-card.d.ts","sourceRoot":"","sources":["../../../../src/app/agentkit/react/question-card.tsx"],"names":[],"mappings":"AAMA,OAAO,EAOL,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AAUf,MAAM,WAAW,sBAAsB;IACrC,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,iDAAiD;IACjD,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,4EAA4E;IAC5E,OAAO,EAAE,SAAS,sBAAsB,EAAE,CAAC;IAC3C,4BAA4B;IAC5B,KAAK,CAAC,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IACpE,mDAAmD;IACnD,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,qEAAqE;IACrE,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,qEAAqE;IACrE,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,sBAAsB;IACrC,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,IAAI,EAAE,CAAC;CAChB;AAED,uDAAuD;AACvD,MAAM,MAAM,uBAAuB,GAAG,MAAM,CAAC,MAAM,EAAE,sBAAsB,CAAC,CAAC;AAE7E,MAAM,WAAW,iBAAiB;IAChC,SAAS,EAAE,SAAS,gBAAgB,EAAE,CAAC;IACvC,oDAAoD;IACpD,QAAQ,EAAE,CAAC,OAAO,EAAE,uBAAuB,KAAK,IAAI,CAAC;IACrD,oDAAoD;IACpD,SAAS,EAAE,MAAM,IAAI,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,iDAAiD;IACjD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,sDAAsD;IACtD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,6BAA6B;IAC7B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,6DAA6D;IAC7D,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,uDAAuD;IACvD,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,gEAAgE;IAChE,qBAAqB,CAAC,EAAE,CAAC,OAAO,EAAE;QAChC,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;QAC/B,QAAQ,EAAE,OAAO,CAAC;KACnB,KAAK,SAAS,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAoBD,yEAAyE;AACzE,wBAAgB,YAAY,CAAC,EAC3B,SAAS,EACT,QAAQ,EACR,SAAS,EACT,KAAK,EACL,WAAW,EACX,WAAW,EACX,SAAS,EACT,IAAY,EACZ,QAAgB,EAChB,aAAqB,EACrB,MAAM,EACN,qBAAqB,EACrB,SAAS,GACV,EAAE,iBAAiB,sCA4ZnB"}