@a5c-ai/genty-ui 5.1.1-staging.49ba9041003d

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 (486) 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/RunStatusBadge.d.ts +3 -0
  167. package/dist/components/RunStatusBadge.d.ts.map +1 -0
  168. package/dist/components/RunStatusBadge.js +7 -0
  169. package/dist/components/RunStatusBadge.js.map +1 -0
  170. package/dist/components/Session/SessionCost.d.ts +22 -0
  171. package/dist/components/Session/SessionCost.d.ts.map +1 -0
  172. package/dist/components/Session/SessionCost.js +168 -0
  173. package/dist/components/Session/SessionCost.js.map +1 -0
  174. package/dist/components/Session/SessionShell.d.ts +63 -0
  175. package/dist/components/Session/SessionShell.d.ts.map +1 -0
  176. package/dist/components/Session/SessionShell.js +150 -0
  177. package/dist/components/Session/SessionShell.js.map +1 -0
  178. package/dist/components/Session/SessionTabs.d.ts +6 -0
  179. package/dist/components/Session/SessionTabs.d.ts.map +1 -0
  180. package/dist/components/Session/SessionTabs.js +7 -0
  181. package/dist/components/Session/SessionTabs.js.map +1 -0
  182. package/dist/components/Session/index.d.ts +7 -0
  183. package/dist/components/Session/index.d.ts.map +1 -0
  184. package/dist/components/Session/index.js +5 -0
  185. package/dist/components/Session/index.js.map +1 -0
  186. package/dist/components/Session/sessionUtils.d.ts +31 -0
  187. package/dist/components/Session/sessionUtils.d.ts.map +1 -0
  188. package/dist/components/Session/sessionUtils.js +90 -0
  189. package/dist/components/Session/sessionUtils.js.map +1 -0
  190. package/dist/components/SessionListItem.d.ts +5 -0
  191. package/dist/components/SessionListItem.d.ts.map +1 -0
  192. package/dist/components/SessionListItem.js +8 -0
  193. package/dist/components/SessionListItem.js.map +1 -0
  194. package/dist/components/Workspace/WorkspaceAssociations.d.ts +10 -0
  195. package/dist/components/Workspace/WorkspaceAssociations.d.ts.map +1 -0
  196. package/dist/components/Workspace/WorkspaceAssociations.js +72 -0
  197. package/dist/components/Workspace/WorkspaceAssociations.js.map +1 -0
  198. package/dist/components/Workspace/WorkspaceCodespace.d.ts +18 -0
  199. package/dist/components/Workspace/WorkspaceCodespace.d.ts.map +1 -0
  200. package/dist/components/Workspace/WorkspaceCodespace.js +91 -0
  201. package/dist/components/Workspace/WorkspaceCodespace.js.map +1 -0
  202. package/dist/components/Workspace/WorkspacePanel.d.ts +89 -0
  203. package/dist/components/Workspace/WorkspacePanel.d.ts.map +1 -0
  204. package/dist/components/Workspace/WorkspacePanel.js +451 -0
  205. package/dist/components/Workspace/WorkspacePanel.js.map +1 -0
  206. package/dist/components/Workspace/index.d.ts +6 -0
  207. package/dist/components/Workspace/index.d.ts.map +1 -0
  208. package/dist/components/Workspace/index.js +4 -0
  209. package/dist/components/Workspace/index.js.map +1 -0
  210. package/dist/components/event-cards/TextDeltaBubble.d.ts +3 -0
  211. package/dist/components/event-cards/TextDeltaBubble.d.ts.map +1 -0
  212. package/dist/components/event-cards/TextDeltaBubble.js +7 -0
  213. package/dist/components/event-cards/TextDeltaBubble.js.map +1 -0
  214. package/dist/components/event-cards/ThinkingBubble.d.ts +3 -0
  215. package/dist/components/event-cards/ThinkingBubble.d.ts.map +1 -0
  216. package/dist/components/event-cards/ThinkingBubble.js +7 -0
  217. package/dist/components/event-cards/ThinkingBubble.js.map +1 -0
  218. package/dist/components/event-cards/ToolCallCard.d.ts +7 -0
  219. package/dist/components/event-cards/ToolCallCard.d.ts.map +1 -0
  220. package/dist/components/event-cards/ToolCallCard.js +27 -0
  221. package/dist/components/event-cards/ToolCallCard.js.map +1 -0
  222. package/dist/components/event-cards/ToolResultCard.d.ts +7 -0
  223. package/dist/components/event-cards/ToolResultCard.d.ts.map +1 -0
  224. package/dist/components/event-cards/ToolResultCard.js +20 -0
  225. package/dist/components/event-cards/ToolResultCard.js.map +1 -0
  226. package/dist/components/event-cards/builtins.d.ts +1 -0
  227. package/dist/components/event-cards/builtins.d.ts.map +1 -0
  228. package/dist/components/event-cards/builtins.js +31 -0
  229. package/dist/components/event-cards/builtins.js.map +1 -0
  230. package/dist/components/event-cards/index.d.ts +6 -0
  231. package/dist/components/event-cards/index.d.ts.map +1 -0
  232. package/dist/components/event-cards/index.js +6 -0
  233. package/dist/components/event-cards/index.js.map +1 -0
  234. package/dist/components/event-cards/registry.d.ts +24 -0
  235. package/dist/components/event-cards/registry.d.ts.map +1 -0
  236. package/dist/components/event-cards/registry.js +24 -0
  237. package/dist/components/event-cards/registry.js.map +1 -0
  238. package/dist/components/event-cards/renderers/bash.d.ts +2 -0
  239. package/dist/components/event-cards/renderers/bash.d.ts.map +1 -0
  240. package/dist/components/event-cards/renderers/bash.js +8 -0
  241. package/dist/components/event-cards/renderers/bash.js.map +1 -0
  242. package/dist/components/event-cards/renderers/edit.d.ts +2 -0
  243. package/dist/components/event-cards/renderers/edit.d.ts.map +1 -0
  244. package/dist/components/event-cards/renderers/edit.js +8 -0
  245. package/dist/components/event-cards/renderers/edit.js.map +1 -0
  246. package/dist/components/event-cards/renderers/generic.d.ts +2 -0
  247. package/dist/components/event-cards/renderers/generic.d.ts.map +1 -0
  248. package/dist/components/event-cards/renderers/generic.js +33 -0
  249. package/dist/components/event-cards/renderers/generic.js.map +1 -0
  250. package/dist/components/event-cards/renderers/glob.d.ts +2 -0
  251. package/dist/components/event-cards/renderers/glob.d.ts.map +1 -0
  252. package/dist/components/event-cards/renderers/glob.js +8 -0
  253. package/dist/components/event-cards/renderers/glob.js.map +1 -0
  254. package/dist/components/event-cards/renderers/grep.d.ts +2 -0
  255. package/dist/components/event-cards/renderers/grep.d.ts.map +1 -0
  256. package/dist/components/event-cards/renderers/grep.js +8 -0
  257. package/dist/components/event-cards/renderers/grep.js.map +1 -0
  258. package/dist/components/event-cards/renderers/read.d.ts +2 -0
  259. package/dist/components/event-cards/renderers/read.d.ts.map +1 -0
  260. package/dist/components/event-cards/renderers/read.js +8 -0
  261. package/dist/components/event-cards/renderers/read.js.map +1 -0
  262. package/dist/components/event-cards/renderers/web-fetch.d.ts +2 -0
  263. package/dist/components/event-cards/renderers/web-fetch.d.ts.map +1 -0
  264. package/dist/components/event-cards/renderers/web-fetch.js +8 -0
  265. package/dist/components/event-cards/renderers/web-fetch.js.map +1 -0
  266. package/dist/components/event-cards/renderers/web-search.d.ts +2 -0
  267. package/dist/components/event-cards/renderers/web-search.d.ts.map +1 -0
  268. package/dist/components/event-cards/renderers/web-search.js +8 -0
  269. package/dist/components/event-cards/renderers/web-search.js.map +1 -0
  270. package/dist/components/event-cards/renderers/write.d.ts +2 -0
  271. package/dist/components/event-cards/renderers/write.d.ts.map +1 -0
  272. package/dist/components/event-cards/renderers/write.js +8 -0
  273. package/dist/components/event-cards/renderers/write.js.map +1 -0
  274. package/dist/components/primitives/Button.d.ts +5 -0
  275. package/dist/components/primitives/Button.d.ts.map +1 -0
  276. package/dist/components/primitives/Button.js +19 -0
  277. package/dist/components/primitives/Button.js.map +1 -0
  278. package/dist/components/primitives/Card.d.ts +2 -0
  279. package/dist/components/primitives/Card.d.ts.map +1 -0
  280. package/dist/components/primitives/Card.js +22 -0
  281. package/dist/components/primitives/Card.js.map +1 -0
  282. package/dist/components/primitives/CommandPalette.d.ts +21 -0
  283. package/dist/components/primitives/CommandPalette.d.ts.map +1 -0
  284. package/dist/components/primitives/CommandPalette.js +229 -0
  285. package/dist/components/primitives/CommandPalette.js.map +1 -0
  286. package/dist/components/primitives/ConfirmDialog.d.ts +19 -0
  287. package/dist/components/primitives/ConfirmDialog.d.ts.map +1 -0
  288. package/dist/components/primitives/ConfirmDialog.js +78 -0
  289. package/dist/components/primitives/ConfirmDialog.js.map +1 -0
  290. package/dist/components/primitives/NotificationBell.d.ts +5 -0
  291. package/dist/components/primitives/NotificationBell.d.ts.map +1 -0
  292. package/dist/components/primitives/NotificationBell.js +202 -0
  293. package/dist/components/primitives/NotificationBell.js.map +1 -0
  294. package/dist/components/primitives/Pagination.d.ts +14 -0
  295. package/dist/components/primitives/Pagination.d.ts.map +1 -0
  296. package/dist/components/primitives/Pagination.js +46 -0
  297. package/dist/components/primitives/Pagination.js.map +1 -0
  298. package/dist/components/primitives/ScrollContainer.d.ts +2 -0
  299. package/dist/components/primitives/ScrollContainer.d.ts.map +1 -0
  300. package/dist/components/primitives/ScrollContainer.js +17 -0
  301. package/dist/components/primitives/ScrollContainer.js.map +1 -0
  302. package/dist/components/primitives/Text.d.ts +2 -0
  303. package/dist/components/primitives/Text.d.ts.map +1 -0
  304. package/dist/components/primitives/Text.js +14 -0
  305. package/dist/components/primitives/Text.js.map +1 -0
  306. package/dist/components/primitives/index.d.ts +13 -0
  307. package/dist/components/primitives/index.d.ts.map +1 -0
  308. package/dist/components/primitives/index.js +9 -0
  309. package/dist/components/primitives/index.js.map +1 -0
  310. package/dist/components/primitives/theme.d.ts +8 -0
  311. package/dist/components/primitives/theme.d.ts.map +1 -0
  312. package/dist/components/primitives/theme.js +10 -0
  313. package/dist/components/primitives/theme.js.map +1 -0
  314. package/dist/components/session-flow/SessionFlowView.d.ts +9 -0
  315. package/dist/components/session-flow/SessionFlowView.d.ts.map +1 -0
  316. package/dist/components/session-flow/SessionFlowView.js +228 -0
  317. package/dist/components/session-flow/SessionFlowView.js.map +1 -0
  318. package/dist/gateway.d.ts +8 -0
  319. package/dist/gateway.d.ts.map +1 -0
  320. package/dist/gateway.js +8 -0
  321. package/dist/gateway.js.map +1 -0
  322. package/dist/hooks/GatewayProvider.d.ts +10 -0
  323. package/dist/hooks/GatewayProvider.d.ts.map +1 -0
  324. package/dist/hooks/GatewayProvider.js +84 -0
  325. package/dist/hooks/GatewayProvider.js.map +1 -0
  326. package/dist/hooks/useAgents.d.ts +1 -0
  327. package/dist/hooks/useAgents.d.ts.map +1 -0
  328. package/dist/hooks/useAgents.js +7 -0
  329. package/dist/hooks/useAgents.js.map +1 -0
  330. package/dist/hooks/useConnection.d.ts +1 -0
  331. package/dist/hooks/useConnection.d.ts.map +1 -0
  332. package/dist/hooks/useConnection.js +7 -0
  333. package/dist/hooks/useConnection.js.map +1 -0
  334. package/dist/hooks/useCostTotals.d.ts +3 -0
  335. package/dist/hooks/useCostTotals.d.ts.map +1 -0
  336. package/dist/hooks/useCostTotals.js +8 -0
  337. package/dist/hooks/useCostTotals.js.map +1 -0
  338. package/dist/hooks/useGateway.d.ts +4 -0
  339. package/dist/hooks/useGateway.d.ts.map +1 -0
  340. package/dist/hooks/useGateway.js +11 -0
  341. package/dist/hooks/useGateway.js.map +1 -0
  342. package/dist/hooks/useHookRequests.d.ts +1 -0
  343. package/dist/hooks/useHookRequests.d.ts.map +1 -0
  344. package/dist/hooks/useHookRequests.js +9 -0
  345. package/dist/hooks/useHookRequests.js.map +1 -0
  346. package/dist/hooks/useRun.d.ts +1 -0
  347. package/dist/hooks/useRun.d.ts.map +1 -0
  348. package/dist/hooks/useRun.js +7 -0
  349. package/dist/hooks/useRun.js.map +1 -0
  350. package/dist/hooks/useRunEvents.d.ts +8 -0
  351. package/dist/hooks/useRunEvents.d.ts.map +1 -0
  352. package/dist/hooks/useRunEvents.js +8 -0
  353. package/dist/hooks/useRunEvents.js.map +1 -0
  354. package/dist/hooks/useSendSessionMessage.d.ts +6 -0
  355. package/dist/hooks/useSendSessionMessage.d.ts.map +1 -0
  356. package/dist/hooks/useSendSessionMessage.js +19 -0
  357. package/dist/hooks/useSendSessionMessage.js.map +1 -0
  358. package/dist/hooks/useSession.d.ts +1 -0
  359. package/dist/hooks/useSession.d.ts.map +1 -0
  360. package/dist/hooks/useSession.js +7 -0
  361. package/dist/hooks/useSession.js.map +1 -0
  362. package/dist/hooks/useSessions.d.ts +1 -0
  363. package/dist/hooks/useSessions.d.ts.map +1 -0
  364. package/dist/hooks/useSessions.js +8 -0
  365. package/dist/hooks/useSessions.js.map +1 -0
  366. package/dist/hooks/useStartSession.d.ts +10 -0
  367. package/dist/hooks/useStartSession.d.ts.map +1 -0
  368. package/dist/hooks/useStartSession.js +29 -0
  369. package/dist/hooks/useStartSession.js.map +1 -0
  370. package/dist/hooks/useStopRun.d.ts +1 -0
  371. package/dist/hooks/useStopRun.d.ts.map +1 -0
  372. package/dist/hooks/useStopRun.js +11 -0
  373. package/dist/hooks/useStopRun.js.map +1 -0
  374. package/dist/index.d.ts +49 -0
  375. package/dist/index.d.ts.map +1 -0
  376. package/dist/index.js +46 -0
  377. package/dist/index.js.map +1 -0
  378. package/dist/protocol/v1.d.ts +111 -0
  379. package/dist/protocol/v1.d.ts.map +1 -0
  380. package/dist/protocol/v1.js +2 -0
  381. package/dist/protocol/v1.js.map +1 -0
  382. package/dist/screens/AgentsScreen.d.ts +4 -0
  383. package/dist/screens/AgentsScreen.d.ts.map +1 -0
  384. package/dist/screens/AgentsScreen.js +9 -0
  385. package/dist/screens/AgentsScreen.js.map +1 -0
  386. package/dist/screens/HookInboxScreen.d.ts +1 -0
  387. package/dist/screens/HookInboxScreen.d.ts.map +1 -0
  388. package/dist/screens/HookInboxScreen.js +19 -0
  389. package/dist/screens/HookInboxScreen.js.map +1 -0
  390. package/dist/screens/NewRunScreen.d.ts +6 -0
  391. package/dist/screens/NewRunScreen.d.ts.map +1 -0
  392. package/dist/screens/NewRunScreen.js +35 -0
  393. package/dist/screens/NewRunScreen.js.map +1 -0
  394. package/dist/screens/SessionDetailScreen.d.ts +3 -0
  395. package/dist/screens/SessionDetailScreen.d.ts.map +1 -0
  396. package/dist/screens/SessionDetailScreen.js +46 -0
  397. package/dist/screens/SessionDetailScreen.js.map +1 -0
  398. package/dist/screens/SessionListScreen.d.ts +3 -0
  399. package/dist/screens/SessionListScreen.d.ts.map +1 -0
  400. package/dist/screens/SessionListScreen.js +9 -0
  401. package/dist/screens/SessionListScreen.js.map +1 -0
  402. package/dist/screens/SettingsScreen.d.ts +1 -0
  403. package/dist/screens/SettingsScreen.d.ts.map +1 -0
  404. package/dist/screens/SettingsScreen.js +9 -0
  405. package/dist/screens/SettingsScreen.js.map +1 -0
  406. package/dist/session-flow/adapters.d.ts +36 -0
  407. package/dist/session-flow/adapters.d.ts.map +1 -0
  408. package/dist/session-flow/adapters.js +362 -0
  409. package/dist/session-flow/adapters.js.map +1 -0
  410. package/dist/session-flow/cost.d.ts +2 -0
  411. package/dist/session-flow/cost.d.ts.map +1 -0
  412. package/dist/session-flow/cost.js +30 -0
  413. package/dist/session-flow/cost.js.map +1 -0
  414. package/dist/session-flow/file-attention.d.ts +3 -0
  415. package/dist/session-flow/file-attention.d.ts.map +1 -0
  416. package/dist/session-flow/file-attention.js +43 -0
  417. package/dist/session-flow/file-attention.js.map +1 -0
  418. package/dist/session-flow/model.d.ts +6 -0
  419. package/dist/session-flow/model.d.ts.map +1 -0
  420. package/dist/session-flow/model.js +110 -0
  421. package/dist/session-flow/model.js.map +1 -0
  422. package/dist/session-flow/native.d.ts +3 -0
  423. package/dist/session-flow/native.d.ts.map +1 -0
  424. package/dist/session-flow/native.js +185 -0
  425. package/dist/session-flow/native.js.map +1 -0
  426. package/dist/session-flow/projector.d.ts +8 -0
  427. package/dist/session-flow/projector.d.ts.map +1 -0
  428. package/dist/session-flow/projector.js +392 -0
  429. package/dist/session-flow/projector.js.map +1 -0
  430. package/dist/session-flow/types.d.ts +87 -0
  431. package/dist/session-flow/types.d.ts.map +1 -0
  432. package/dist/session-flow/types.js +2 -0
  433. package/dist/session-flow/types.js.map +1 -0
  434. package/dist/session-flow/utils.d.ts +11 -0
  435. package/dist/session-flow/utils.d.ts.map +1 -0
  436. package/dist/session-flow/utils.js +118 -0
  437. package/dist/session-flow/utils.js.map +1 -0
  438. package/dist/session-flow.d.ts +7 -0
  439. package/dist/session-flow.d.ts.map +1 -0
  440. package/dist/session-flow.js +6 -0
  441. package/dist/session-flow.js.map +1 -0
  442. package/dist/store/index.d.ts +72 -0
  443. package/dist/store/index.d.ts.map +1 -0
  444. package/dist/store/index.js +145 -0
  445. package/dist/store/index.js.map +1 -0
  446. package/dist/store/selectors.d.ts +15 -0
  447. package/dist/store/selectors.d.ts.map +1 -0
  448. package/dist/store/selectors.js +72 -0
  449. package/dist/store/selectors.js.map +1 -0
  450. package/dist/store/slices/agents.d.ts +2 -0
  451. package/dist/store/slices/agents.d.ts.map +1 -0
  452. package/dist/store/slices/agents.js +4 -0
  453. package/dist/store/slices/agents.js.map +1 -0
  454. package/dist/store/slices/connection.d.ts +2 -0
  455. package/dist/store/slices/connection.d.ts.map +1 -0
  456. package/dist/store/slices/connection.js +4 -0
  457. package/dist/store/slices/connection.js.map +1 -0
  458. package/dist/store/slices/events.d.ts +2 -0
  459. package/dist/store/slices/events.d.ts.map +1 -0
  460. package/dist/store/slices/events.js +4 -0
  461. package/dist/store/slices/events.js.map +1 -0
  462. package/dist/store/slices/hooks.d.ts +2 -0
  463. package/dist/store/slices/hooks.d.ts.map +1 -0
  464. package/dist/store/slices/hooks.js +4 -0
  465. package/dist/store/slices/hooks.js.map +1 -0
  466. package/dist/store/slices/runs.d.ts +2 -0
  467. package/dist/store/slices/runs.d.ts.map +1 -0
  468. package/dist/store/slices/runs.js +4 -0
  469. package/dist/store/slices/runs.js.map +1 -0
  470. package/dist/store/slices/sessions.d.ts +2 -0
  471. package/dist/store/slices/sessions.d.ts.map +1 -0
  472. package/dist/store/slices/sessions.js +4 -0
  473. package/dist/store/slices/sessions.js.map +1 -0
  474. package/dist/theme/dark.d.ts +2 -0
  475. package/dist/theme/dark.d.ts.map +1 -0
  476. package/dist/theme/dark.js +21 -0
  477. package/dist/theme/dark.js.map +1 -0
  478. package/dist/theme/light.d.ts +2 -0
  479. package/dist/theme/light.d.ts.map +1 -0
  480. package/dist/theme/light.js +21 -0
  481. package/dist/theme/light.js.map +1 -0
  482. package/dist/theme/tokens.d.ts +20 -0
  483. package/dist/theme/tokens.d.ts.map +1 -0
  484. package/dist/theme/tokens.js +2 -0
  485. package/dist/theme/tokens.js.map +1 -0
  486. package/package.json +146 -0
@@ -0,0 +1,136 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useMemo, useState } from 'react';
3
+ import { AgentAppearanceEditor } from './AgentAppearanceEditor.js';
4
+ import { AgentPersonaEditor } from './AgentPersonaEditor.js';
5
+ import { AgentSoulEditor } from './AgentSoulEditor.js';
6
+ import { AgentVoiceEditor } from './AgentVoiceEditor.js';
7
+ const STEPS = ['identity', 'soul', 'skills', 'appearance', 'voice', 'infrastructure', 'review'];
8
+ function slugify(value) {
9
+ return String(value || 'new-agent')
10
+ .toLowerCase()
11
+ .replace(/[^a-z0-9]+/g, '-')
12
+ .replace(/^-|-$/g, '') || 'new-agent';
13
+ }
14
+ async function writeResource(org, endpoint, resource, method = 'POST') {
15
+ const response = await fetch(`/api/orgs/${encodeURIComponent(org)}/agents/${endpoint}`, {
16
+ method,
17
+ headers: { 'Content-Type': 'application/json' },
18
+ body: JSON.stringify(resource),
19
+ });
20
+ const data = await response.json();
21
+ if (!response.ok || data.error)
22
+ throw new Error(data.message || data.error || `Failed to create ${String(resource.kind)}`);
23
+ return data.resource || data;
24
+ }
25
+ function AgentDefinitionForm({ stacks, value, onChange, }) {
26
+ return (_jsxs("fieldset", { style: { border: '1px solid var(--border)', borderRadius: 6, padding: '0.75rem' }, children: [_jsx("legend", { children: "Infrastructure" }), _jsxs("label", { children: ["Stack", _jsxs("select", { "aria-label": "Stack", value: value.stackRef || '', onChange: (e) => onChange({ ...value, stackRef: e.target.value }), children: [_jsx("option", { value: "", children: "Select stack..." }), stacks.map((s) => (_jsx("option", { value: s.metadata?.name, children: s.metadata?.name }, s.metadata?.name)))] })] }), _jsxs("label", { children: ["Role context", _jsx("input", { "aria-label": "Role context", value: value.roleContext || '', onChange: (e) => onChange({ ...value, roleContext: e.target.value }) })] })] }));
27
+ }
28
+ export function AgentCreateWizard({ org, stacks = [], skills = [] }) {
29
+ const [stepIndex, setStepIndex] = useState(0);
30
+ const [status, setStatus] = useState('idle');
31
+ const [message, setMessage] = useState('');
32
+ const [createdResources, setCreatedResources] = useState([]);
33
+ const [persona, setPersona] = useState({
34
+ displayName: '',
35
+ tagline: '',
36
+ role: { title: '', domain: '' },
37
+ personality: { traits: [], communicationStyle: 'direct', tone: 'professional' },
38
+ skillRefs: [],
39
+ });
40
+ const [soul, setSoul] = useState('');
41
+ const [appearance, setAppearance] = useState({
42
+ avatar: { type: 'initials' },
43
+ theme: { primaryColor: '#2563eb' },
44
+ });
45
+ const [voice, setVoice] = useState({
46
+ ttsProvider: 'openai',
47
+ ttsConfig: { voice: 'nova', speed: 1 },
48
+ });
49
+ const [definition, setDefinition] = useState({ stackRef: '', roleContext: '' });
50
+ const name = useMemo(() => slugify(persona.displayName || ''), [persona.displayName]);
51
+ const currentStep = STEPS[stepIndex];
52
+ async function rollback(resources) {
53
+ await Promise.all([...resources].reverse().map((resource) => fetch(`/api/orgs/${encodeURIComponent(org)}/resources/${String(resource.kind)}/${encodeURIComponent(String(resource.metadata?.name || ''))}`, { method: 'DELETE', headers: { 'Content-Type': 'application/json' } }).catch(() => null)));
54
+ }
55
+ async function createAgent(event) {
56
+ event.preventDefault();
57
+ setStatus('creating');
58
+ setMessage('');
59
+ const resources = [
60
+ {
61
+ kind: 'AgentPersona',
62
+ metadata: { name },
63
+ spec: {
64
+ ...persona,
65
+ organizationRef: org,
66
+ soul: { ref: `${name}-soul` },
67
+ appearance: { ref: `${name}-appearance` },
68
+ voiceProfile: { ref: `${name}-voice` },
69
+ },
70
+ },
71
+ {
72
+ kind: 'AgentSoul',
73
+ metadata: { name: `${name}-soul` },
74
+ spec: { organizationRef: org, personaRef: name, format: 'markdown', content: soul || `# ${persona.displayName}` },
75
+ },
76
+ {
77
+ kind: 'AgentAppearance',
78
+ metadata: { name: `${name}-appearance` },
79
+ spec: { organizationRef: org, personaRef: name, ...appearance },
80
+ },
81
+ {
82
+ kind: 'AgentVoiceProfile',
83
+ metadata: { name: `${name}-voice` },
84
+ spec: { organizationRef: org, personaRef: name, ...voice },
85
+ },
86
+ {
87
+ kind: 'AgentDefinition',
88
+ metadata: { name: definition.name || `${name}-default` },
89
+ spec: { organizationRef: org, personaRef: name, stackRef: definition.stackRef, roleContext: definition.roleContext },
90
+ },
91
+ ];
92
+ const endpoints = ['personas', `souls/${name}-soul`, `appearances/${name}-appearance`, `voices/${name}-voice`, 'definitions'];
93
+ const created = [];
94
+ try {
95
+ for (let i = 0; i < resources.length; i += 1) {
96
+ const method = i === 0 || i === resources.length - 1 ? 'POST' : 'PATCH';
97
+ const createdResource = await writeResource(org, endpoints[i], resources[i], method);
98
+ created.push(createdResource);
99
+ setCreatedResources([...created]);
100
+ }
101
+ setStatus('success');
102
+ setMessage(`Created ${persona.displayName || name}`);
103
+ }
104
+ catch (error) {
105
+ await rollback(created);
106
+ setStatus('error');
107
+ setMessage(`${error instanceof Error ? error.message : 'Unknown error'}. Rolled back ${created.length} created resources.`);
108
+ }
109
+ }
110
+ function renderStep() {
111
+ if (currentStep === 'identity')
112
+ return _jsx(AgentPersonaEditor, { value: persona, onChange: setPersona });
113
+ if (currentStep === 'soul')
114
+ return _jsx(AgentSoulEditor, { value: soul, onChange: setSoul });
115
+ if (currentStep === 'skills') {
116
+ return (_jsxs("fieldset", { style: { border: '1px solid var(--border)', borderRadius: 6, padding: '0.75rem' }, children: [_jsx("legend", { children: "Skills" }), skills.map((skill) => {
117
+ const skillName = typeof skill === 'string' ? skill : skill.metadata?.name || '';
118
+ return (_jsxs("label", { style: { display: 'block' }, children: [_jsx("input", { type: "checkbox", "aria-label": `Select ${skillName}`, checked: (persona.skillRefs || []).includes(skillName), onChange: (event) => setPersona((prev) => ({
119
+ ...prev,
120
+ skillRefs: event.target.checked
121
+ ? [...(prev.skillRefs || []), skillName]
122
+ : (prev.skillRefs || []).filter((item) => item !== skillName),
123
+ })) }), ' ', skillName] }, skillName));
124
+ })] }));
125
+ }
126
+ if (currentStep === 'appearance')
127
+ return _jsx(AgentAppearanceEditor, { value: appearance, onChange: setAppearance });
128
+ if (currentStep === 'voice')
129
+ return (_jsx(AgentVoiceEditor, { org: org, name: `${name}-voice`, value: voice, onChange: setVoice }));
130
+ if (currentStep === 'infrastructure')
131
+ return _jsx(AgentDefinitionForm, { stacks: stacks, value: definition, onChange: setDefinition });
132
+ return (_jsxs("div", { className: "card", children: [_jsx("h3", { children: "Review" }), _jsxs("dl", { className: "kv", children: [_jsx("dt", { children: "Name" }), _jsx("dd", { children: name }), _jsx("dt", { children: "Display" }), _jsx("dd", { children: persona.displayName }), _jsx("dt", { children: "Stack" }), _jsx("dd", { children: definition.stackRef || 'not selected' }), _jsx("dt", { children: "Resources" }), _jsx("dd", { children: "AgentPersona, AgentSoul, AgentAppearance, AgentVoiceProfile, AgentDefinition" })] })] }));
133
+ }
134
+ return (_jsx("form", { onSubmit: createAgent, className: "stack", "aria-label": "Create agent wizard", children: _jsxs("div", { className: "card", children: [_jsxs("div", { className: "cardTitle", children: [_jsx("h2", { children: "Create Agent" }), _jsx("span", { children: currentStep })] }), _jsx("div", { style: { display: 'flex', gap: '0.35rem', flexWrap: 'wrap', marginBottom: '1rem' }, children: STEPS.map((step, index) => (_jsx("button", { type: "button", "aria-label": `Go to ${step}`, onClick: () => setStepIndex(index), className: index === stepIndex ? 'pill good' : 'pill neutral', children: step }, step))) }), renderStep(), _jsxs("div", { style: { display: 'flex', justifyContent: 'space-between', gap: '0.75rem', marginTop: '1rem' }, children: [_jsx("button", { type: "button", "aria-label": "Previous wizard step", disabled: stepIndex === 0, onClick: () => setStepIndex((v) => Math.max(0, v - 1)), children: "Previous" }), stepIndex < STEPS.length - 1 ? (_jsx("button", { type: "button", "aria-label": "Next wizard step", onClick: () => setStepIndex((v) => Math.min(STEPS.length - 1, v + 1)), children: "Next" })) : (_jsx("button", { type: "submit", "aria-label": "Create agent resources", disabled: status === 'creating' || !persona.displayName || !definition.stackRef, children: status === 'creating' ? 'Creating...' : 'Create agent' }))] }), message ? _jsx("p", { className: status === 'error' ? 'errorText' : 'muted', children: message }) : null, createdResources.length ? (_jsxs("p", { className: "muted", children: [createdResources.length, " resources created in this attempt."] })) : null] }) }));
135
+ }
136
+ //# sourceMappingURL=AgentCreateWizard.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AgentCreateWizard.js","sourceRoot":"","sources":["../../../src/components/Agent/AgentCreateWizard.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import { AgentProfile } from './AgentProfileCard.js';
2
+ export interface AgentDirectoryProps {
3
+ org: string;
4
+ profiles?: AgentProfile[];
5
+ onNavigate?: (path: string) => void;
6
+ newHref?: string;
7
+ }
8
+ export declare function AgentDirectory({ org, profiles, onNavigate, newHref }: AgentDirectoryProps): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AgentDirectory.d.ts","sourceRoot":"","sources":["../../../src/components/Agent/AgentDirectory.tsx"],"names":[],"mappings":"AACA,OAAO,EAAoB,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAEvE,MAAM,WAAW,mBAAmB;IAClC,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,CAAC,EAAE,YAAY,EAAE,CAAC;IAC1B,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACpC,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,wBAAgB,cAAc,CAAC,EAAE,GAAG,EAAE,QAAa,EAAE,UAAU,EAAE,OAAO,EAAE,EAAE,mBAAmB,2CAuD9F"}
@@ -0,0 +1,19 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { AgentProfileCard } from './AgentProfileCard.js';
3
+ export function AgentDirectory({ org, profiles = [], onNavigate, newHref }) {
4
+ const resolvedNewHref = newHref ?? `/orgs/${org}/agents/directory/new`;
5
+ return (_jsxs("section", { children: [_jsxs("div", { style: {
6
+ display: 'flex',
7
+ justifyContent: 'space-between',
8
+ gap: '1rem',
9
+ alignItems: 'center',
10
+ marginBottom: '1rem',
11
+ flexWrap: 'wrap',
12
+ }, children: [_jsxs("div", { children: [_jsx("h2", { style: { margin: 0 }, children: "Agent Directory" }), _jsx("p", { className: "muted", style: { margin: 0 }, children: "Persona identities, deployments, voices, and meeting presence." })] }), _jsx("a", { href: resolvedNewHref, className: "button", "aria-label": "Create new agent persona", onClick: onNavigate
13
+ ? (e) => {
14
+ e.preventDefault();
15
+ onNavigate(resolvedNewHref);
16
+ }
17
+ : undefined, children: "New Agent" })] }), profiles.length ? (_jsx("div", { className: "routeGrid three", children: profiles.map((profile) => (_jsx(AgentProfileCard, { profile: profile, href: `/orgs/${org}/agents/directory/${profile.name}` }, profile.name))) })) : (_jsxs("div", { className: "card emptyState", children: [_jsx("h3", { children: "No agent personas" }), _jsx("p", { children: "Create a persona to separate durable identity from runtime stack configuration." }), _jsx("a", { href: resolvedNewHref, children: "Create an agent" })] }))] }));
18
+ }
19
+ //# sourceMappingURL=AgentDirectory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AgentDirectory.js","sourceRoot":"","sources":["../../../src/components/Agent/AgentDirectory.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,gBAAgB,EAAgB,MAAM,uBAAuB,CAAC;AASvE,MAAM,UAAU,cAAc,CAAC,EAAE,GAAG,EAAE,QAAQ,GAAG,EAAE,EAAE,UAAU,EAAE,OAAO,EAAuB;IAC7F,MAAM,eAAe,GAAG,OAAO,IAAI,SAAS,GAAG,uBAAuB,CAAC;IACvE,OAAO,CACL,8BACE,eACE,KAAK,EAAE;oBACL,OAAO,EAAE,MAAM;oBACf,cAAc,EAAE,eAAe;oBAC/B,GAAG,EAAE,MAAM;oBACX,UAAU,EAAE,QAAQ;oBACpB,YAAY,EAAE,MAAM;oBACpB,QAAQ,EAAE,MAAM;iBACjB,aAED,0BACE,aAAI,KAAK,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,gCAAsB,EAC9C,YAAG,SAAS,EAAC,OAAO,EAAC,KAAK,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,+EAErC,IACA,EACN,YACE,IAAI,EAAE,eAAe,EACrB,SAAS,EAAC,QAAQ,gBACP,0BAA0B,EACrC,OAAO,EACL,UAAU;4BACR,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE;gCACJ,CAAC,CAAC,cAAc,EAAE,CAAC;gCACnB,UAAU,CAAC,eAAe,CAAC,CAAC;4BAC9B,CAAC;4BACH,CAAC,CAAC,SAAS,0BAIb,IACA,EACL,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CACjB,cAAK,SAAS,EAAC,iBAAiB,YAC7B,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CACzB,KAAC,gBAAgB,IAEf,OAAO,EAAE,OAAO,EAChB,IAAI,EAAE,SAAS,GAAG,qBAAqB,OAAO,CAAC,IAAI,EAAE,IAFhD,OAAO,CAAC,IAAI,CAGjB,CACH,CAAC,GACE,CACP,CAAC,CAAC,CAAC,CACF,eAAK,SAAS,EAAC,iBAAiB,aAC9B,6CAA0B,EAC1B,0GAAsF,EACtF,YAAG,IAAI,EAAE,eAAe,gCAAqB,IACzC,CACP,IACO,CACX,CAAC;AACJ,CAAC"}
@@ -0,0 +1,23 @@
1
+ export interface AgentPersonalitySpec {
2
+ traits?: string[];
3
+ communicationStyle?: string;
4
+ tone?: string;
5
+ explanationDepth?: string;
6
+ }
7
+ export interface AgentRoleSpec {
8
+ title?: string;
9
+ domain?: string;
10
+ expertise?: string[];
11
+ }
12
+ export interface AgentPersonaValue {
13
+ displayName?: string;
14
+ tagline?: string;
15
+ role?: AgentRoleSpec;
16
+ personality?: AgentPersonalitySpec;
17
+ skillRefs?: string[];
18
+ }
19
+ export interface AgentPersonaEditorProps {
20
+ value?: AgentPersonaValue;
21
+ onChange?: (value: AgentPersonaValue) => void;
22
+ }
23
+ export declare function AgentPersonaEditor({ value, onChange }: AgentPersonaEditorProps): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AgentPersonaEditor.d.ts","sourceRoot":"","sources":["../../../src/components/Agent/AgentPersonaEditor.tsx"],"names":[],"mappings":"AA6CA,MAAM,WAAW,oBAAoB;IACnC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,aAAa;IAC5B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;CACtB;AAED,MAAM,WAAW,iBAAiB;IAChC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,aAAa,CAAC;IACrB,WAAW,CAAC,EAAE,oBAAoB,CAAC;IACnC,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;CACtB;AAED,MAAM,WAAW,uBAAuB;IACtC,KAAK,CAAC,EAAE,iBAAiB,CAAC;IAC1B,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,iBAAiB,KAAK,IAAI,CAAC;CAC/C;AAED,wBAAgB,kBAAkB,CAAC,EAAE,KAAK,EAAE,QAAmB,EAAE,EAAE,uBAAuB,2CA2EzF"}
@@ -0,0 +1,29 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ const TRAITS = [
3
+ 'assertive',
4
+ 'detail-oriented',
5
+ 'security-conscious',
6
+ 'empathetic',
7
+ 'concise',
8
+ 'creative',
9
+ 'methodical',
10
+ ];
11
+ function AgentPersonalityTraits({ value = [], onChange = () => { } }) {
12
+ const selected = new Set(value);
13
+ function toggle(trait) {
14
+ const next = new Set(selected);
15
+ if (next.has(trait))
16
+ next.delete(trait);
17
+ else
18
+ next.add(trait);
19
+ onChange([...next]);
20
+ }
21
+ return (_jsxs("fieldset", { style: { border: '1px solid var(--border)', borderRadius: 6, padding: '0.75rem' }, children: [_jsx("legend", { children: "Traits" }), _jsx("div", { style: { display: 'flex', gap: '0.5rem', flexWrap: 'wrap' }, children: TRAITS.map((trait) => (_jsxs("label", { style: { display: 'inline-flex', gap: 6, alignItems: 'center' }, children: [_jsx("input", { type: "checkbox", checked: selected.has(trait), onChange: () => toggle(trait), "aria-label": `Toggle ${trait}` }), trait] }, trait))) })] }));
22
+ }
23
+ export function AgentPersonaEditor({ value, onChange = () => { } }) {
24
+ const update = (patch) => onChange({ ...value, ...patch });
25
+ const role = value?.role || {};
26
+ const personality = value?.personality || {};
27
+ return (_jsxs("form", { onSubmit: (event) => event.preventDefault(), className: "stack", "aria-label": "Agent persona editor", children: [_jsxs("label", { children: ["Display name", _jsx("input", { "aria-label": "Display name", value: value?.displayName || '', onChange: (event) => update({ displayName: event.target.value }) })] }), _jsxs("label", { children: ["Tagline", _jsx("input", { "aria-label": "Tagline", value: value?.tagline || '', onChange: (event) => update({ tagline: event.target.value }) })] }), _jsxs("label", { children: ["Role title", _jsx("input", { "aria-label": "Role title", value: role.title || '', onChange: (event) => update({ role: { ...role, title: event.target.value } }) })] }), _jsxs("label", { children: ["Domain", _jsx("input", { "aria-label": "Role domain", value: role.domain || '', onChange: (event) => update({ role: { ...role, domain: event.target.value } }) })] }), _jsxs("label", { children: ["Communication style", _jsxs("select", { "aria-label": "Communication style", value: personality.communicationStyle || 'direct', onChange: (event) => update({ personality: { ...personality, communicationStyle: event.target.value } }), children: [_jsx("option", { children: "direct" }), _jsx("option", { children: "gentle" }), _jsx("option", { children: "formal" }), _jsx("option", { children: "casual" })] })] }), _jsxs("label", { children: ["Tone", _jsxs("select", { "aria-label": "Tone", value: personality.tone || 'professional', onChange: (event) => update({ personality: { ...personality, tone: event.target.value } }), children: [_jsx("option", { children: "professional" }), _jsx("option", { children: "friendly" }), _jsx("option", { children: "academic" }), _jsx("option", { children: "playful" })] })] }), _jsx(AgentPersonalityTraits, { value: personality.traits || [], onChange: (traits) => update({ personality: { ...personality, traits } }) }), _jsx("button", { type: "submit", "aria-label": "Keep persona changes", children: "Keep persona changes" })] }));
28
+ }
29
+ //# sourceMappingURL=AgentPersonaEditor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AgentPersonaEditor.js","sourceRoot":"","sources":["../../../src/components/Agent/AgentPersonaEditor.tsx"],"names":[],"mappings":";AAEA,MAAM,MAAM,GAAG;IACb,WAAW;IACX,iBAAiB;IACjB,oBAAoB;IACpB,YAAY;IACZ,SAAS;IACT,UAAU;IACV,YAAY;CACb,CAAC;AAOF,SAAS,sBAAsB,CAAC,EAAE,KAAK,GAAG,EAAE,EAAE,QAAQ,GAAG,GAAG,EAAE,GAAE,CAAC,EAA+B;IAC9F,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC;IAChC,SAAS,MAAM,CAAC,KAAa;QAC3B,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC/B,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC;YAAE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;;YACnC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACrB,QAAQ,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;IACtB,CAAC;IACD,OAAO,CACL,oBAAU,KAAK,EAAE,EAAE,MAAM,EAAE,yBAAyB,EAAE,YAAY,EAAE,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,aACzF,sCAAuB,EACvB,cAAK,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,YAC7D,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CACrB,iBAAmB,KAAK,EAAE,EAAE,OAAO,EAAE,aAAa,EAAE,GAAG,EAAE,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,aAChF,gBACE,IAAI,EAAC,UAAU,EACf,OAAO,EAAE,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,EAC5B,QAAQ,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,gBACjB,UAAU,KAAK,EAAE,GAC7B,EACD,KAAK,KAPI,KAAK,CAQT,CACT,CAAC,GACE,IACG,CACZ,CAAC;AACJ,CAAC;AA4BD,MAAM,UAAU,kBAAkB,CAAC,EAAE,KAAK,EAAE,QAAQ,GAAG,GAAG,EAAE,GAAE,CAAC,EAA2B;IACxF,MAAM,MAAM,GAAG,CAAC,KAAiC,EAAE,EAAE,CAAC,QAAQ,CAAC,EAAE,GAAG,KAAK,EAAE,GAAG,KAAK,EAAE,CAAC,CAAC;IACvF,MAAM,IAAI,GAAG,KAAK,EAAE,IAAI,IAAI,EAAE,CAAC;IAC/B,MAAM,WAAW,GAAG,KAAK,EAAE,WAAW,IAAI,EAAE,CAAC;IAC7C,OAAO,CACL,gBAAM,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,cAAc,EAAE,EAAE,SAAS,EAAC,OAAO,gBAAY,sBAAsB,aACpG,4CAEE,8BACa,cAAc,EACzB,KAAK,EAAE,KAAK,EAAE,WAAW,IAAI,EAAE,EAC/B,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,GAChE,IACI,EACR,uCAEE,8BACa,SAAS,EACpB,KAAK,EAAE,KAAK,EAAE,OAAO,IAAI,EAAE,EAC3B,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,GAC5D,IACI,EACR,0CAEE,8BACa,YAAY,EACvB,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,EAAE,EACvB,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,EAAE,GAAG,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,CAAC,GAC7E,IACI,EACR,sCAEE,8BACa,aAAa,EACxB,KAAK,EAAE,IAAI,CAAC,MAAM,IAAI,EAAE,EACxB,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,EAAE,GAAG,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,CAAC,GAC9E,IACI,EACR,mDAEE,gCACa,qBAAqB,EAChC,KAAK,EAAE,WAAW,CAAC,kBAAkB,IAAI,QAAQ,EACjD,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE,CAClB,MAAM,CAAC,EAAE,WAAW,EAAE,EAAE,GAAG,WAAW,EAAE,kBAAkB,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,CAAC,aAGrF,sCAAuB,EACvB,sCAAuB,EACvB,sCAAuB,EACvB,sCAAuB,IAChB,IACH,EACR,oCAEE,gCACa,MAAM,EACjB,KAAK,EAAE,WAAW,CAAC,IAAI,IAAI,cAAc,EACzC,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,EAAE,GAAG,WAAW,EAAE,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,CAAC,aAE1F,4CAA6B,EAC7B,wCAAyB,EACzB,wCAAyB,EACzB,uCAAwB,IACjB,IACH,EACR,KAAC,sBAAsB,IACrB,KAAK,EAAE,WAAW,CAAC,MAAM,IAAI,EAAE,EAC/B,QAAQ,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,EAAE,GAAG,WAAW,EAAE,MAAM,EAAE,EAAE,CAAC,GACzE,EACF,iBAAQ,IAAI,EAAC,QAAQ,gBAAY,sBAAsB,qCAE9C,IACJ,CACR,CAAC;AACJ,CAAC"}
@@ -0,0 +1,39 @@
1
+ export interface AgentAvatar {
2
+ url?: string;
3
+ emoji?: string;
4
+ initials?: string;
5
+ color?: string;
6
+ }
7
+ export interface AgentProfileStatus {
8
+ dispatchCount?: number;
9
+ averageRating?: number;
10
+ meetingCount?: number;
11
+ phase?: string;
12
+ }
13
+ export interface AgentDefinitionRef {
14
+ metadata?: {
15
+ name?: string;
16
+ };
17
+ spec?: {
18
+ stackRef?: string;
19
+ };
20
+ status?: {
21
+ dispatchCount?: number;
22
+ };
23
+ }
24
+ export interface AgentProfile {
25
+ name?: string;
26
+ displayName?: string;
27
+ roleTitle?: string;
28
+ roleDomain?: string;
29
+ tagline?: string;
30
+ avatar?: AgentAvatar;
31
+ status?: AgentProfileStatus;
32
+ definitions?: AgentDefinitionRef[];
33
+ skillRefs?: string[];
34
+ }
35
+ export interface AgentProfileCardProps {
36
+ profile: AgentProfile;
37
+ href: string;
38
+ }
39
+ export declare function AgentProfileCard({ profile, href }: AgentProfileCardProps): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AgentProfileCard.d.ts","sourceRoot":"","sources":["../../../src/components/Agent/AgentProfileCard.tsx"],"names":[],"mappings":"AAEA,MAAM,WAAW,WAAW;IAC1B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,kBAAkB;IACjC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC7B,IAAI,CAAC,EAAE;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC7B,MAAM,CAAC,EAAE;QAAE,aAAa,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CACrC;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,MAAM,CAAC,EAAE,kBAAkB,CAAC;IAC5B,WAAW,CAAC,EAAE,kBAAkB,EAAE,CAAC;IACnC,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;CACtB;AA+BD,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,YAAY,CAAC;IACtB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,wBAAgB,gBAAgB,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,qBAAqB,2CAiCxE"}
@@ -0,0 +1,27 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ function Avatar({ avatar, label, size = 48 }) {
3
+ const style = {
4
+ width: size,
5
+ height: size,
6
+ borderRadius: 8,
7
+ display: 'inline-flex',
8
+ alignItems: 'center',
9
+ justifyContent: 'center',
10
+ background: avatar?.color || '#2563eb',
11
+ color: '#fff',
12
+ fontWeight: 800,
13
+ flexShrink: 0,
14
+ };
15
+ if (avatar?.url) {
16
+ return _jsx("img", { src: avatar.url, alt: `${label} avatar`, style: { ...style, objectFit: 'cover' } });
17
+ }
18
+ return (_jsx("span", { role: "img", "aria-label": `${label} avatar`, style: style, children: avatar?.emoji || avatar?.initials || 'AI' }));
19
+ }
20
+ export function AgentProfileCard({ profile, href }) {
21
+ const runCount = profile?.status?.dispatchCount ??
22
+ profile?.definitions?.reduce((sum, definition) => sum + Number(definition.status?.dispatchCount || 0), 0) ??
23
+ 0;
24
+ const rating = profile?.status?.averageRating;
25
+ return (_jsxs("article", { className: "card", style: { display: 'flex', flexDirection: 'column', gap: '0.75rem', minHeight: 220 }, children: [_jsxs("div", { style: { display: 'flex', gap: '0.75rem', alignItems: 'center' }, children: [_jsx(Avatar, { avatar: profile?.avatar, label: profile?.displayName || 'Agent' }), _jsxs("div", { children: [_jsx("h3", { style: { margin: 0 }, children: profile?.displayName || profile?.name }), _jsx("p", { className: "muted", style: { margin: 0 }, children: profile?.roleTitle || 'Agent persona' })] })] }), _jsx("p", { style: { margin: 0, color: 'var(--text-muted)' }, children: profile?.tagline || profile?.roleDomain || 'Reusable identity for Kradle dispatch and meetings.' }), _jsxs("div", { style: { display: 'flex', gap: '0.5rem', flexWrap: 'wrap', marginTop: 'auto' }, children: [_jsxs("span", { className: "pill neutral", children: [runCount, " runs"] }), rating ? _jsxs("span", { className: "pill good", children: [rating, " avg"] }) : null, profile?.status?.meetingCount ? (_jsxs("span", { className: "pill neutral", children: [profile.status.meetingCount, " meetings"] })) : null] }), _jsx("a", { href: href, "aria-label": `View ${profile?.displayName || profile?.name} profile`, children: "View profile" })] }));
26
+ }
27
+ //# sourceMappingURL=AgentProfileCard.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AgentProfileCard.js","sourceRoot":"","sources":["../../../src/components/Agent/AgentProfileCard.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,68 @@
1
+ import { AgentAppearanceSpec } from './AgentAppearanceEditor.js';
2
+ import { AgentPersonaValue } from './AgentPersonaEditor.js';
3
+ import { AgentVoiceSpec } from './AgentVoiceEditor.js';
4
+ import { AgentAvatar } from './AgentProfileCard.js';
5
+ export interface AgentSoulResource {
6
+ spec?: {
7
+ content?: string;
8
+ version?: string;
9
+ };
10
+ }
11
+ export interface AgentPersonaResource {
12
+ spec?: {
13
+ soul?: {
14
+ inline?: string;
15
+ };
16
+ personality?: {
17
+ tone?: string;
18
+ communicationStyle?: string;
19
+ explanationDepth?: string;
20
+ traits?: string[];
21
+ };
22
+ } & AgentPersonaValue;
23
+ }
24
+ export interface AgentDefinitionResource {
25
+ metadata?: {
26
+ name?: string;
27
+ };
28
+ spec?: {
29
+ stackRef?: string;
30
+ };
31
+ }
32
+ export interface AgentAppearanceResource {
33
+ spec?: AgentAppearanceSpec & {
34
+ badge?: {
35
+ text?: string;
36
+ };
37
+ };
38
+ }
39
+ export interface AgentVoiceProfileResource {
40
+ metadata?: {
41
+ name?: string;
42
+ };
43
+ spec?: AgentVoiceSpec;
44
+ }
45
+ export interface AgentProfilePageData {
46
+ name?: string;
47
+ displayName?: string;
48
+ roleTitle?: string;
49
+ roleDomain?: string;
50
+ tagline?: string;
51
+ avatar?: AgentAvatar;
52
+ status?: {
53
+ phase?: string;
54
+ dispatchCount?: number;
55
+ averageRating?: number;
56
+ };
57
+ skillRefs?: string[];
58
+ definitions?: AgentDefinitionResource[];
59
+ soul?: AgentSoulResource;
60
+ persona?: AgentPersonaResource;
61
+ appearance?: AgentAppearanceResource;
62
+ voiceProfile?: AgentVoiceProfileResource;
63
+ }
64
+ export interface AgentProfilePageProps {
65
+ org: string;
66
+ profile?: AgentProfilePageData | null;
67
+ }
68
+ export declare function AgentProfilePage({ org, profile }: AgentProfilePageProps): import("react/jsx-runtime").JSX.Element | null;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AgentProfilePage.d.ts","sourceRoot":"","sources":["../../../src/components/Agent/AgentProfilePage.tsx"],"names":[],"mappings":"AACA,OAAO,EAAyB,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACxF,OAAO,EAAsB,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAEhF,OAAO,EAAoB,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACzE,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAEpD,MAAM,WAAW,iBAAiB;IAChC,IAAI,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CAC/C;AAED,MAAM,WAAW,oBAAoB;IACnC,IAAI,CAAC,EAAE;QACL,IAAI,CAAC,EAAE;YAAE,MAAM,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC;QAC3B,WAAW,CAAC,EAAE;YACZ,IAAI,CAAC,EAAE,MAAM,CAAC;YACd,kBAAkB,CAAC,EAAE,MAAM,CAAC;YAC5B,gBAAgB,CAAC,EAAE,MAAM,CAAC;YAC1B,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;SACnB,CAAC;KACH,GAAG,iBAAiB,CAAC;CACvB;AAED,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC7B,IAAI,CAAC,EAAE;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CAC9B;AAED,MAAM,WAAW,uBAAuB;IACtC,IAAI,CAAC,EAAE,mBAAmB,GAAG;QAAE,KAAK,CAAC,EAAE;YAAE,IAAI,CAAC,EAAE,MAAM,CAAA;SAAE,CAAA;KAAE,CAAC;CAC5D;AAED,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC7B,IAAI,CAAC,EAAE,cAAc,CAAC;CACvB;AAED,MAAM,WAAW,oBAAoB;IACnC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,MAAM,CAAC,EAAE;QACP,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,aAAa,CAAC,EAAE,MAAM,CAAC;KACxB,CAAC;IACF,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,WAAW,CAAC,EAAE,uBAAuB,EAAE,CAAC;IACxC,IAAI,CAAC,EAAE,iBAAiB,CAAC;IACzB,OAAO,CAAC,EAAE,oBAAoB,CAAC;IAC/B,UAAU,CAAC,EAAE,uBAAuB,CAAC;IACrC,YAAY,CAAC,EAAE,yBAAyB,CAAC;CAC1C;AAgCD,MAAM,WAAW,qBAAqB;IACpC,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,CAAC,EAAE,oBAAoB,GAAG,IAAI,CAAC;CACvC;AAED,wBAAgB,gBAAgB,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,EAAE,qBAAqB,kDA+FvE"}
@@ -0,0 +1,31 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { AgentAppearanceEditor } from './AgentAppearanceEditor.js';
3
+ import { AgentPersonaEditor } from './AgentPersonaEditor.js';
4
+ import { AgentSoulEditor } from './AgentSoulEditor.js';
5
+ import { AgentVoiceEditor } from './AgentVoiceEditor.js';
6
+ function AvatarDisplay({ profile }) {
7
+ const avatar = profile?.avatar || {};
8
+ const style = {
9
+ width: 88,
10
+ height: 88,
11
+ borderRadius: 8,
12
+ background: avatar.color || '#2563eb',
13
+ color: '#fff',
14
+ display: 'flex',
15
+ alignItems: 'center',
16
+ justifyContent: 'center',
17
+ fontSize: '1.75rem',
18
+ fontWeight: 800,
19
+ };
20
+ if (avatar.url) {
21
+ return (_jsx("img", { src: avatar.url, alt: `${profile.displayName} avatar`, style: { ...style, objectFit: 'cover' } }));
22
+ }
23
+ return (_jsx("span", { role: "img", "aria-label": `${profile?.displayName || 'Agent'} avatar`, style: style, children: avatar.emoji || avatar.initials || 'AI' }));
24
+ }
25
+ export function AgentProfilePage({ org, profile }) {
26
+ if (!profile)
27
+ return null;
28
+ const soulContent = profile.soul?.spec?.content || profile.persona?.spec?.soul?.inline || '';
29
+ return (_jsxs("section", { className: "stack", children: [_jsxs("div", { className: "card", style: { display: 'flex', gap: '1rem', alignItems: 'center', flexWrap: 'wrap' }, children: [_jsx(AvatarDisplay, { profile: profile }), _jsxs("div", { children: [_jsx("h2", { style: { margin: 0 }, children: profile.displayName }), _jsx("p", { style: { margin: '0.25rem 0' }, children: profile.roleTitle }), _jsx("p", { className: "muted", style: { margin: 0 }, children: profile.roleDomain || profile.tagline })] }), _jsx("span", { className: "pill good", children: profile.status?.phase || 'Active' }), _jsxs("span", { className: "pill neutral", children: [profile.status?.dispatchCount || 0, " runs"] }), profile.status?.averageRating ? (_jsxs("span", { className: "pill good", children: [profile.status.averageRating, " rating"] })) : null] }), _jsxs("div", { className: "routeGrid two", children: [_jsxs("article", { className: "card", children: [_jsxs("div", { className: "cardTitle", children: [_jsx("h3", { children: "Soul" }), _jsx("span", { children: profile.soul?.spec?.version || 'draft' })] }), _jsx("p", { style: { whiteSpace: 'pre-wrap' }, children: soulContent || 'No soul document has been attached.' }), _jsx(AgentSoulEditor, { value: soulContent })] }), _jsxs("article", { className: "card", children: [_jsxs("div", { className: "cardTitle", children: [_jsx("h3", { children: "Personality" }), _jsx("span", { children: profile.persona?.spec?.personality?.tone || 'professional' })] }), _jsxs("dl", { className: "kv", children: [_jsx("dt", { children: "Style" }), _jsx("dd", { children: profile.persona?.spec?.personality?.communicationStyle || 'direct' }), _jsx("dt", { children: "Depth" }), _jsx("dd", { children: profile.persona?.spec?.personality?.explanationDepth || 'moderate' }), _jsx("dt", { children: "Traits" }), _jsx("dd", { children: (profile.persona?.spec?.personality?.traits || []).join(', ') || 'none' })] }), _jsx(AgentPersonaEditor, { value: profile.persona?.spec || {} })] }), _jsxs("article", { className: "card", children: [_jsxs("div", { className: "cardTitle", children: [_jsx("h3", { children: "Skills" }), _jsx("span", { children: profile.skillRefs?.length ?? 0 })] }), profile.skillRefs?.length ? (_jsx("ul", { className: "compactList", children: profile.skillRefs.map((skill) => (_jsx("li", { children: skill }, skill))) })) : (_jsx("p", { className: "emptyText", children: "No skills linked." }))] }), _jsxs("article", { className: "card", children: [_jsxs("div", { className: "cardTitle", children: [_jsx("h3", { children: "Deployments" }), _jsx("span", { children: profile.definitions?.length ?? 0 })] }), profile.definitions?.length ? (_jsx("ul", { className: "compactList", children: profile.definitions.map((definition) => (_jsxs("li", { children: [definition.metadata?.name, " ", '->', " ", definition.spec?.stackRef] }, definition.metadata?.name))) })) : (_jsx("p", { className: "emptyText", children: "No AgentDefinition deployments." }))] }), _jsxs("article", { className: "card", children: [_jsxs("div", { className: "cardTitle", children: [_jsx("h3", { children: "Appearance" }), _jsx("span", { children: profile.appearance?.spec?.badge?.text || 'profile' })] }), _jsx(AgentAppearanceEditor, { value: profile.appearance?.spec || {} })] }), _jsxs("article", { className: "card", children: [_jsxs("div", { className: "cardTitle", children: [_jsx("h3", { children: "Voice" }), _jsx("span", { children: profile.voiceProfile?.spec?.ttsProvider || 'none' })] }), _jsx(AgentVoiceEditor, { org: org, name: profile.voiceProfile?.metadata?.name || `${profile.name}-voice`, value: profile.voiceProfile?.spec || { ttsProvider: 'openai' } })] })] })] }));
30
+ }
31
+ //# sourceMappingURL=AgentProfilePage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AgentProfilePage.js","sourceRoot":"","sources":["../../../src/components/Agent/AgentProfilePage.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ export interface AgentSoulEditorProps {
2
+ value?: string;
3
+ onChange?: (value: string) => void;
4
+ }
5
+ export declare function AgentSoulEditor({ value, onChange }: AgentSoulEditorProps): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AgentSoulEditor.d.ts","sourceRoot":"","sources":["../../../src/components/Agent/AgentSoulEditor.tsx"],"names":[],"mappings":"AAEA,MAAM,WAAW,oBAAoB;IACnC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CACpC;AAED,wBAAgB,eAAe,CAAC,EAAE,KAAU,EAAE,QAAmB,EAAE,EAAE,oBAAoB,2CAkBxF"}
@@ -0,0 +1,5 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ export function AgentSoulEditor({ value = '', onChange = () => { } }) {
3
+ return (_jsxs("form", { onSubmit: (event) => event.preventDefault(), className: "stack", "aria-label": "Agent soul editor", children: [_jsxs("label", { children: ["Soul document", _jsx("textarea", { "aria-label": "Soul markdown", rows: 10, value: value, onChange: (event) => onChange(event.target.value), placeholder: '# Identity\nDescribe values, boundaries, and communication principles.' })] }), _jsx("button", { type: "submit", "aria-label": "Keep soul document", children: "Keep soul document" })] }));
4
+ }
5
+ //# sourceMappingURL=AgentSoulEditor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AgentSoulEditor.js","sourceRoot":"","sources":["../../../src/components/Agent/AgentSoulEditor.tsx"],"names":[],"mappings":";AAOA,MAAM,UAAU,eAAe,CAAC,EAAE,KAAK,GAAG,EAAE,EAAE,QAAQ,GAAG,GAAG,EAAE,GAAE,CAAC,EAAwB;IACvF,OAAO,CACL,gBAAM,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,cAAc,EAAE,EAAE,SAAS,EAAC,OAAO,gBAAY,mBAAmB,aACjG,6CAEE,iCACa,eAAe,EAC1B,IAAI,EAAE,EAAE,EACR,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,EACjD,WAAW,EAAE,wEAAwE,GACrF,IACI,EACR,iBAAQ,IAAI,EAAC,QAAQ,gBAAY,oBAAoB,mCAE5C,IACJ,CACR,CAAC;AACJ,CAAC"}
@@ -0,0 +1,17 @@
1
+ export interface AgentTtsConfig {
2
+ voice?: string;
3
+ speed?: number;
4
+ }
5
+ export interface AgentVoiceSpec {
6
+ ttsProvider?: string;
7
+ ttsConfig?: AgentTtsConfig;
8
+ }
9
+ export interface AgentVoiceEditorProps {
10
+ org: string;
11
+ name: string;
12
+ value?: AgentVoiceSpec;
13
+ onChange?: (value: AgentVoiceSpec) => void;
14
+ /** Override for preview API URL, defaults to /api/orgs/:org/agents/voices/:name/preview */
15
+ onPreview?: (text: string, voice: string | undefined) => Promise<string>;
16
+ }
17
+ export declare function AgentVoiceEditor({ org, name, value, onChange, onPreview }: AgentVoiceEditorProps): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AgentVoiceEditor.d.ts","sourceRoot":"","sources":["../../../src/components/Agent/AgentVoiceEditor.tsx"],"names":[],"mappings":"AAEA,MAAM,WAAW,cAAc;IAC7B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,cAAc;IAC7B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,cAAc,CAAC;CAC5B;AAED,MAAM,WAAW,qBAAqB;IACpC,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,cAAc,CAAC;IACvB,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,cAAc,KAAK,IAAI,CAAC;IAC3C,2FAA2F;IAC3F,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,SAAS,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;CAC1E;AAED,wBAAgB,gBAAgB,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,KAAU,EAAE,QAAmB,EAAE,SAAS,EAAE,EAAE,qBAAqB,2CAmEhH"}
@@ -0,0 +1,29 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useState } from 'react';
3
+ export function AgentVoiceEditor({ org, name, value = {}, onChange = () => { }, onPreview }) {
4
+ const [preview, setPreview] = useState('');
5
+ const ttsConfig = value.ttsConfig || {};
6
+ const update = (patch) => onChange({ ...value, ...patch });
7
+ const updateConfig = (patch) => update({ ttsConfig: { ...ttsConfig, ...patch } });
8
+ async function previewVoice() {
9
+ try {
10
+ if (onPreview) {
11
+ const result = await onPreview(preview || 'This is an agent voice preview.', ttsConfig.voice);
12
+ setPreview(result);
13
+ return;
14
+ }
15
+ const response = await fetch(`/api/orgs/${encodeURIComponent(org)}/agents/voices/${encodeURIComponent(name || 'new-agent-voice')}/preview`, {
16
+ method: 'POST',
17
+ headers: { 'Content-Type': 'application/json' },
18
+ body: JSON.stringify({ text: preview || 'This is an agent voice preview.', voice: ttsConfig.voice }),
19
+ });
20
+ const data = await response.json();
21
+ setPreview(data.preview?.text || data.message || 'Preview requested');
22
+ }
23
+ catch (error) {
24
+ setPreview((error instanceof Error ? error.message : null) || 'Preview failed');
25
+ }
26
+ }
27
+ return (_jsxs("form", { onSubmit: (event) => event.preventDefault(), className: "stack", "aria-label": "Agent voice editor", children: [_jsxs("label", { children: ["TTS provider", _jsx("input", { "aria-label": "TTS provider", value: value.ttsProvider || 'openai', onChange: (event) => update({ ttsProvider: event.target.value }) })] }), _jsxs("label", { children: ["Voice", _jsx("input", { "aria-label": "Voice", value: ttsConfig.voice || '', onChange: (event) => updateConfig({ voice: event.target.value }) })] }), _jsxs("label", { children: ["Speed", _jsx("input", { type: "number", min: "0.5", max: "2", step: "0.1", "aria-label": "Voice speed", value: ttsConfig.speed || 1, onChange: (event) => updateConfig({ speed: Number(event.target.value) }) })] }), _jsx("button", { type: "button", "aria-label": "Preview voice", onClick: previewVoice, children: "Preview voice" }), _jsx("button", { type: "submit", "aria-label": "Keep voice", children: "Keep voice" }), preview ? _jsx("p", { className: "muted", children: preview }) : null] }));
28
+ }
29
+ //# sourceMappingURL=AgentVoiceEditor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AgentVoiceEditor.js","sourceRoot":"","sources":["../../../src/components/Agent/AgentVoiceEditor.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ export interface ApprovalDecisionButtonsProps {
2
+ org: string;
3
+ approvalName: string;
4
+ }
5
+ export declare function ApprovalDecisionButtons({ org, approvalName }: ApprovalDecisionButtonsProps): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ApprovalActions.d.ts","sourceRoot":"","sources":["../../../src/components/Agent/ApprovalActions.tsx"],"names":[],"mappings":"AAEA,MAAM,WAAW,4BAA4B;IAC3C,GAAG,EAAE,MAAM,CAAC;IACZ,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,wBAAgB,uBAAuB,CAAC,EAAE,GAAG,EAAE,YAAY,EAAE,EAAE,4BAA4B,2CAmG1F"}