@agent-native/core 0.4.5 → 0.5.0-dev.b51eaae

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 (479) hide show
  1. package/dist/a2a/client.d.ts +7 -0
  2. package/dist/a2a/client.d.ts.map +1 -1
  3. package/dist/a2a/client.js +24 -3
  4. package/dist/a2a/client.js.map +1 -1
  5. package/dist/a2a/handlers.d.ts +6 -3
  6. package/dist/a2a/handlers.d.ts.map +1 -1
  7. package/dist/a2a/handlers.js +45 -39
  8. package/dist/a2a/handlers.js.map +1 -1
  9. package/dist/a2a/index.d.ts +1 -1
  10. package/dist/a2a/index.d.ts.map +1 -1
  11. package/dist/a2a/index.js +2 -2
  12. package/dist/a2a/index.js.map +1 -1
  13. package/dist/a2a/server.d.ts +7 -2
  14. package/dist/a2a/server.d.ts.map +1 -1
  15. package/dist/a2a/server.js +54 -14
  16. package/dist/a2a/server.js.map +1 -1
  17. package/dist/a2a/task-store.d.ts +6 -6
  18. package/dist/a2a/task-store.d.ts.map +1 -1
  19. package/dist/a2a/task-store.js +102 -42
  20. package/dist/a2a/task-store.js.map +1 -1
  21. package/dist/a2a/types.d.ts +2 -0
  22. package/dist/a2a/types.d.ts.map +1 -1
  23. package/dist/action.d.ts +46 -0
  24. package/dist/action.d.ts.map +1 -0
  25. package/dist/action.js +35 -0
  26. package/dist/action.js.map +1 -0
  27. package/dist/adapters/sync/file-sync.js +1 -1
  28. package/dist/agent/index.d.ts +2 -2
  29. package/dist/agent/index.d.ts.map +1 -1
  30. package/dist/agent/index.js.map +1 -1
  31. package/dist/agent/production-agent.d.ts +22 -6
  32. package/dist/agent/production-agent.d.ts.map +1 -1
  33. package/dist/agent/production-agent.js +336 -123
  34. package/dist/agent/production-agent.js.map +1 -1
  35. package/dist/agent/run-manager.d.ts +43 -0
  36. package/dist/agent/run-manager.d.ts.map +1 -0
  37. package/dist/agent/run-manager.js +358 -0
  38. package/dist/agent/run-manager.js.map +1 -0
  39. package/dist/agent/run-store.d.ts +26 -0
  40. package/dist/agent/run-store.d.ts.map +1 -0
  41. package/dist/agent/run-store.js +145 -0
  42. package/dist/agent/run-store.js.map +1 -0
  43. package/dist/agent/thread-data-builder.d.ts +30 -0
  44. package/dist/agent/thread-data-builder.d.ts.map +1 -0
  45. package/dist/agent/thread-data-builder.js +88 -0
  46. package/dist/agent/thread-data-builder.js.map +1 -0
  47. package/dist/agent/types.d.ts +52 -1
  48. package/dist/agent/types.d.ts.map +1 -1
  49. package/dist/application-state/emitter.d.ts +3 -2
  50. package/dist/application-state/emitter.d.ts.map +1 -1
  51. package/dist/application-state/emitter.js +14 -4
  52. package/dist/application-state/emitter.js.map +1 -1
  53. package/dist/application-state/handlers.d.ts.map +1 -1
  54. package/dist/application-state/handlers.js +13 -16
  55. package/dist/application-state/handlers.js.map +1 -1
  56. package/dist/application-state/script-helpers.d.ts +1 -1
  57. package/dist/application-state/script-helpers.d.ts.map +1 -1
  58. package/dist/application-state/script-helpers.js +15 -5
  59. package/dist/application-state/script-helpers.js.map +1 -1
  60. package/dist/application-state/store.d.ts +4 -3
  61. package/dist/application-state/store.d.ts.map +1 -1
  62. package/dist/application-state/store.js +31 -59
  63. package/dist/application-state/store.js.map +1 -1
  64. package/dist/chat-threads/emitter.d.ts +9 -0
  65. package/dist/chat-threads/emitter.d.ts.map +1 -0
  66. package/dist/chat-threads/emitter.js +14 -0
  67. package/dist/chat-threads/emitter.js.map +1 -0
  68. package/dist/chat-threads/store.d.ts +28 -0
  69. package/dist/chat-threads/store.d.ts.map +1 -0
  70. package/dist/chat-threads/store.js +124 -0
  71. package/dist/chat-threads/store.js.map +1 -0
  72. package/dist/cli/create.d.ts.map +1 -1
  73. package/dist/cli/create.js +4 -18
  74. package/dist/cli/create.js.map +1 -1
  75. package/dist/cli/index.js +30 -3
  76. package/dist/cli/index.js.map +1 -1
  77. package/dist/cli/setup-agents.d.ts +11 -0
  78. package/dist/cli/setup-agents.d.ts.map +1 -0
  79. package/dist/cli/setup-agents.js +123 -0
  80. package/dist/cli/setup-agents.js.map +1 -0
  81. package/dist/client/AgentPanel.d.ts +9 -2
  82. package/dist/client/AgentPanel.d.ts.map +1 -1
  83. package/dist/client/AgentPanel.js +466 -29
  84. package/dist/client/AgentPanel.js.map +1 -1
  85. package/dist/client/AssistantChat.d.ts +25 -3
  86. package/dist/client/AssistantChat.d.ts.map +1 -1
  87. package/dist/client/AssistantChat.js +613 -83
  88. package/dist/client/AssistantChat.js.map +1 -1
  89. package/dist/client/ClientOnly.d.ts +14 -0
  90. package/dist/client/ClientOnly.d.ts.map +1 -0
  91. package/dist/client/ClientOnly.js +17 -0
  92. package/dist/client/ClientOnly.js.map +1 -0
  93. package/dist/client/CommandMenu.d.ts +71 -0
  94. package/dist/client/CommandMenu.d.ts.map +1 -0
  95. package/dist/client/CommandMenu.js +257 -0
  96. package/dist/client/CommandMenu.js.map +1 -0
  97. package/dist/client/DefaultSpinner.d.ts +7 -0
  98. package/dist/client/DefaultSpinner.d.ts.map +1 -0
  99. package/dist/client/DefaultSpinner.js +28 -0
  100. package/dist/client/DefaultSpinner.js.map +1 -0
  101. package/dist/client/MultiTabAssistantChat.d.ts +34 -2
  102. package/dist/client/MultiTabAssistantChat.d.ts.map +1 -1
  103. package/dist/client/MultiTabAssistantChat.js +346 -57
  104. package/dist/client/MultiTabAssistantChat.js.map +1 -1
  105. package/dist/client/PoweredByBadge.d.ts.map +1 -1
  106. package/dist/client/PoweredByBadge.js +2 -1
  107. package/dist/client/PoweredByBadge.js.map +1 -1
  108. package/dist/client/active-run-state.d.ts +10 -0
  109. package/dist/client/active-run-state.d.ts.map +1 -0
  110. package/dist/client/active-run-state.js +32 -0
  111. package/dist/client/active-run-state.js.map +1 -0
  112. package/dist/client/agent-chat-adapter.d.ts +2 -1
  113. package/dist/client/agent-chat-adapter.d.ts.map +1 -1
  114. package/dist/client/agent-chat-adapter.js +83 -129
  115. package/dist/client/agent-chat-adapter.js.map +1 -1
  116. package/dist/client/agent-chat.js +2 -2
  117. package/dist/client/agent-chat.js.map +1 -1
  118. package/dist/client/components/ApiKeySettings.d.ts +2 -2
  119. package/dist/client/components/ApiKeySettings.js +4 -4
  120. package/dist/client/components/ApiKeySettings.js.map +1 -1
  121. package/dist/client/components/CodeRequiredDialog.d.ts.map +1 -1
  122. package/dist/client/components/CodeRequiredDialog.js +4 -3
  123. package/dist/client/components/CodeRequiredDialog.js.map +1 -1
  124. package/dist/client/composer/MentionPopover.d.ts +26 -0
  125. package/dist/client/composer/MentionPopover.d.ts.map +1 -0
  126. package/dist/client/composer/MentionPopover.js +130 -0
  127. package/dist/client/composer/MentionPopover.js.map +1 -0
  128. package/dist/client/composer/TiptapComposer.d.ts +19 -0
  129. package/dist/client/composer/TiptapComposer.d.ts.map +1 -0
  130. package/dist/client/composer/TiptapComposer.js +415 -0
  131. package/dist/client/composer/TiptapComposer.js.map +1 -0
  132. package/dist/client/composer/extensions/FileReference.d.ts +3 -0
  133. package/dist/client/composer/extensions/FileReference.d.ts.map +1 -0
  134. package/dist/client/composer/extensions/FileReference.js +36 -0
  135. package/dist/client/composer/extensions/FileReference.js.map +1 -0
  136. package/dist/client/composer/extensions/MentionReference.d.ts +3 -0
  137. package/dist/client/composer/extensions/MentionReference.d.ts.map +1 -0
  138. package/dist/client/composer/extensions/MentionReference.js +63 -0
  139. package/dist/client/composer/extensions/MentionReference.js.map +1 -0
  140. package/dist/client/composer/extensions/SkillReference.d.ts +3 -0
  141. package/dist/client/composer/extensions/SkillReference.d.ts.map +1 -0
  142. package/dist/client/composer/extensions/SkillReference.js +40 -0
  143. package/dist/client/composer/extensions/SkillReference.js.map +1 -0
  144. package/dist/client/composer/index.d.ts +8 -0
  145. package/dist/client/composer/index.d.ts.map +1 -0
  146. package/dist/client/composer/index.js +7 -0
  147. package/dist/client/composer/index.js.map +1 -0
  148. package/dist/client/composer/types.d.ts +32 -0
  149. package/dist/client/composer/types.d.ts.map +1 -0
  150. package/dist/client/composer/types.js +2 -0
  151. package/dist/client/composer/types.js.map +1 -0
  152. package/dist/client/composer/use-file-search.d.ts +6 -0
  153. package/dist/client/composer/use-file-search.d.ts.map +1 -0
  154. package/dist/client/composer/use-file-search.js +40 -0
  155. package/dist/client/composer/use-file-search.js.map +1 -0
  156. package/dist/client/composer/use-mention-search.d.ts +6 -0
  157. package/dist/client/composer/use-mention-search.d.ts.map +1 -0
  158. package/dist/client/composer/use-mention-search.js +39 -0
  159. package/dist/client/composer/use-mention-search.js.map +1 -0
  160. package/dist/client/composer/use-skills.d.ts +7 -0
  161. package/dist/client/composer/use-skills.d.ts.map +1 -0
  162. package/dist/client/composer/use-skills.js +38 -0
  163. package/dist/client/composer/use-skills.js.map +1 -0
  164. package/dist/client/index.d.ts +9 -4
  165. package/dist/client/index.d.ts.map +1 -1
  166. package/dist/client/index.js +8 -3
  167. package/dist/client/index.js.map +1 -1
  168. package/dist/client/resources/ResourceEditor.d.ts +7 -0
  169. package/dist/client/resources/ResourceEditor.d.ts.map +1 -0
  170. package/dist/client/resources/ResourceEditor.js +851 -0
  171. package/dist/client/resources/ResourceEditor.js.map +1 -0
  172. package/dist/client/resources/ResourceTree.d.ts +13 -0
  173. package/dist/client/resources/ResourceTree.d.ts.map +1 -0
  174. package/dist/client/resources/ResourceTree.js +122 -0
  175. package/dist/client/resources/ResourceTree.js.map +1 -0
  176. package/dist/client/resources/ResourcesPanel.d.ts +2 -0
  177. package/dist/client/resources/ResourcesPanel.d.ts.map +1 -0
  178. package/dist/client/resources/ResourcesPanel.js +341 -0
  179. package/dist/client/resources/ResourcesPanel.js.map +1 -0
  180. package/dist/client/resources/index.d.ts +5 -0
  181. package/dist/client/resources/index.d.ts.map +1 -0
  182. package/dist/client/resources/index.js +5 -0
  183. package/dist/client/resources/index.js.map +1 -0
  184. package/dist/client/resources/use-resources.d.ts +45 -0
  185. package/dist/client/resources/use-resources.d.ts.map +1 -0
  186. package/dist/client/resources/use-resources.js +102 -0
  187. package/dist/client/resources/use-resources.js.map +1 -0
  188. package/dist/client/sse-event-processor.d.ts +50 -0
  189. package/dist/client/sse-event-processor.d.ts.map +1 -0
  190. package/dist/client/sse-event-processor.js +267 -0
  191. package/dist/client/sse-event-processor.js.map +1 -0
  192. package/dist/client/terminal/AgentTerminal.d.ts +1 -1
  193. package/dist/client/terminal/AgentTerminal.d.ts.map +1 -1
  194. package/dist/client/terminal/AgentTerminal.js +11 -6
  195. package/dist/client/terminal/AgentTerminal.js.map +1 -1
  196. package/dist/client/use-agent-chat.d.ts +1 -1
  197. package/dist/client/use-agent-chat.d.ts.map +1 -1
  198. package/dist/client/use-agent-chat.js +3 -3
  199. package/dist/client/use-agent-chat.js.map +1 -1
  200. package/dist/client/use-chat-threads.d.ts +36 -0
  201. package/dist/client/use-chat-threads.d.ts.map +1 -0
  202. package/dist/client/use-chat-threads.js +175 -0
  203. package/dist/client/use-chat-threads.js.map +1 -0
  204. package/dist/client/use-db-sync.d.ts +35 -0
  205. package/dist/client/use-db-sync.d.ts.map +1 -0
  206. package/dist/client/use-db-sync.js +74 -0
  207. package/dist/client/use-db-sync.js.map +1 -0
  208. package/dist/client/use-dev-mode.d.ts +4 -2
  209. package/dist/client/use-dev-mode.d.ts.map +1 -1
  210. package/dist/client/use-dev-mode.js +39 -12
  211. package/dist/client/use-dev-mode.js.map +1 -1
  212. package/dist/client/use-file-sync-status.d.ts +1 -1
  213. package/dist/client/use-file-sync-status.js +3 -3
  214. package/dist/client/use-file-sync-status.js.map +1 -1
  215. package/dist/client/use-session.d.ts +1 -1
  216. package/dist/client/use-session.js +2 -2
  217. package/dist/client/use-session.js.map +1 -1
  218. package/dist/client/useProductionAgent.d.ts +1 -1
  219. package/dist/client/useProductionAgent.d.ts.map +1 -1
  220. package/dist/client/useProductionAgent.js +38 -3
  221. package/dist/client/useProductionAgent.js.map +1 -1
  222. package/dist/credentials/index.d.ts +18 -0
  223. package/dist/credentials/index.d.ts.map +1 -0
  224. package/dist/credentials/index.js +32 -0
  225. package/dist/credentials/index.js.map +1 -0
  226. package/dist/db/client.d.ts +35 -0
  227. package/dist/db/client.d.ts.map +1 -0
  228. package/dist/db/client.js +248 -0
  229. package/dist/db/client.js.map +1 -0
  230. package/dist/db/create-get-db.d.ts.map +1 -1
  231. package/dist/db/create-get-db.js +103 -16
  232. package/dist/db/create-get-db.js.map +1 -1
  233. package/dist/db/index.d.ts +10 -6
  234. package/dist/db/index.d.ts.map +1 -1
  235. package/dist/db/index.js +10 -4
  236. package/dist/db/index.js.map +1 -1
  237. package/dist/db/migrations.d.ts.map +1 -1
  238. package/dist/db/migrations.js +31 -30
  239. package/dist/db/migrations.js.map +1 -1
  240. package/dist/db/schema.d.ts +45 -0
  241. package/dist/db/schema.d.ts.map +1 -0
  242. package/dist/db/schema.js +61 -0
  243. package/dist/db/schema.js.map +1 -0
  244. package/dist/deploy/build.js +35 -6
  245. package/dist/deploy/build.js.map +1 -1
  246. package/dist/deploy/route-discovery.d.ts +9 -0
  247. package/dist/deploy/route-discovery.d.ts.map +1 -1
  248. package/dist/deploy/route-discovery.js +30 -1
  249. package/dist/deploy/route-discovery.js.map +1 -1
  250. package/dist/index.browser.d.ts +1 -1
  251. package/dist/index.browser.d.ts.map +1 -1
  252. package/dist/index.browser.js +1 -1
  253. package/dist/index.browser.js.map +1 -1
  254. package/dist/index.d.ts +3 -2
  255. package/dist/index.d.ts.map +1 -1
  256. package/dist/index.js +2 -1
  257. package/dist/index.js.map +1 -1
  258. package/dist/oauth-tokens/store.d.ts.map +1 -1
  259. package/dist/oauth-tokens/store.js +43 -81
  260. package/dist/oauth-tokens/store.js.map +1 -1
  261. package/dist/resources/emitter.d.ts +13 -0
  262. package/dist/resources/emitter.d.ts.map +1 -0
  263. package/dist/resources/emitter.js +32 -0
  264. package/dist/resources/emitter.js.map +1 -0
  265. package/dist/resources/handlers.d.ts +45 -0
  266. package/dist/resources/handlers.d.ts.map +1 -0
  267. package/dist/resources/handlers.js +219 -0
  268. package/dist/resources/handlers.js.map +1 -0
  269. package/dist/resources/index.d.ts +5 -0
  270. package/dist/resources/index.d.ts.map +1 -0
  271. package/dist/resources/index.js +5 -0
  272. package/dist/resources/index.js.map +1 -0
  273. package/dist/resources/script-helpers.d.ts +24 -0
  274. package/dist/resources/script-helpers.d.ts.map +1 -0
  275. package/dist/resources/script-helpers.js +36 -0
  276. package/dist/resources/script-helpers.js.map +1 -0
  277. package/dist/resources/store.d.ts +35 -0
  278. package/dist/resources/store.d.ts.map +1 -0
  279. package/dist/resources/store.js +453 -0
  280. package/dist/resources/store.js.map +1 -0
  281. package/dist/scripts/call-agent.d.ts +5 -0
  282. package/dist/scripts/call-agent.d.ts.map +1 -0
  283. package/dist/scripts/call-agent.js +107 -0
  284. package/dist/scripts/call-agent.js.map +1 -0
  285. package/dist/scripts/core-scripts.d.ts.map +1 -1
  286. package/dist/scripts/core-scripts.js +2 -0
  287. package/dist/scripts/core-scripts.js.map +1 -1
  288. package/dist/scripts/db/exec.d.ts +6 -2
  289. package/dist/scripts/db/exec.d.ts.map +1 -1
  290. package/dist/scripts/db/exec.js +127 -36
  291. package/dist/scripts/db/exec.js.map +1 -1
  292. package/dist/scripts/db/query.d.ts +7 -2
  293. package/dist/scripts/db/query.d.ts.map +1 -1
  294. package/dist/scripts/db/query.js +89 -45
  295. package/dist/scripts/db/query.js.map +1 -1
  296. package/dist/scripts/db/schema.d.ts +2 -2
  297. package/dist/scripts/db/schema.d.ts.map +1 -1
  298. package/dist/scripts/db/schema.js +145 -6
  299. package/dist/scripts/db/schema.js.map +1 -1
  300. package/dist/scripts/db/scoping.d.ts +36 -0
  301. package/dist/scripts/db/scoping.d.ts.map +1 -0
  302. package/dist/scripts/db/scoping.js +198 -0
  303. package/dist/scripts/db/scoping.js.map +1 -0
  304. package/dist/scripts/dev/index.d.ts +2 -2
  305. package/dist/scripts/dev/index.js +1 -1
  306. package/dist/scripts/dev/list-files.d.ts +2 -2
  307. package/dist/scripts/dev/read-file.d.ts +2 -2
  308. package/dist/scripts/dev/read-file.js +1 -1
  309. package/dist/scripts/dev/read-file.js.map +1 -1
  310. package/dist/scripts/dev/search-files.d.ts +2 -2
  311. package/dist/scripts/dev/search-files.js +1 -1
  312. package/dist/scripts/dev/search-files.js.map +1 -1
  313. package/dist/scripts/dev/shell.d.ts +2 -2
  314. package/dist/scripts/dev/shell.js +1 -1
  315. package/dist/scripts/dev/shell.js.map +1 -1
  316. package/dist/scripts/dev/write-file.d.ts +2 -2
  317. package/dist/scripts/dev/write-file.js +1 -1
  318. package/dist/scripts/dev/write-file.js.map +1 -1
  319. package/dist/scripts/resources/delete.d.ts +10 -0
  320. package/dist/scripts/resources/delete.d.ts.map +1 -0
  321. package/dist/scripts/resources/delete.js +38 -0
  322. package/dist/scripts/resources/delete.js.map +1 -0
  323. package/dist/scripts/resources/index.d.ts +2 -0
  324. package/dist/scripts/resources/index.d.ts.map +1 -0
  325. package/dist/scripts/resources/index.js +8 -0
  326. package/dist/scripts/resources/index.js.map +1 -0
  327. package/dist/scripts/resources/list.d.ts +10 -0
  328. package/dist/scripts/resources/list.d.ts.map +1 -0
  329. package/dist/scripts/resources/list.js +57 -0
  330. package/dist/scripts/resources/list.js.map +1 -0
  331. package/dist/scripts/resources/migrate-learnings.d.ts +10 -0
  332. package/dist/scripts/resources/migrate-learnings.d.ts.map +1 -0
  333. package/dist/scripts/resources/migrate-learnings.js +23 -0
  334. package/dist/scripts/resources/migrate-learnings.js.map +1 -0
  335. package/dist/scripts/resources/read.d.ts +10 -0
  336. package/dist/scripts/resources/read.d.ts.map +1 -0
  337. package/dist/scripts/resources/read.js +59 -0
  338. package/dist/scripts/resources/read.js.map +1 -0
  339. package/dist/scripts/resources/write.d.ts +10 -0
  340. package/dist/scripts/resources/write.d.ts.map +1 -0
  341. package/dist/scripts/resources/write.js +67 -0
  342. package/dist/scripts/resources/write.js.map +1 -0
  343. package/dist/scripts/runner.d.ts +7 -7
  344. package/dist/scripts/runner.d.ts.map +1 -1
  345. package/dist/scripts/runner.js +68 -27
  346. package/dist/scripts/runner.js.map +1 -1
  347. package/dist/scripts/utils.d.ts +4 -1
  348. package/dist/scripts/utils.d.ts.map +1 -1
  349. package/dist/scripts/utils.js +5 -3
  350. package/dist/scripts/utils.js.map +1 -1
  351. package/dist/server/action-discovery.d.ts +40 -0
  352. package/dist/server/action-discovery.d.ts.map +1 -0
  353. package/dist/server/action-discovery.js +189 -0
  354. package/dist/server/action-discovery.js.map +1 -0
  355. package/dist/server/agent-chat-plugin.d.ts +12 -23
  356. package/dist/server/agent-chat-plugin.d.ts.map +1 -1
  357. package/dist/server/agent-chat-plugin.js +1087 -36
  358. package/dist/server/agent-chat-plugin.js.map +1 -1
  359. package/dist/server/agent-discovery.d.ts +16 -0
  360. package/dist/server/agent-discovery.d.ts.map +1 -0
  361. package/dist/server/agent-discovery.js +136 -0
  362. package/dist/server/agent-discovery.js.map +1 -0
  363. package/dist/server/auth-plugin.d.ts +5 -0
  364. package/dist/server/auth-plugin.d.ts.map +1 -1
  365. package/dist/server/auth-plugin.js +12 -1
  366. package/dist/server/auth-plugin.js.map +1 -1
  367. package/dist/server/auth.d.ts +3 -1
  368. package/dist/server/auth.d.ts.map +1 -1
  369. package/dist/server/auth.js +576 -117
  370. package/dist/server/auth.js.map +1 -1
  371. package/dist/server/core-routes-plugin.d.ts +57 -0
  372. package/dist/server/core-routes-plugin.d.ts.map +1 -0
  373. package/dist/server/core-routes-plugin.js +125 -0
  374. package/dist/server/core-routes-plugin.js.map +1 -0
  375. package/dist/server/create-server.d.ts +4 -4
  376. package/dist/server/create-server.d.ts.map +1 -1
  377. package/dist/server/create-server.js +5 -5
  378. package/dist/server/create-server.js.map +1 -1
  379. package/dist/server/default-watcher.d.ts +9 -3
  380. package/dist/server/default-watcher.d.ts.map +1 -1
  381. package/dist/server/default-watcher.js +26 -6
  382. package/dist/server/default-watcher.js.map +1 -1
  383. package/dist/server/google-auth-plugin.js +3 -3
  384. package/dist/server/google-auth-plugin.js.map +1 -1
  385. package/dist/server/google-oauth.d.ts +72 -0
  386. package/dist/server/google-oauth.d.ts.map +1 -0
  387. package/dist/server/google-oauth.js +187 -0
  388. package/dist/server/google-oauth.js.map +1 -0
  389. package/dist/server/index.d.ts +9 -2
  390. package/dist/server/index.d.ts.map +1 -1
  391. package/dist/server/index.js +8 -1
  392. package/dist/server/index.js.map +1 -1
  393. package/dist/server/oauth-helpers.d.ts +16 -0
  394. package/dist/server/oauth-helpers.d.ts.map +1 -0
  395. package/dist/server/oauth-helpers.js +25 -0
  396. package/dist/server/oauth-helpers.js.map +1 -0
  397. package/dist/server/poll.d.ts +40 -0
  398. package/dist/server/poll.d.ts.map +1 -0
  399. package/dist/server/poll.js +49 -0
  400. package/dist/server/poll.js.map +1 -0
  401. package/dist/server/resources-plugin.d.ts +27 -0
  402. package/dist/server/resources-plugin.d.ts.map +1 -0
  403. package/dist/server/resources-plugin.js +74 -0
  404. package/dist/server/resources-plugin.js.map +1 -0
  405. package/dist/server/script-discovery.d.ts +6 -0
  406. package/dist/server/script-discovery.d.ts.map +1 -0
  407. package/dist/server/script-discovery.js +6 -0
  408. package/dist/server/script-discovery.js.map +1 -0
  409. package/dist/server/sse.d.ts +1 -1
  410. package/dist/server/sse.js +1 -1
  411. package/dist/settings/handlers.d.ts +3 -3
  412. package/dist/settings/handlers.d.ts.map +1 -1
  413. package/dist/settings/handlers.js +8 -6
  414. package/dist/settings/handlers.js.map +1 -1
  415. package/dist/settings/index.d.ts +1 -1
  416. package/dist/settings/index.d.ts.map +1 -1
  417. package/dist/settings/index.js.map +1 -1
  418. package/dist/settings/store.d.ts +6 -2
  419. package/dist/settings/store.d.ts.map +1 -1
  420. package/dist/settings/store.js +26 -63
  421. package/dist/settings/store.js.map +1 -1
  422. package/dist/settings/user-settings.d.ts +3 -2
  423. package/dist/settings/user-settings.d.ts.map +1 -1
  424. package/dist/settings/user-settings.js +5 -5
  425. package/dist/settings/user-settings.js.map +1 -1
  426. package/dist/tailwind.preset.d.ts +7 -6
  427. package/dist/tailwind.preset.d.ts.map +1 -1
  428. package/dist/tailwind.preset.js +18 -1
  429. package/dist/tailwind.preset.js.map +1 -1
  430. package/dist/terminal/cli-registry.d.ts +1 -1
  431. package/dist/terminal/cli-registry.js +3 -3
  432. package/dist/terminal/cli-registry.js.map +1 -1
  433. package/dist/terminal/pty-server.d.ts.map +1 -1
  434. package/dist/terminal/pty-server.js +65 -11
  435. package/dist/terminal/pty-server.js.map +1 -1
  436. package/dist/terminal/terminal-plugin.d.ts +2 -2
  437. package/dist/terminal/terminal-plugin.d.ts.map +1 -1
  438. package/dist/terminal/terminal-plugin.js +27 -21
  439. package/dist/terminal/terminal-plugin.js.map +1 -1
  440. package/dist/vite/client.d.ts.map +1 -1
  441. package/dist/vite/client.js +114 -8
  442. package/dist/vite/client.js.map +1 -1
  443. package/dist/vite/dev-api-server.d.ts +1 -1
  444. package/dist/vite/dev-api-server.d.ts.map +1 -1
  445. package/dist/vite/dev-api-server.js +105 -22
  446. package/dist/vite/dev-api-server.js.map +1 -1
  447. package/package.json +22 -6
  448. package/src/templates/default/.agents/skills/actions/SKILL.md +136 -0
  449. package/src/templates/default/.agents/skills/create-skill/SKILL.md +1 -1
  450. package/src/templates/default/.agents/skills/delegate-to-agent/SKILL.md +1 -1
  451. package/src/templates/default/.agents/skills/files-as-database/SKILL.md +2 -2
  452. package/src/templates/default/.agents/skills/real-time-sync/SKILL.md +112 -0
  453. package/src/templates/default/AGENTS.md +56 -164
  454. package/src/templates/default/DEVELOPING.md +117 -0
  455. package/src/templates/default/{scripts → actions}/hello.ts +1 -1
  456. package/src/templates/default/actions/navigate.ts +53 -0
  457. package/src/templates/default/actions/view-screen.ts +39 -0
  458. package/src/templates/default/app/global.css +2 -2
  459. package/src/templates/default/app/root.tsx +19 -16
  460. package/src/templates/default/app/routes/_index.tsx +1 -1
  461. package/src/templates/default/package.json +4 -0
  462. package/src/templates/default/server/plugins/.gitkeep +0 -0
  463. package/dist/a2a/middleware.d.ts +0 -3
  464. package/dist/a2a/middleware.d.ts.map +0 -1
  465. package/dist/a2a/middleware.js +0 -36
  466. package/dist/a2a/middleware.js.map +0 -1
  467. package/dist/client/use-file-watcher.d.ts +0 -23
  468. package/dist/client/use-file-watcher.d.ts.map +0 -1
  469. package/dist/client/use-file-watcher.js +0 -50
  470. package/dist/client/use-file-watcher.js.map +0 -1
  471. package/src/templates/default/.agents/skills/scripts/SKILL.md +0 -121
  472. package/src/templates/default/.agents/skills/sse-file-watcher/SKILL.md +0 -80
  473. package/src/templates/default/server/plugins/agent-chat.ts +0 -1
  474. package/src/templates/default/server/plugins/auth.ts +0 -1
  475. package/src/templates/default/server/plugins/file-sync.ts +0 -1
  476. package/src/templates/default/server/plugins/terminal.ts +0 -1
  477. package/src/templates/default/server/routes/api/events.get.ts +0 -3
  478. package/src/templates/default/server/routes/api/file-sync/status.get.ts +0 -4
  479. /package/src/templates/default/{scripts → actions}/run.ts +0 -0
@@ -1,31 +1,198 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
1
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
2
  import { useState, useRef, useEffect, useCallback } from "react";
3
+ import { IconX, IconPlus, IconHistory, IconSearch } from "@tabler/icons-react";
3
4
  import { AssistantChat, } from "./AssistantChat.js";
4
- import { generateTabId } from "./agent-chat.js";
5
5
  import { getHarnessOrigin } from "./harness.js";
6
- // ─── Inline Icons ───────────────────────────────────────────────────────────
7
- function IconX({ size = 10 }) {
8
- return (_jsx("svg", { width: size, height: size, viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: 2.5, strokeLinecap: "round", strokeLinejoin: "round", children: _jsx("path", { d: "M18 6L6 18M6 6l12 12" }) }));
6
+ import { cn } from "./utils.js";
7
+ import { useChatThreads } from "./use-chat-threads.js";
8
+ // ─── Skeleton Loader ─────────────────────────────────────────────────────────
9
+ function ChatSkeleton() {
10
+ return (_jsxs("div", { className: "flex flex-1 flex-col h-full min-h-0", children: [_jsxs("div", { className: "flex items-center h-8 px-2 border-b border-border shrink-0 gap-2", children: [_jsx("div", { className: "h-4 w-12 rounded bg-muted animate-pulse" }), _jsxs("div", { className: "ml-auto flex gap-1", children: [_jsx("div", { className: "h-5 w-5 rounded bg-muted animate-pulse" }), _jsx("div", { className: "h-5 w-5 rounded bg-muted animate-pulse" })] })] }), _jsxs("div", { className: "flex-1 flex flex-col gap-3 p-4", children: [_jsx("div", { className: "flex justify-center py-8", children: _jsx("div", { className: "h-10 w-10 rounded-full bg-muted animate-pulse" }) }), _jsx("div", { className: "h-3 w-32 rounded bg-muted animate-pulse mx-auto" })] })] }));
9
11
  }
10
- let labelCounter = 0;
11
- function createChatTab() {
12
- return {
13
- id: generateTabId(),
14
- label: String(++labelCounter),
15
- status: "idle",
12
+ // ─── History Popover ─────────────────────────────────────────────────────────
13
+ function HistoryPopover({ threads, openTabIds, onSelect, onClose, onSearch, }) {
14
+ const [search, setSearch] = useState("");
15
+ const [searchResults, setSearchResults] = useState(null);
16
+ const [isSearching, setIsSearching] = useState(false);
17
+ const inputRef = useRef(null);
18
+ const debounceRef = useRef();
19
+ useEffect(() => {
20
+ inputRef.current?.focus();
21
+ }, []);
22
+ useEffect(() => {
23
+ const handler = (e) => {
24
+ if (e.key === "Escape")
25
+ onClose();
26
+ };
27
+ window.addEventListener("keydown", handler);
28
+ return () => window.removeEventListener("keydown", handler);
29
+ }, [onClose]);
30
+ // Debounced server-side search
31
+ const searchIdRef = useRef(0);
32
+ useEffect(() => {
33
+ if (debounceRef.current)
34
+ clearTimeout(debounceRef.current);
35
+ const q = search.trim();
36
+ if (!q) {
37
+ searchIdRef.current++;
38
+ setSearchResults(null);
39
+ setIsSearching(false);
40
+ return;
41
+ }
42
+ setIsSearching(true);
43
+ const id = ++searchIdRef.current;
44
+ debounceRef.current = setTimeout(async () => {
45
+ if (onSearch) {
46
+ const results = await onSearch(q);
47
+ if (id !== searchIdRef.current)
48
+ return;
49
+ setSearchResults(results);
50
+ }
51
+ else {
52
+ // Fallback to client-side filtering
53
+ setSearchResults(null);
54
+ }
55
+ setIsSearching(false);
56
+ }, 250);
57
+ return () => {
58
+ if (debounceRef.current)
59
+ clearTimeout(debounceRef.current);
60
+ };
61
+ }, [search, onSearch]);
62
+ // Only show threads not currently open as tabs
63
+ const closedThreads = threads.filter((t) => !openTabIds.has(t.id) && t.messageCount > 0);
64
+ const filtered = search.trim()
65
+ ? (searchResults ?? closedThreads).filter((t) => t.messageCount > 0)
66
+ : closedThreads;
67
+ const formatTime = (ts) => {
68
+ const d = new Date(ts);
69
+ const now = new Date();
70
+ const diffMs = now.getTime() - d.getTime();
71
+ const diffDays = Math.floor(diffMs / 86400000);
72
+ if (diffDays === 0)
73
+ return d.toLocaleTimeString([], { hour: "numeric", minute: "2-digit" });
74
+ if (diffDays === 1)
75
+ return "Yesterday";
76
+ if (diffDays < 7)
77
+ return d.toLocaleDateString([], { weekday: "short" });
78
+ return d.toLocaleDateString([], { month: "short", day: "numeric" });
16
79
  };
80
+ return (_jsxs(_Fragment, { children: [_jsx("div", { className: "fixed inset-0 z-40", onClick: onClose }), _jsxs("div", { className: "absolute right-2 top-0 z-50 w-72 rounded-lg border border-border bg-popover shadow-lg", children: [_jsxs("div", { className: "flex items-center gap-2 px-3 py-2 border-b border-border", children: [_jsx(IconSearch, { size: 13 }), _jsx("input", { ref: inputRef, type: "text", value: search, onChange: (e) => setSearch(e.target.value), placeholder: "Search past chats...", className: "flex-1 bg-transparent text-xs text-foreground placeholder:text-muted-foreground outline-none" })] }), _jsx("div", { className: "max-h-64 overflow-y-auto py-1", children: isSearching ? (_jsx("div", { className: "px-3 py-4 text-xs text-muted-foreground text-center", children: "Searching..." })) : filtered.length === 0 ? (_jsx("div", { className: "px-3 py-4 text-xs text-muted-foreground text-center", children: search ? "No matching chats" : "No past chats" })) : (filtered.map((thread) => (_jsxs("button", { onClick: () => {
81
+ onSelect(thread.id);
82
+ onClose();
83
+ }, className: "w-full px-3 py-2 text-left hover:bg-accent/50", children: [_jsxs("div", { className: "flex items-baseline justify-between gap-2", children: [_jsx("span", { className: "text-xs font-medium text-foreground truncate", children: thread.title || thread.preview || "Chat" }), _jsx("span", { className: "text-[10px] text-muted-foreground shrink-0", children: formatTime(thread.updatedAt) })] }), thread.preview && thread.title !== thread.preview && (_jsx("div", { className: "text-[11px] text-muted-foreground truncate mt-0.5", children: thread.preview }))] }, thread.id)))) })] })] }));
17
84
  }
18
- export function MultiTabAssistantChat(props) {
19
- const [tabs, setTabs] = useState(() => [createChatTab()]);
20
- const [activeTabId, setActiveTabId] = useState(() => tabs[0].id);
21
- const activeTabIdRef = useRef(activeTabId);
22
- activeTabIdRef.current = activeTabId;
85
+ export function MultiTabAssistantChat({ showTabBar = true, renderHeader, renderOverlay, contentHidden = false, apiUrl = "/_agent-native/agent-chat", ...props }) {
86
+ const { threads, activeThreadId, isLoading, createThread, switchThread, deleteThread, saveThreadData, generateTitle, searchThreads, } = useChatThreads(apiUrl);
87
+ const activeThreadIdRef = useRef(activeThreadId);
88
+ activeThreadIdRef.current = activeThreadId;
23
89
  const chatRefs = useRef(new Map());
24
90
  const pendingSends = useRef(new Map());
91
+ const [runningThreads, setRunningThreads] = useState(new Set());
92
+ const [showHistory, setShowHistory] = useState(false);
93
+ const newThreadIds = useRef(new Set());
94
+ // Open tabs — persisted to localStorage so they survive refresh.
95
+ const OPEN_TABS_KEY = "agent-chat-open-tabs";
96
+ const [openTabIds, setOpenTabIds] = useState(() => {
97
+ try {
98
+ const saved = localStorage.getItem(OPEN_TABS_KEY);
99
+ if (saved) {
100
+ const parsed = JSON.parse(saved);
101
+ if (Array.isArray(parsed) && parsed.length > 0)
102
+ return parsed;
103
+ }
104
+ }
105
+ catch { }
106
+ return [];
107
+ });
108
+ const initializedRef = useRef(false);
109
+ // Persist open tab IDs to localStorage
110
+ useEffect(() => {
111
+ if (openTabIds.length > 0) {
112
+ try {
113
+ localStorage.setItem(OPEN_TABS_KEY, JSON.stringify(openTabIds));
114
+ }
115
+ catch { }
116
+ }
117
+ }, [openTabIds]);
118
+ // Initialize open tabs once threads load — validate saved tabs still exist
119
+ useEffect(() => {
120
+ if (initializedRef.current || !activeThreadId || threads.length === 0)
121
+ return;
122
+ initializedRef.current = true;
123
+ const threadIds = new Set(threads.map((t) => t.id));
124
+ setOpenTabIds((prev) => {
125
+ // Filter out any saved tabs that no longer exist
126
+ const valid = prev.filter((id) => threadIds.has(id));
127
+ // Ensure active thread is included
128
+ if (!valid.includes(activeThreadId)) {
129
+ valid.push(activeThreadId);
130
+ }
131
+ return valid.length > 0 ? valid : [activeThreadId];
132
+ });
133
+ }, [activeThreadId, threads]);
134
+ // Ensure active thread is always in open tabs.
135
+ // Use functional update to check inside the setter — avoids race with the
136
+ // initialization effect that may have already added the ID in the same batch.
137
+ useEffect(() => {
138
+ if (activeThreadId) {
139
+ setOpenTabIds((prev) => prev.includes(activeThreadId) ? prev : [...prev, activeThreadId]);
140
+ }
141
+ }, [activeThreadId]);
142
+ // Focus the composer when switching tabs
143
+ useEffect(() => {
144
+ if (!activeThreadId)
145
+ return;
146
+ // Small delay to ensure the tab is visible before focusing
147
+ const t = setTimeout(() => {
148
+ chatRefs.current.get(activeThreadId)?.focusComposer();
149
+ }, 50);
150
+ return () => clearTimeout(t);
151
+ }, [activeThreadId]);
152
+ // Ref callback: scroll the active tab into view in the overflow container.
153
+ const activeTabRefCb = useCallback((el) => {
154
+ if (!el)
155
+ return;
156
+ const container = el.parentElement;
157
+ if (!container)
158
+ return;
159
+ requestAnimationFrame(() => {
160
+ const tabLeft = el.offsetLeft;
161
+ const tabRight = tabLeft + el.offsetWidth;
162
+ const scrollLeft = container.scrollLeft;
163
+ const viewWidth = container.clientWidth;
164
+ if (tabLeft < scrollLeft) {
165
+ container.scrollLeft = tabLeft;
166
+ }
167
+ else if (tabRight > scrollLeft + viewWidth) {
168
+ container.scrollLeft = tabRight - viewWidth;
169
+ }
170
+ });
171
+ }, []);
172
+ const [messageCounts, setMessageCounts] = useState(() => Object.fromEntries(threads.map((t) => [t.id, t.messageCount ?? 0])));
173
+ // Sync message counts from threads when they load
174
+ useEffect(() => {
175
+ if (threads.length > 0) {
176
+ setMessageCounts((prev) => {
177
+ const next = { ...prev };
178
+ for (const t of threads) {
179
+ if (!(t.id in next)) {
180
+ next[t.id] = t.messageCount ?? 0;
181
+ }
182
+ }
183
+ return next;
184
+ });
185
+ }
186
+ }, [threads]);
25
187
  // Listen for builder.submitChat postMessages
26
188
  useEffect(() => {
189
+ const EXEC_MODE_KEY = "agent-native-exec-mode";
190
+ const PLAN_MODE_INSTRUCTION = `PLAN MODE ACTIVE: Before making any changes, you MUST:\n` +
191
+ `1. Explore the codebase to understand what's needed\n` +
192
+ `2. Write a plan to \`.builder/plans/YYYY-MM-DD-<topic>.md\`\n` +
193
+ `3. Present your approach clearly and wait for the user's explicit approval\n` +
194
+ `Do NOT edit any files, run any scripts, or make any changes until the user says to proceed.`;
27
195
  const handler = (event) => {
28
- // Only accept messages from same origin or known harness
29
196
  if (event.origin !== window.location.origin &&
30
197
  event.origin !== getHarnessOrigin()) {
31
198
  return;
@@ -35,31 +202,45 @@ export function MultiTabAssistantChat(props) {
35
202
  const message = event.data.data?.message;
36
203
  if (!message)
37
204
  return;
38
- const currentTabId = activeTabIdRef.current;
205
+ const context = event.data.data?.context;
206
+ const isPlanMode = (() => {
207
+ try {
208
+ return localStorage.getItem(EXEC_MODE_KEY) === "plan";
209
+ }
210
+ catch {
211
+ return false;
212
+ }
213
+ })();
214
+ const baseMessage = context
215
+ ? `${message}\n\n<context>\n${context}\n</context>`
216
+ : message;
217
+ const fullMessage = isPlanMode
218
+ ? `${PLAN_MODE_INSTRUCTION}\n\n${baseMessage}`
219
+ : baseMessage;
220
+ const currentTabId = activeThreadIdRef.current;
221
+ if (!currentTabId)
222
+ return;
39
223
  const activeRef = chatRefs.current.get(currentTabId);
40
224
  if (activeRef) {
41
- // Always send to the current tab — it will queue if busy
42
- activeRef.sendMessage(message);
225
+ activeRef.sendMessage(fullMessage);
43
226
  }
44
227
  else {
45
- // Ref not yet mounted — queue it
46
- pendingSends.current.set(currentTabId, message);
228
+ pendingSends.current.set(currentTabId, fullMessage);
47
229
  }
48
230
  };
49
231
  window.addEventListener("message", handler);
50
232
  return () => window.removeEventListener("message", handler);
51
- }, []); // stable — uses refs instead of state
233
+ }, []);
52
234
  // Process pending sends when refs mount
53
235
  useEffect(() => {
54
236
  for (const [tabId, message] of pendingSends.current) {
55
237
  const ref = chatRefs.current.get(tabId);
56
238
  if (ref) {
57
- // Small delay to let the runtime initialise
58
239
  setTimeout(() => ref.sendMessage(message), 50);
59
240
  pendingSends.current.delete(tabId);
60
241
  }
61
242
  }
62
- }, [tabs]);
243
+ }, [openTabIds]);
63
244
  // Listen for chatRunning completion events
64
245
  useEffect(() => {
65
246
  const handler = (e) => {
@@ -69,47 +250,155 @@ export function MultiTabAssistantChat(props) {
69
250
  const { isRunning, tabId } = detail;
70
251
  if (!tabId)
71
252
  return;
72
- setTabs((prev) => prev.map((t) => {
73
- if (t.id !== tabId)
74
- return t;
75
- if (isRunning === false)
76
- return { ...t, status: "completed" };
77
- if (isRunning === true)
78
- return { ...t, status: "running" };
79
- return t;
80
- }));
253
+ setRunningThreads((prev) => {
254
+ const next = new Set(prev);
255
+ if (isRunning) {
256
+ next.add(tabId);
257
+ }
258
+ else {
259
+ next.delete(tabId);
260
+ }
261
+ return next;
262
+ });
81
263
  };
82
- window.addEventListener("builder.fusion.chatRunning", handler);
83
- return () => window.removeEventListener("builder.fusion.chatRunning", handler);
264
+ window.addEventListener("builder.chatRunning", handler);
265
+ return () => window.removeEventListener("builder.chatRunning", handler);
84
266
  }, []);
267
+ const addTab = useCallback(async () => {
268
+ const id = await createThread();
269
+ if (id) {
270
+ newThreadIds.current.add(id);
271
+ setOpenTabIds((prev) => [...prev, id]);
272
+ }
273
+ }, [createThread]);
85
274
  const closeTab = useCallback((tabId) => {
86
- setTabs((prev) => {
275
+ setOpenTabIds((prev) => {
87
276
  if (prev.length <= 1)
88
277
  return prev;
89
- const idx = prev.findIndex((t) => t.id === tabId);
90
- const next = prev.filter((t) => t.id !== tabId);
91
- if (tabId === activeTabId) {
92
- const newIdx = Math.min(idx, next.length - 1);
93
- setActiveTabId(next[newIdx].id);
278
+ const next = prev.filter((id) => id !== tabId);
279
+ if (tabId === activeThreadIdRef.current && next.length > 0) {
280
+ const idx = prev.indexOf(tabId);
281
+ switchThread(next[Math.min(idx, next.length - 1)]);
94
282
  }
95
283
  return next;
96
284
  });
97
285
  chatRefs.current.delete(tabId);
98
286
  pendingSends.current.delete(tabId);
99
- }, [activeTabId]);
100
- const showTabs = tabs.length > 1;
101
- return (_jsxs("div", { className: "flex flex-1 flex-col h-full min-h-0", children: [showTabs && (_jsx("div", { className: "flex items-center gap-0.5 px-2 py-1 border-b border-border shrink-0", children: tabs.map((tab) => (_jsxs("button", { onClick: () => setActiveTabId(tab.id), className: `flex items-center gap-1 px-2.5 py-1 rounded text-[11px] font-medium transition-colors ${tab.id === activeTabId
102
- ? "bg-accent text-foreground"
103
- : "text-muted-foreground hover:text-foreground hover:bg-accent/50"}`, children: [_jsx("span", { children: tab.label }), tab.status === "completed" && (_jsx("span", { className: "w-2 h-2 rounded-full bg-blue-500 shrink-0" })), tabs.length > 1 && (_jsx("span", { role: "button", onClick: (e) => {
104
- e.stopPropagation();
105
- closeTab(tab.id);
106
- }, className: "text-muted-foreground/50 hover:text-muted-foreground ml-0.5", children: _jsx(IconX, { size: 10 }) }))] }, tab.id))) })), tabs.map((tab) => (_jsx("div", { className: "flex-1 min-h-0", style: { display: tab.id === activeTabId ? "flex" : "none" }, children: _jsx(AssistantChat, { ref: (handle) => {
107
- if (handle) {
108
- chatRefs.current.set(tab.id, handle);
109
- }
110
- else {
111
- chatRefs.current.delete(tab.id);
112
- }
113
- }, tabId: tab.id, ...props }) }, tab.id)))] }));
287
+ newThreadIds.current.delete(tabId);
288
+ }, [switchThread]);
289
+ const closeOtherTabs = useCallback((tabId) => {
290
+ setOpenTabIds([tabId]);
291
+ if (activeThreadIdRef.current !== tabId) {
292
+ switchThread(tabId);
293
+ }
294
+ // Clean up refs for closed tabs
295
+ for (const key of chatRefs.current.keys()) {
296
+ if (key !== tabId) {
297
+ chatRefs.current.delete(key);
298
+ pendingSends.current.delete(key);
299
+ newThreadIds.current.delete(key);
300
+ }
301
+ }
302
+ }, [switchThread]);
303
+ const closeAllTabs = useCallback(async () => {
304
+ const id = await createThread();
305
+ if (id) {
306
+ newThreadIds.current.add(id);
307
+ setOpenTabIds([id]);
308
+ switchThread(id);
309
+ // Clean up all old refs
310
+ chatRefs.current.clear();
311
+ pendingSends.current.clear();
312
+ }
313
+ }, [createThread, switchThread]);
314
+ const clearActiveTab = useCallback(() => {
315
+ addTab();
316
+ }, [addTab]);
317
+ const openFromHistory = useCallback((threadId) => {
318
+ if (!openTabIds.includes(threadId)) {
319
+ setOpenTabIds((prev) => [...prev, threadId]);
320
+ }
321
+ switchThread(threadId);
322
+ }, [openTabIds, switchThread]);
323
+ const handleGenerateTitle = useCallback((message) => {
324
+ if (activeThreadId) {
325
+ generateTitle(activeThreadId, message).then((title) => {
326
+ if (title && activeThreadId) {
327
+ // Persist the generated title to the server
328
+ saveThreadData(activeThreadId, {
329
+ threadData: "",
330
+ title,
331
+ preview: message.slice(0, 120),
332
+ });
333
+ }
334
+ });
335
+ }
336
+ }, [activeThreadId, generateTitle, saveThreadData]);
337
+ const handleSaveThread = useCallback((data) => {
338
+ if (activeThreadId) {
339
+ saveThreadData(activeThreadId, data);
340
+ }
341
+ }, [activeThreadId, saveThreadData]);
342
+ // Build tabs from open thread IDs
343
+ const threadMap = new Map(threads.map((t) => [t.id, t]));
344
+ const tabs = openTabIds
345
+ .filter((id) => threadMap.has(id) || id === activeThreadId)
346
+ .map((id) => {
347
+ const t = threadMap.get(id);
348
+ return {
349
+ id,
350
+ label: t?.title || t?.preview?.slice(0, 20) || "New chat",
351
+ status: runningThreads.has(id)
352
+ ? "running"
353
+ : (messageCounts[id] ?? t?.messageCount ?? 0) > 0
354
+ ? "completed"
355
+ : "idle",
356
+ };
357
+ });
358
+ const headerProps = {
359
+ tabs,
360
+ activeTabId: activeThreadId ?? "",
361
+ activeTabMessageCount: activeThreadId
362
+ ? (messageCounts[activeThreadId] ?? 0)
363
+ : 0,
364
+ setActiveTabId: switchThread,
365
+ addTab,
366
+ closeTab,
367
+ closeOtherTabs,
368
+ closeAllTabs,
369
+ clearActiveTab,
370
+ showHistory,
371
+ toggleHistory: () => setShowHistory((v) => !v),
372
+ tabCount: openTabIds.length,
373
+ };
374
+ if (isLoading) {
375
+ return _jsx(ChatSkeleton, {});
376
+ }
377
+ return (_jsxs("div", { className: "flex flex-1 flex-col h-full min-h-0 overflow-x-hidden", children: [_jsx("style", { dangerouslySetInnerHTML: {
378
+ __html: ".agent-tab-close{opacity:0}.agent-tab:hover .agent-tab-close{opacity:1}",
379
+ } }), renderHeader ? (renderHeader(headerProps)) : showTabBar ? (_jsxs("div", { className: "flex items-center px-1 py-1 border-b border-border shrink-0 gap-0.5", children: [_jsx("div", { className: "flex items-center gap-0.5 min-w-0 overflow-x-auto scrollbar-none flex-1", children: tabs.map((tab) => (_jsxs("button", { ref: tab.id === activeThreadId ? activeTabRefCb : undefined, onClick: () => switchThread(tab.id), className: cn("agent-tab relative flex items-center gap-1 px-2.5 py-1.5 rounded-md text-[11px] font-medium shrink-0 max-w-[130px]", tab.id === activeThreadId
380
+ ? "bg-accent text-foreground"
381
+ : "text-muted-foreground hover:text-foreground hover:bg-accent"), children: [_jsx("span", { className: "truncate pr-1", children: tab.label }), tab.status === "running" && (_jsx("span", { className: "w-1.5 h-1.5 rounded-full bg-muted-foreground/50 shrink-0 animate-pulse" })), openTabIds.length > 1 && (_jsx("span", { role: "button", onClick: (e) => {
382
+ e.stopPropagation();
383
+ closeTab(tab.id);
384
+ }, className: "agent-tab-close flex items-center justify-end text-muted-foreground hover:!text-foreground", style: {
385
+ position: "absolute",
386
+ right: 0,
387
+ top: 0,
388
+ bottom: 0,
389
+ width: 28,
390
+ paddingRight: 6,
391
+ borderRadius: "0 6px 6px 0",
392
+ background: "linear-gradient(to right, transparent, hsl(var(--accent)) 40%)",
393
+ }, children: _jsx(IconX, { size: 8 }) }))] }, tab.id))) }), _jsxs("div", { className: "flex items-center gap-px shrink-0 ml-auto", children: [_jsx("button", { onClick: addTab, className: "flex h-6 w-6 items-center justify-center rounded text-muted-foreground/60 hover:text-foreground hover:bg-accent/50", title: "New chat", children: _jsx(IconPlus, { size: 12 }) }), _jsx("button", { onClick: () => setShowHistory(!showHistory), className: cn("flex h-6 w-6 items-center justify-center rounded text-muted-foreground/60 hover:text-foreground hover:bg-accent/50", showHistory && "bg-accent text-foreground"), title: "Chat history", children: _jsx(IconHistory, { size: 12 }) })] })] })) : null, _jsxs("div", { className: "relative flex-1 flex flex-col min-h-0", children: [renderOverlay ? renderOverlay(headerProps) : null, showHistory && (_jsx(HistoryPopover, { threads: threads, openTabIds: new Set(openTabIds), onSelect: openFromHistory, onClose: () => setShowHistory(false), onSearch: searchThreads })), [...new Set(openTabIds)].map((tabId) => (_jsx("div", { className: "flex-1 min-h-0", style: {
394
+ display: contentHidden || tabId !== activeThreadId ? "none" : "flex",
395
+ }, children: _jsx(AssistantChat, { ...props, ref: (handle) => {
396
+ if (handle) {
397
+ chatRefs.current.set(tabId, handle);
398
+ }
399
+ else {
400
+ chatRefs.current.delete(tabId);
401
+ }
402
+ }, threadId: tabId, tabId: tabId, apiUrl: apiUrl, isNewThread: newThreadIds.current.has(tabId), onMessageCountChange: (count) => setMessageCounts((prev) => prev[tabId] === count ? prev : { ...prev, [tabId]: count }), onSaveThread: tabId === activeThreadId ? handleSaveThread : undefined, onGenerateTitle: tabId === activeThreadId ? handleGenerateTitle : undefined }) }, tabId)))] })] }));
114
403
  }
115
404
  //# sourceMappingURL=MultiTabAssistantChat.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"MultiTabAssistantChat.js","sourceRoot":"","sources":["../../src/client/MultiTabAssistantChat.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MultiTabAssistantChat.js","sourceRoot":"","sources":["../../src/client/MultiTabAssistantChat.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"PoweredByBadge.d.ts","sourceRoot":"","sources":["../../src/client/PoweredByBadge.tsx"],"names":[],"mappings":"AAEA,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,EAAE,cAAc,GAAG,aAAa,CAAC;CAC3C;AA+BD;;;;;;;;GAQG;AACH,wBAAgB,cAAc,CAAC,EAC7B,QAAyB,GAC1B,EAAE,mBAAmB,2CAqDrB"}
1
+ {"version":3,"file":"PoweredByBadge.d.ts","sourceRoot":"","sources":["../../src/client/PoweredByBadge.tsx"],"names":[],"mappings":"AAGA,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,EAAE,cAAc,GAAG,aAAa,CAAC;CAC3C;AA+BD;;;;;;;;GAQG;AACH,wBAAgB,cAAc,CAAC,EAC7B,QAAyB,GAC1B,EAAE,mBAAmB,2CAwCrB"}
@@ -1,4 +1,5 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
+ import { IconStack2 } from "@tabler/icons-react";
2
3
  const containerStyle = (position) => ({
3
4
  position: "fixed",
4
5
  bottom: 16,
@@ -55,6 +56,6 @@ export function PoweredByBadge({ position = "bottom-right", }) {
55
56
  color: rgba(220, 220, 220, 1) !important;
56
57
  }
57
58
  }
58
- ` }), _jsxs("a", { href: "https://agent-native.com", target: "_blank", rel: "noopener noreferrer", className: "an-powered-badge", style: containerStyle(position), children: [_jsxs("svg", { width: "14", height: "14", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", children: [_jsx("path", { d: "M12 2L2 7l10 5 10-5-10-5z" }), _jsx("path", { d: "M2 17l10 5 10-5" }), _jsx("path", { d: "M2 12l10 5 10-5" })] }), "Built with Agent Native"] })] }));
59
+ ` }), _jsxs("a", { href: "https://agent-native.com", target: "_blank", rel: "noopener noreferrer", className: "an-powered-badge", style: containerStyle(position), children: [_jsx(IconStack2, { size: 14 }), "Built with Agent Native"] })] }));
59
60
  }
60
61
  //# sourceMappingURL=PoweredByBadge.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PoweredByBadge.js","sourceRoot":"","sources":["../../src/client/PoweredByBadge.tsx"],"names":[],"mappings":";AAMA,MAAM,cAAc,GAAG,CACrB,QAAwC,EACzB,EAAE,CAAC,CAAC;IACnB,QAAQ,EAAE,OAAO;IACjB,MAAM,EAAE,EAAE;IACV,GAAG,CAAC,QAAQ,KAAK,cAAc,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;IAC/D,MAAM,EAAE,EAAE;IACV,OAAO,EAAE,MAAM;IACf,UAAU,EAAE,QAAQ;IACpB,GAAG,EAAE,CAAC;IACN,OAAO,EAAE,UAAU;IACnB,YAAY,EAAE,CAAC;IACf,QAAQ,EAAE,EAAE;IACZ,UAAU,EACR,mEAAmE;IACrE,UAAU,EAAE,GAAG;IACf,UAAU,EAAE,CAAC;IACb,KAAK,EAAE,0BAA0B;IACjC,UAAU,EAAE,qBAAqB;IACjC,cAAc,EAAE,WAAW;IAC3B,oBAAoB,EAAE,WAAW;IACjC,MAAM,EAAE,+BAA+B;IACvC,cAAc,EAAE,MAAM;IACtB,UAAU,EAAE,0BAA0B;IACtC,OAAO,EAAE,GAAG;CACb,CAAC,CAAC;AAEH,MAAM,SAAS,GAAG,8BAA8B,CAAC;AAEjD;;;;;;;;GAQG;AACH,MAAM,UAAU,cAAc,CAAC,EAC7B,QAAQ,GAAG,cAAc,GACL;IACpB,2BAA2B;IAC3B,MAAM,MAAM,GACV,OAAO,MAAM,CAAC,IAAI,KAAK,WAAW;QACjC,MAAM,CAAC,IAAY,CAAC,GAAG,EAAE,kBAAkB,KAAK,MAAM,CAAC;IAE1D,IAAI,MAAM;QAAE,OAAO,IAAI,CAAC;IAExB,OAAO,CACL,8BACE,0BAAQ;iBACG,SAAS;;;;;;;;;;;iBAWT,SAAS;;;;;OAKnB,GAAS,EACV,aACE,IAAI,EAAC,0BAA0B,EAC/B,MAAM,EAAC,QAAQ,EACf,GAAG,EAAC,qBAAqB,EACzB,SAAS,EAAC,kBAAkB,EAC5B,KAAK,EAAE,cAAc,CAAC,QAAQ,CAAC,aAE/B,eACE,KAAK,EAAC,IAAI,EACV,MAAM,EAAC,IAAI,EACX,OAAO,EAAC,WAAW,EACnB,IAAI,EAAC,MAAM,EACX,MAAM,EAAC,cAAc,EACrB,WAAW,EAAC,GAAG,EACf,aAAa,EAAC,OAAO,EACrB,cAAc,EAAC,OAAO,aAEtB,eAAM,CAAC,EAAC,2BAA2B,GAAG,EACtC,eAAM,CAAC,EAAC,iBAAiB,GAAG,EAC5B,eAAM,CAAC,EAAC,iBAAiB,GAAG,IACxB,+BAEJ,IACH,CACJ,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"PoweredByBadge.js","sourceRoot":"","sources":["../../src/client/PoweredByBadge.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAMjD,MAAM,cAAc,GAAG,CACrB,QAAwC,EACzB,EAAE,CAAC,CAAC;IACnB,QAAQ,EAAE,OAAO;IACjB,MAAM,EAAE,EAAE;IACV,GAAG,CAAC,QAAQ,KAAK,cAAc,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;IAC/D,MAAM,EAAE,EAAE;IACV,OAAO,EAAE,MAAM;IACf,UAAU,EAAE,QAAQ;IACpB,GAAG,EAAE,CAAC;IACN,OAAO,EAAE,UAAU;IACnB,YAAY,EAAE,CAAC;IACf,QAAQ,EAAE,EAAE;IACZ,UAAU,EACR,mEAAmE;IACrE,UAAU,EAAE,GAAG;IACf,UAAU,EAAE,CAAC;IACb,KAAK,EAAE,0BAA0B;IACjC,UAAU,EAAE,qBAAqB;IACjC,cAAc,EAAE,WAAW;IAC3B,oBAAoB,EAAE,WAAW;IACjC,MAAM,EAAE,+BAA+B;IACvC,cAAc,EAAE,MAAM;IACtB,UAAU,EAAE,0BAA0B;IACtC,OAAO,EAAE,GAAG;CACb,CAAC,CAAC;AAEH,MAAM,SAAS,GAAG,8BAA8B,CAAC;AAEjD;;;;;;;;GAQG;AACH,MAAM,UAAU,cAAc,CAAC,EAC7B,QAAQ,GAAG,cAAc,GACL;IACpB,2BAA2B;IAC3B,MAAM,MAAM,GACV,OAAO,MAAM,CAAC,IAAI,KAAK,WAAW;QACjC,MAAM,CAAC,IAAY,CAAC,GAAG,EAAE,kBAAkB,KAAK,MAAM,CAAC;IAE1D,IAAI,MAAM;QAAE,OAAO,IAAI,CAAC;IAExB,OAAO,CACL,8BACE,0BAAQ;iBACG,SAAS;;;;;;;;;;;iBAWT,SAAS;;;;;OAKnB,GAAS,EACV,aACE,IAAI,EAAC,0BAA0B,EAC/B,MAAM,EAAC,QAAQ,EACf,GAAG,EAAC,qBAAqB,EACzB,SAAS,EAAC,kBAAkB,EAC5B,KAAK,EAAE,cAAc,CAAC,QAAQ,CAAC,aAE/B,KAAC,UAAU,IAAC,IAAI,EAAE,EAAE,GAAI,+BAEtB,IACH,CACJ,CAAC;AACJ,CAAC"}
@@ -0,0 +1,10 @@
1
+ export interface ActiveRunState {
2
+ threadId: string;
3
+ runId: string;
4
+ lastSeq: number;
5
+ }
6
+ export declare function setActiveRun(state: ActiveRunState): void;
7
+ export declare function getActiveRun(): ActiveRunState | null;
8
+ export declare function updateActiveRunSeq(seq: number): void;
9
+ export declare function clearActiveRun(): void;
10
+ //# sourceMappingURL=active-run-state.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"active-run-state.d.ts","sourceRoot":"","sources":["../../src/client/active-run-state.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,cAAc,GAAG,IAAI,CAIxD;AAED,wBAAgB,YAAY,IAAI,cAAc,GAAG,IAAI,CAQpD;AAED,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAMpD;AAED,wBAAgB,cAAc,IAAI,IAAI,CAIrC"}
@@ -0,0 +1,32 @@
1
+ const STORAGE_KEY = "agent-chat-active-run";
2
+ export function setActiveRun(state) {
3
+ try {
4
+ sessionStorage.setItem(STORAGE_KEY, JSON.stringify(state));
5
+ }
6
+ catch { }
7
+ }
8
+ export function getActiveRun() {
9
+ try {
10
+ const raw = sessionStorage.getItem(STORAGE_KEY);
11
+ if (!raw)
12
+ return null;
13
+ return JSON.parse(raw);
14
+ }
15
+ catch {
16
+ return null;
17
+ }
18
+ }
19
+ export function updateActiveRunSeq(seq) {
20
+ const state = getActiveRun();
21
+ if (state) {
22
+ state.lastSeq = seq;
23
+ setActiveRun(state);
24
+ }
25
+ }
26
+ export function clearActiveRun() {
27
+ try {
28
+ sessionStorage.removeItem(STORAGE_KEY);
29
+ }
30
+ catch { }
31
+ }
32
+ //# sourceMappingURL=active-run-state.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"active-run-state.js","sourceRoot":"","sources":["../../src/client/active-run-state.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,GAAG,uBAAuB,CAAC;AAQ5C,MAAM,UAAU,YAAY,CAAC,KAAqB;IAChD,IAAI,CAAC;QACH,cAAc,CAAC,OAAO,CAAC,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;IAC7D,CAAC;IAAC,MAAM,CAAC,CAAA,CAAC;AACZ,CAAC;AAED,MAAM,UAAU,YAAY;IAC1B,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,cAAc,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QAChD,IAAI,CAAC,GAAG;YAAE,OAAO,IAAI,CAAC;QACtB,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACzB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,GAAW;IAC5C,MAAM,KAAK,GAAG,YAAY,EAAE,CAAC;IAC7B,IAAI,KAAK,EAAE,CAAC;QACV,KAAK,CAAC,OAAO,GAAG,GAAG,CAAC;QACpB,YAAY,CAAC,KAAK,CAAC,CAAC;IACtB,CAAC;AACH,CAAC;AAED,MAAM,UAAU,cAAc;IAC5B,IAAI,CAAC;QACH,cAAc,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;IACzC,CAAC;IAAC,MAAM,CAAC,CAAA,CAAC;AACZ,CAAC"}
@@ -1,10 +1,11 @@
1
1
  import type { ChatModelAdapter } from "@assistant-ui/react";
2
2
  /**
3
3
  * Creates a ChatModelAdapter that connects to the agent-native
4
- * `/api/agent-chat` SSE endpoint.
4
+ * `/_agent-native/agent-chat` SSE endpoint. Supports reconnection via run-manager.
5
5
  */
6
6
  export declare function createAgentChatAdapter(options?: {
7
7
  apiUrl?: string;
8
8
  tabId?: string;
9
+ threadId?: string;
9
10
  }): ChatModelAdapter;
10
11
  //# sourceMappingURL=agent-chat-adapter.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"agent-chat-adapter.d.ts","sourceRoot":"","sources":["../../src/client/agent-chat-adapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAsB,MAAM,qBAAqB,CAAC;AAahF;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,CAAC,EAAE;IAC/C,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,GAAG,gBAAgB,CAwPnB"}
1
+ {"version":3,"file":"agent-chat-adapter.d.ts","sourceRoot":"","sources":["../../src/client/agent-chat-adapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAsB,MAAM,qBAAqB,CAAC;AAQhF;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,CAAC,EAAE;IAC/C,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,GAAG,gBAAgB,CA+NnB"}