@wzrhine/agent 0.0.0-stage → 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (347) hide show
  1. package/CHANGELOG.md +23 -0
  2. package/LICENSE +21 -0
  3. package/README.md +29 -3
  4. package/dist/agent.css +15 -0
  5. package/dist/components/artifact/ArtifactCard.d.ts +56 -0
  6. package/dist/components/artifact/ArtifactCard.d.ts.map +1 -0
  7. package/dist/components/artifact/ArtifactCard.js +78 -0
  8. package/dist/components/artifact/ArtifactCard.js.map +1 -0
  9. package/dist/components/artifact/FilePreview.d.ts +117 -0
  10. package/dist/components/artifact/FilePreview.d.ts.map +1 -0
  11. package/dist/components/artifact/FilePreview.js +207 -0
  12. package/dist/components/artifact/FilePreview.js.map +1 -0
  13. package/dist/components/artifact/FilePreviewTabs.d.ts +51 -0
  14. package/dist/components/artifact/FilePreviewTabs.d.ts.map +1 -0
  15. package/dist/components/artifact/FilePreviewTabs.js +150 -0
  16. package/dist/components/artifact/FilePreviewTabs.js.map +1 -0
  17. package/dist/components/composer/AttachmentList.d.ts +33 -0
  18. package/dist/components/composer/AttachmentList.d.ts.map +1 -0
  19. package/dist/components/composer/AttachmentList.js +56 -0
  20. package/dist/components/composer/AttachmentList.js.map +1 -0
  21. package/dist/components/composer/Composer.d.ts +113 -0
  22. package/dist/components/composer/Composer.d.ts.map +1 -0
  23. package/dist/components/composer/Composer.js +327 -0
  24. package/dist/components/composer/Composer.js.map +1 -0
  25. package/dist/components/composer/ComposerInput.d.ts +101 -0
  26. package/dist/components/composer/ComposerInput.d.ts.map +1 -0
  27. package/dist/components/composer/ComposerInput.js +301 -0
  28. package/dist/components/composer/ComposerInput.js.map +1 -0
  29. package/dist/components/composer/ComposerNotice.d.ts +38 -0
  30. package/dist/components/composer/ComposerNotice.d.ts.map +1 -0
  31. package/dist/components/composer/ComposerNotice.js +16 -0
  32. package/dist/components/composer/ComposerNotice.js.map +1 -0
  33. package/dist/components/composer/MentionMenu.d.ts +37 -0
  34. package/dist/components/composer/MentionMenu.d.ts.map +1 -0
  35. package/dist/components/composer/MentionMenu.js +55 -0
  36. package/dist/components/composer/MentionMenu.js.map +1 -0
  37. package/dist/components/composer/MenuPanel.d.ts +49 -0
  38. package/dist/components/composer/MenuPanel.d.ts.map +1 -0
  39. package/dist/components/composer/MenuPanel.js +50 -0
  40. package/dist/components/composer/MenuPanel.js.map +1 -0
  41. package/dist/components/composer/ModelPicker.d.ts +40 -0
  42. package/dist/components/composer/ModelPicker.d.ts.map +1 -0
  43. package/dist/components/composer/ModelPicker.js +115 -0
  44. package/dist/components/composer/ModelPicker.js.map +1 -0
  45. package/dist/components/composer/PermissionPicker.d.ts +31 -0
  46. package/dist/components/composer/PermissionPicker.d.ts.map +1 -0
  47. package/dist/components/composer/PermissionPicker.js +43 -0
  48. package/dist/components/composer/PermissionPicker.js.map +1 -0
  49. package/dist/components/composer/SendStopButton.d.ts +71 -0
  50. package/dist/components/composer/SendStopButton.d.ts.map +1 -0
  51. package/dist/components/composer/SendStopButton.js +87 -0
  52. package/dist/components/composer/SendStopButton.js.map +1 -0
  53. package/dist/components/composer/SlashCommandMenu.d.ts +33 -0
  54. package/dist/components/composer/SlashCommandMenu.d.ts.map +1 -0
  55. package/dist/components/composer/SlashCommandMenu.js +43 -0
  56. package/dist/components/composer/SlashCommandMenu.js.map +1 -0
  57. package/dist/components/composer/composer-text.d.ts +10 -0
  58. package/dist/components/composer/composer-text.d.ts.map +1 -0
  59. package/dist/components/composer/composer-text.js +26 -0
  60. package/dist/components/composer/composer-text.js.map +1 -0
  61. package/dist/components/composer/composer-utils.d.ts +74 -0
  62. package/dist/components/composer/composer-utils.d.ts.map +1 -0
  63. package/dist/components/composer/composer-utils.js +133 -0
  64. package/dist/components/composer/composer-utils.js.map +1 -0
  65. package/dist/components/conversation/ConversationList.d.ts +88 -0
  66. package/dist/components/conversation/ConversationList.d.ts.map +1 -0
  67. package/dist/components/conversation/ConversationList.js +81 -0
  68. package/dist/components/conversation/ConversationList.js.map +1 -0
  69. package/dist/components/conversation/ConversationRow.d.ts +66 -0
  70. package/dist/components/conversation/ConversationRow.d.ts.map +1 -0
  71. package/dist/components/conversation/ConversationRow.js +65 -0
  72. package/dist/components/conversation/ConversationRow.js.map +1 -0
  73. package/dist/components/conversation/conversation-status.d.ts +21 -0
  74. package/dist/components/conversation/conversation-status.d.ts.map +1 -0
  75. package/dist/components/conversation/conversation-status.js +33 -0
  76. package/dist/components/conversation/conversation-status.js.map +1 -0
  77. package/dist/components/intervention/ApprovalDiff.d.ts +14 -0
  78. package/dist/components/intervention/ApprovalDiff.d.ts.map +1 -0
  79. package/dist/components/intervention/ApprovalDiff.js +25 -0
  80. package/dist/components/intervention/ApprovalDiff.js.map +1 -0
  81. package/dist/components/intervention/ApprovalPanel.d.ts +57 -0
  82. package/dist/components/intervention/ApprovalPanel.d.ts.map +1 -0
  83. package/dist/components/intervention/ApprovalPanel.js +111 -0
  84. package/dist/components/intervention/ApprovalPanel.js.map +1 -0
  85. package/dist/components/intervention/ErrorRecoveryNotice.d.ts +28 -0
  86. package/dist/components/intervention/ErrorRecoveryNotice.d.ts.map +1 -0
  87. package/dist/components/intervention/ErrorRecoveryNotice.js +30 -0
  88. package/dist/components/intervention/ErrorRecoveryNotice.js.map +1 -0
  89. package/dist/components/intervention/GrantList.d.ts +49 -0
  90. package/dist/components/intervention/GrantList.d.ts.map +1 -0
  91. package/dist/components/intervention/GrantList.js +58 -0
  92. package/dist/components/intervention/GrantList.js.map +1 -0
  93. package/dist/components/intervention/InterventionDock.d.ts +24 -0
  94. package/dist/components/intervention/InterventionDock.d.ts.map +1 -0
  95. package/dist/components/intervention/InterventionDock.js +18 -0
  96. package/dist/components/intervention/InterventionDock.js.map +1 -0
  97. package/dist/components/intervention/QuestionnaireCard.d.ts +60 -0
  98. package/dist/components/intervention/QuestionnaireCard.d.ts.map +1 -0
  99. package/dist/components/intervention/QuestionnaireCard.js +322 -0
  100. package/dist/components/intervention/QuestionnaireCard.js.map +1 -0
  101. package/dist/components/intervention/action-lock.d.ts +20 -0
  102. package/dist/components/intervention/action-lock.d.ts.map +1 -0
  103. package/dist/components/intervention/action-lock.js +65 -0
  104. package/dist/components/intervention/action-lock.js.map +1 -0
  105. package/dist/components/intervention/icons.d.ts +8 -0
  106. package/dist/components/intervention/icons.d.ts.map +1 -0
  107. package/dist/components/intervention/icons.js +11 -0
  108. package/dist/components/intervention/icons.js.map +1 -0
  109. package/dist/components/intervention/questionnaire-answers.d.ts +29 -0
  110. package/dist/components/intervention/questionnaire-answers.d.ts.map +1 -0
  111. package/dist/components/intervention/questionnaire-answers.js +81 -0
  112. package/dist/components/intervention/questionnaire-answers.js.map +1 -0
  113. package/dist/components/message/AgentMessage.d.ts +98 -0
  114. package/dist/components/message/AgentMessage.d.ts.map +1 -0
  115. package/dist/components/message/AgentMessage.js +94 -0
  116. package/dist/components/message/AgentMessage.js.map +1 -0
  117. package/dist/components/message/CitationChip.d.ts +34 -0
  118. package/dist/components/message/CitationChip.d.ts.map +1 -0
  119. package/dist/components/message/CitationChip.js +30 -0
  120. package/dist/components/message/CitationChip.js.map +1 -0
  121. package/dist/components/message/CodeBlock.d.ts +45 -0
  122. package/dist/components/message/CodeBlock.d.ts.map +1 -0
  123. package/dist/components/message/CodeBlock.js +21 -0
  124. package/dist/components/message/CodeBlock.js.map +1 -0
  125. package/dist/components/message/JumpToLatest.d.ts +27 -0
  126. package/dist/components/message/JumpToLatest.d.ts.map +1 -0
  127. package/dist/components/message/JumpToLatest.js +17 -0
  128. package/dist/components/message/JumpToLatest.js.map +1 -0
  129. package/dist/components/message/Markdown.d.ts +21 -0
  130. package/dist/components/message/Markdown.d.ts.map +1 -0
  131. package/dist/components/message/Markdown.js +21 -0
  132. package/dist/components/message/Markdown.js.map +1 -0
  133. package/dist/components/message/MessageActions.d.ts +63 -0
  134. package/dist/components/message/MessageActions.d.ts.map +1 -0
  135. package/dist/components/message/MessageActions.js +83 -0
  136. package/dist/components/message/MessageActions.js.map +1 -0
  137. package/dist/components/message/MessageList.d.ts +100 -0
  138. package/dist/components/message/MessageList.d.ts.map +1 -0
  139. package/dist/components/message/MessageList.js +266 -0
  140. package/dist/components/message/MessageList.js.map +1 -0
  141. package/dist/components/message/MessagePart.d.ts +44 -0
  142. package/dist/components/message/MessagePart.d.ts.map +1 -0
  143. package/dist/components/message/MessagePart.js +146 -0
  144. package/dist/components/message/MessagePart.js.map +1 -0
  145. package/dist/components/message/RunDetails.d.ts +26 -0
  146. package/dist/components/message/RunDetails.d.ts.map +1 -0
  147. package/dist/components/message/RunDetails.js +113 -0
  148. package/dist/components/message/RunDetails.js.map +1 -0
  149. package/dist/components/message/SkillUseList.d.ts +22 -0
  150. package/dist/components/message/SkillUseList.d.ts.map +1 -0
  151. package/dist/components/message/SkillUseList.js +20 -0
  152. package/dist/components/message/SkillUseList.js.map +1 -0
  153. package/dist/components/message/ThinkingBlock.d.ts +44 -0
  154. package/dist/components/message/ThinkingBlock.d.ts.map +1 -0
  155. package/dist/components/message/ThinkingBlock.js +34 -0
  156. package/dist/components/message/ThinkingBlock.js.map +1 -0
  157. package/dist/components/message/icons.d.ts +14 -0
  158. package/dist/components/message/icons.d.ts.map +1 -0
  159. package/dist/components/message/icons.js +16 -0
  160. package/dist/components/message/icons.js.map +1 -0
  161. package/dist/components/message/plain-text.d.ts +11 -0
  162. package/dist/components/message/plain-text.d.ts.map +1 -0
  163. package/dist/components/message/plain-text.js +58 -0
  164. package/dist/components/message/plain-text.js.map +1 -0
  165. package/dist/components/message/renderers.d.ts +30 -0
  166. package/dist/components/message/renderers.d.ts.map +1 -0
  167. package/dist/components/message/renderers.js +2 -0
  168. package/dist/components/message/renderers.js.map +1 -0
  169. package/dist/components/message/use-copy.d.ts +18 -0
  170. package/dist/components/message/use-copy.d.ts.map +1 -0
  171. package/dist/components/message/use-copy.js +65 -0
  172. package/dist/components/message/use-copy.js.map +1 -0
  173. package/dist/components/process/AgentProcess.d.ts +47 -0
  174. package/dist/components/process/AgentProcess.d.ts.map +1 -0
  175. package/dist/components/process/AgentProcess.js +78 -0
  176. package/dist/components/process/AgentProcess.js.map +1 -0
  177. package/dist/components/process/RunStatus.d.ts +60 -0
  178. package/dist/components/process/RunStatus.d.ts.map +1 -0
  179. package/dist/components/process/RunStatus.js +34 -0
  180. package/dist/components/process/RunStatus.js.map +1 -0
  181. package/dist/components/shell/AgentEmptyState.d.ts +35 -0
  182. package/dist/components/shell/AgentEmptyState.d.ts.map +1 -0
  183. package/dist/components/shell/AgentEmptyState.js +20 -0
  184. package/dist/components/shell/AgentEmptyState.js.map +1 -0
  185. package/dist/components/shell/AgentHeader.d.ts +84 -0
  186. package/dist/components/shell/AgentHeader.d.ts.map +1 -0
  187. package/dist/components/shell/AgentHeader.js +38 -0
  188. package/dist/components/shell/AgentHeader.js.map +1 -0
  189. package/dist/components/shell/AgentShell.d.ts +138 -0
  190. package/dist/components/shell/AgentShell.d.ts.map +1 -0
  191. package/dist/components/shell/AgentShell.js +206 -0
  192. package/dist/components/shell/AgentShell.js.map +1 -0
  193. package/dist/components/shell/AgentSidePane.d.ts +54 -0
  194. package/dist/components/shell/AgentSidePane.d.ts.map +1 -0
  195. package/dist/components/shell/AgentSidePane.js +26 -0
  196. package/dist/components/shell/AgentSidePane.js.map +1 -0
  197. package/dist/components/shell/ResizeHandle.d.ts +50 -0
  198. package/dist/components/shell/ResizeHandle.d.ts.map +1 -0
  199. package/dist/components/shell/ResizeHandle.js +84 -0
  200. package/dist/components/shell/ResizeHandle.js.map +1 -0
  201. package/dist/components/shell/use-controllable.d.ts +9 -0
  202. package/dist/components/shell/use-controllable.d.ts.map +1 -0
  203. package/dist/components/shell/use-controllable.js +26 -0
  204. package/dist/components/shell/use-controllable.js.map +1 -0
  205. package/dist/components/tools/ChunkPager.d.ts +48 -0
  206. package/dist/components/tools/ChunkPager.d.ts.map +1 -0
  207. package/dist/components/tools/ChunkPager.js +68 -0
  208. package/dist/components/tools/ChunkPager.js.map +1 -0
  209. package/dist/components/tools/CodeModeToolTree.d.ts +64 -0
  210. package/dist/components/tools/CodeModeToolTree.d.ts.map +1 -0
  211. package/dist/components/tools/CodeModeToolTree.js +97 -0
  212. package/dist/components/tools/CodeModeToolTree.js.map +1 -0
  213. package/dist/components/tools/DiffPreview.d.ts +83 -0
  214. package/dist/components/tools/DiffPreview.d.ts.map +1 -0
  215. package/dist/components/tools/DiffPreview.js +95 -0
  216. package/dist/components/tools/DiffPreview.js.map +1 -0
  217. package/dist/components/tools/ToolActivity.d.ts +63 -0
  218. package/dist/components/tools/ToolActivity.d.ts.map +1 -0
  219. package/dist/components/tools/ToolActivity.js +45 -0
  220. package/dist/components/tools/ToolActivity.js.map +1 -0
  221. package/dist/components/tools/ToolDetails.d.ts +106 -0
  222. package/dist/components/tools/ToolDetails.d.ts.map +1 -0
  223. package/dist/components/tools/ToolDetails.js +247 -0
  224. package/dist/components/tools/ToolDetails.js.map +1 -0
  225. package/dist/components/tools/ToolHistory.d.ts +48 -0
  226. package/dist/components/tools/ToolHistory.d.ts.map +1 -0
  227. package/dist/components/tools/ToolHistory.js +37 -0
  228. package/dist/components/tools/ToolHistory.js.map +1 -0
  229. package/dist/components/tools/ToolOutput.d.ts +61 -0
  230. package/dist/components/tools/ToolOutput.d.ts.map +1 -0
  231. package/dist/components/tools/ToolOutput.js +45 -0
  232. package/dist/components/tools/ToolOutput.js.map +1 -0
  233. package/dist/components/tools/ToolRecord.d.ts +54 -0
  234. package/dist/components/tools/ToolRecord.d.ts.map +1 -0
  235. package/dist/components/tools/ToolRecord.js +78 -0
  236. package/dist/components/tools/ToolRecord.js.map +1 -0
  237. package/dist/components/tools/shared.d.ts +93 -0
  238. package/dist/components/tools/shared.d.ts.map +1 -0
  239. package/dist/components/tools/shared.js +160 -0
  240. package/dist/components/tools/shared.js.map +1 -0
  241. package/dist/components/workspace/ActivityLedger.d.ts +44 -0
  242. package/dist/components/workspace/ActivityLedger.d.ts.map +1 -0
  243. package/dist/components/workspace/ActivityLedger.js +63 -0
  244. package/dist/components/workspace/ActivityLedger.js.map +1 -0
  245. package/dist/components/workspace/CompactionNotice.d.ts +63 -0
  246. package/dist/components/workspace/CompactionNotice.d.ts.map +1 -0
  247. package/dist/components/workspace/CompactionNotice.js +36 -0
  248. package/dist/components/workspace/CompactionNotice.js.map +1 -0
  249. package/dist/components/workspace/ContextUsage.d.ts +44 -0
  250. package/dist/components/workspace/ContextUsage.d.ts.map +1 -0
  251. package/dist/components/workspace/ContextUsage.js +106 -0
  252. package/dist/components/workspace/ContextUsage.js.map +1 -0
  253. package/dist/components/workspace/PersistentTerminal.d.ts +86 -0
  254. package/dist/components/workspace/PersistentTerminal.d.ts.map +1 -0
  255. package/dist/components/workspace/PersistentTerminal.js +155 -0
  256. package/dist/components/workspace/PersistentTerminal.js.map +1 -0
  257. package/dist/components/workspace/PinnedSummary.d.ts +43 -0
  258. package/dist/components/workspace/PinnedSummary.d.ts.map +1 -0
  259. package/dist/components/workspace/PinnedSummary.js +33 -0
  260. package/dist/components/workspace/PinnedSummary.js.map +1 -0
  261. package/dist/components/workspace/RunSummary.d.ts +35 -0
  262. package/dist/components/workspace/RunSummary.d.ts.map +1 -0
  263. package/dist/components/workspace/RunSummary.js +46 -0
  264. package/dist/components/workspace/RunSummary.js.map +1 -0
  265. package/dist/components/workspace/SubAgentCard.d.ts +60 -0
  266. package/dist/components/workspace/SubAgentCard.d.ts.map +1 -0
  267. package/dist/components/workspace/SubAgentCard.js +73 -0
  268. package/dist/components/workspace/SubAgentCard.js.map +1 -0
  269. package/dist/components/workspace/TerminalRow.d.ts +51 -0
  270. package/dist/components/workspace/TerminalRow.d.ts.map +1 -0
  271. package/dist/components/workspace/TerminalRow.js +62 -0
  272. package/dist/components/workspace/TerminalRow.js.map +1 -0
  273. package/dist/components/workspace/shared.d.ts +22 -0
  274. package/dist/components/workspace/shared.d.ts.map +1 -0
  275. package/dist/components/workspace/shared.js +36 -0
  276. package/dist/components/workspace/shared.js.map +1 -0
  277. package/dist/index.d.ts +130 -0
  278. package/dist/index.d.ts.map +1 -0
  279. package/dist/index.js +76 -0
  280. package/dist/index.js.map +1 -0
  281. package/dist/motion/agent-motion.d.ts +62 -0
  282. package/dist/motion/agent-motion.d.ts.map +1 -0
  283. package/dist/motion/agent-motion.js +61 -0
  284. package/dist/motion/agent-motion.js.map +1 -0
  285. package/dist/primitives/AgentSpark.d.ts +17 -0
  286. package/dist/primitives/AgentSpark.d.ts.map +1 -0
  287. package/dist/primitives/AgentSpark.js +11 -0
  288. package/dist/primitives/AgentSpark.js.map +1 -0
  289. package/dist/primitives/AgentStatus.d.ts +32 -0
  290. package/dist/primitives/AgentStatus.d.ts.map +1 -0
  291. package/dist/primitives/AgentStatus.js +13 -0
  292. package/dist/primitives/AgentStatus.js.map +1 -0
  293. package/dist/primitives/StatusGlyph.d.ts +10 -0
  294. package/dist/primitives/StatusGlyph.d.ts.map +1 -0
  295. package/dist/primitives/StatusGlyph.js +31 -0
  296. package/dist/primitives/StatusGlyph.js.map +1 -0
  297. package/dist/primitives/icons.d.ts +7 -0
  298. package/dist/primitives/icons.d.ts.map +1 -0
  299. package/dist/primitives/icons.js +55 -0
  300. package/dist/primitives/icons.js.map +1 -0
  301. package/dist/provider/AgentMessages.d.ts +51 -0
  302. package/dist/provider/AgentMessages.d.ts.map +1 -0
  303. package/dist/provider/AgentMessages.js +77 -0
  304. package/dist/provider/AgentMessages.js.map +1 -0
  305. package/dist/provider/messages/composer.d.ts +90 -0
  306. package/dist/provider/messages/composer.d.ts.map +1 -0
  307. package/dist/provider/messages/composer.js +155 -0
  308. package/dist/provider/messages/composer.js.map +1 -0
  309. package/dist/provider/messages/intervention.d.ts +135 -0
  310. package/dist/provider/messages/intervention.d.ts.map +1 -0
  311. package/dist/provider/messages/intervention.js +321 -0
  312. package/dist/provider/messages/intervention.js.map +1 -0
  313. package/dist/provider/messages/message.d.ts +118 -0
  314. package/dist/provider/messages/message.d.ts.map +1 -0
  315. package/dist/provider/messages/message.js +224 -0
  316. package/dist/provider/messages/message.js.map +1 -0
  317. package/dist/provider/messages/shell.d.ts +70 -0
  318. package/dist/provider/messages/shell.d.ts.map +1 -0
  319. package/dist/provider/messages/shell.js +109 -0
  320. package/dist/provider/messages/shell.js.map +1 -0
  321. package/dist/provider/messages/status.d.ts +20 -0
  322. package/dist/provider/messages/status.d.ts.map +1 -0
  323. package/dist/provider/messages/status.js +195 -0
  324. package/dist/provider/messages/status.js.map +1 -0
  325. package/dist/provider/messages/tools.d.ts +210 -0
  326. package/dist/provider/messages/tools.d.ts.map +1 -0
  327. package/dist/provider/messages/tools.js +482 -0
  328. package/dist/provider/messages/tools.js.map +1 -0
  329. package/dist/provider/messages/workspace.d.ts +176 -0
  330. package/dist/provider/messages/workspace.d.ts.map +1 -0
  331. package/dist/provider/messages/workspace.js +325 -0
  332. package/dist/provider/messages/workspace.js.map +1 -0
  333. package/dist/styles/artifact.css +564 -0
  334. package/dist/styles/base.css +220 -0
  335. package/dist/styles/composer.css +1001 -0
  336. package/dist/styles/conversation.css +275 -0
  337. package/dist/styles/intervention.css +929 -0
  338. package/dist/styles/message.css +917 -0
  339. package/dist/styles/process.css +207 -0
  340. package/dist/styles/shell.css +441 -0
  341. package/dist/styles/tools.css +929 -0
  342. package/dist/styles/workspace.css +1294 -0
  343. package/dist/utils/cx.d.ts +3 -0
  344. package/dist/utils/cx.d.ts.map +1 -0
  345. package/dist/utils/cx.js +5 -0
  346. package/dist/utils/cx.js.map +1 -0
  347. package/package.json +64 -3
@@ -0,0 +1,207 @@
1
+ /*
2
+ * @wzrhine/agent · process family (ADR-0012): AgentProcess and RunStatus. Tokens only; activity
3
+ * comes from AgentSpark / the breathing StatusGlyph in base.css (no keyframes here).
4
+ */
5
+
6
+ /* ---------- RunStatus ---------- */
7
+ .rl-agent-run {
8
+ display: inline-flex;
9
+ flex-wrap: wrap;
10
+ align-items: center;
11
+ gap: var(--rl-space-1) var(--rl-space-2);
12
+ min-width: 0;
13
+ max-width: 100%;
14
+ vertical-align: middle;
15
+ }
16
+
17
+ .rl-agent-run[data-appearance='line'] {
18
+ display: flex;
19
+ color: var(--rl-fg-muted);
20
+ }
21
+
22
+ .rl-agent-run[data-appearance='line'] .rl-agent-run__main {
23
+ --rl-agent-status-fg: var(--rl-fg-muted);
24
+
25
+ gap: var(--rl-space-2);
26
+ font: var(--rl-type-body-sm);
27
+ }
28
+
29
+ .rl-agent-run__chip {
30
+ font: var(--rl-type-meta);
31
+ }
32
+
33
+ .rl-agent-run__hint {
34
+ min-width: 0;
35
+ color: var(--rl-fg-muted);
36
+ font: var(--rl-type-meta);
37
+ }
38
+
39
+ /* ---------- AgentProcess ---------- */
40
+ .rl-agent-process {
41
+ min-width: 0;
42
+ border: var(--rl-border-width) solid var(--rl-border-subtle);
43
+ border-radius: var(--rl-radius-md);
44
+ background: var(--rl-bg-surface);
45
+ }
46
+
47
+ .rl-agent-process__trigger {
48
+ min-height: var(--rl-control-height-md);
49
+ padding-inline: var(--rl-space-3);
50
+ color: var(--rl-fg-muted);
51
+ }
52
+
53
+ .rl-agent-process__glyph {
54
+ --rl-agent-glyph-size: var(--rl-icon-size-sm);
55
+ }
56
+
57
+ .rl-agent-process__headline {
58
+ min-width: 0;
59
+ overflow: hidden;
60
+ color: var(--rl-fg-primary);
61
+ text-overflow: ellipsis;
62
+ white-space: nowrap;
63
+ }
64
+
65
+ .rl-agent-process__run-status {
66
+ flex: none;
67
+ color: var(--rl-fg-subtle);
68
+ font: var(--rl-type-meta);
69
+ }
70
+
71
+ .rl-agent-process__elapsed {
72
+ flex: none;
73
+ margin-inline-start: auto;
74
+ color: var(--rl-fg-subtle);
75
+ font: var(--rl-type-mono);
76
+ font-variant-numeric: tabular-nums;
77
+ }
78
+
79
+ .rl-agent-process__panel {
80
+ border-top: var(--rl-border-width) solid var(--rl-border-subtle);
81
+ }
82
+
83
+ .rl-agent-process__calls {
84
+ display: flex;
85
+ flex-direction: column;
86
+ gap: var(--rl-space-4);
87
+ padding: var(--rl-space-1) var(--rl-space-1) var(--rl-space-2);
88
+ }
89
+
90
+ .rl-agent-process__call {
91
+ min-width: 0;
92
+ }
93
+
94
+ .rl-agent-process__call-title {
95
+ display: flex;
96
+ flex-wrap: wrap;
97
+ align-items: center;
98
+ gap: var(--rl-space-1) var(--rl-space-2);
99
+ margin: 0 0 var(--rl-space-2);
100
+ color: var(--rl-fg-muted);
101
+ font: var(--rl-type-label-sm);
102
+ }
103
+
104
+ .rl-agent-process__blocks {
105
+ display: flex;
106
+ flex-direction: column;
107
+ gap: var(--rl-space-2);
108
+ margin: 0;
109
+ padding: 0;
110
+ list-style: none;
111
+ }
112
+
113
+ .rl-agent-process__block {
114
+ min-width: 0;
115
+ padding-inline-start: var(--rl-space-2);
116
+ border-inline-start: var(--rl-border-width-strong) solid transparent;
117
+ }
118
+
119
+ /* Only the current step carries the accent rule. */
120
+ .rl-agent-process__block[data-current] {
121
+ border-inline-start-color: var(--rl-accent);
122
+ }
123
+
124
+ .rl-agent-process__stage {
125
+ display: flex;
126
+ flex-direction: column;
127
+ gap: var(--rl-space-1);
128
+ color: var(--rl-fg-muted);
129
+ font: var(--rl-type-body-sm);
130
+ }
131
+
132
+ .rl-agent-process__cut {
133
+ align-self: flex-start;
134
+ padding: 0 var(--rl-space-1);
135
+ border: var(--rl-border-width) solid var(--rl-border-subtle);
136
+ border-radius: var(--rl-radius-xs);
137
+ color: var(--rl-fg-subtle);
138
+ font: var(--rl-type-meta);
139
+ }
140
+
141
+ .rl-agent-process__children {
142
+ margin: var(--rl-space-1) 0 0 var(--rl-space-3);
143
+ padding: 0 0 0 var(--rl-space-3);
144
+ border-inline-start: var(--rl-border-width) solid var(--rl-border-default);
145
+ list-style: none;
146
+ }
147
+
148
+ .rl-agent-process__child {
149
+ position: relative;
150
+ margin-top: var(--rl-space-1);
151
+ }
152
+
153
+ /* Tree connector from the vertical rule to each child. */
154
+ .rl-agent-process__child::before {
155
+ position: absolute;
156
+ top: 50%;
157
+ left: calc(var(--rl-space-3) * -1);
158
+ width: var(--rl-space-2);
159
+ border-top: var(--rl-border-width) solid var(--rl-border-default);
160
+ content: '';
161
+ }
162
+
163
+ .rl-agent-process__pending {
164
+ display: flex;
165
+ flex-wrap: wrap;
166
+ align-items: center;
167
+ gap: var(--rl-space-1) var(--rl-space-2);
168
+ min-height: var(--rl-control-height-sm);
169
+ padding: var(--rl-space-1) var(--rl-space-2);
170
+ border: var(--rl-border-width) dashed var(--rl-border-default);
171
+ border-radius: var(--rl-radius-sm);
172
+ color: var(--rl-fg-muted);
173
+ font: var(--rl-type-body-sm);
174
+ }
175
+
176
+ .rl-agent-process__pending-glyph {
177
+ --rl-agent-glyph-size: var(--rl-icon-size-sm);
178
+ }
179
+
180
+ .rl-agent-process__pending-note {
181
+ color: var(--rl-fg-subtle);
182
+ font: var(--rl-type-meta);
183
+ }
184
+
185
+ .rl-agent-process__truncated {
186
+ display: flex;
187
+ flex-wrap: wrap;
188
+ align-items: center;
189
+ gap: var(--rl-space-2);
190
+ margin: 0;
191
+ padding: var(--rl-space-2);
192
+ border-radius: var(--rl-radius-sm);
193
+ background: var(--rl-bg-subtle);
194
+ color: var(--rl-fg-muted);
195
+ font: var(--rl-type-meta);
196
+ }
197
+
198
+ @media (forced-colors: active) {
199
+ .rl-agent-process,
200
+ .rl-agent-process__pending {
201
+ border-color: CanvasText;
202
+ }
203
+
204
+ .rl-agent-process__block[data-current] {
205
+ border-inline-start-color: Highlight;
206
+ }
207
+ }
@@ -0,0 +1,441 @@
1
+ /* @wzrhine/agent · shell family (AgentShell, ResizeHandle, AgentHeader, AgentSidePane, empty state).
2
+ * Tokens only; rl-agent- classes only. Pane open / close is a single-axis translate + opacity
3
+ * transition on --rl-motion-panel; the width snaps (never animated) and those tokens are 0ms
4
+ * under reduced motion, so everything lands at once. */
5
+
6
+ /* ---------- AgentShell ---------- */
7
+ .rl-agent-shell {
8
+ box-sizing: border-box;
9
+ display: flex;
10
+ align-items: stretch;
11
+ width: 100%;
12
+ height: 100%;
13
+ min-width: 0;
14
+ min-height: 0;
15
+ overflow: hidden;
16
+ background: var(--rl-bg-canvas);
17
+ color: var(--rl-fg-primary);
18
+ }
19
+
20
+ .rl-agent-shell *,
21
+ .rl-agent-shell *::before,
22
+ .rl-agent-shell *::after {
23
+ box-sizing: border-box;
24
+ }
25
+
26
+ .rl-agent-shell__rail {
27
+ flex: none;
28
+ min-height: 0;
29
+ overflow: auto;
30
+ border-inline-end: var(--rl-border-width) solid var(--rl-border-subtle);
31
+ background: var(--rl-bg-surface);
32
+ }
33
+
34
+ .rl-agent-shell__index {
35
+ display: flex;
36
+ flex: none;
37
+ flex-direction: column;
38
+ width: var(--rl-agent-index-width);
39
+ min-width: 0;
40
+ min-height: 0;
41
+ overflow: hidden;
42
+ border-inline-end: var(--rl-border-width) solid var(--rl-border-subtle);
43
+ background: var(--rl-bg-surface);
44
+ }
45
+
46
+ .rl-agent-shell__main {
47
+ display: flex;
48
+ flex: 1 1 0;
49
+ flex-direction: column;
50
+ min-width: 0;
51
+ min-height: 0;
52
+ }
53
+
54
+ .rl-agent-shell__main:focus { outline: none; }
55
+ .rl-agent-shell__main:focus-visible {
56
+ outline: var(--rl-focus-ring);
57
+ outline-offset: calc(var(--rl-focus-width) * -1);
58
+ }
59
+
60
+ .rl-agent-shell__header {
61
+ flex: none;
62
+ min-width: 0;
63
+ border-bottom: var(--rl-border-width) solid var(--rl-border-subtle);
64
+ background: var(--rl-bg-surface);
65
+ }
66
+
67
+ .rl-agent-shell__conversation {
68
+ flex: 1 1 auto;
69
+ min-height: 0;
70
+ overflow: auto;
71
+ overscroll-behavior: contain;
72
+ }
73
+
74
+ .rl-agent-shell__conversation:focus-visible {
75
+ outline: var(--rl-focus-ring);
76
+ outline-offset: calc(var(--rl-focus-width) * -1);
77
+ }
78
+
79
+ .rl-agent-shell__reading {
80
+ width: 100%;
81
+ max-width: var(--rl-agent-reading-width);
82
+ min-width: 0;
83
+ margin-inline: auto;
84
+ padding: var(--rl-space-4);
85
+ }
86
+
87
+ .rl-agent-shell__composer {
88
+ flex: none;
89
+ min-width: 0;
90
+ border-top: var(--rl-border-width) solid var(--rl-border-subtle);
91
+ background: var(--rl-bg-canvas);
92
+ }
93
+
94
+ .rl-agent-shell__composer > .rl-agent-shell__reading {
95
+ padding-block: var(--rl-space-3);
96
+ }
97
+
98
+ .rl-agent-shell[data-layout='narrow'] .rl-agent-shell__reading {
99
+ padding-inline: var(--rl-space-3);
100
+ }
101
+
102
+ /* Context pane: the column snaps open at once and collapses only after the exit fade. */
103
+ .rl-agent-shell__context {
104
+ flex: none;
105
+ width: 0;
106
+ min-height: 0;
107
+ overflow: hidden;
108
+ transition: width var(--rl-motion-instant) linear var(--rl-motion-panel);
109
+ }
110
+
111
+ .rl-agent-shell__context[data-open] {
112
+ width: var(--rl-agent-pane-size);
113
+ transition-delay: var(--rl-motion-instant);
114
+ }
115
+
116
+ .rl-agent-shell__context-inner {
117
+ width: var(--rl-agent-pane-size);
118
+ height: 100%;
119
+ min-height: 0;
120
+ border-inline-start: var(--rl-border-width) solid var(--rl-border-subtle);
121
+ background: var(--rl-bg-surface);
122
+ opacity: 0;
123
+ translate: var(--rl-space-8) 0;
124
+ transition:
125
+ translate var(--rl-motion-panel) var(--rl-ease-out),
126
+ opacity var(--rl-motion-panel) var(--rl-ease-out);
127
+ }
128
+
129
+ .rl-agent-shell__context-inner:dir(rtl) {
130
+ translate: calc(var(--rl-space-8) * -1) 0;
131
+ }
132
+
133
+ .rl-agent-shell__context[data-open] > .rl-agent-shell__context-inner {
134
+ opacity: 1;
135
+ translate: 0 0;
136
+ }
137
+
138
+ /* The handle sits on the pane border; dragging changes the width directly. */
139
+ .rl-agent-shell__handle {
140
+ margin-inline-end: calc(var(--rl-space-2) * -1);
141
+ z-index: 1;
142
+ }
143
+
144
+ .rl-agent-shell__sheet .rl-agent-list {
145
+ height: auto;
146
+ }
147
+
148
+ /* ---------- ResizeHandle ---------- */
149
+ .rl-agent-resize {
150
+ position: relative;
151
+ flex: none;
152
+ width: var(--rl-space-2);
153
+ min-height: 0;
154
+ cursor: col-resize;
155
+ touch-action: none;
156
+ user-select: none;
157
+ }
158
+
159
+ /* Wider invisible hit area than the visible line. */
160
+ .rl-agent-resize::after {
161
+ content: '';
162
+ position: absolute;
163
+ inset-block: 0;
164
+ inset-inline: calc(var(--rl-space-1) * -1);
165
+ }
166
+
167
+ .rl-agent-resize::before {
168
+ content: '';
169
+ position: absolute;
170
+ inset-block: 0;
171
+ inset-inline-start: calc(50% - var(--rl-border-width) / 2);
172
+ width: var(--rl-border-width);
173
+ background: transparent;
174
+ transition: background-color var(--rl-motion-fast) var(--rl-ease-out);
175
+ }
176
+
177
+ .rl-agent-resize:hover::before,
178
+ .rl-agent-resize[data-dragging]::before {
179
+ inset-inline-start: calc(50% - var(--rl-border-width-strong) / 2);
180
+ width: var(--rl-border-width-strong);
181
+ background: var(--rl-border-strong);
182
+ }
183
+
184
+ .rl-agent-resize:focus { outline: none; }
185
+ .rl-agent-resize:focus-visible::before {
186
+ inset-inline-start: calc(50% - var(--rl-focus-width) / 2);
187
+ width: var(--rl-focus-width);
188
+ background: var(--rl-focus);
189
+ }
190
+
191
+ .rl-agent-resize[data-disabled] {
192
+ cursor: default;
193
+ }
194
+
195
+ /* ---------- AgentHeader ---------- */
196
+ .rl-agent-header {
197
+ display: flex;
198
+ align-items: center;
199
+ gap: var(--rl-space-2);
200
+ min-width: 0;
201
+ min-height: var(--rl-control-height-lg);
202
+ padding: var(--rl-space-2) var(--rl-space-4);
203
+ }
204
+
205
+ .rl-agent-header__lead,
206
+ .rl-agent-header__trail {
207
+ display: flex;
208
+ flex: none;
209
+ align-items: center;
210
+ gap: var(--rl-space-1);
211
+ }
212
+
213
+ .rl-agent-header__lead:empty {
214
+ display: none;
215
+ }
216
+
217
+ .rl-agent-header__titles {
218
+ display: grid;
219
+ flex: 1 1 auto;
220
+ gap: var(--rl-space-1);
221
+ min-width: 0;
222
+ }
223
+
224
+ .rl-agent-header__title-row {
225
+ display: flex;
226
+ align-items: center;
227
+ gap: var(--rl-space-1);
228
+ min-width: 0;
229
+ }
230
+
231
+ .rl-agent-header__title {
232
+ min-width: 0;
233
+ margin: 0;
234
+ overflow: hidden;
235
+ font: var(--rl-type-heading-3);
236
+ font-family: var(--rl-font-body);
237
+ color: var(--rl-fg-primary);
238
+ text-overflow: ellipsis;
239
+ white-space: nowrap;
240
+ }
241
+
242
+ .rl-agent-header__rename {
243
+ flex: none;
244
+ opacity: 0;
245
+ transition: opacity var(--rl-motion-fast) var(--rl-ease-out);
246
+ }
247
+
248
+ .rl-agent-header:hover .rl-agent-header__rename,
249
+ .rl-agent-header__title-row:focus-within .rl-agent-header__rename {
250
+ opacity: 1;
251
+ }
252
+
253
+ @media (hover: none) {
254
+ .rl-agent-header__rename { opacity: 1; }
255
+ }
256
+
257
+ .rl-agent-header__badge {
258
+ display: inline-flex;
259
+ flex: none;
260
+ align-items: center;
261
+ gap: var(--rl-space-1);
262
+ min-height: var(--rl-badge-height-sm);
263
+ padding: 0 var(--rl-space-2);
264
+ border: var(--rl-border-width) solid var(--rl-border-default);
265
+ border-radius: var(--rl-radius-sm);
266
+ color: var(--rl-fg-muted);
267
+ font: var(--rl-type-meta);
268
+ white-space: nowrap;
269
+ }
270
+
271
+ .rl-agent-header__badge .rl-agent-icon {
272
+ width: var(--rl-icon-size-sm);
273
+ height: var(--rl-icon-size-sm);
274
+ }
275
+
276
+ .rl-agent-header__meta {
277
+ display: flex;
278
+ flex-wrap: wrap;
279
+ align-items: center;
280
+ gap: var(--rl-space-1) var(--rl-space-2);
281
+ min-width: 0;
282
+ }
283
+
284
+ .rl-agent-header__identity {
285
+ display: inline-flex;
286
+ align-items: center;
287
+ gap: var(--rl-space-1);
288
+ min-width: 0;
289
+ max-width: 100%;
290
+ color: var(--rl-fg-muted);
291
+ font: var(--rl-type-meta);
292
+ }
293
+
294
+ .rl-agent-header__monogram {
295
+ display: inline-grid;
296
+ flex: none;
297
+ place-items: center;
298
+ width: var(--rl-badge-height-sm);
299
+ height: var(--rl-badge-height-sm);
300
+ border-radius: var(--rl-radius-sm);
301
+ background: var(--rl-bg-inverse);
302
+ color: var(--rl-fg-inverse);
303
+ font: var(--rl-type-meta);
304
+ font-family: var(--rl-font-mono);
305
+ }
306
+
307
+ .rl-agent-header__monogram .rl-agent-icon {
308
+ width: var(--rl-icon-size-sm);
309
+ height: var(--rl-icon-size-sm);
310
+ }
311
+
312
+ .rl-agent-header__identity-name {
313
+ min-width: 0;
314
+ overflow: hidden;
315
+ color: var(--rl-fg-primary);
316
+ text-overflow: ellipsis;
317
+ white-space: nowrap;
318
+ }
319
+
320
+ .rl-agent-header__identity-role {
321
+ min-width: 0;
322
+ overflow: hidden;
323
+ text-overflow: ellipsis;
324
+ white-space: nowrap;
325
+ }
326
+
327
+ .rl-agent-header__count {
328
+ display: inline-flex;
329
+ align-items: center;
330
+ gap: var(--rl-space-1);
331
+ min-height: var(--rl-badge-height-sm);
332
+ padding: 0 var(--rl-space-2);
333
+ border-radius: var(--rl-radius-sm);
334
+ background: var(--rl-bg-subtle);
335
+ color: var(--rl-fg-muted);
336
+ font: var(--rl-type-mono);
337
+ font-variant-numeric: tabular-nums;
338
+ }
339
+
340
+ .rl-agent-header__count-icon {
341
+ display: inline-flex;
342
+ }
343
+
344
+ .rl-agent-header__count-icon .rl-agent-icon {
345
+ width: var(--rl-icon-size-sm);
346
+ height: var(--rl-icon-size-sm);
347
+ }
348
+
349
+ /* ---------- AgentSidePane ---------- */
350
+ .rl-agent-pane {
351
+ box-sizing: border-box;
352
+ display: flex;
353
+ flex-direction: column;
354
+ height: 100%;
355
+ min-width: 0;
356
+ min-height: 0;
357
+ background: var(--rl-bg-surface);
358
+ color: var(--rl-fg-primary);
359
+ }
360
+
361
+ .rl-agent-pane__head {
362
+ display: flex;
363
+ flex: none;
364
+ align-items: center;
365
+ justify-content: space-between;
366
+ gap: var(--rl-space-2);
367
+ min-height: var(--rl-control-height-lg);
368
+ padding: var(--rl-space-2) var(--rl-space-2) var(--rl-space-2) var(--rl-space-4);
369
+ }
370
+
371
+ .rl-agent-pane__title {
372
+ min-width: 0;
373
+ margin: 0;
374
+ overflow: hidden;
375
+ font: var(--rl-type-label);
376
+ font-family: var(--rl-font-body);
377
+ color: var(--rl-fg-primary);
378
+ text-overflow: ellipsis;
379
+ white-space: nowrap;
380
+ }
381
+
382
+ .rl-agent-pane__tabs {
383
+ display: flex;
384
+ flex: 1 1 auto;
385
+ flex-direction: column;
386
+ gap: 0;
387
+ min-height: 0;
388
+ }
389
+
390
+ .rl-agent-pane__tablist {
391
+ flex: none;
392
+ padding-inline: var(--rl-space-2);
393
+ }
394
+
395
+ .rl-agent-pane__panel {
396
+ flex: 1 1 auto;
397
+ min-height: 0;
398
+ padding: var(--rl-space-4);
399
+ overflow: auto;
400
+ overscroll-behavior: contain;
401
+ }
402
+
403
+ .rl-agent-pane__panel[hidden] {
404
+ display: none;
405
+ }
406
+
407
+ .rl-agent-pane__panel:focus-visible {
408
+ outline: var(--rl-focus-ring);
409
+ outline-offset: calc(var(--rl-focus-width) * -1);
410
+ }
411
+
412
+ /* In the shell's Drawer sheet the Drawer body scrolls and pads. */
413
+ .rl-agent-pane[data-presentation='sheet'] {
414
+ height: auto;
415
+ background: transparent;
416
+ }
417
+
418
+ .rl-agent-pane[data-presentation='sheet'] .rl-agent-pane__panel {
419
+ padding: var(--rl-space-4) 0 0;
420
+ overflow: visible;
421
+ }
422
+
423
+ /* ---------- Empty states ---------- */
424
+ .rl-agent-empty--workspace {
425
+ min-height: 100%;
426
+ justify-content: center;
427
+ }
428
+
429
+ /* ---------- Forced colours ---------- */
430
+ @media (forced-colors: active) {
431
+ .rl-agent-shell__index,
432
+ .rl-agent-shell__rail,
433
+ .rl-agent-shell__header,
434
+ .rl-agent-shell__composer,
435
+ .rl-agent-shell__context-inner { border-color: CanvasText; }
436
+ .rl-agent-resize::before { background: CanvasText; }
437
+ .rl-agent-resize:focus-visible::before { background: Highlight; }
438
+ .rl-agent-header__badge,
439
+ .rl-agent-header__count,
440
+ .rl-agent-header__monogram { border: var(--rl-border-width) solid CanvasText; }
441
+ }