@a5c-ai/genty-ui 5.1.1-staging.00ceebd28cf2

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 (514) hide show
  1. package/README.md +94 -0
  2. package/dist/client/GatewayClient.d.ts +72 -0
  3. package/dist/client/GatewayClient.d.ts.map +1 -0
  4. package/dist/client/GatewayClient.js +239 -0
  5. package/dist/client/GatewayClient.js.map +1 -0
  6. package/dist/client/backoff.d.ts +6 -0
  7. package/dist/client/backoff.d.ts.map +1 -0
  8. package/dist/client/backoff.js +9 -0
  9. package/dist/client/backoff.js.map +1 -0
  10. package/dist/client/errors.d.ts +9 -0
  11. package/dist/client/errors.d.ts.map +1 -0
  12. package/dist/client/errors.js +19 -0
  13. package/dist/client/errors.js.map +1 -0
  14. package/dist/client/transports/ws-browser.d.ts +12 -0
  15. package/dist/client/transports/ws-browser.d.ts.map +1 -0
  16. package/dist/client/transports/ws-browser.js +24 -0
  17. package/dist/client/transports/ws-browser.js.map +1 -0
  18. package/dist/client/transports/ws-node.d.ts +2 -0
  19. package/dist/client/transports/ws-node.d.ts.map +1 -0
  20. package/dist/client/transports/ws-node.js +25 -0
  21. package/dist/client/transports/ws-node.js.map +1 -0
  22. package/dist/client/transports/ws-react-native.d.ts +2 -0
  23. package/dist/client/transports/ws-react-native.d.ts.map +1 -0
  24. package/dist/client/transports/ws-react-native.js +24 -0
  25. package/dist/client/transports/ws-react-native.js.map +1 -0
  26. package/dist/codegen/kotlin-types.d.ts +1 -0
  27. package/dist/codegen/kotlin-types.d.ts.map +1 -0
  28. package/dist/codegen/kotlin-types.js +236 -0
  29. package/dist/codegen/kotlin-types.js.map +1 -0
  30. package/dist/codegen/swift-types.d.ts +1 -0
  31. package/dist/codegen/swift-types.d.ts.map +1 -0
  32. package/dist/codegen/swift-types.js +298 -0
  33. package/dist/codegen/swift-types.js.map +1 -0
  34. package/dist/components/Agent/AgentAppearanceEditor.d.ts +23 -0
  35. package/dist/components/Agent/AgentAppearanceEditor.d.ts.map +1 -0
  36. package/dist/components/Agent/AgentAppearanceEditor.js +10 -0
  37. package/dist/components/Agent/AgentAppearanceEditor.js.map +1 -0
  38. package/dist/components/Agent/AgentCreateWizard.d.ts +26 -0
  39. package/dist/components/Agent/AgentCreateWizard.d.ts.map +1 -0
  40. package/dist/components/Agent/AgentCreateWizard.js +136 -0
  41. package/dist/components/Agent/AgentCreateWizard.js.map +1 -0
  42. package/dist/components/Agent/AgentDirectory.d.ts +8 -0
  43. package/dist/components/Agent/AgentDirectory.d.ts.map +1 -0
  44. package/dist/components/Agent/AgentDirectory.js +19 -0
  45. package/dist/components/Agent/AgentDirectory.js.map +1 -0
  46. package/dist/components/Agent/AgentPersonaEditor.d.ts +23 -0
  47. package/dist/components/Agent/AgentPersonaEditor.d.ts.map +1 -0
  48. package/dist/components/Agent/AgentPersonaEditor.js +29 -0
  49. package/dist/components/Agent/AgentPersonaEditor.js.map +1 -0
  50. package/dist/components/Agent/AgentProfileCard.d.ts +39 -0
  51. package/dist/components/Agent/AgentProfileCard.d.ts.map +1 -0
  52. package/dist/components/Agent/AgentProfileCard.js +27 -0
  53. package/dist/components/Agent/AgentProfileCard.js.map +1 -0
  54. package/dist/components/Agent/AgentProfilePage.d.ts +68 -0
  55. package/dist/components/Agent/AgentProfilePage.d.ts.map +1 -0
  56. package/dist/components/Agent/AgentProfilePage.js +31 -0
  57. package/dist/components/Agent/AgentProfilePage.js.map +1 -0
  58. package/dist/components/Agent/AgentSoulEditor.d.ts +5 -0
  59. package/dist/components/Agent/AgentSoulEditor.d.ts.map +1 -0
  60. package/dist/components/Agent/AgentSoulEditor.js +5 -0
  61. package/dist/components/Agent/AgentSoulEditor.js.map +1 -0
  62. package/dist/components/Agent/AgentVoiceEditor.d.ts +17 -0
  63. package/dist/components/Agent/AgentVoiceEditor.d.ts.map +1 -0
  64. package/dist/components/Agent/AgentVoiceEditor.js +29 -0
  65. package/dist/components/Agent/AgentVoiceEditor.js.map +1 -0
  66. package/dist/components/Agent/ApprovalActions.d.ts +5 -0
  67. package/dist/components/Agent/ApprovalActions.d.ts.map +1 -0
  68. package/dist/components/Agent/ApprovalActions.js +55 -0
  69. package/dist/components/Agent/ApprovalActions.js.map +1 -0
  70. package/dist/components/Agent/DispatchButton.d.ts +37 -0
  71. package/dist/components/Agent/DispatchButton.d.ts.map +1 -0
  72. package/dist/components/Agent/DispatchButton.js +111 -0
  73. package/dist/components/Agent/DispatchButton.js.map +1 -0
  74. package/dist/components/Agent/index.d.ts +20 -0
  75. package/dist/components/Agent/index.d.ts.map +1 -0
  76. package/dist/components/Agent/index.js +11 -0
  77. package/dist/components/Agent/index.js.map +1 -0
  78. package/dist/components/AgentPicker.d.ts +5 -0
  79. package/dist/components/AgentPicker.d.ts.map +1 -0
  80. package/dist/components/AgentPicker.js +7 -0
  81. package/dist/components/AgentPicker.js.map +1 -0
  82. package/dist/components/Chat/ChatMessages.d.ts +32 -0
  83. package/dist/components/Chat/ChatMessages.d.ts.map +1 -0
  84. package/dist/components/Chat/ChatMessages.js +146 -0
  85. package/dist/components/Chat/ChatMessages.js.map +1 -0
  86. package/dist/components/Chat/chatStyles.d.ts +41 -0
  87. package/dist/components/Chat/chatStyles.d.ts.map +1 -0
  88. package/dist/components/Chat/chatStyles.js +181 -0
  89. package/dist/components/Chat/chatStyles.js.map +1 -0
  90. package/dist/components/Chat/index.d.ts +2 -0
  91. package/dist/components/Chat/index.d.ts.map +1 -0
  92. package/dist/components/Chat/index.js +3 -0
  93. package/dist/components/Chat/index.js.map +1 -0
  94. package/dist/components/ConnectionBanner.d.ts +4 -0
  95. package/dist/components/ConnectionBanner.d.ts.map +1 -0
  96. package/dist/components/ConnectionBanner.js +9 -0
  97. package/dist/components/ConnectionBanner.js.map +1 -0
  98. package/dist/components/CostMeter.d.ts +3 -0
  99. package/dist/components/CostMeter.d.ts.map +1 -0
  100. package/dist/components/CostMeter.js +7 -0
  101. package/dist/components/CostMeter.js.map +1 -0
  102. package/dist/components/EventList.d.ts +9 -0
  103. package/dist/components/EventList.d.ts.map +1 -0
  104. package/dist/components/EventList.js +21 -0
  105. package/dist/components/EventList.js.map +1 -0
  106. package/dist/components/HookApprovalPrompt.d.ts +10 -0
  107. package/dist/components/HookApprovalPrompt.d.ts.map +1 -0
  108. package/dist/components/HookApprovalPrompt.js +20 -0
  109. package/dist/components/HookApprovalPrompt.js.map +1 -0
  110. package/dist/components/InputBar.d.ts +5 -0
  111. package/dist/components/InputBar.d.ts.map +1 -0
  112. package/dist/components/InputBar.js +9 -0
  113. package/dist/components/InputBar.js.map +1 -0
  114. package/dist/components/Kanban/KanbanBoard.d.ts +14 -0
  115. package/dist/components/Kanban/KanbanBoard.d.ts.map +1 -0
  116. package/dist/components/Kanban/KanbanBoard.js +183 -0
  117. package/dist/components/Kanban/KanbanBoard.js.map +1 -0
  118. package/dist/components/Kanban/KanbanCard.d.ts +13 -0
  119. package/dist/components/Kanban/KanbanCard.d.ts.map +1 -0
  120. package/dist/components/Kanban/KanbanCard.js +75 -0
  121. package/dist/components/Kanban/KanbanCard.js.map +1 -0
  122. package/dist/components/Kanban/KanbanColumn.d.ts +25 -0
  123. package/dist/components/Kanban/KanbanColumn.d.ts.map +1 -0
  124. package/dist/components/Kanban/KanbanColumn.js +130 -0
  125. package/dist/components/Kanban/KanbanColumn.js.map +1 -0
  126. package/dist/components/Kanban/KanbanFilters.d.ts +16 -0
  127. package/dist/components/Kanban/KanbanFilters.d.ts.map +1 -0
  128. package/dist/components/Kanban/KanbanFilters.js +45 -0
  129. package/dist/components/Kanban/KanbanFilters.js.map +1 -0
  130. package/dist/components/Kanban/index.d.ts +5 -0
  131. package/dist/components/Kanban/index.d.ts.map +1 -0
  132. package/dist/components/Kanban/index.js +6 -0
  133. package/dist/components/Kanban/index.js.map +1 -0
  134. package/dist/components/Kanban/kanbanHelpers.d.ts +76 -0
  135. package/dist/components/Kanban/kanbanHelpers.d.ts.map +1 -0
  136. package/dist/components/Kanban/kanbanHelpers.js +160 -0
  137. package/dist/components/Kanban/kanbanHelpers.js.map +1 -0
  138. package/dist/components/Memory/MemoryOntologyEditor.d.ts +27 -0
  139. package/dist/components/Memory/MemoryOntologyEditor.d.ts.map +1 -0
  140. package/dist/components/Memory/MemoryOntologyEditor.js +225 -0
  141. package/dist/components/Memory/MemoryOntologyEditor.js.map +1 -0
  142. package/dist/components/Memory/MemorySearchForm.d.ts +46 -0
  143. package/dist/components/Memory/MemorySearchForm.d.ts.map +1 -0
  144. package/dist/components/Memory/MemorySearchForm.js +194 -0
  145. package/dist/components/Memory/MemorySearchForm.js.map +1 -0
  146. package/dist/components/Memory/index.d.ts +4 -0
  147. package/dist/components/Memory/index.d.ts.map +1 -0
  148. package/dist/components/Memory/index.js +3 -0
  149. package/dist/components/Memory/index.js.map +1 -0
  150. package/dist/components/ModelPicker.d.ts +5 -0
  151. package/dist/components/ModelPicker.d.ts.map +1 -0
  152. package/dist/components/ModelPicker.js +7 -0
  153. package/dist/components/ModelPicker.js.map +1 -0
  154. package/dist/components/Observability/ActivityFeed.d.ts +13 -0
  155. package/dist/components/Observability/ActivityFeed.d.ts.map +1 -0
  156. package/dist/components/Observability/ActivityFeed.js +155 -0
  157. package/dist/components/Observability/ActivityFeed.js.map +1 -0
  158. package/dist/components/Observability/ToolInspector.d.ts +22 -0
  159. package/dist/components/Observability/ToolInspector.d.ts.map +1 -0
  160. package/dist/components/Observability/ToolInspector.js +166 -0
  161. package/dist/components/Observability/ToolInspector.js.map +1 -0
  162. package/dist/components/Observability/index.d.ts +4 -0
  163. package/dist/components/Observability/index.d.ts.map +1 -0
  164. package/dist/components/Observability/index.js +3 -0
  165. package/dist/components/Observability/index.js.map +1 -0
  166. package/dist/components/Rendering/EffectTreeView.d.ts +20 -0
  167. package/dist/components/Rendering/EffectTreeView.d.ts.map +1 -0
  168. package/dist/components/Rendering/EffectTreeView.js +123 -0
  169. package/dist/components/Rendering/EffectTreeView.js.map +1 -0
  170. package/dist/components/Rendering/MessageTypeRenderer.d.ts +4 -0
  171. package/dist/components/Rendering/MessageTypeRenderer.d.ts.map +1 -0
  172. package/dist/components/Rendering/MessageTypeRenderer.js +108 -0
  173. package/dist/components/Rendering/MessageTypeRenderer.js.map +1 -0
  174. package/dist/components/Rendering/ProgressStatusLine.d.ts +9 -0
  175. package/dist/components/Rendering/ProgressStatusLine.d.ts.map +1 -0
  176. package/dist/components/Rendering/ProgressStatusLine.js +57 -0
  177. package/dist/components/Rendering/ProgressStatusLine.js.map +1 -0
  178. package/dist/components/Rendering/StreamingOutputPanel.d.ts +20 -0
  179. package/dist/components/Rendering/StreamingOutputPanel.d.ts.map +1 -0
  180. package/dist/components/Rendering/StreamingOutputPanel.js +75 -0
  181. package/dist/components/Rendering/StreamingOutputPanel.js.map +1 -0
  182. package/dist/components/Rendering/StructuredDiffView.d.ts +13 -0
  183. package/dist/components/Rendering/StructuredDiffView.d.ts.map +1 -0
  184. package/dist/components/Rendering/StructuredDiffView.js +106 -0
  185. package/dist/components/Rendering/StructuredDiffView.js.map +1 -0
  186. package/dist/components/Rendering/SubagentDrillDown.d.ts +46 -0
  187. package/dist/components/Rendering/SubagentDrillDown.d.ts.map +1 -0
  188. package/dist/components/Rendering/SubagentDrillDown.js +101 -0
  189. package/dist/components/Rendering/SubagentDrillDown.js.map +1 -0
  190. package/dist/components/Rendering/index.d.ts +12 -0
  191. package/dist/components/Rendering/index.d.ts.map +1 -0
  192. package/dist/components/Rendering/index.js +10 -0
  193. package/dist/components/Rendering/index.js.map +1 -0
  194. package/dist/components/RunStatusBadge.d.ts +3 -0
  195. package/dist/components/RunStatusBadge.d.ts.map +1 -0
  196. package/dist/components/RunStatusBadge.js +7 -0
  197. package/dist/components/RunStatusBadge.js.map +1 -0
  198. package/dist/components/Session/SessionCost.d.ts +22 -0
  199. package/dist/components/Session/SessionCost.d.ts.map +1 -0
  200. package/dist/components/Session/SessionCost.js +168 -0
  201. package/dist/components/Session/SessionCost.js.map +1 -0
  202. package/dist/components/Session/SessionShell.d.ts +63 -0
  203. package/dist/components/Session/SessionShell.d.ts.map +1 -0
  204. package/dist/components/Session/SessionShell.js +150 -0
  205. package/dist/components/Session/SessionShell.js.map +1 -0
  206. package/dist/components/Session/SessionTabs.d.ts +6 -0
  207. package/dist/components/Session/SessionTabs.d.ts.map +1 -0
  208. package/dist/components/Session/SessionTabs.js +7 -0
  209. package/dist/components/Session/SessionTabs.js.map +1 -0
  210. package/dist/components/Session/index.d.ts +7 -0
  211. package/dist/components/Session/index.d.ts.map +1 -0
  212. package/dist/components/Session/index.js +5 -0
  213. package/dist/components/Session/index.js.map +1 -0
  214. package/dist/components/Session/sessionUtils.d.ts +31 -0
  215. package/dist/components/Session/sessionUtils.d.ts.map +1 -0
  216. package/dist/components/Session/sessionUtils.js +90 -0
  217. package/dist/components/Session/sessionUtils.js.map +1 -0
  218. package/dist/components/SessionListItem.d.ts +5 -0
  219. package/dist/components/SessionListItem.d.ts.map +1 -0
  220. package/dist/components/SessionListItem.js +8 -0
  221. package/dist/components/SessionListItem.js.map +1 -0
  222. package/dist/components/Workspace/WorkspaceAssociations.d.ts +10 -0
  223. package/dist/components/Workspace/WorkspaceAssociations.d.ts.map +1 -0
  224. package/dist/components/Workspace/WorkspaceAssociations.js +72 -0
  225. package/dist/components/Workspace/WorkspaceAssociations.js.map +1 -0
  226. package/dist/components/Workspace/WorkspaceCodespace.d.ts +18 -0
  227. package/dist/components/Workspace/WorkspaceCodespace.d.ts.map +1 -0
  228. package/dist/components/Workspace/WorkspaceCodespace.js +91 -0
  229. package/dist/components/Workspace/WorkspaceCodespace.js.map +1 -0
  230. package/dist/components/Workspace/WorkspacePanel.d.ts +89 -0
  231. package/dist/components/Workspace/WorkspacePanel.d.ts.map +1 -0
  232. package/dist/components/Workspace/WorkspacePanel.js +451 -0
  233. package/dist/components/Workspace/WorkspacePanel.js.map +1 -0
  234. package/dist/components/Workspace/index.d.ts +6 -0
  235. package/dist/components/Workspace/index.d.ts.map +1 -0
  236. package/dist/components/Workspace/index.js +4 -0
  237. package/dist/components/Workspace/index.js.map +1 -0
  238. package/dist/components/event-cards/TextDeltaBubble.d.ts +3 -0
  239. package/dist/components/event-cards/TextDeltaBubble.d.ts.map +1 -0
  240. package/dist/components/event-cards/TextDeltaBubble.js +7 -0
  241. package/dist/components/event-cards/TextDeltaBubble.js.map +1 -0
  242. package/dist/components/event-cards/ThinkingBubble.d.ts +3 -0
  243. package/dist/components/event-cards/ThinkingBubble.d.ts.map +1 -0
  244. package/dist/components/event-cards/ThinkingBubble.js +7 -0
  245. package/dist/components/event-cards/ThinkingBubble.js.map +1 -0
  246. package/dist/components/event-cards/ToolCallCard.d.ts +7 -0
  247. package/dist/components/event-cards/ToolCallCard.d.ts.map +1 -0
  248. package/dist/components/event-cards/ToolCallCard.js +27 -0
  249. package/dist/components/event-cards/ToolCallCard.js.map +1 -0
  250. package/dist/components/event-cards/ToolResultCard.d.ts +7 -0
  251. package/dist/components/event-cards/ToolResultCard.d.ts.map +1 -0
  252. package/dist/components/event-cards/ToolResultCard.js +20 -0
  253. package/dist/components/event-cards/ToolResultCard.js.map +1 -0
  254. package/dist/components/event-cards/builtins.d.ts +1 -0
  255. package/dist/components/event-cards/builtins.d.ts.map +1 -0
  256. package/dist/components/event-cards/builtins.js +31 -0
  257. package/dist/components/event-cards/builtins.js.map +1 -0
  258. package/dist/components/event-cards/index.d.ts +6 -0
  259. package/dist/components/event-cards/index.d.ts.map +1 -0
  260. package/dist/components/event-cards/index.js +6 -0
  261. package/dist/components/event-cards/index.js.map +1 -0
  262. package/dist/components/event-cards/registry.d.ts +24 -0
  263. package/dist/components/event-cards/registry.d.ts.map +1 -0
  264. package/dist/components/event-cards/registry.js +24 -0
  265. package/dist/components/event-cards/registry.js.map +1 -0
  266. package/dist/components/event-cards/renderers/bash.d.ts +2 -0
  267. package/dist/components/event-cards/renderers/bash.d.ts.map +1 -0
  268. package/dist/components/event-cards/renderers/bash.js +8 -0
  269. package/dist/components/event-cards/renderers/bash.js.map +1 -0
  270. package/dist/components/event-cards/renderers/edit.d.ts +2 -0
  271. package/dist/components/event-cards/renderers/edit.d.ts.map +1 -0
  272. package/dist/components/event-cards/renderers/edit.js +8 -0
  273. package/dist/components/event-cards/renderers/edit.js.map +1 -0
  274. package/dist/components/event-cards/renderers/generic.d.ts +2 -0
  275. package/dist/components/event-cards/renderers/generic.d.ts.map +1 -0
  276. package/dist/components/event-cards/renderers/generic.js +33 -0
  277. package/dist/components/event-cards/renderers/generic.js.map +1 -0
  278. package/dist/components/event-cards/renderers/glob.d.ts +2 -0
  279. package/dist/components/event-cards/renderers/glob.d.ts.map +1 -0
  280. package/dist/components/event-cards/renderers/glob.js +8 -0
  281. package/dist/components/event-cards/renderers/glob.js.map +1 -0
  282. package/dist/components/event-cards/renderers/grep.d.ts +2 -0
  283. package/dist/components/event-cards/renderers/grep.d.ts.map +1 -0
  284. package/dist/components/event-cards/renderers/grep.js +8 -0
  285. package/dist/components/event-cards/renderers/grep.js.map +1 -0
  286. package/dist/components/event-cards/renderers/read.d.ts +2 -0
  287. package/dist/components/event-cards/renderers/read.d.ts.map +1 -0
  288. package/dist/components/event-cards/renderers/read.js +8 -0
  289. package/dist/components/event-cards/renderers/read.js.map +1 -0
  290. package/dist/components/event-cards/renderers/web-fetch.d.ts +2 -0
  291. package/dist/components/event-cards/renderers/web-fetch.d.ts.map +1 -0
  292. package/dist/components/event-cards/renderers/web-fetch.js +8 -0
  293. package/dist/components/event-cards/renderers/web-fetch.js.map +1 -0
  294. package/dist/components/event-cards/renderers/web-search.d.ts +2 -0
  295. package/dist/components/event-cards/renderers/web-search.d.ts.map +1 -0
  296. package/dist/components/event-cards/renderers/web-search.js +8 -0
  297. package/dist/components/event-cards/renderers/web-search.js.map +1 -0
  298. package/dist/components/event-cards/renderers/write.d.ts +2 -0
  299. package/dist/components/event-cards/renderers/write.d.ts.map +1 -0
  300. package/dist/components/event-cards/renderers/write.js +8 -0
  301. package/dist/components/event-cards/renderers/write.js.map +1 -0
  302. package/dist/components/primitives/Button.d.ts +5 -0
  303. package/dist/components/primitives/Button.d.ts.map +1 -0
  304. package/dist/components/primitives/Button.js +19 -0
  305. package/dist/components/primitives/Button.js.map +1 -0
  306. package/dist/components/primitives/Card.d.ts +2 -0
  307. package/dist/components/primitives/Card.d.ts.map +1 -0
  308. package/dist/components/primitives/Card.js +22 -0
  309. package/dist/components/primitives/Card.js.map +1 -0
  310. package/dist/components/primitives/CommandPalette.d.ts +21 -0
  311. package/dist/components/primitives/CommandPalette.d.ts.map +1 -0
  312. package/dist/components/primitives/CommandPalette.js +229 -0
  313. package/dist/components/primitives/CommandPalette.js.map +1 -0
  314. package/dist/components/primitives/ConfirmDialog.d.ts +19 -0
  315. package/dist/components/primitives/ConfirmDialog.d.ts.map +1 -0
  316. package/dist/components/primitives/ConfirmDialog.js +78 -0
  317. package/dist/components/primitives/ConfirmDialog.js.map +1 -0
  318. package/dist/components/primitives/NotificationBell.d.ts +5 -0
  319. package/dist/components/primitives/NotificationBell.d.ts.map +1 -0
  320. package/dist/components/primitives/NotificationBell.js +202 -0
  321. package/dist/components/primitives/NotificationBell.js.map +1 -0
  322. package/dist/components/primitives/Pagination.d.ts +14 -0
  323. package/dist/components/primitives/Pagination.d.ts.map +1 -0
  324. package/dist/components/primitives/Pagination.js +46 -0
  325. package/dist/components/primitives/Pagination.js.map +1 -0
  326. package/dist/components/primitives/ScrollContainer.d.ts +2 -0
  327. package/dist/components/primitives/ScrollContainer.d.ts.map +1 -0
  328. package/dist/components/primitives/ScrollContainer.js +17 -0
  329. package/dist/components/primitives/ScrollContainer.js.map +1 -0
  330. package/dist/components/primitives/Text.d.ts +2 -0
  331. package/dist/components/primitives/Text.d.ts.map +1 -0
  332. package/dist/components/primitives/Text.js +14 -0
  333. package/dist/components/primitives/Text.js.map +1 -0
  334. package/dist/components/primitives/index.d.ts +13 -0
  335. package/dist/components/primitives/index.d.ts.map +1 -0
  336. package/dist/components/primitives/index.js +9 -0
  337. package/dist/components/primitives/index.js.map +1 -0
  338. package/dist/components/primitives/theme.d.ts +8 -0
  339. package/dist/components/primitives/theme.d.ts.map +1 -0
  340. package/dist/components/primitives/theme.js +10 -0
  341. package/dist/components/primitives/theme.js.map +1 -0
  342. package/dist/components/session-flow/SessionFlowView.d.ts +9 -0
  343. package/dist/components/session-flow/SessionFlowView.d.ts.map +1 -0
  344. package/dist/components/session-flow/SessionFlowView.js +228 -0
  345. package/dist/components/session-flow/SessionFlowView.js.map +1 -0
  346. package/dist/gateway.d.ts +8 -0
  347. package/dist/gateway.d.ts.map +1 -0
  348. package/dist/gateway.js +8 -0
  349. package/dist/gateway.js.map +1 -0
  350. package/dist/hooks/GatewayProvider.d.ts +10 -0
  351. package/dist/hooks/GatewayProvider.d.ts.map +1 -0
  352. package/dist/hooks/GatewayProvider.js +84 -0
  353. package/dist/hooks/GatewayProvider.js.map +1 -0
  354. package/dist/hooks/useAgents.d.ts +1 -0
  355. package/dist/hooks/useAgents.d.ts.map +1 -0
  356. package/dist/hooks/useAgents.js +7 -0
  357. package/dist/hooks/useAgents.js.map +1 -0
  358. package/dist/hooks/useConnection.d.ts +1 -0
  359. package/dist/hooks/useConnection.d.ts.map +1 -0
  360. package/dist/hooks/useConnection.js +7 -0
  361. package/dist/hooks/useConnection.js.map +1 -0
  362. package/dist/hooks/useCostTotals.d.ts +3 -0
  363. package/dist/hooks/useCostTotals.d.ts.map +1 -0
  364. package/dist/hooks/useCostTotals.js +8 -0
  365. package/dist/hooks/useCostTotals.js.map +1 -0
  366. package/dist/hooks/useGateway.d.ts +4 -0
  367. package/dist/hooks/useGateway.d.ts.map +1 -0
  368. package/dist/hooks/useGateway.js +11 -0
  369. package/dist/hooks/useGateway.js.map +1 -0
  370. package/dist/hooks/useHookRequests.d.ts +1 -0
  371. package/dist/hooks/useHookRequests.d.ts.map +1 -0
  372. package/dist/hooks/useHookRequests.js +9 -0
  373. package/dist/hooks/useHookRequests.js.map +1 -0
  374. package/dist/hooks/useRun.d.ts +1 -0
  375. package/dist/hooks/useRun.d.ts.map +1 -0
  376. package/dist/hooks/useRun.js +7 -0
  377. package/dist/hooks/useRun.js.map +1 -0
  378. package/dist/hooks/useRunEvents.d.ts +8 -0
  379. package/dist/hooks/useRunEvents.d.ts.map +1 -0
  380. package/dist/hooks/useRunEvents.js +8 -0
  381. package/dist/hooks/useRunEvents.js.map +1 -0
  382. package/dist/hooks/useSendSessionMessage.d.ts +6 -0
  383. package/dist/hooks/useSendSessionMessage.d.ts.map +1 -0
  384. package/dist/hooks/useSendSessionMessage.js +19 -0
  385. package/dist/hooks/useSendSessionMessage.js.map +1 -0
  386. package/dist/hooks/useSession.d.ts +1 -0
  387. package/dist/hooks/useSession.d.ts.map +1 -0
  388. package/dist/hooks/useSession.js +7 -0
  389. package/dist/hooks/useSession.js.map +1 -0
  390. package/dist/hooks/useSessions.d.ts +1 -0
  391. package/dist/hooks/useSessions.d.ts.map +1 -0
  392. package/dist/hooks/useSessions.js +8 -0
  393. package/dist/hooks/useSessions.js.map +1 -0
  394. package/dist/hooks/useStartSession.d.ts +10 -0
  395. package/dist/hooks/useStartSession.d.ts.map +1 -0
  396. package/dist/hooks/useStartSession.js +29 -0
  397. package/dist/hooks/useStartSession.js.map +1 -0
  398. package/dist/hooks/useStopRun.d.ts +1 -0
  399. package/dist/hooks/useStopRun.d.ts.map +1 -0
  400. package/dist/hooks/useStopRun.js +11 -0
  401. package/dist/hooks/useStopRun.js.map +1 -0
  402. package/dist/index.d.ts +49 -0
  403. package/dist/index.d.ts.map +1 -0
  404. package/dist/index.js +46 -0
  405. package/dist/index.js.map +1 -0
  406. package/dist/protocol/v1.d.ts +111 -0
  407. package/dist/protocol/v1.d.ts.map +1 -0
  408. package/dist/protocol/v1.js +2 -0
  409. package/dist/protocol/v1.js.map +1 -0
  410. package/dist/screens/AgentsScreen.d.ts +4 -0
  411. package/dist/screens/AgentsScreen.d.ts.map +1 -0
  412. package/dist/screens/AgentsScreen.js +9 -0
  413. package/dist/screens/AgentsScreen.js.map +1 -0
  414. package/dist/screens/HookInboxScreen.d.ts +1 -0
  415. package/dist/screens/HookInboxScreen.d.ts.map +1 -0
  416. package/dist/screens/HookInboxScreen.js +19 -0
  417. package/dist/screens/HookInboxScreen.js.map +1 -0
  418. package/dist/screens/NewRunScreen.d.ts +6 -0
  419. package/dist/screens/NewRunScreen.d.ts.map +1 -0
  420. package/dist/screens/NewRunScreen.js +35 -0
  421. package/dist/screens/NewRunScreen.js.map +1 -0
  422. package/dist/screens/SessionDetailScreen.d.ts +3 -0
  423. package/dist/screens/SessionDetailScreen.d.ts.map +1 -0
  424. package/dist/screens/SessionDetailScreen.js +46 -0
  425. package/dist/screens/SessionDetailScreen.js.map +1 -0
  426. package/dist/screens/SessionListScreen.d.ts +3 -0
  427. package/dist/screens/SessionListScreen.d.ts.map +1 -0
  428. package/dist/screens/SessionListScreen.js +9 -0
  429. package/dist/screens/SessionListScreen.js.map +1 -0
  430. package/dist/screens/SettingsScreen.d.ts +1 -0
  431. package/dist/screens/SettingsScreen.d.ts.map +1 -0
  432. package/dist/screens/SettingsScreen.js +9 -0
  433. package/dist/screens/SettingsScreen.js.map +1 -0
  434. package/dist/session-flow/adapters.d.ts +36 -0
  435. package/dist/session-flow/adapters.d.ts.map +1 -0
  436. package/dist/session-flow/adapters.js +362 -0
  437. package/dist/session-flow/adapters.js.map +1 -0
  438. package/dist/session-flow/cost.d.ts +2 -0
  439. package/dist/session-flow/cost.d.ts.map +1 -0
  440. package/dist/session-flow/cost.js +30 -0
  441. package/dist/session-flow/cost.js.map +1 -0
  442. package/dist/session-flow/file-attention.d.ts +3 -0
  443. package/dist/session-flow/file-attention.d.ts.map +1 -0
  444. package/dist/session-flow/file-attention.js +43 -0
  445. package/dist/session-flow/file-attention.js.map +1 -0
  446. package/dist/session-flow/model.d.ts +6 -0
  447. package/dist/session-flow/model.d.ts.map +1 -0
  448. package/dist/session-flow/model.js +110 -0
  449. package/dist/session-flow/model.js.map +1 -0
  450. package/dist/session-flow/native.d.ts +3 -0
  451. package/dist/session-flow/native.d.ts.map +1 -0
  452. package/dist/session-flow/native.js +185 -0
  453. package/dist/session-flow/native.js.map +1 -0
  454. package/dist/session-flow/projector.d.ts +8 -0
  455. package/dist/session-flow/projector.d.ts.map +1 -0
  456. package/dist/session-flow/projector.js +392 -0
  457. package/dist/session-flow/projector.js.map +1 -0
  458. package/dist/session-flow/types.d.ts +87 -0
  459. package/dist/session-flow/types.d.ts.map +1 -0
  460. package/dist/session-flow/types.js +2 -0
  461. package/dist/session-flow/types.js.map +1 -0
  462. package/dist/session-flow/utils.d.ts +11 -0
  463. package/dist/session-flow/utils.d.ts.map +1 -0
  464. package/dist/session-flow/utils.js +118 -0
  465. package/dist/session-flow/utils.js.map +1 -0
  466. package/dist/session-flow.d.ts +7 -0
  467. package/dist/session-flow.d.ts.map +1 -0
  468. package/dist/session-flow.js +6 -0
  469. package/dist/session-flow.js.map +1 -0
  470. package/dist/store/index.d.ts +72 -0
  471. package/dist/store/index.d.ts.map +1 -0
  472. package/dist/store/index.js +145 -0
  473. package/dist/store/index.js.map +1 -0
  474. package/dist/store/selectors.d.ts +15 -0
  475. package/dist/store/selectors.d.ts.map +1 -0
  476. package/dist/store/selectors.js +72 -0
  477. package/dist/store/selectors.js.map +1 -0
  478. package/dist/store/slices/agents.d.ts +2 -0
  479. package/dist/store/slices/agents.d.ts.map +1 -0
  480. package/dist/store/slices/agents.js +4 -0
  481. package/dist/store/slices/agents.js.map +1 -0
  482. package/dist/store/slices/connection.d.ts +2 -0
  483. package/dist/store/slices/connection.d.ts.map +1 -0
  484. package/dist/store/slices/connection.js +4 -0
  485. package/dist/store/slices/connection.js.map +1 -0
  486. package/dist/store/slices/events.d.ts +2 -0
  487. package/dist/store/slices/events.d.ts.map +1 -0
  488. package/dist/store/slices/events.js +4 -0
  489. package/dist/store/slices/events.js.map +1 -0
  490. package/dist/store/slices/hooks.d.ts +2 -0
  491. package/dist/store/slices/hooks.d.ts.map +1 -0
  492. package/dist/store/slices/hooks.js +4 -0
  493. package/dist/store/slices/hooks.js.map +1 -0
  494. package/dist/store/slices/runs.d.ts +2 -0
  495. package/dist/store/slices/runs.d.ts.map +1 -0
  496. package/dist/store/slices/runs.js +4 -0
  497. package/dist/store/slices/runs.js.map +1 -0
  498. package/dist/store/slices/sessions.d.ts +2 -0
  499. package/dist/store/slices/sessions.d.ts.map +1 -0
  500. package/dist/store/slices/sessions.js +4 -0
  501. package/dist/store/slices/sessions.js.map +1 -0
  502. package/dist/theme/dark.d.ts +2 -0
  503. package/dist/theme/dark.d.ts.map +1 -0
  504. package/dist/theme/dark.js +21 -0
  505. package/dist/theme/dark.js.map +1 -0
  506. package/dist/theme/light.d.ts +2 -0
  507. package/dist/theme/light.d.ts.map +1 -0
  508. package/dist/theme/light.js +21 -0
  509. package/dist/theme/light.js.map +1 -0
  510. package/dist/theme/tokens.d.ts +20 -0
  511. package/dist/theme/tokens.d.ts.map +1 -0
  512. package/dist/theme/tokens.js +2 -0
  513. package/dist/theme/tokens.js.map +1 -0
  514. package/package.json +152 -0
@@ -0,0 +1,46 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { memo } from 'react';
3
+ const PAGE_SIZES = [10, 25, 50, 100];
4
+ export const Pagination = memo(function Pagination({ total, limit, offset, onPageChange, onLimitChange, }) {
5
+ if (!total || total === 0)
6
+ return null;
7
+ const start = Math.min(offset + 1, total);
8
+ const end = Math.min(offset + limit, total);
9
+ const hasPrev = offset > 0;
10
+ const hasNext = offset + limit < total;
11
+ const containerStyle = {
12
+ display: 'flex',
13
+ alignItems: 'center',
14
+ justifyContent: 'space-between',
15
+ padding: '0.75rem 0',
16
+ fontSize: '0.8125rem',
17
+ color: 'var(--text)',
18
+ gap: '1rem',
19
+ flexWrap: 'wrap',
20
+ };
21
+ const navButtonStyle = (disabled) => ({
22
+ padding: '0.375rem 0.75rem',
23
+ borderRadius: '0.375rem',
24
+ border: '1px solid var(--border)',
25
+ background: disabled ? 'transparent' : 'var(--surface, #fff)',
26
+ color: disabled ? 'var(--border)' : 'var(--accent, #2563eb)',
27
+ cursor: disabled ? 'default' : 'pointer',
28
+ fontSize: '0.8125rem',
29
+ fontWeight: 500,
30
+ opacity: disabled ? 0.5 : 1,
31
+ });
32
+ const selectStyle = {
33
+ padding: '0.25rem 0.5rem',
34
+ borderRadius: '0.375rem',
35
+ border: '1px solid var(--border)',
36
+ background: 'var(--surface, #fff)',
37
+ color: 'var(--text)',
38
+ fontSize: '0.8125rem',
39
+ cursor: 'pointer',
40
+ };
41
+ return (_jsxs("nav", { "aria-label": "Pagination", style: containerStyle, children: [_jsxs("div", { style: { display: 'flex', alignItems: 'center', gap: '0.5rem' }, children: [_jsx("button", { style: navButtonStyle(!hasPrev), disabled: !hasPrev, onClick: () => hasPrev && onPageChange(Math.max(0, offset - limit)), "aria-label": "Go to previous page", children: "Prev" }), _jsxs("span", { "aria-current": "page", "aria-label": `Showing items ${start} through ${end} of ${total}`, children: ["Showing ", start, "\u2013", end, " of ", total] }), _jsx("button", { style: navButtonStyle(!hasNext), disabled: !hasNext, onClick: () => hasNext && onPageChange(offset + limit), "aria-label": "Go to next page", children: "Next" })] }), onLimitChange && (_jsxs("div", { style: { display: 'flex', alignItems: 'center', gap: '0.375rem' }, children: [_jsx("span", { children: "Page size:" }), _jsx("select", { style: selectStyle, value: limit, "aria-label": "Select number of items per page", onChange: (e) => {
42
+ const newLimit = parseInt(e.target.value, 10);
43
+ onLimitChange(newLimit);
44
+ }, children: PAGE_SIZES.map((size) => (_jsx("option", { value: size, children: size }, size))) })] }))] }));
45
+ });
46
+ //# sourceMappingURL=Pagination.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Pagination.js","sourceRoot":"","sources":["../../../src/components/primitives/Pagination.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import { type ScrollViewProps } from 'react-native';
2
+ export declare function ScrollContainer(props: ScrollViewProps): JSX.Element;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ScrollContainer.d.ts","sourceRoot":"","sources":["../../../src/components/primitives/ScrollContainer.tsx"],"names":[],"mappings":"AACA,OAAO,EAA0B,KAAK,eAAe,EAAE,MAAM,cAAc,CAAC;AAI5E,wBAAgB,eAAe,CAAC,KAAK,EAAE,eAAe,GAAG,GAAG,CAAC,OAAO,CAYnE"}
@@ -0,0 +1,17 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { ScrollView, StyleSheet } from 'react-native';
3
+ import { useTheme } from './theme.js';
4
+ export function ScrollContainer(props) {
5
+ const theme = useTheme();
6
+ return (_jsx(ScrollView, { ...props, contentContainerStyle: [
7
+ styles.content,
8
+ { backgroundColor: theme.colors.background },
9
+ props.contentContainerStyle,
10
+ ] }));
11
+ }
12
+ const styles = StyleSheet.create({
13
+ content: {
14
+ flexGrow: 1,
15
+ },
16
+ });
17
+ //# sourceMappingURL=ScrollContainer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ScrollContainer.js","sourceRoot":"","sources":["../../../src/components/primitives/ScrollContainer.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,UAAU,EAAE,UAAU,EAAwB,MAAM,cAAc,CAAC;AAE5E,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtC,MAAM,UAAU,eAAe,CAAC,KAAsB;IACpD,MAAM,KAAK,GAAG,QAAQ,EAAE,CAAC;IACzB,OAAO,CACL,KAAC,UAAU,OACL,KAAK,EACT,qBAAqB,EAAE;YACrB,MAAM,CAAC,OAAO;YACd,EAAE,eAAe,EAAE,KAAK,CAAC,MAAM,CAAC,UAAU,EAAE;YAC5C,KAAK,CAAC,qBAAqB;SAC5B,GACD,CACH,CAAC;AACJ,CAAC;AAED,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC;IAC/B,OAAO,EAAE;QACP,QAAQ,EAAE,CAAC;KACZ;CACF,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ import { type TextProps as NativeTextProps } from 'react-native';
2
+ export declare function Text(props: NativeTextProps): JSX.Element;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Text.d.ts","sourceRoot":"","sources":["../../../src/components/primitives/Text.tsx"],"names":[],"mappings":"AACA,OAAO,EAAkC,KAAK,SAAS,IAAI,eAAe,EAAE,MAAM,cAAc,CAAC;AAIjG,wBAAgB,IAAI,CAAC,KAAK,EAAE,eAAe,GAAG,GAAG,CAAC,OAAO,CAGxD"}
@@ -0,0 +1,14 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { Text as NativeText, StyleSheet } from 'react-native';
3
+ import { useTheme } from './theme.js';
4
+ export function Text(props) {
5
+ const theme = useTheme();
6
+ return _jsx(NativeText, { ...props, style: [styles.base, { color: theme.colors.text }, props.style] });
7
+ }
8
+ const styles = StyleSheet.create({
9
+ base: {
10
+ fontSize: 14,
11
+ lineHeight: 20,
12
+ },
13
+ });
14
+ //# sourceMappingURL=Text.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Text.js","sourceRoot":"","sources":["../../../src/components/primitives/Text.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,IAAI,IAAI,UAAU,EAAE,UAAU,EAAqC,MAAM,cAAc,CAAC;AAEjG,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtC,MAAM,UAAU,IAAI,CAAC,KAAsB;IACzC,MAAM,KAAK,GAAG,QAAQ,EAAE,CAAC;IACzB,OAAO,KAAC,UAAU,OAAK,KAAK,EAAE,KAAK,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,KAAK,CAAC,KAAK,CAAC,GAAI,CAAC;AACpG,CAAC;AAED,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC;IAC/B,IAAI,EAAE;QACJ,QAAQ,EAAE,EAAE;QACZ,UAAU,EAAE,EAAE;KACf;CACF,CAAC,CAAC"}
@@ -0,0 +1,13 @@
1
+ export { Button } from './Button.js';
2
+ export type { ButtonProps } from './Button.js';
3
+ export { Card } from './Card.js';
4
+ export { ScrollContainer } from './ScrollContainer.js';
5
+ export { Text } from './Text.js';
6
+ export { ConfirmDialog } from './ConfirmDialog.js';
7
+ export type { ConfirmDialogProps } from './ConfirmDialog.js';
8
+ export { Pagination } from './Pagination.js';
9
+ export type { PaginationProps } from './Pagination.js';
10
+ export { CommandPalette, CommandPaletteWrapper } from './CommandPalette.js';
11
+ export type { CommandPaletteProps, CommandPaletteWrapperProps } from './CommandPalette.js';
12
+ export { NotificationBell } from './NotificationBell.js';
13
+ export type { NotificationBellProps } from './NotificationBell.js';
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/primitives/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,YAAY,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE/C,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAEvD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,YAAY,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAE7D,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,YAAY,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAEvD,OAAO,EAAE,cAAc,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAC5E,YAAY,EAAE,mBAAmB,EAAE,0BAA0B,EAAE,MAAM,qBAAqB,CAAC;AAE3F,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,YAAY,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC"}
@@ -0,0 +1,9 @@
1
+ export { Button } from './Button.js';
2
+ export { Card } from './Card.js';
3
+ export { ScrollContainer } from './ScrollContainer.js';
4
+ export { Text } from './Text.js';
5
+ export { ConfirmDialog } from './ConfirmDialog.js';
6
+ export { Pagination } from './Pagination.js';
7
+ export { CommandPalette, CommandPaletteWrapper } from './CommandPalette.js';
8
+ export { NotificationBell } from './NotificationBell.js';
9
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/primitives/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAGrC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAEvD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAGnD,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAG7C,OAAO,EAAE,cAAc,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAG5E,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC"}
@@ -0,0 +1,8 @@
1
+ import React from 'react';
2
+ import type { ThemeTokens } from '../../theme/tokens.js';
3
+ export declare const ThemeContext: React.Context<ThemeTokens>;
4
+ export declare function ThemeProvider(props: {
5
+ value: ThemeTokens;
6
+ children: React.ReactNode;
7
+ }): JSX.Element;
8
+ export declare function useTheme(): ThemeTokens;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"theme.d.ts","sourceRoot":"","sources":["../../../src/components/primitives/theme.ts"],"names":[],"mappings":"AAAA,OAAO,KAAoC,MAAM,OAAO,CAAC;AAEzD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAGzD,eAAO,MAAM,YAAY,4BAAyC,CAAC;AAEnE,wBAAgB,aAAa,CAAC,KAAK,EAAE;IAAE,KAAK,EAAE,WAAW,CAAC;IAAC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;CAAE,GAAG,GAAG,CAAC,OAAO,CAEnG;AAED,wBAAgB,QAAQ,IAAI,WAAW,CAEtC"}
@@ -0,0 +1,10 @@
1
+ import React, { createContext, useContext } from 'react';
2
+ import { lightTheme } from '../../theme/light.js';
3
+ export const ThemeContext = createContext(lightTheme);
4
+ export function ThemeProvider(props) {
5
+ return React.createElement(ThemeContext.Provider, { value: props.value }, props.children);
6
+ }
7
+ export function useTheme() {
8
+ return useContext(ThemeContext);
9
+ }
10
+ //# sourceMappingURL=theme.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"theme.js","sourceRoot":"","sources":["../../../src/components/primitives/theme.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAGzD,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAElD,MAAM,CAAC,MAAM,YAAY,GAAG,aAAa,CAAc,UAAU,CAAC,CAAC;AAEnE,MAAM,UAAU,aAAa,CAAC,KAAwD;IACpF,OAAO,KAAK,CAAC,aAAa,CAAC,YAAY,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;AAC5F,CAAC;AAED,MAAM,UAAU,QAAQ;IACtB,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC;AAClC,CAAC"}
@@ -0,0 +1,9 @@
1
+ import type { SessionFlowModel } from '../../session-flow.js';
2
+ export type SessionFlowViewMode = 'flow' | 'transcript' | 'files';
3
+ type SessionFlowViewProps = {
4
+ model: SessionFlowModel;
5
+ viewMode: SessionFlowViewMode;
6
+ onViewModeChange: (mode: SessionFlowViewMode) => void;
7
+ };
8
+ export declare function SessionFlowView(props: SessionFlowViewProps): JSX.Element;
9
+ export {};
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SessionFlowView.d.ts","sourceRoot":"","sources":["../../../src/components/session-flow/SessionFlowView.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAIV,gBAAgB,EAEjB,MAAM,uBAAuB,CAAC;AAK/B,MAAM,MAAM,mBAAmB,GAAG,MAAM,GAAG,YAAY,GAAG,OAAO,CAAC;AAElE,KAAK,oBAAoB,GAAG;IAC1B,KAAK,EAAE,gBAAgB,CAAC;IACxB,QAAQ,EAAE,mBAAmB,CAAC;IAC9B,gBAAgB,EAAE,CAAC,IAAI,EAAE,mBAAmB,KAAK,IAAI,CAAC;CACvD,CAAC;AA4LF,wBAAgB,eAAe,CAAC,KAAK,EAAE,oBAAoB,GAAG,GAAG,CAAC,OAAO,CA+DxE"}
@@ -0,0 +1,228 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { Pressable, ScrollView, StyleSheet, View } from 'react-native';
3
+ import { Card } from '../primitives/Card.js';
4
+ import { Text } from '../primitives/Text.js';
5
+ import { useTheme } from '../primitives/theme.js';
6
+ const VIEW_ITEMS = [
7
+ { value: 'flow', label: 'Trace' },
8
+ { value: 'transcript', label: 'Transcript' },
9
+ { value: 'files', label: 'Files' },
10
+ ];
11
+ const EMPTY_MESSAGES = {
12
+ flow: 'No structured execution flow is available for this session yet.',
13
+ transcript: 'No transcript turns are available for this session yet.',
14
+ files: 'File attention will appear here once the session touches the workspace.',
15
+ };
16
+ function formatFlowTime(value) {
17
+ if (value == null || !Number.isFinite(value) || value <= 0) {
18
+ return null;
19
+ }
20
+ return new Date(value).toLocaleTimeString([], {
21
+ hour: '2-digit',
22
+ minute: '2-digit',
23
+ second: '2-digit',
24
+ });
25
+ }
26
+ function formatDuration(start, end) {
27
+ if (start == null || end == null || end <= start) {
28
+ return null;
29
+ }
30
+ const delta = end - start;
31
+ if (delta < 1000) {
32
+ return `${delta}ms`;
33
+ }
34
+ if (delta < 60_000) {
35
+ return `${(delta / 1000).toFixed(1)}s`;
36
+ }
37
+ return `${Math.round(delta / 1000)}s`;
38
+ }
39
+ function formatUsd(totalUsd) {
40
+ if (totalUsd == null || !Number.isFinite(totalUsd)) {
41
+ return null;
42
+ }
43
+ return new Intl.NumberFormat('en-US', {
44
+ style: 'currency',
45
+ currency: 'USD',
46
+ minimumFractionDigits: totalUsd >= 1 ? 2 : 4,
47
+ maximumFractionDigits: 4,
48
+ }).format(totalUsd);
49
+ }
50
+ function MetadataChip(props) {
51
+ const theme = useTheme();
52
+ return (_jsx(View, { style: [
53
+ styles.chip,
54
+ {
55
+ borderColor: theme.colors.border,
56
+ backgroundColor: props.subtle ? theme.colors.background : theme.colors.surface,
57
+ },
58
+ ], children: _jsx(Text, { style: styles.chipText, children: props.label }) }));
59
+ }
60
+ function EmptyState(props) {
61
+ const theme = useTheme();
62
+ return (_jsx(View, { style: [styles.emptyState, { borderColor: theme.colors.border, backgroundColor: theme.colors.background }], children: _jsx(Text, { style: styles.mutedText, children: props.message }) }));
63
+ }
64
+ function FlowLaneCard(props) {
65
+ const theme = useTheme();
66
+ const laneTime = formatFlowTime(props.lane.startedAt);
67
+ const laneCost = formatUsd(props.lane.totalUsd);
68
+ return (_jsxs(Card, { style: styles.sectionCard, children: [_jsxs(View, { style: styles.cardHeader, children: [_jsxs(View, { style: styles.cardHeaderText, children: [_jsx(Text, { style: styles.cardTitle, children: props.lane.agent }), _jsxs(Text, { style: styles.mutedText, children: [laneTime ? `${laneTime} · ` : '', props.lane.runId] })] }), _jsxs(View, { style: styles.metaRow, children: [_jsx(MetadataChip, { label: props.lane.status }), _jsx(MetadataChip, { label: `${props.lane.segmentCount} phases` }), _jsx(MetadataChip, { label: `${props.lane.toolCount} tools` }), laneCost ? _jsx(MetadataChip, { label: laneCost }) : null] })] }), _jsx(View, { style: styles.segmentRow, children: props.lane.segments.map((segment) => (_jsxs(View, { style: [
69
+ styles.segmentCard,
70
+ {
71
+ borderColor: theme.colors.border,
72
+ backgroundColor: theme.colors.background,
73
+ flexGrow: segment.weight,
74
+ },
75
+ ], children: [_jsxs(View, { style: styles.segmentHeader, children: [_jsx(Text, { style: styles.segmentTitle, children: segment.title }), segment.secondaryLabel ? _jsx(MetadataChip, { label: segment.secondaryLabel, subtle: true }) : null] }), _jsx(Text, { children: segment.detail }), _jsxs(View, { style: styles.metaRow, children: [_jsx(MetadataChip, { label: segment.kind, subtle: true }), _jsx(MetadataChip, { label: segment.status, subtle: true }), renderSegmentTiming(segment), segment.filePaths.length > 0 ? _jsx(MetadataChip, { label: `${segment.filePaths.length} files`, subtle: true }) : null] })] }, segment.id))) })] }));
76
+ }
77
+ function renderSegmentTiming(segment) {
78
+ const time = formatFlowTime(segment.startedAt);
79
+ const duration = formatDuration(segment.startedAt, segment.endedAt);
80
+ if (time == null && duration == null) {
81
+ return null;
82
+ }
83
+ return _jsx(MetadataChip, { label: [time, duration].filter(Boolean).join(' · '), subtle: true });
84
+ }
85
+ function TranscriptCard(props) {
86
+ const time = formatFlowTime(props.node.timestamp);
87
+ return (_jsxs(Card, { style: styles.sectionCard, children: [_jsx(View, { style: styles.cardHeader, children: _jsxs(View, { style: styles.cardHeaderText, children: [_jsxs(View, { style: styles.segmentHeader, children: [_jsx(MetadataChip, { label: props.node.kind, subtle: true }), _jsx(Text, { style: styles.cardTitle, children: props.node.label }), props.node.status ? _jsx(MetadataChip, { label: props.node.status, subtle: true }) : null] }), _jsxs(Text, { style: styles.mutedText, children: [time ? `${time} · ` : '', props.node.runId] })] }) }), _jsx(Text, { children: props.node.text }), props.node.filePaths.length > 0 ? (_jsx(View, { style: styles.metaRow, children: _jsx(MetadataChip, { label: `${props.node.filePaths.length} files`, subtle: true }) })) : null] }));
88
+ }
89
+ function FileCard(props) {
90
+ const lastEvent = formatFlowTime(props.file.lastEventAt);
91
+ return (_jsxs(Card, { style: styles.sectionCard, children: [_jsxs(View, { style: styles.cardHeader, children: [_jsxs(View, { style: styles.cardHeaderText, children: [_jsx(Text, { style: styles.cardTitle, children: props.file.path }), lastEvent ? _jsx(Text, { style: styles.mutedText, children: lastEvent }) : null] }), _jsx(MetadataChip, { label: `${props.file.touches} touches` })] }), _jsxs(View, { style: styles.metaRow, children: [_jsx(MetadataChip, { label: `${props.file.reads} reads`, subtle: true }), _jsx(MetadataChip, { label: `${props.file.writes} writes`, subtle: true }), _jsx(MetadataChip, { label: `${props.file.runIds.length} dispatches`, subtle: true }), props.file.tools.length > 0 ? _jsx(MetadataChip, { label: `${props.file.tools.length} tools`, subtle: true }) : null] })] }));
92
+ }
93
+ export function SessionFlowView(props) {
94
+ const theme = useTheme();
95
+ const activeItems = props.viewMode === 'flow'
96
+ ? props.model.lanes
97
+ : props.viewMode === 'transcript'
98
+ ? props.model.transcript
99
+ : props.model.files;
100
+ const totalCost = formatUsd(props.model.summary.totalUsd);
101
+ return (_jsxs(View, { style: styles.container, children: [_jsxs(View, { style: styles.summaryRow, children: [_jsx(MetadataChip, { label: `${props.model.summary.totalRuns} dispatches` }), _jsx(MetadataChip, { label: `${props.model.summary.totalSegments} segments` }), _jsx(MetadataChip, { label: `${props.model.summary.totalTools} tools` }), _jsx(MetadataChip, { label: `${props.model.summary.fileCount} files` }), props.model.summary.pendingTools > 0 ? (_jsx(MetadataChip, { label: `${props.model.summary.pendingTools} pending tools` })) : null, totalCost ? _jsx(MetadataChip, { label: totalCost }) : null] }), _jsx(View, { style: styles.tabRow, children: VIEW_ITEMS.map((item) => {
102
+ const active = props.viewMode === item.value;
103
+ const count = item.value === 'flow'
104
+ ? props.model.lanes.length
105
+ : item.value === 'transcript'
106
+ ? props.model.transcript.length
107
+ : props.model.files.length;
108
+ return (_jsxs(Pressable, { accessibilityRole: "button", accessibilityLabel: item.label.toLowerCase(), onPress: () => props.onViewModeChange(item.value), style: [
109
+ styles.tab,
110
+ {
111
+ borderColor: theme.colors.border,
112
+ backgroundColor: active ? theme.colors.primary : theme.colors.surface,
113
+ },
114
+ ], children: [_jsx(Text, { style: [styles.tabText, active ? styles.tabTextActive : null], children: item.label.toLowerCase() }), _jsx(Text, { style: [styles.tabBadge, active ? styles.tabTextActive : styles.mutedText], children: count })] }, item.value));
115
+ }) }), _jsxs(ScrollView, { style: styles.scroll, contentContainerStyle: styles.scrollContent, children: [props.viewMode === 'flow' ? props.model.lanes.map((lane) => _jsx(FlowLaneCard, { lane: lane }, lane.runId)) : null, props.viewMode === 'transcript'
116
+ ? props.model.transcript.map((node) => _jsx(TranscriptCard, { node: node }, node.id))
117
+ : null, props.viewMode === 'files' ? props.model.files.map((file) => _jsx(FileCard, { file: file }, file.path)) : null, activeItems.length === 0 ? _jsx(EmptyState, { message: EMPTY_MESSAGES[props.viewMode] }) : null] })] }));
118
+ }
119
+ const styles = StyleSheet.create({
120
+ container: {
121
+ flex: 1,
122
+ gap: 12,
123
+ },
124
+ summaryRow: {
125
+ flexDirection: 'row',
126
+ flexWrap: 'wrap',
127
+ gap: 8,
128
+ },
129
+ chip: {
130
+ borderWidth: 1,
131
+ borderRadius: 999,
132
+ paddingHorizontal: 10,
133
+ paddingVertical: 6,
134
+ },
135
+ chipText: {
136
+ fontSize: 12,
137
+ lineHeight: 16,
138
+ fontWeight: '600',
139
+ },
140
+ tabRow: {
141
+ flexDirection: 'row',
142
+ flexWrap: 'wrap',
143
+ gap: 8,
144
+ },
145
+ tab: {
146
+ borderWidth: 1,
147
+ borderRadius: 999,
148
+ paddingHorizontal: 12,
149
+ paddingVertical: 8,
150
+ flexDirection: 'row',
151
+ alignItems: 'center',
152
+ gap: 8,
153
+ },
154
+ tabText: {
155
+ fontWeight: '700',
156
+ },
157
+ tabTextActive: {
158
+ color: '#ffffff',
159
+ },
160
+ tabBadge: {
161
+ fontSize: 12,
162
+ lineHeight: 16,
163
+ fontWeight: '700',
164
+ },
165
+ scroll: {
166
+ flex: 1,
167
+ },
168
+ scrollContent: {
169
+ gap: 10,
170
+ paddingBottom: 16,
171
+ },
172
+ sectionCard: {
173
+ gap: 10,
174
+ },
175
+ cardHeader: {
176
+ flexDirection: 'row',
177
+ flexWrap: 'wrap',
178
+ justifyContent: 'space-between',
179
+ alignItems: 'flex-start',
180
+ gap: 10,
181
+ },
182
+ cardHeaderText: {
183
+ flexShrink: 1,
184
+ gap: 4,
185
+ },
186
+ cardTitle: {
187
+ fontWeight: '700',
188
+ },
189
+ segmentRow: {
190
+ flexDirection: 'row',
191
+ flexWrap: 'wrap',
192
+ gap: 10,
193
+ },
194
+ segmentCard: {
195
+ minWidth: 180,
196
+ flexBasis: 180,
197
+ borderWidth: 1,
198
+ borderRadius: 12,
199
+ padding: 10,
200
+ gap: 8,
201
+ },
202
+ segmentHeader: {
203
+ flexDirection: 'row',
204
+ flexWrap: 'wrap',
205
+ alignItems: 'center',
206
+ gap: 8,
207
+ },
208
+ segmentTitle: {
209
+ fontWeight: '600',
210
+ },
211
+ metaRow: {
212
+ flexDirection: 'row',
213
+ flexWrap: 'wrap',
214
+ gap: 8,
215
+ },
216
+ mutedText: {
217
+ fontSize: 12,
218
+ lineHeight: 16,
219
+ opacity: 0.8,
220
+ },
221
+ emptyState: {
222
+ borderWidth: 1,
223
+ borderStyle: 'dashed',
224
+ borderRadius: 14,
225
+ padding: 14,
226
+ },
227
+ });
228
+ //# sourceMappingURL=SessionFlowView.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SessionFlowView.js","sourceRoot":"","sources":["../../../src/components/session-flow/SessionFlowView.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ export { GatewayClient } from './client/GatewayClient.js';
2
+ export { GatewayProvider } from './hooks/GatewayProvider.js';
3
+ export { useGateway } from './hooks/useGateway.js';
4
+ export { useAgents } from './hooks/useAgents.js';
5
+ export { useRun } from './hooks/useRun.js';
6
+ export { useHookRequests } from './hooks/useHookRequests.js';
7
+ export { useConnection } from './hooks/useConnection.js';
8
+ export type { AgentRecord } from './store/index.js';
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gateway.d.ts","sourceRoot":"","sources":["../src/gateway.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,YAAY,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC"}
@@ -0,0 +1,8 @@
1
+ export { GatewayClient } from './client/GatewayClient.js';
2
+ export { GatewayProvider } from './hooks/GatewayProvider.js';
3
+ export { useGateway } from './hooks/useGateway.js';
4
+ export { useAgents } from './hooks/useAgents.js';
5
+ export { useRun } from './hooks/useRun.js';
6
+ export { useHookRequests } from './hooks/useHookRequests.js';
7
+ export { useConnection } from './hooks/useConnection.js';
8
+ //# sourceMappingURL=gateway.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gateway.js","sourceRoot":"","sources":["../src/gateway.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC"}
@@ -0,0 +1,10 @@
1
+ import React from 'react';
2
+ import type { GatewayClient } from '../client/GatewayClient.js';
3
+ import { type GatewayStore } from '../store/index.js';
4
+ export declare const GatewayClientContext: React.Context<GatewayClient | null>;
5
+ export declare const GatewayStoreContext: React.Context<GatewayStore | null>;
6
+ export interface GatewayProviderProps {
7
+ client: GatewayClient;
8
+ children: React.ReactNode;
9
+ }
10
+ export declare function GatewayProvider({ client, children }: GatewayProviderProps): JSX.Element;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GatewayProvider.d.ts","sourceRoot":"","sources":["../../src/hooks/GatewayProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA4C,MAAM,OAAO,CAAC;AAEjE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,EAAsB,KAAK,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAE1E,eAAO,MAAM,oBAAoB,qCAA4C,CAAC;AAC9E,eAAO,MAAM,mBAAmB,oCAA2C,CAAC;AAuE5E,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,aAAa,CAAC;IACtB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B;AAED,wBAAgB,eAAe,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,oBAAoB,GAAG,GAAG,CAAC,OAAO,CAyBvF"}
@@ -0,0 +1,84 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { createContext, useEffect, useMemo } from 'react';
3
+ import { createGatewayStore } from '../store/index.js';
4
+ export const GatewayClientContext = createContext(null);
5
+ export const GatewayStoreContext = createContext(null);
6
+ function bindClientToStore(client, store) {
7
+ const disconnectors = [
8
+ client.on('connected', () => store.getState().actions.setConnection('connected')),
9
+ client.on('disconnected', (event) => store.getState().actions.setConnection('disconnected', event.reason ?? null)),
10
+ client.on('error', (error) => store.getState().actions.setConnection('disconnected', error instanceof Error ? error.message : String(error))),
11
+ client.on('frame', (frame) => {
12
+ const type = frame['type'];
13
+ if (type === 'run.event' && typeof frame['runId'] === 'string' && typeof frame['seq'] === 'number') {
14
+ const runId = frame['runId'];
15
+ const event = frame['event'];
16
+ store.getState().actions.mergeRunEvent(runId, frame['seq'], String(frame['source'] ?? 'gateway'), event);
17
+ if (event['type'] === 'session_start' && typeof event['sessionId'] === 'string') {
18
+ store.getState().actions.mergeRun(runId, { sessionId: event['sessionId'] });
19
+ store.getState().actions.mergeSession(event['sessionId'], {
20
+ agent: event['agent'],
21
+ activeRunId: runId,
22
+ latestRunId: runId,
23
+ status: 'active',
24
+ });
25
+ }
26
+ if (event['type'] === 'run.finalized') {
27
+ const exitReason = String(event['exitReason'] ?? 'failed');
28
+ const status = exitReason === 'completed'
29
+ ? 'completed'
30
+ : exitReason === 'aborted' || exitReason === 'interrupted' || exitReason === 'killed'
31
+ ? 'aborted'
32
+ : 'failed';
33
+ store.getState().actions.mergeRun(runId, { status, exitReason });
34
+ const run = store.getState().runs.byId[runId];
35
+ const sessionId = typeof run?.sessionId === 'string' ? run.sessionId : null;
36
+ if (sessionId) {
37
+ store.getState().actions.mergeSession(sessionId, {
38
+ status: 'inactive',
39
+ activeRunId: null,
40
+ latestRunId: runId,
41
+ });
42
+ }
43
+ }
44
+ }
45
+ if (type === 'hook.request') {
46
+ store.getState().actions.addHookRequest({
47
+ hookRequestId: String(frame['hookRequestId']),
48
+ runId: String(frame['runId']),
49
+ hookKind: String(frame['hookKind']),
50
+ payload: (frame['payload'] ?? {}),
51
+ deadlineTs: Number(frame['deadlineTs'] ?? 0),
52
+ });
53
+ }
54
+ if (type === 'hook.resolved') {
55
+ const requests = Object.entries(store.getState().hooks.byRunId);
56
+ for (const [runId, pending] of requests) {
57
+ if (pending.some((request) => request.hookRequestId === frame['hookRequestId'])) {
58
+ store.getState().actions.resolveHookRequest(runId, String(frame['hookRequestId']));
59
+ }
60
+ }
61
+ }
62
+ }),
63
+ ];
64
+ return () => {
65
+ for (const disconnect of disconnectors)
66
+ disconnect();
67
+ };
68
+ }
69
+ export function GatewayProvider({ client, children }) {
70
+ const store = useMemo(() => createGatewayStore(client), [client]);
71
+ useEffect(() => {
72
+ store.getState().actions.setConnection('connecting');
73
+ const unbind = bindClientToStore(client, store);
74
+ void client.connect().catch((error) => {
75
+ store.getState().actions.setConnection('disconnected', error instanceof Error ? error.message : String(error));
76
+ });
77
+ return () => {
78
+ unbind();
79
+ void client.close();
80
+ };
81
+ }, [client, store]);
82
+ return (_jsx(GatewayClientContext.Provider, { value: client, children: _jsx(GatewayStoreContext.Provider, { value: store, children: children }) }));
83
+ }
84
+ //# sourceMappingURL=GatewayProvider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GatewayProvider.js","sourceRoot":"","sources":["../../src/hooks/GatewayProvider.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export declare function useAgents(): string[];
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useAgents.d.ts","sourceRoot":"","sources":["../../src/hooks/useAgents.ts"],"names":[],"mappings":"AAIA,wBAAgB,SAAS,aAGxB"}
@@ -0,0 +1,7 @@
1
+ import { useStore } from 'zustand';
2
+ import { useGateway } from './useGateway.js';
3
+ export function useAgents() {
4
+ const { store } = useGateway();
5
+ return useStore(store, (state) => state.agents.items);
6
+ }
7
+ //# sourceMappingURL=useAgents.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useAgents.js","sourceRoot":"","sources":["../../src/hooks/useAgents.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAEnC,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAE7C,MAAM,UAAU,SAAS;IACvB,MAAM,EAAE,KAAK,EAAE,GAAG,UAAU,EAAE,CAAC;IAC/B,OAAO,QAAQ,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AACxD,CAAC"}
@@ -0,0 +1 @@
1
+ export declare function useConnection(): import("../store/index.js").ConnectionSlice;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useConnection.d.ts","sourceRoot":"","sources":["../../src/hooks/useConnection.ts"],"names":[],"mappings":"AAIA,wBAAgB,aAAa,gDAG5B"}
@@ -0,0 +1,7 @@
1
+ import { useStore } from 'zustand';
2
+ import { useGateway } from './useGateway.js';
3
+ export function useConnection() {
4
+ const { store } = useGateway();
5
+ return useStore(store, (state) => state.connection);
6
+ }
7
+ //# sourceMappingURL=useConnection.js.map