@meetquinn/animactl 0.1.2 → 0.1.3

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 (289) hide show
  1. package/README.md +11 -6
  2. package/dist/server/{runtime/activity-payload.d.ts → activities/format.d.ts} +4 -1
  3. package/dist/server/activities/format.d.ts.map +1 -0
  4. package/dist/server/{runtime/activity-payload.js → activities/format.js} +16 -1
  5. package/dist/server/agents/agent-skills.d.ts +7 -3
  6. package/dist/server/agents/agent-skills.d.ts.map +1 -1
  7. package/dist/server/agents/agent-skills.js +243 -38
  8. package/dist/server/agents/agent-slack.service.d.ts +15 -0
  9. package/dist/server/agents/agent-slack.service.d.ts.map +1 -1
  10. package/dist/server/agents/agent-slack.service.js +43 -6
  11. package/dist/server/agents/default-skills.d.ts +9 -0
  12. package/dist/server/agents/default-skills.d.ts.map +1 -0
  13. package/dist/server/agents/default-skills.js +52 -0
  14. package/dist/server/cli/runtime-cli.d.ts +7 -1
  15. package/dist/server/cli/runtime-cli.d.ts.map +1 -1
  16. package/dist/server/cli/runtime-cli.js +107 -3
  17. package/dist/server/cli/services-cli.d.ts.map +1 -1
  18. package/dist/server/cli/services-cli.js +39 -0
  19. package/dist/server/inbox/slack-subscriber.d.ts +2 -0
  20. package/dist/server/inbox/slack-subscriber.d.ts.map +1 -1
  21. package/dist/server/inbox/slack-subscriber.js +28 -2
  22. package/dist/server/inbox/slack-subscription.service.d.ts.map +1 -1
  23. package/dist/server/inbox/slack-subscription.service.js +13 -1
  24. package/dist/server/inbox/wake-queue.service.d.ts +3 -1
  25. package/dist/server/inbox/wake-queue.service.d.ts.map +1 -1
  26. package/dist/server/inbox/wake-queue.service.js +5 -3
  27. package/dist/server/provider-usage/http.d.ts +1 -0
  28. package/dist/server/provider-usage/http.d.ts.map +1 -1
  29. package/dist/server/provider-usage/http.js +23 -1
  30. package/dist/server/provider-usage/provider-usage.service.d.ts +1 -4
  31. package/dist/server/provider-usage/provider-usage.service.d.ts.map +1 -1
  32. package/dist/server/provider-usage/provider-usage.service.js +1 -18
  33. package/dist/server/provider-usage/providers/claude.d.ts +1 -1
  34. package/dist/server/provider-usage/providers/claude.d.ts.map +1 -1
  35. package/dist/server/provider-usage/providers/claude.js +1 -1
  36. package/dist/server/provider-usage/providers/codex.d.ts +1 -1
  37. package/dist/server/provider-usage/providers/codex.d.ts.map +1 -1
  38. package/dist/server/provider-usage/providers/codex.js +1 -1
  39. package/dist/server/provider-usage/providers/kimi.d.ts +1 -1
  40. package/dist/server/provider-usage/providers/kimi.d.ts.map +1 -1
  41. package/dist/server/provider-usage/providers/kimi.js +4 -4
  42. package/dist/server/provider-usage/result.d.ts +5 -0
  43. package/dist/server/provider-usage/result.d.ts.map +1 -0
  44. package/dist/server/provider-usage/result.js +18 -0
  45. package/dist/server/providers/active-runtime.d.ts +1 -1
  46. package/dist/server/providers/active-runtime.d.ts.map +1 -1
  47. package/dist/server/providers/claude-events.d.ts +1 -1
  48. package/dist/server/providers/claude-events.d.ts.map +1 -1
  49. package/dist/server/providers/claude-events.js +2 -2
  50. package/dist/server/providers/claude.d.ts +1 -1
  51. package/dist/server/providers/claude.d.ts.map +1 -1
  52. package/dist/server/providers/claude.js +2 -2
  53. package/dist/server/providers/codex-app-server.d.ts +1 -1
  54. package/dist/server/providers/codex-app-server.d.ts.map +1 -1
  55. package/dist/server/providers/codex-app-server.js +1 -1
  56. package/dist/server/providers/codex-events.js +1 -1
  57. package/dist/server/providers/codex.d.ts +1 -1
  58. package/dist/server/providers/codex.d.ts.map +1 -1
  59. package/dist/server/providers/codex.js +2 -2
  60. package/dist/server/{runtime/provider-contract.d.ts → providers/contract.d.ts} +1 -1
  61. package/dist/server/providers/contract.d.ts.map +1 -0
  62. package/dist/server/providers/factory.d.ts +1 -1
  63. package/dist/server/providers/factory.d.ts.map +1 -1
  64. package/dist/server/providers/kimi-events.d.ts +1 -1
  65. package/dist/server/providers/kimi-events.d.ts.map +1 -1
  66. package/dist/server/providers/kimi-events.js +1 -1
  67. package/dist/server/providers/kimi.d.ts +1 -1
  68. package/dist/server/providers/kimi.d.ts.map +1 -1
  69. package/dist/server/providers/kimi.js +3 -2
  70. package/dist/server/providers/reasoning-events.js +1 -1
  71. package/dist/server/runtime/active-run-control.d.ts +19 -0
  72. package/dist/server/runtime/active-run-control.d.ts.map +1 -0
  73. package/dist/server/runtime/active-run-control.js +89 -0
  74. package/dist/server/runtime/activity.js +1 -1
  75. package/dist/server/runtime/agent-runner.d.ts +1 -1
  76. package/dist/server/runtime/agent-runner.d.ts.map +1 -1
  77. package/dist/server/runtime/delivery-prompt.d.ts +6 -0
  78. package/dist/server/runtime/delivery-prompt.d.ts.map +1 -1
  79. package/dist/server/runtime/delivery-prompt.js +53 -34
  80. package/dist/server/runtime/followup-appender.d.ts +20 -0
  81. package/dist/server/runtime/followup-appender.d.ts.map +1 -0
  82. package/dist/server/runtime/followup-appender.js +128 -0
  83. package/dist/server/runtime/host.d.ts +2 -0
  84. package/dist/server/runtime/host.d.ts.map +1 -1
  85. package/dist/server/runtime/host.js +8 -0
  86. package/dist/server/runtime/provider-runner.d.ts +16 -0
  87. package/dist/server/runtime/provider-runner.d.ts.map +1 -0
  88. package/dist/server/runtime/provider-runner.js +86 -0
  89. package/dist/server/runtime/runtime-bridge.d.ts +1 -1
  90. package/dist/server/runtime/runtime-bridge.d.ts.map +1 -1
  91. package/dist/server/runtime/runtime-session.service.d.ts +1 -1
  92. package/dist/server/runtime/runtime-session.service.d.ts.map +1 -1
  93. package/dist/server/runtime/runtime-session.service.js +1 -1
  94. package/dist/server/runtime/runtime-worker.d.ts +2 -10
  95. package/dist/server/runtime/runtime-worker.d.ts.map +1 -1
  96. package/dist/server/runtime/runtime-worker.js +60 -286
  97. package/dist/server/runtime-management/managed-runtime.d.ts.map +1 -0
  98. package/dist/server/runtime-management/runtime-release.d.ts.map +1 -0
  99. package/dist/server/{runtime → runtime-management}/runtime-upgrade.d.ts +1 -0
  100. package/dist/server/runtime-management/runtime-upgrade.d.ts.map +1 -0
  101. package/dist/server/{runtime → runtime-management}/runtime-upgrade.js +14 -0
  102. package/dist/server/services/system.service.d.ts +41 -0
  103. package/dist/server/services/system.service.d.ts.map +1 -0
  104. package/dist/server/services/system.service.js +154 -0
  105. package/dist/server/settings/settings.service.d.ts +2 -1
  106. package/dist/server/settings/settings.service.d.ts.map +1 -1
  107. package/dist/server/settings/settings.service.js +9 -1
  108. package/dist/server/slack/shortcuts.d.ts +0 -3
  109. package/dist/server/slack/shortcuts.d.ts.map +1 -1
  110. package/dist/server/slack/shortcuts.js +0 -3
  111. package/dist/server/slack-interactions/shortcut-ids.d.ts +4 -0
  112. package/dist/server/slack-interactions/shortcut-ids.d.ts.map +1 -0
  113. package/dist/server/slack-interactions/shortcut-ids.js +3 -0
  114. package/dist/server/slack-interactions/shortcut-views.d.ts +65 -0
  115. package/dist/server/slack-interactions/shortcut-views.d.ts.map +1 -0
  116. package/dist/server/slack-interactions/shortcut-views.js +211 -0
  117. package/dist/server/{slack → slack-interactions}/shortcut.service.d.ts +2 -47
  118. package/dist/server/slack-interactions/shortcut.service.d.ts.map +1 -0
  119. package/dist/server/slack-interactions/shortcut.service.js +227 -0
  120. package/dist/server/storage/jsonl-log.d.ts +9 -0
  121. package/dist/server/storage/jsonl-log.d.ts.map +1 -1
  122. package/dist/server/storage/jsonl-log.js +36 -1
  123. package/dist/server/storage/schema/server.store.d.ts +5 -0
  124. package/dist/server/storage/schema/server.store.d.ts.map +1 -1
  125. package/dist/server/storage/schema/server.store.js +2 -1
  126. package/dist/server/storage/schema/wake-queue.store.d.ts +15 -1
  127. package/dist/server/storage/schema/wake-queue.store.d.ts.map +1 -1
  128. package/dist/server/storage/schema/wake-queue.store.js +5 -3
  129. package/dist/server/tests/agent-config.test.d.ts +2 -0
  130. package/dist/server/tests/agent-config.test.d.ts.map +1 -0
  131. package/dist/server/tests/agent-config.test.js +229 -0
  132. package/dist/server/tests/agent-runtime.test.d.ts +2 -0
  133. package/dist/server/tests/agent-runtime.test.d.ts.map +1 -0
  134. package/dist/server/tests/agent-runtime.test.js +1110 -0
  135. package/dist/server/tests/agent-seed-memory.test.d.ts +2 -0
  136. package/dist/server/tests/agent-seed-memory.test.d.ts.map +1 -0
  137. package/dist/server/tests/agent-seed-memory.test.js +16 -0
  138. package/dist/server/tests/agent-skills.test.d.ts +2 -0
  139. package/dist/server/tests/agent-skills.test.d.ts.map +1 -0
  140. package/dist/server/tests/agent-skills.test.js +140 -0
  141. package/dist/server/tests/anima-home.d.ts +2 -0
  142. package/dist/server/tests/anima-home.d.ts.map +1 -0
  143. package/dist/server/tests/anima-home.js +4 -0
  144. package/dist/server/tests/cli-file.test.d.ts +2 -0
  145. package/dist/server/tests/cli-file.test.d.ts.map +1 -0
  146. package/dist/server/tests/cli-file.test.js +596 -0
  147. package/dist/server/tests/cli-message.test.d.ts +2 -0
  148. package/dist/server/tests/cli-message.test.d.ts.map +1 -0
  149. package/dist/server/tests/cli-message.test.js +1196 -0
  150. package/dist/server/tests/client-error-routes.test.d.ts +2 -0
  151. package/dist/server/tests/client-error-routes.test.d.ts.map +1 -0
  152. package/dist/server/tests/client-error-routes.test.js +163 -0
  153. package/dist/server/tests/config.test.d.ts +2 -0
  154. package/dist/server/tests/config.test.d.ts.map +1 -0
  155. package/dist/server/tests/config.test.js +497 -0
  156. package/dist/server/tests/default-skills.test.d.ts +2 -0
  157. package/dist/server/tests/default-skills.test.d.ts.map +1 -0
  158. package/dist/server/tests/default-skills.test.js +57 -0
  159. package/dist/server/tests/helpers/inbox.d.ts +10 -0
  160. package/dist/server/tests/helpers/inbox.d.ts.map +1 -0
  161. package/dist/server/tests/helpers/inbox.js +21 -0
  162. package/dist/server/tests/helpers/slack.d.ts +11 -0
  163. package/dist/server/tests/helpers/slack.d.ts.map +1 -0
  164. package/dist/server/tests/helpers/slack.js +17 -0
  165. package/dist/server/tests/helpers/state.d.ts +19 -0
  166. package/dist/server/tests/helpers/state.d.ts.map +1 -0
  167. package/dist/server/tests/helpers/state.js +69 -0
  168. package/dist/server/tests/inbox-slack-events.test.d.ts +2 -0
  169. package/dist/server/tests/inbox-slack-events.test.d.ts.map +1 -0
  170. package/dist/server/tests/inbox-slack-events.test.js +271 -0
  171. package/dist/server/tests/inbox.test.d.ts +2 -0
  172. package/dist/server/tests/inbox.test.d.ts.map +1 -0
  173. package/dist/server/tests/inbox.test.js +144 -0
  174. package/dist/server/tests/interactive-ask.test.d.ts +2 -0
  175. package/dist/server/tests/interactive-ask.test.d.ts.map +1 -0
  176. package/dist/server/tests/interactive-ask.test.js +387 -0
  177. package/dist/server/tests/kb.test.d.ts +2 -0
  178. package/dist/server/tests/kb.test.d.ts.map +1 -0
  179. package/dist/server/tests/kb.test.js +371 -0
  180. package/dist/server/tests/message.service.test.d.ts +2 -0
  181. package/dist/server/tests/message.service.test.d.ts.map +1 -0
  182. package/dist/server/tests/message.service.test.js +151 -0
  183. package/dist/server/tests/messages.test.d.ts +2 -0
  184. package/dist/server/tests/messages.test.d.ts.map +1 -0
  185. package/dist/server/tests/messages.test.js +12 -0
  186. package/dist/server/tests/prompt-attachments.test.d.ts +2 -0
  187. package/dist/server/tests/prompt-attachments.test.d.ts.map +1 -0
  188. package/dist/server/tests/prompt-attachments.test.js +274 -0
  189. package/dist/server/tests/provider-usage.test.d.ts +2 -0
  190. package/dist/server/tests/provider-usage.test.d.ts.map +1 -0
  191. package/dist/server/tests/provider-usage.test.js +97 -0
  192. package/dist/server/tests/reminders.test.d.ts +2 -0
  193. package/dist/server/tests/reminders.test.d.ts.map +1 -0
  194. package/dist/server/tests/reminders.test.js +383 -0
  195. package/dist/server/tests/runtime-cli.test.d.ts +2 -0
  196. package/dist/server/tests/runtime-cli.test.d.ts.map +1 -0
  197. package/dist/server/tests/runtime-cli.test.js +21 -0
  198. package/dist/server/tests/runtime-upgrade.test.d.ts +2 -0
  199. package/dist/server/tests/runtime-upgrade.test.d.ts.map +1 -0
  200. package/dist/server/tests/runtime-upgrade.test.js +307 -0
  201. package/dist/server/tests/runtime-worker.test.d.ts +2 -0
  202. package/dist/server/tests/runtime-worker.test.d.ts.map +1 -0
  203. package/dist/server/tests/runtime-worker.test.js +1021 -0
  204. package/dist/server/tests/runtime.test.d.ts +2 -0
  205. package/dist/server/tests/runtime.test.d.ts.map +1 -0
  206. package/dist/server/tests/runtime.test.js +354 -0
  207. package/dist/server/tests/services.test.d.ts +2 -0
  208. package/dist/server/tests/services.test.d.ts.map +1 -0
  209. package/dist/server/tests/services.test.js +636 -0
  210. package/dist/server/tests/slack-files.test.d.ts +2 -0
  211. package/dist/server/tests/slack-files.test.d.ts.map +1 -0
  212. package/dist/server/tests/slack-files.test.js +118 -0
  213. package/dist/server/tests/slack-shortcuts.test.d.ts +2 -0
  214. package/dist/server/tests/slack-shortcuts.test.d.ts.map +1 -0
  215. package/dist/server/tests/slack-shortcuts.test.js +310 -0
  216. package/dist/server/tests/slack.test.d.ts +2 -0
  217. package/dist/server/tests/slack.test.d.ts.map +1 -0
  218. package/dist/server/tests/slack.test.js +213 -0
  219. package/dist/server/tests/state-cache.test.d.ts +2 -0
  220. package/dist/server/tests/state-cache.test.d.ts.map +1 -0
  221. package/dist/server/tests/state-cache.test.js +184 -0
  222. package/dist/server/tests/subscriptions.test.d.ts +2 -0
  223. package/dist/server/tests/subscriptions.test.d.ts.map +1 -0
  224. package/dist/server/tests/subscriptions.test.js +292 -0
  225. package/dist/server/tests/system-service.test.d.ts +2 -0
  226. package/dist/server/tests/system-service.test.d.ts.map +1 -0
  227. package/dist/server/tests/system-service.test.js +20 -0
  228. package/dist/server/tests/url-routes.test.d.ts +2 -0
  229. package/dist/server/tests/url-routes.test.d.ts.map +1 -0
  230. package/dist/server/tests/url-routes.test.js +217 -0
  231. package/dist/server/tests/web-api.test.d.ts +2 -0
  232. package/dist/server/tests/web-api.test.d.ts.map +1 -0
  233. package/dist/server/tests/web-api.test.js +1759 -0
  234. package/dist/server/web/app.d.ts.map +1 -1
  235. package/dist/server/web/app.js +2 -0
  236. package/dist/server/web/client-error-routes.d.ts +3 -0
  237. package/dist/server/web/client-error-routes.d.ts.map +1 -0
  238. package/dist/server/web/client-error-routes.js +101 -0
  239. package/dist/server/web/system-routes.d.ts.map +1 -1
  240. package/dist/server/web/system-routes.js +21 -131
  241. package/dist/shared/agent-config.d.ts +8 -18
  242. package/dist/shared/agent-config.d.ts.map +1 -1
  243. package/dist/shared/agent-config.js +3 -4
  244. package/dist/shared/inbox.d.ts +27 -0
  245. package/dist/shared/inbox.d.ts.map +1 -1
  246. package/dist/shared/inbox.js +1 -0
  247. package/dist/shared/server-info.d.ts +6 -5
  248. package/dist/shared/server-info.d.ts.map +1 -1
  249. package/dist/shared/server-info.js +3 -1
  250. package/dist/shared/server-settings.d.ts +6 -0
  251. package/dist/shared/server-settings.d.ts.map +1 -1
  252. package/dist/shared/server-settings.js +1 -0
  253. package/dist/shared/skills.d.ts +24 -3
  254. package/dist/shared/skills.d.ts.map +1 -1
  255. package/dist/web/assets/activity-DHjip8tY.js +7 -0
  256. package/dist/web/assets/clipboard-D2NSC52v.js +1 -0
  257. package/dist/web/assets/{external-link-Dt0qTpmV.js → external-link-Bhr1WdRS.js} +1 -1
  258. package/dist/web/assets/{file-text-Dd9ys6py.js → file-text-CYMA_SMA.js} +1 -1
  259. package/dist/web/assets/{index-CzAQnbuO.js → index-CVpew409.js} +5 -5
  260. package/dist/web/assets/index-mh0uJTkY.css +2 -0
  261. package/dist/web/assets/kb-DDVpYkT9.js +35 -0
  262. package/dist/web/assets/profile-CBy6GNzp.js +1 -0
  263. package/dist/web/assets/reminders-Bbwb9QNT.js +1 -0
  264. package/dist/web/favicon.svg +1 -1
  265. package/dist/web/index.html +2 -2
  266. package/package.json +1 -1
  267. package/templates/runtime-standing-prompt.md +16 -2
  268. package/templates/skills/find-skills/SKILL.md +133 -0
  269. package/dist/server/runtime/activity-payload.d.ts.map +0 -1
  270. package/dist/server/runtime/activity-text.d.ts +0 -4
  271. package/dist/server/runtime/activity-text.d.ts.map +0 -1
  272. package/dist/server/runtime/activity-text.js +0 -16
  273. package/dist/server/runtime/managed-runtime.d.ts.map +0 -1
  274. package/dist/server/runtime/provider-contract.d.ts.map +0 -1
  275. package/dist/server/runtime/runtime-release.d.ts.map +0 -1
  276. package/dist/server/runtime/runtime-upgrade.d.ts.map +0 -1
  277. package/dist/server/slack/shortcut.service.d.ts.map +0 -1
  278. package/dist/server/slack/shortcut.service.js +0 -493
  279. package/dist/web/assets/activity-BP0C81IV.js +0 -7
  280. package/dist/web/assets/globe-DmDZSgDP.js +0 -1
  281. package/dist/web/assets/index-DKecrvN0.css +0 -2
  282. package/dist/web/assets/kb-3wFeP2Jt.js +0 -32
  283. package/dist/web/assets/profile-D7wPZXW_.js +0 -1
  284. package/dist/web/assets/reminders-DOhroVwo.js +0 -1
  285. /package/dist/server/{runtime/provider-contract.js → providers/contract.js} +0 -0
  286. /package/dist/server/{runtime → runtime-management}/managed-runtime.d.ts +0 -0
  287. /package/dist/server/{runtime → runtime-management}/managed-runtime.js +0 -0
  288. /package/dist/server/{runtime → runtime-management}/runtime-release.d.ts +0 -0
  289. /package/dist/server/{runtime → runtime-management}/runtime-release.js +0 -0
@@ -0,0 +1 @@
1
+ import{t as e}from"./external-link-Bhr1WdRS.js";import{n as t,t as n}from"./clipboard-D2NSC52v.js";import{$ as r,At as i,C as a,D as o,E as s,G as c,H as l,K as u,N as d,Nt as f,O as p,R as m,St as h,T as g,U as _,V as v,W as y,Z as b,_ as x,_t as S,a as C,at as w,b as T,c as E,d as D,dt as O,et as k,f as ee,ft as A,g as j,gt as M,h as te,ht as N,i as ne,kt as P,l as F,lt as re,m as I,mt as ie,n as L,nt as R,o as z,p as ae,pt as B,r as oe,s as V,u as se,ut as ce,v as le,vt as ue,w as H,wt as de,x as fe,xt as pe,y as me,yt as U}from"./index-CVpew409.js";var he=R(`bot`,[[`path`,{d:`M12 8V4H8`,key:`hb8ula`}],[`rect`,{width:`16`,height:`12`,x:`4`,y:`8`,rx:`2`,key:`enze0r`}],[`path`,{d:`M2 14h2`,key:`vft8re`}],[`path`,{d:`M20 14h2`,key:`4cs60a`}],[`path`,{d:`M15 13v2`,key:`1xurst`}],[`path`,{d:`M9 13v2`,key:`rq6x2g`}]]),ge=R(`clipboard`,[[`rect`,{width:`8`,height:`4`,x:`8`,y:`2`,rx:`1`,ry:`1`,key:`tgr4d6`}],[`path`,{d:`M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2`,key:`116196`}]]),_e=R(`pencil`,[[`path`,{d:`M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z`,key:`1a8usu`}],[`path`,{d:`m15 5 4 4`,key:`1mk7zo`}]]),W=f(i(),1),G=de(),K=(0,W.forwardRef)(function({label:e,children:t,highlight:n},r){return(0,G.jsxs)(`div`,{ref:r,className:[`grid grid-cols-[6rem_1fr] md:grid-cols-[8rem_1fr] items-start gap-3 md:gap-4 rounded-sm py-2.5 md:py-3 transition-[box-shadow] duration-300`,n?`shadow-[0_0_0_2px_var(--color-accent)]`:`shadow-none`].join(` `),children:[(0,G.jsx)(`span`,{className:`chrome pt-1 text-[11px] tracking-wide text-text-muted`,children:e}),(0,G.jsx)(`div`,{className:`min-w-0`,children:t})]})});function q({value:e,mono:t=!1}){return e==null?(0,G.jsx)(`span`,{className:`font-serif italic text-[14px] text-text-subtle`,children:`—`}):(0,G.jsx)(`span`,{className:t?`font-mono text-[12px] md:text-[13px] text-text`:`font-serif text-[13px] md:text-[15px] text-text`,children:e})}function J({title:e,children:t}){return(0,G.jsxs)(`section`,{className:`mt-10 first:mt-0`,children:[(0,G.jsxs)(`div`,{className:`mb-3 flex items-baseline gap-3`,children:[(0,G.jsx)(`h2`,{className:`caps text-text-muted`,children:e}),(0,G.jsx)(`span`,{className:`h-px flex-1 bg-border-soft`})]}),(0,G.jsx)(`div`,{children:t})]})}function ve({onEdit:e,children:t}){return(0,G.jsxs)(`div`,{role:`button`,tabIndex:0,onClick:e,onKeyDown:t=>{(t.key===`Enter`||t.key===` `)&&(t.preventDefault(),e())},className:`group -mx-2 -my-1 flex min-w-0 cursor-text items-center gap-2 rounded-sm px-2 py-1 outline-none transition-colors hover:bg-surface-elevated focus-visible:bg-surface-elevated`,children:[(0,G.jsx)(`span`,{className:`min-w-0`,children:t}),(0,G.jsx)(_e,{className:`size-3.5 shrink-0 text-text-subtle opacity-0 transition-opacity group-hover:opacity-100 group-focus-visible:opacity-100 [@media(hover:none)]:opacity-50`})]})}function Y(){return(0,G.jsx)(`span`,{className:`font-sans text-[11px] tracking-wide text-health-ok`,children:`Saved`})}function X({message:e}){return(0,G.jsx)(`span`,{className:`font-sans text-[11px] tracking-wide text-health-error`,children:e})}function ye(e){return e instanceof Error?e.message:String(e)}var be=W.forwardRef(function(e,t){let{render:n,className:r,id:i,name:o,value:s,disabled:c=!1,onValueChange:l,defaultValue:u,autoFocus:d=!1,style:f,...p}=e,{state:m,name:h,disabled:_,setTouched:v,setDirty:y,validityData:b,setFocused:S,setFilled:C,validationMode:w,validation:T}=ae(),E=_||c,O=h??o,k={...m,disabled:E},{labelId:A}=D(),M=se({id:i});H(()=>{let e=s!=null;T.inputRef.current?.value||e&&s!==``?C(!0):e&&s===``&&C(!1)},[T.inputRef,C,s]);let N=W.useRef(null);H(()=>{d&&N.current===x(le(N.current))&&S(!0)},[d,S]);let[ne]=me({controlled:s,default:u,name:`FieldControl`,state:`value`}),P=s!==void 0,F=P?ne:void 0,re=g(()=>T.inputRef.current?.value);return ee(T.inputRef,M,F,re),a(`input`,e,{ref:[t,N],state:k,props:[{id:M,disabled:E,name:O,ref:T.inputRef,"aria-labelledby":A,autoFocus:d,...P?{value:F}:{defaultValue:u},onChange(e){let t=e.currentTarget.value;l?.(t,te(j,e.nativeEvent)),y(t!==b.initialValue),C(t!==``)},onFocus(){S(!0)},onBlur(e){v(!0),S(!1),w===`onBlur`&&T.commit(e.currentTarget.value)},onKeyDown(e){e.currentTarget.tagName===`INPUT`&&e.key===`Enter`&&(v(!0),T.commit(e.currentTarget.value))}},T.getInputValidationProps(),p],stateAttributesMapping:I})}),xe=W.forwardRef(function(e,t){return(0,G.jsx)(be,{ref:t,...e})});function Z({className:e,type:t,...n}){return(0,G.jsx)(xe,{type:t,"data-slot":`input`,className:fe(`h-8 w-full min-w-0 rounded-lg border border-input bg-transparent px-2.5 py-1 text-base transition-colors outline-none file:inline-flex file:h-6 file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 disabled:pointer-events-none disabled:cursor-not-allowed disabled:bg-input/50 disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 md:text-sm dark:bg-input/30 dark:disabled:bg-input/80 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40`,e),...n})}function Se(e,t){return t.find(t=>t.kind===e)?.label??e}function Q(e){return e?e===`xhigh`?`Extra High`:/^[a-z]+$/.test(e)?`${e.charAt(0).toUpperCase()}${e.slice(1)}`:e:``}var Ce=new Set(s);function we({label:e,value:t,placeholder:n,onCommit:r}){let[i,a]=(0,W.useState)(!1),[o,s]=(0,W.useState)(``),[c,l]=(0,W.useState)(!1),[u,d]=(0,W.useState)(),[f,p]=(0,W.useState)(!1);function m(){s(t),d(void 0),p(!1),a(!0)}async function h(){if(!c){if(o===t){a(!1);return}l(!0),d(void 0);try{await r(o),a(!1),p(!0),setTimeout(()=>p(!1),3e3)}catch(e){d(e instanceof Error?e.message:String(e))}finally{l(!1)}}}return(0,G.jsx)(K,{label:e,children:i?(0,G.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,G.jsx)(Z,{autoFocus:!0,value:o,placeholder:n,disabled:c,onChange:e=>s(e.currentTarget.value),onKeyDown:e=>{e.key===`Enter`?(e.preventDefault(),h()):e.key===`Escape`&&(e.preventDefault(),a(!1))},className:`h-8 w-64 max-w-full font-serif text-[15px]`}),(0,G.jsxs)(T,{size:`xs`,disabled:c,onClick:()=>void h(),children:[(0,G.jsx)(k,{}),c?`Saving…`:`Save`]}),(0,G.jsxs)(T,{size:`xs`,variant:`ghost`,disabled:c,onClick:()=>a(!1),children:[(0,G.jsx)(y,{}),`Cancel`]}),u&&(0,G.jsx)(X,{message:u})]}):(0,G.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,G.jsx)(ve,{onEdit:m,children:t?(0,G.jsx)(`span`,{className:`block break-words font-serif text-[13px] md:text-[15px] text-text`,children:t}):(0,G.jsx)(`span`,{className:`font-serif italic text-[14px] text-text-subtle`,children:n??`—`})}),f&&(0,G.jsx)(Y,{})]})})}function Te({startPath:e,onChoose:t,onClose:n}){return(0,W.useEffect)(()=>{function e(e){e.key===`Escape`&&n()}return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[n]),(0,G.jsx)(`div`,{className:`fixed inset-0 z-50 flex items-center justify-center bg-page/70 backdrop-blur-sm`,onClick:n,children:(0,G.jsxs)(`div`,{role:`dialog`,"aria-modal":`true`,"aria-label":`Choose workspace`,className:`mx-4 w-full max-w-2xl rounded-sm border border-border bg-surface p-5 shadow-deep`,onClick:e=>e.stopPropagation(),children:[(0,G.jsx)(`div`,{className:`mb-4 font-serif text-[16px] font-semibold text-text`,children:`Choose home folder`}),(0,G.jsx)(C,{startPath:e,onChoose:t,onCancel:n,confirmLabel:`Choose`})]})})}function Ee({value:e,onCommit:t}){let[n,r]=(0,W.useState)(!1),[i,a]=(0,W.useState)(null),[o,s]=(0,W.useState)(!1),[c,l]=(0,W.useState)(),[u,d]=(0,W.useState)(!1);async function f(){if(!(!i||o)){s(!0),l(void 0);try{await t(i),a(null),d(!0),setTimeout(()=>d(!1),4e3)}catch(e){l(e instanceof Error?e.message:String(e))}finally{s(!1)}}}function p(){d(!1),l(void 0),r(!0)}return(0,G.jsxs)(G.Fragment,{children:[(0,G.jsx)(K,{label:`Home`,children:i===null?(0,G.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,G.jsxs)(`div`,{role:`button`,tabIndex:0,onClick:p,onKeyDown:e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),p())},className:`group -mx-2 -my-1 flex min-w-0 cursor-pointer items-center gap-2 rounded-sm px-2 py-1 outline-none transition-colors hover:bg-surface-elevated focus-visible:bg-surface-elevated`,children:[e?(0,G.jsx)(`span`,{className:`block break-words font-serif text-[13px] md:text-[15px] text-text`,children:e}):(0,G.jsx)(`span`,{className:`font-serif italic text-[14px] text-text-subtle`,children:`Not configured`}),(0,G.jsx)(`span`,{className:`font-sans text-[12px] text-accent opacity-0 transition-opacity group-hover:opacity-100 group-focus-visible:opacity-100 [@media(hover:none)]:opacity-50`,children:`Change`})]}),u&&(0,G.jsx)(Y,{}),c&&(0,G.jsx)(X,{message:c})]}):(0,G.jsxs)(`div`,{className:`space-y-3`,children:[(0,G.jsxs)(`div`,{children:[(0,G.jsx)(`span`,{className:`block break-words font-mono text-[13px] text-text`,children:i}),(0,G.jsx)(`span`,{className:`font-sans text-[11px] tracking-wide text-text-muted`,children:`Applies automatically when this agent is idle.`})]}),(0,G.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,G.jsx)(T,{size:`xs`,disabled:o,onClick:()=>void f(),className:`min-h-[44px]`,children:o?`Saving…`:`Save`}),(0,G.jsx)(T,{size:`xs`,variant:`ghost`,disabled:o,onClick:()=>a(null),className:`min-h-[44px]`,children:`Cancel`}),c&&(0,G.jsx)(X,{message:c})]})]})}),n&&(0,G.jsx)(Te,{startPath:e||void 0,onChoose:e=>{r(!1),a(e)},onClose:()=>r(!1)})]})}function De({kind:e,model:t,effort:n,providerOptions:r,onRequestSave:i}){let[a,o]=(0,W.useState)(!1),[s,c]=(0,W.useState)(``),[l,u]=(0,W.useState)(``),[d,f]=(0,W.useState)(``),p=r.find(e=>e.kind===s),m=p?.models??[],h=p?.reasoningEfforts??[],g=h.length>0,_=(r.find(t=>t.kind===e)?.reasoningEfforts??[]).length>0,v=s!==e;function b(){c(e),u(t),f(_?n:``),o(!0)}function x(e){if(!e)return;let t=r.find(t=>t.kind===e);t&&(c(t.kind),u(t.defaultModel),f(Oe(t)))}function S(){let r=g?d:void 0;if(s===e&&l===t&&r===(_?n:void 0)){o(!1);return}o(!1),i(s,l,r)}return(0,G.jsx)(K,{label:`Provider`,children:a?(0,G.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[(0,G.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,G.jsxs)(z,{value:s,onValueChange:x,children:[(0,G.jsx)(F,{className:`h-8 w-40 font-serif text-[14px]`,children:Se(s,r)}),(0,G.jsx)(V,{children:r.map(e=>(0,G.jsx)(E,{value:e.kind,className:`font-serif text-[14px]`,children:e.label},e.kind))})]}),(0,G.jsxs)(z,{value:l,onValueChange:e=>{e&&u(e)},children:[(0,G.jsx)(F,{className:`h-8 w-52 font-serif text-[14px]`,children:Q(l)}),(0,G.jsx)(V,{children:m.map(e=>(0,G.jsx)(E,{value:e,className:`font-serif text-[14px]`,children:Q(e)},e))})]}),g&&(0,G.jsxs)(z,{value:d,onValueChange:e=>{e&&f(e)},children:[(0,G.jsx)(F,{className:`h-8 w-36 font-serif text-[14px]`,children:Q(d)}),(0,G.jsx)(V,{children:h.map(e=>(0,G.jsx)(E,{value:e,className:`font-serif text-[14px]`,children:Q(e)},e))})]})]}),v&&(0,G.jsx)(`div`,{className:`max-w-xl font-sans text-[11px] leading-snug text-text-muted`,children:`Switching provider starts a fresh provider session. MEMORY.md, notes, and activity history stay intact; the old provider session is archived.`}),(0,G.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,G.jsxs)(T,{size:`xs`,onClick:S,children:[(0,G.jsx)(k,{}),`Save`]}),(0,G.jsxs)(T,{size:`xs`,variant:`ghost`,onClick:()=>o(!1),children:[(0,G.jsx)(y,{}),`Cancel`]})]})]}):(0,G.jsx)(`div`,{className:`flex flex-wrap items-baseline`,children:(0,G.jsxs)(ve,{onEdit:b,children:[(0,G.jsx)(`span`,{className:`font-serif text-[13px] md:text-[15px] text-text-muted`,children:Se(e,r)}),(0,G.jsx)(`span`,{className:`font-sans mx-1.5 text-[12px] text-text-subtle`,children:`·`}),(0,G.jsx)(`span`,{className:`font-serif text-[13px] md:text-[15px] text-text`,children:Q(t)||`—`}),_&&(0,G.jsxs)(G.Fragment,{children:[(0,G.jsx)(`span`,{className:`font-sans mx-1.5 text-[12px] text-text-subtle`,children:`·`}),(0,G.jsx)(`span`,{className:`font-serif text-[13px] md:text-[15px] text-text-muted`,children:Q(n)})]})]})})})}function Oe(e){return e.reasoningEfforts.length===0?``:e.reasoningEfforts.includes(`xhigh`)?o:e.reasoningEfforts[0]??``}function ke({env:e,onCommit:t}){let[n,r]=(0,W.useState)(!1),[i,a]=(0,W.useState)(()=>je(e)),[o,s]=(0,W.useState)(!1),[c,l]=(0,W.useState)(),[u,d]=(0,W.useState)(!1),f=Object.keys(e??{}).sort();function p(e,t){a(n=>n.map(n=>n.id===e?{...n,...t}:n)),l(void 0),d(!1)}function m(){a(e=>[...e,{id:`new-${Date.now()}-${e.length}`,key:``,value:``}]),l(void 0),d(!1)}async function h(){if(o)return;let e=Me(i);if(`error`in e){l(e.error);return}if(Object.keys(e.patch).length===0){r(!1);return}s(!0),l(void 0);try{await t(e.patch),r(!1),d(!0),setTimeout(()=>d(!1),3e3)}catch(e){l(e instanceof Error?e.message:String(e))}finally{s(!1)}}return(0,G.jsx)(K,{label:`Launch env`,children:n?(0,G.jsxs)(`div`,{className:`space-y-3`,children:[(0,G.jsxs)(`div`,{className:`space-y-2`,children:[i.length===0&&(0,G.jsx)(`div`,{className:`font-serif text-[14px] italic text-text-subtle`,children:`No launch environment variables.`}),i.map(e=>(0,G.jsxs)(`div`,{className:[`grid grid-cols-1 gap-2 sm:grid-cols-[minmax(0,13rem)_minmax(0,1fr)_auto]`,e.deleted?`opacity-45`:``].join(` `),children:[(0,G.jsx)(Z,{value:e.key,disabled:o||e.deleted,placeholder:`KEY`,onChange:t=>p(e.id,{key:t.currentTarget.value}),className:`h-8 font-mono text-[12px]`}),(0,G.jsx)(Z,{value:e.value,disabled:o||e.deleted,placeholder:e.originalKey?`Leave blank to keep current value`:`value`,onChange:t=>p(e.id,{value:t.currentTarget.value}),className:`h-8 font-mono text-[12px]`}),(0,G.jsx)(T,{type:`button`,size:`xs`,variant:`ghost`,disabled:o,onClick:()=>{e.originalKey?p(e.id,{deleted:!e.deleted}):a(t=>t.filter(t=>t.id!==e.id))},children:e.deleted?`Keep`:`Remove`}),Ce.has(e.key.trim())&&!e.deleted&&(0,G.jsxs)(`div`,{className:`font-sans text-[11px] text-health-warn sm:col-span-3`,children:[e.key.trim(),` is managed by Anima and cannot be set here.`]})]},e.id))]}),(0,G.jsx)(`div`,{className:`font-sans text-[11px] leading-snug text-text-muted`,children:`Values are write-only after save. Anima-managed keys are not saved here; PATH is allowed, with Anima's bin directory prepended at launch.`}),(0,G.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,G.jsx)(T,{type:`button`,size:`xs`,variant:`outline`,disabled:o,onClick:m,children:`Add var`}),(0,G.jsxs)(T,{type:`button`,size:`xs`,disabled:o,onClick:()=>void h(),children:[(0,G.jsx)(k,{}),o?`Saving…`:`Save`]}),(0,G.jsxs)(T,{type:`button`,size:`xs`,variant:`ghost`,disabled:o,onClick:()=>r(!1),children:[(0,G.jsx)(y,{}),`Cancel`]}),c&&(0,G.jsx)(X,{message:c})]})]}):(0,G.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,G.jsxs)(`button`,{type:`button`,onClick:()=>{a(je(e)),l(void 0),r(!0)},className:`group -mx-2 -my-1 flex min-w-0 cursor-pointer items-baseline gap-2 rounded-sm px-2 py-1 outline-none transition-colors hover:bg-surface-elevated focus-visible:bg-surface-elevated`,children:[(0,G.jsx)(`span`,{className:`font-serif text-[13px] md:text-[15px] text-text`,children:f.length===0?`None`:`${f.length} variable${f.length===1?``:`s`}`}),f.length>0&&(0,G.jsx)(`span`,{className:`max-w-sm truncate font-mono text-[12px] text-text-muted`,children:f.join(`, `)}),(0,G.jsx)(`span`,{className:`font-sans text-[12px] text-accent opacity-0 transition-opacity group-hover:opacity-100 group-focus-visible:opacity-100 [@media(hover:none)]:opacity-50`,children:`Advanced`})]}),u&&(0,G.jsx)(Y,{})]})})}function Ae({isActive:e,kindChanged:t=!1,saving:n,onConfirm:r,onCancel:i}){let a=t?` Switching provider starts a fresh provider session; MEMORY.md, notes, and activity history stay intact.`:``;return(0,G.jsx)(L,{open:!0,title:e?`Save and apply when idle?`:`Apply provider change?`,description:e?`Anima is mid-item. Save this config now; this agent will reload itself after the item finishes.${a}`:`Save this config now; this agent will reload itself automatically.${a}`,variant:`warn`,busy:n,confirmLabel:`Save`,busyLabel:`Saving…`,confirmVariant:`default`,onConfirm:r,onCancel:i})}function je(e){return Object.keys(e??{}).sort().map(e=>({id:`existing-${e}`,key:e,originalKey:e,value:``}))}function Me(e){let t={},n=new Set;for(let r of e){let e=r.key.trim(),i=r.originalKey;if(r.deleted){i&&(t[i]=null);continue}if(!e&&!r.value.trim()&&!i)continue;if(!e)return{error:`Every env var needs a key.`};if(!/^[A-Za-z_][A-Za-z0-9_]*$/.test(e))return{error:`${e} is not a valid environment variable key.`};if(Ce.has(e))return{error:`${e} is managed by Anima and cannot be set here.`};if(n.has(e))return{error:`${e} is listed more than once.`};n.add(e);let a=r.value;if(i&&i!==e){if(!a)return{error:`Enter a value to rename ${i}.`};t[i]=null,t[e]=a;continue}if(!i&&!a)return{error:`Enter a value for ${e}.`};a&&(t[e]=a)}return{patch:t}}function Ne({stats:e}){if(!e||e.currentContextTokens===void 0){let t=e?.autoCompactWindow&&e.autoCompactWindow>0?`awaiting next item`:null;return(0,G.jsxs)(`div`,{className:`min-w-0`,children:[(0,G.jsx)(`span`,{className:`font-serif italic text-[14px] text-text-subtle`,children:`—`}),t&&(0,G.jsx)(`div`,{className:`font-sans mt-1 text-[11px] tracking-wide text-text-subtle`,children:t})]})}let t=e.currentContextTokens,n=e.autoCompactWindow,r=e.contextWindow,i=n&&n>0?{denom:n,label:`to compact`,detail:[`${v(t)} / ${v(n)}`,r?`model window ${v(r)}`:null,`as of latest activity`].filter(Boolean).join(` · `)}:r&&r>0?{denom:r,label:`full`,detail:`${v(t)} / ${v(r)} model window · as of latest activity`}:null;if(i){let e=Math.min(100,Math.round(t/i.denom*100)),n=e>=90?`bg-health-error`:e>=75?`bg-health-warn`:`bg-accent`;return(0,G.jsxs)(`div`,{className:`min-w-0`,children:[(0,G.jsxs)(`div`,{className:`flex items-baseline gap-1.5`,children:[(0,G.jsxs)(`span`,{className:`font-serif text-[18px] leading-none text-text`,children:[e,`%`]}),(0,G.jsx)(`span`,{className:`font-sans text-[11px] tracking-wide text-text-muted`,children:i.label})]}),(0,G.jsx)(`div`,{className:`mt-2 h-1 w-44 max-w-full overflow-hidden rounded-full bg-border-soft`,children:(0,G.jsx)(`span`,{className:`block h-full rounded-full ${n}`,style:{width:`${e}%`}})}),(0,G.jsx)(`div`,{className:`font-sans mt-1.5 text-[11px] tracking-wide text-text-subtle`,children:i.detail})]})}return(0,G.jsxs)(`div`,{className:`min-w-0`,children:[(0,G.jsxs)(`div`,{className:`font-mono text-[13px] text-text`,children:[v(t),` tokens`]}),(0,G.jsx)(`div`,{className:`font-sans mt-1 text-[11px] tracking-wide text-text-subtle`,children:`as of latest activity`})]})}function Pe({stats:e,session:t,now:n}){let r=t?.current?.updatedAt,i=t?.currentStartedAt??t?.createdAt;return(0,G.jsxs)(`div`,{className:`divide-y divide-border-soft`,children:[(0,G.jsx)(K,{label:`Context`,children:(0,G.jsx)(Ne,{stats:e})}),(0,G.jsx)(K,{label:`Compactions`,children:(0,G.jsx)(q,{value:e?.sessionCompactionCount===void 0?void 0:String(e.sessionCompactionCount),mono:!0})}),(0,G.jsx)(K,{label:`Started`,children:i?(0,G.jsxs)(`div`,{className:`min-w-0`,children:[(0,G.jsx)(`span`,{className:`font-serif text-[15px] text-text`,children:_(i)}),(0,G.jsxs)(`span`,{className:`font-sans ml-2 text-[11px] tracking-wide text-text-subtle`,children:[`up `,l(i,n)]})]}):(0,G.jsx)(q,{})}),(0,G.jsx)(K,{label:`Latest activity`,children:r?(0,G.jsx)(`span`,{className:`font-serif text-[15px] text-text`,title:new Date(r).toLocaleString(),children:m(r,n)}):(0,G.jsx)(q,{})})]})}function Fe({agentId:t}){let{data:i}=h({queryKey:U.agentSlackManifestUpdate(t),queryFn:()=>O(t)}),[a,o]=(0,W.useState)(``),[s,c]=(0,W.useState)(!1),[l,d]=(0,W.useState)(!1),[f,p]=(0,W.useState)(null),[m,g]=(0,W.useState)(!1),[_,v]=(0,W.useState)(null);if(!i?.needsUpdate)return null;async function b(){if(i){p(null);try{await n(i.manifestUpdateYaml),c(!0),setTimeout(()=>c(!1),2500)}catch{d(!0),p(`Copy failed. Manifest details are open below so you can copy the full YAML manually.`)}}}async function x(){if(!(!a.trim()||m)){g(!0),v(null);try{await ue(t,{botToken:a.trim()}),o(``),B(t),pe.invalidateQueries({queryKey:U.agentSlackManifestUpdate(t)})}catch(e){v(ye(e))}finally{g(!1)}}}return(0,G.jsxs)(`div`,{className:`rounded-sm border border-health-warn/30 bg-health-warn-soft px-4 py-3`,children:[(0,G.jsxs)(`div`,{className:`flex items-start justify-between gap-3`,children:[(0,G.jsxs)(`div`,{className:`min-w-0`,children:[(0,G.jsx)(`div`,{className:`font-serif text-[14px] font-semibold text-text`,children:`Slack app update available`}),(0,G.jsx)(`div`,{className:`mt-1 font-serif text-[13px] leading-snug text-text-muted`,children:`Shortcuts and other new features require a one-time Slack app reinstall.`})]}),(0,G.jsxs)(`span`,{className:`shrink-0 rounded-sm border border-health-warn/30 px-1.5 py-0.5 font-mono text-[10px] text-health-warn`,children:[`v`,i.agentVersion,`→v`,i.currentVersion]})]}),(0,G.jsxs)(`div`,{className:`mt-4 space-y-4`,children:[(0,G.jsxs)(`div`,{className:`space-y-2`,children:[(0,G.jsxs)(`div`,{className:`flex items-center justify-between gap-3`,children:[(0,G.jsx)(`div`,{className:`font-sans text-[11px] font-semibold uppercase tracking-wide text-text-subtle`,children:`Step 1 · Update app manifest`}),(0,G.jsxs)(`div`,{className:`flex shrink-0 items-center gap-2`,children:[(0,G.jsxs)(`button`,{type:`button`,onClick:()=>void b(),className:`inline-flex items-center gap-1 rounded-sm border border-border-soft px-2 py-1 font-sans text-[11px] text-text hover:border-border hover:bg-surface`,children:[s?(0,G.jsx)(k,{className:`h-3 w-3`}):(0,G.jsx)(ge,{className:`h-3 w-3`}),s?`Copied`:`Copy full manifest`]}),i.appManifestUrl&&(0,G.jsxs)(`a`,{href:i.appManifestUrl,target:`_blank`,rel:`noreferrer`,className:`inline-flex items-center gap-1 font-sans text-[11px] text-accent underline decoration-accent/40 underline-offset-2 hover:decoration-accent`,children:[`Open App Manifest `,(0,G.jsx)(e,{className:`h-3 w-3`})]})]})]}),(0,G.jsx)(`div`,{className:`font-serif text-[13px] leading-snug text-text-muted`,children:`Open the Slack app manifest editor, replace its YAML with the copied manifest, then save.`}),(0,G.jsxs)(`button`,{type:`button`,onClick:()=>d(e=>!e),className:`inline-flex items-center gap-1 font-sans text-[11px] text-text-subtle underline decoration-text-subtle/40 underline-offset-2 hover:text-text-muted hover:decoration-text-muted/40`,children:[(0,G.jsx)(r,{className:`h-3 w-3 transition-transform ${l?`rotate-180`:``}`}),l?`Hide manifest details`:`Show manifest details`]}),l&&(0,G.jsx)(`pre`,{className:`max-h-52 overflow-auto rounded-sm border border-border-soft bg-surface px-3 py-2 font-mono text-[11px] leading-relaxed text-text-muted`,children:i.manifestUpdateYaml}),f&&(0,G.jsxs)(`div`,{className:`flex items-start gap-1.5 font-sans text-[12px] text-health-error`,children:[(0,G.jsx)(y,{className:`mt-px h-3.5 w-3.5 shrink-0`}),(0,G.jsx)(`span`,{children:f})]})]}),(0,G.jsxs)(`div`,{className:`space-y-2`,children:[(0,G.jsxs)(`div`,{className:`flex items-center justify-between gap-3`,children:[(0,G.jsx)(`div`,{className:`font-sans text-[11px] font-semibold uppercase tracking-wide text-text-subtle`,children:`Step 2 · Reinstall and save token`}),i.reinstallUrl&&(0,G.jsxs)(`a`,{href:i.reinstallUrl,target:`_blank`,rel:`noreferrer`,className:`inline-flex shrink-0 items-center gap-1 font-sans text-[11px] text-accent underline decoration-accent/40 underline-offset-2 hover:decoration-accent`,children:[`Reinstall `,(0,G.jsx)(e,{className:`h-3 w-3`})]})]}),(0,G.jsxs)(`div`,{className:`flex flex-col gap-2 sm:flex-row`,children:[(0,G.jsx)(`input`,{type:`text`,value:a,onChange:e=>{o(e.target.value),v(null)},placeholder:`Paste new xoxb-… Bot User OAuth Token`,className:`min-w-0 flex-1 rounded-sm border border-border bg-muted/30 px-3 py-1.5 font-mono text-[12px] text-text placeholder:font-sans placeholder:text-text-muted focus:outline-none focus:ring-1 focus:ring-ring`}),(0,G.jsx)(T,{onClick:()=>void x(),disabled:m||!a.trim(),children:m?(0,G.jsxs)(G.Fragment,{children:[(0,G.jsx)(u,{className:`h-3.5 w-3.5 animate-spin`}),`Saving`]}):`Save`})]}),_&&(0,G.jsxs)(`div`,{className:`flex items-start gap-1.5 font-sans text-[12px] text-health-error`,children:[(0,G.jsx)(y,{className:`mt-px h-3.5 w-3.5 shrink-0`}),(0,G.jsx)(`span`,{children:_})]})]})]})]})}function Ie({showSourceBadge:e=!0,skill:t}){return(0,G.jsxs)(`div`,{className:`py-2.5`,children:[(0,G.jsxs)(`div`,{className:`flex items-start gap-2`,children:[(0,G.jsx)(`div`,{className:`min-w-0 flex-1 font-serif text-[14px] leading-snug text-text`,children:t.name}),e&&t.sourceLabel&&(0,G.jsx)(`span`,{className:`shrink-0 rounded-full border border-border-soft px-1.5 py-0.5 font-mono text-[10px] leading-none text-text-subtle`,children:t.sourceLabel})]}),t.description&&(0,G.jsx)(`div`,{className:`mt-0.5 line-clamp-2 font-sans text-[12px] leading-relaxed text-text-muted`,children:t.description})]})}function $({label:e,icon:t,path:n,skills:r,sources:i}){let a=i?.filter(e=>e.skills.length>0)??[],o=a.length>0?`${r.length} skills across ${a.length} ${a.length===1?`source`:`sources`}`:n;return(0,G.jsxs)(`div`,{children:[(0,G.jsxs)(`div`,{className:`mb-1 flex items-center gap-1.5`,children:[(0,G.jsx)(t,{className:`h-3 w-3 shrink-0 text-text-subtle`}),(0,G.jsx)(`span`,{className:`caps text-text-subtle`,children:e})]}),(0,G.jsx)(`div`,{className:`mb-2 font-mono text-[11px] text-text-subtle/60 leading-snug truncate`,title:n,children:o}),r.length===0?(0,G.jsx)(`p`,{className:`font-serif italic text-[13px] text-text-subtle`,children:`None`}):a.length>0?(0,G.jsx)(`div`,{className:`space-y-2.5`,children:a.map(e=>(0,G.jsx)(Le,{source:e},`${e.kind}:${e.path}`))}):(0,G.jsx)(`div`,{className:`divide-y divide-border-soft/60`,children:r.map(e=>(0,G.jsx)(Ie,{skill:e},`${e.sourcePath??n}:${e.dirName}`))})]})}function Le({source:e}){let t=e.kind===`common`||e.kind===`local`||e.kind===`provider`,n=`${e.skills.length} ${e.skills.length===1?`skill`:`skills`}`;return(0,G.jsxs)(`details`,{className:`group border-b border-border-soft/60 pb-1 last:border-b-0`,open:t,children:[(0,G.jsxs)(`summary`,{className:`flex cursor-pointer list-none items-center gap-2 py-1.5`,children:[(0,G.jsx)(b,{className:`h-3 w-3 shrink-0 text-text-subtle/60 transition-transform group-open:rotate-90`}),(0,G.jsx)(`span`,{className:`rounded-full border border-border-soft px-1.5 py-0.5 font-mono text-[10px] leading-none text-text-subtle`,children:e.label}),(0,G.jsx)(`span`,{className:`font-mono text-[10px] leading-none text-text-subtle/60`,children:n}),(0,G.jsx)(`span`,{className:`min-w-0 flex-1 truncate font-mono text-[10px] leading-none text-text-subtle/45`,title:e.path,children:e.path})]}),(0,G.jsx)(`div`,{className:`ml-5 divide-y divide-border-soft/60`,children:e.skills.map(t=>(0,G.jsx)(Ie,{showSourceBadge:!1,skill:t},`${t.sourcePath??e.path}:${t.dirName}`))})]})}function Re({agentId:e}){let{data:n,isLoading:r}=h({queryKey:U.agentSkills(e),queryFn:()=>ce(e),enabled:!!e,staleTime:6e4});return r||!n?(0,G.jsx)(`div`,{className:`space-y-1`,children:[1,2,3].map(e=>(0,G.jsx)(`div`,{className:`h-4 w-32 animate-pulse rounded bg-surface-elevated`},e))}):(0,G.jsxs)(`div`,{className:`space-y-6`,children:[(0,G.jsx)($,{label:`Global skills`,icon:t,path:n.globalPath,skills:n.global,sources:n.globalSources}),(0,G.jsx)($,{label:`This agent's skills`,icon:he,path:n.localPath,skills:n.local,sources:n.localSources})]})}function ze(){let t=(0,W.useRef)(null),{agentId:n}=P();(0,W.useEffect)(()=>{t.current?.scrollTo(0,0)},[n]);let{data:r,isError:i}=h({queryKey:U.agent(n??``),queryFn:()=>w(n),enabled:!!n,retry:!1}),{data:a=[]}=h({queryKey:U.agentStatuses(),queryFn:A}),o=a.find(e=>e.agentId===n)?.currentItemId,{data:s}=h({queryKey:U.agentSession(n??``,o),queryFn:()=>re(n),enabled:!!n}),[l,u]=(0,W.useState)(!1),[f,m]=(0,W.useState)(!1),[g,v]=(0,W.useState)(null),[b,x]=(0,W.useState)(!1),[C,T]=(0,W.useState)(null),[E,D]=(0,W.useState)(null);function O(e=`Saved. This agent will apply the change when the current item finishes.`){D(e),setTimeout(()=>D(null),6e3)}function k(e){F&&O(e)}let ee=d(),j=p();if(!n)return null;if(i)return(0,G.jsx)(`div`,{className:`absolute inset-0 flex items-center justify-center bg-surface`,children:(0,G.jsx)(`span`,{className:`font-serif text-[14px] text-text-muted`,children:`Agent not found.`})});if(!r)return(0,G.jsx)(`div`,{className:`absolute inset-0 flex items-center justify-center bg-surface`,children:(0,G.jsx)(`div`,{className:`h-6 w-28 animate-pulse rounded bg-surface-elevated`})});if(!r.provider)return null;let te=s?.latestProviderStats,F=!!a.find(e=>e.agentId===n)?.currentItemId,I=s?.archived?.length??0,L=r.createdAt??s?.createdAt;async function R(e){if(!n)return;let t={},r={};(`displayName`in e||`role`in e)&&(`displayName`in e&&(t.displayName=e.displayName),`role`in e&&(t.role=e.role)),(`kind`in e||`model`in e||`reasoningEffort`in e)&&(`kind`in e&&(r.kind=e.kind),`model`in e&&(r.model=e.model),`reasoningEffort`in e&&(r.reasoningEffort=e.reasoningEffort)),(Object.keys(t).length>0||Object.keys(r).length>0)&&(Object.keys(t).length>0&&await M(n,t),Object.keys(r).length>0&&await S(n,r),k(),B(n))}async function z(){if(!(!n||l)){u(!0);try{await ie(n),B(n)}catch{}finally{u(!1)}}}async function ae(e){n&&(await N(n,{homePath:e}),k(),B(n))}async function V(e){n&&(await S(n,{env:e}),k(`Saved. This agent will apply launch env changes when the current item finishes.`),B(n))}async function se(){if(!(!g||b||!n)){x(!0),T(null);try{await S(n,{kind:g.kind,model:g.model,...g.effort?{reasoningEffort:g.effort}:{}}),v(null),k(),B(n)}catch(e){T(ye(e)),v(null)}finally{x(!1)}}}return(0,G.jsxs)(`div`,{ref:t,className:`absolute inset-0 overflow-y-auto bg-surface px-6 py-8 md:px-10 md:py-8`,children:[(0,G.jsxs)(`div`,{className:`max-w-3xl`,children:[E&&(0,G.jsxs)(`div`,{className:`relative mb-8 rounded-sm border border-health-warn/30 bg-health-warn-soft px-4 py-3 pl-5`,children:[(0,G.jsx)(`span`,{"aria-hidden":!0,className:`absolute left-0 top-2 bottom-2 w-px bg-health-warn/60`}),(0,G.jsx)(`span`,{className:`font-serif text-[14px] text-text`,children:E})]}),(0,G.jsxs)(`div`,{className:`divide-y divide-border-soft`,children:[(0,G.jsx)(we,{label:`Name`,value:r.profile?.displayName??``,placeholder:`Unnamed`,onCommit:e=>R({displayName:e})}),(0,G.jsx)(we,{label:`Role`,value:r.profile?.role??``,placeholder:`No role`,onCommit:e=>R({role:e})}),(0,G.jsx)(Ee,{value:r.homePath??``,onCommit:ae}),(0,G.jsx)(De,{kind:r.provider.kind,model:r.provider.model??``,effort:(`reasoningEffort`in r.provider?r.provider.reasoningEffort:void 0)??``,providerOptions:j,onRequestSave:(e,t,n)=>v({kind:e,model:t,effort:n})}),(0,G.jsx)(ke,{env:r.provider.env,onCommit:V}),(0,G.jsx)(K,{label:`Created`,children:L?(0,G.jsx)(`span`,{className:`font-serif text-[15px] text-text`,title:new Date(L).toLocaleString(),children:_(L)}):(0,G.jsx)(q,{})}),(0,G.jsx)(K,{label:`Owner`,children:r.owner?(0,G.jsxs)(`div`,{className:`flex items-center gap-2`,children:[r.owner.avatarUrl?(0,G.jsx)(`img`,{src:r.owner.avatarUrl,alt:``,className:`h-5 w-5 shrink-0 rounded-full object-cover`}):(0,G.jsx)(`span`,{className:`flex h-5 w-5 shrink-0 items-center justify-center rounded-full bg-muted font-sans text-[10px] font-bold text-text-muted`,children:r.owner.displayName.charAt(0).toUpperCase()}),(0,G.jsxs)(`span`,{className:`font-serif text-[15px] text-text`,children:[r.owner.displayName,r.owner.handle&&(0,G.jsxs)(`span`,{className:`font-sans text-[13px] text-text-muted`,children:[` @`,r.owner.handle]})]}),r.slack?.connected===!0&&(0,G.jsx)(`button`,{type:`button`,onClick:()=>m(!0),className:`font-sans ml-1 text-[11px] text-text-subtle underline decoration-text-subtle/40 underline-offset-2 hover:text-text hover:decoration-text/40 transition-colors`,children:`Change`})]}):r.slack?.connected===!0?(0,G.jsx)(`button`,{type:`button`,onClick:()=>m(!0),className:`font-sans text-[13px] text-accent underline decoration-accent/40 underline-offset-2 hover:decoration-accent transition-colors`,children:`Assign owner →`}):(0,G.jsx)(q,{})}),f&&r.slack?.connected===!0&&(0,G.jsx)(`div`,{className:`fixed inset-0 z-50 flex items-center justify-center bg-page/70 backdrop-blur-sm`,children:(0,G.jsxs)(`div`,{className:`relative w-full max-w-md rounded-sm border border-border-soft bg-surface shadow-deep`,children:[(0,G.jsxs)(`div`,{className:`flex items-center justify-between border-b border-border-soft px-5 py-4`,children:[(0,G.jsx)(`span`,{className:`font-serif text-[15px] font-semibold text-text`,children:r.owner?`Change owner`:`Assign owner`}),(0,G.jsx)(`button`,{onClick:()=>m(!1),className:`flex h-8 w-8 items-center justify-center rounded-sm text-text-muted hover:bg-surface-elevated hover:text-text`,children:(0,G.jsx)(y,{className:`h-4 w-4`})})]}),(0,G.jsx)(`div`,{className:`p-5`,children:(0,G.jsx)(oe,{agentId:n,onConfirm:()=>{m(!1),B(n)},submitLabel:r.owner?`Change owner →`:`Assign owner →`,autoFocus:!0,showRationale:!0},n)})]})}),r.slack?.connected===!0&&(0,G.jsx)(K,{label:`Sessions archived`,children:(0,G.jsx)(q,{value:String(I),mono:!0})})]}),(0,G.jsx)(J,{title:`Slack`,children:r.slack?.connected===!0?(0,G.jsxs)(`div`,{className:`space-y-3`,children:[(0,G.jsxs)(`div`,{className:`flex items-center gap-3 overflow-hidden rounded-sm border border-border-soft bg-surface-elevated px-4 py-3`,children:[r.slack.avatarUrl?(0,G.jsx)(`img`,{src:r.slack.avatarUrl,alt:``,className:`h-9 w-9 shrink-0 rounded-lg object-cover ring-1 ring-border-soft`}):(0,G.jsx)(`span`,{className:`flex h-9 w-9 shrink-0 items-center justify-center rounded-lg bg-muted font-serif text-[17px] font-semibold text-text-muted ring-1 ring-border-soft`,children:(r.profile?.displayName??r.id).charAt(0).toUpperCase()}),(0,G.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,G.jsxs)(`div`,{className:`font-serif text-[15px] font-semibold leading-snug text-text`,children:[`@`,r.id]}),r.slack.workspaceName&&(0,G.jsx)(`div`,{className:`font-sans mt-0.5 text-[13px] text-text-muted`,children:r.slack.workspaceName})]}),(0,G.jsxs)(`div`,{className:`flex shrink-0 items-center gap-0.5`,children:[r.slack.appId&&(0,G.jsx)(`a`,{href:`https://api.slack.com/apps/${r.slack.appId}/general`,target:`_blank`,rel:`noreferrer`,title:`Slack App Settings`,className:`flex h-7 w-7 items-center justify-center rounded-sm text-text-subtle opacity-40 transition-all hover:bg-page hover:opacity-100`,children:(0,G.jsx)(e,{className:`h-3.5 w-3.5`})}),(0,G.jsx)(`button`,{onClick:()=>void z(),disabled:l,title:`Sync avatar from Slack`,className:`flex h-7 w-7 items-center justify-center rounded-sm text-text-subtle opacity-40 transition-all hover:bg-page hover:opacity-100 disabled:opacity-20`,children:(0,G.jsx)(c,{className:`h-3.5 w-3.5 ${l?`animate-spin`:``}`})})]})]}),(0,G.jsx)(Fe,{agentId:n})]}):(0,G.jsx)(ne,{agentId:n,onConnect:()=>B(n)})}),r.slack?.connected===!0&&(0,G.jsx)(J,{title:`This session`,children:(0,G.jsx)(Pe,{stats:te,session:s??void 0,now:ee})}),(0,G.jsx)(J,{title:`Skills`,children:(0,G.jsx)(Re,{agentId:n})})]}),g&&(0,G.jsx)(Ae,{isActive:F,kindChanged:g.kind!==r.provider.kind,saving:b,onConfirm:()=>void se(),onCancel:()=>v(null)}),C&&(0,G.jsxs)(`div`,{className:`fixed bottom-4 left-1/2 z-50 -translate-x-1/2 rounded-sm border border-health-error/40 bg-health-error-soft px-4 py-2 shadow-deep`,children:[(0,G.jsx)(`span`,{className:`font-sans text-[12px] text-health-error`,children:C}),(0,G.jsx)(`button`,{className:`ml-3 font-sans text-[11px] text-text-muted hover:text-text`,onClick:()=>T(null),children:`Dismiss`})]})]})}export{ze as default};
@@ -0,0 +1 @@
1
+ import{At as e,N as t,Nt as n,Ot as r,St as i,Z as a,ct as o,kt as s,wt as c,yt as l,z as u}from"./index-CVpew409.js";var d=n(e(),1),f=c();function p(e,t){if(e.kind===`once`)return t?new Date(t).toLocaleString(void 0,{month:`short`,day:`numeric`,hour:`2-digit`,minute:`2-digit`}):`One-shot`;if(e.kind===`interval`){let t=Math.round(e.intervalMs/6e4);if(t<60)return`Every ${t} minute${t===1?``:`s`}`;let n=Math.round(t/60);if(n<24)return`Every ${n} hour${n===1?``:`s`}`;let r=Math.round(n/24);return`Every ${r} day${r===1?``:`s`}`}return e.kind===`daily`?`Daily at ${e.time}`:`Weekly ${e.weekdays.map(e=>e.charAt(0).toUpperCase()+e.slice(1,3)).join(`, `)} at ${e.time}`}function m({reminder:e,onViewStream:t}){return(0,f.jsxs)(`div`,{className:`space-y-4 rounded-sm border border-border-soft bg-surface-raised p-4`,children:[(0,f.jsxs)(`div`,{children:[(0,f.jsx)(`div`,{className:`caps text-text-muted`,children:`Instructions`}),(0,f.jsx)(`div`,{className:`font-serif mt-1.5 whitespace-pre-wrap break-words text-[14px] leading-[1.6] text-text`,children:e.instructions})]}),(0,f.jsxs)(`div`,{className:`font-sans grid grid-cols-2 gap-x-4 gap-y-1 text-[11px] tracking-wide text-text-muted`,children:[(0,f.jsxs)(`div`,{children:[(0,f.jsx)(`span`,{className:`text-text-subtle`,children:`Fired`}),` `,(0,f.jsx)(`span`,{className:`font-mono ml-1`,children:e.firedCount})]}),e.lastFiredAt&&(0,f.jsxs)(`div`,{className:`col-span-2`,children:[(0,f.jsx)(`span`,{className:`text-text-subtle`,children:`Last fired`}),` `,new Date(e.lastFiredAt).toLocaleString()]}),e.provenance&&(0,f.jsxs)(`div`,{className:`col-span-2`,children:[(0,f.jsx)(`span`,{className:`text-text-subtle`,children:`Provenance`}),` `,(0,f.jsxs)(`span`,{className:`font-mono`,children:[e.provenance.channelId,` / `,e.provenance.messageTs]})]})]}),e.lastFiredAt&&(0,f.jsx)(`button`,{onClick:t,className:`chrome text-[11px] uppercase tracking-[0.12em] text-text-muted underline decoration-border-soft underline-offset-4 hover:text-accent hover:decoration-accent`,children:`View activity stream →`})]})}function h({reminder:e,now:t,onViewStream:n}){let[r,i]=(0,d.useState)(!1),o=e.schedule.kind!==`once`,s=e.nextDueAt;return(0,f.jsxs)(`div`,{className:`border-b border-border-soft last:border-b-0`,children:[(0,f.jsxs)(`button`,{onClick:()=>i(e=>!e),className:`grid w-full grid-cols-[1fr_auto] items-start gap-3 px-1 py-3.5 text-left hover:bg-surface-elevated/40`,children:[(0,f.jsxs)(`div`,{className:`min-w-0`,children:[(0,f.jsx)(`div`,{className:`font-serif text-[15px] leading-snug text-text`,children:e.title}),(0,f.jsxs)(`div`,{className:`font-sans mt-1 flex flex-wrap items-baseline gap-x-2 gap-y-0.5 text-[11px] tracking-wide text-text-muted`,children:[(0,f.jsx)(`span`,{children:p(e.schedule,e.nextDueAt)}),s&&(0,f.jsxs)(f.Fragment,{children:[(0,f.jsx)(`span`,{className:`text-text-subtle`,children:`·`}),(0,f.jsxs)(`span`,{children:[`next `,u(s,t)]})]}),o&&e.lastFiredAt&&(0,f.jsxs)(f.Fragment,{children:[(0,f.jsx)(`span`,{className:`text-text-subtle`,children:`·`}),(0,f.jsxs)(`span`,{children:[`last fired `,u(e.lastFiredAt,t)]})]})]})]}),(0,f.jsx)(a,{className:`mt-1.5 h-3.5 w-3.5 shrink-0 text-text-subtle transition-transform ${r?`rotate-90`:``}`})]}),r&&(0,f.jsx)(`div`,{className:`px-1 pb-4`,children:(0,f.jsx)(m,{reminder:e,onViewStream:n})})]})}function g({reminder:e,now:t,onViewStream:n}){let[r,i]=(0,d.useState)(!1),o=e.cancelledAt??e.lastFiredAt??e.updatedAt;return(0,f.jsxs)(`div`,{className:`border-b border-border-soft last:border-b-0`,children:[(0,f.jsxs)(`button`,{onClick:()=>i(e=>!e),className:`grid w-full grid-cols-[1fr_auto] items-start gap-3 px-1 py-3.5 text-left hover:bg-surface-elevated/40`,children:[(0,f.jsxs)(`div`,{className:`min-w-0 flex flex-wrap items-baseline gap-x-2 gap-y-0.5`,children:[(0,f.jsx)(`span`,{className:`font-serif text-[15px] leading-snug text-text`,children:e.title}),(0,f.jsx)(`span`,{className:`chrome shrink-0 rounded-sm border border-border-soft bg-surface-elevated px-1.5 py-0.5 text-[10px] uppercase tracking-[0.1em] text-text`,children:e.status}),(0,f.jsx)(`span`,{className:`font-sans text-[11px] tracking-wide text-text-muted`,children:u(o,t)})]}),(0,f.jsx)(a,{className:`mt-1.5 h-3.5 w-3.5 shrink-0 text-text-subtle transition-transform ${r?`rotate-90`:``}`})]}),r&&(0,f.jsx)(`div`,{className:`px-1 pb-4`,children:(0,f.jsx)(m,{reminder:e,onViewStream:n})})]})}function _({title:e,count:t}){return(0,f.jsxs)(`div`,{className:`mb-3 flex items-baseline gap-4`,children:[(0,f.jsxs)(`h2`,{className:`caps text-text-muted`,children:[e,(0,f.jsx)(`span`,{className:`ml-2 font-mono text-[11px] tracking-normal text-text-subtle`,children:t})]}),(0,f.jsx)(`span`,{className:`h-px flex-1 bg-border-soft`})]})}function v(){let e=(0,d.useRef)(null),{agentId:n}=s(),a=r();(0,d.useEffect)(()=>{e.current?.scrollTo(0,0)},[n]);let c=t(),{data:u=[],error:p}=i({queryKey:l.agentReminders(n??``),queryFn:()=>o(n),enabled:!!n}),{active:m,past:v}=(0,d.useMemo)(()=>({active:u.filter(e=>e.status===`scheduled`).sort((e,t)=>(e.nextDueAt??e.updatedAt).localeCompare(t.nextDueAt??t.updatedAt)),past:u.filter(e=>e.status===`fired`||e.status===`cancelled`).sort((e,t)=>t.updatedAt.localeCompare(e.updatedAt))}),[u]);return n?(0,f.jsx)(`div`,{ref:e,className:`bg-surface h-full overflow-y-auto px-6 py-8 md:px-10 md:py-10`,children:(0,f.jsxs)(`div`,{className:`max-w-3xl`,children:[p&&(0,f.jsx)(`div`,{className:`mb-6 rounded-sm border border-border-soft bg-surface-raised px-4 py-3 text-[13px] text-text-subtle`,children:p instanceof Error?p.message:String(p)}),(0,f.jsxs)(`section`,{className:`first:mt-0`,children:[(0,f.jsx)(_,{title:`Active`,count:m.length}),m.length===0?(0,f.jsx)(`div`,{className:`font-serif italic py-3 text-[14px] text-text-subtle`,children:`No active reminders.`}):(0,f.jsx)(`div`,{className:`divide-y divide-border-soft border-b border-border-soft`,children:m.map(e=>(0,f.jsx)(h,{reminder:e,now:c,onViewStream:()=>a(`/agents/${n}/activity`)},e.reminderId))})]}),v.length>0&&(0,f.jsxs)(`section`,{className:`mt-10`,children:[(0,f.jsx)(_,{title:`Past`,count:v.length}),(0,f.jsx)(`div`,{className:`divide-y divide-border-soft border-b border-border-soft`,children:v.map(e=>(0,f.jsx)(g,{reminder:e,now:c,onViewStream:()=>a(`/agents/${n}/activity`)},e.reminderId))})]})]})}):null}export{v as default};
@@ -1 +1 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 48 46" fill="#b3401f"><path d="M25.946 44.938c-.664.845-2.021.375-2.021-.698V33.937a2.26 2.26 0 0 0-2.262-2.262H10.287c-.92 0-1.456-1.04-.92-1.788l7.48-10.471c1.07-1.497 0-3.578-1.842-3.578H1.237c-.92 0-1.456-1.04-.92-1.788L10.013.474c.214-.297.556-.474.92-.474h28.894c.92 0 1.456 1.04.92 1.788l-7.48 10.471c-1.07 1.498 0 3.579 1.842 3.579h11.377c.943 0 1.473 1.088.89 1.83L25.947 44.94z"/></svg>
1
+ <svg xmlns="http://www.w3.org/2000/svg" aria-label="Anima" viewBox="0 0 64 64"><style>:root{color:#b3401f}@media (prefers-color-scheme:dark){:root{color:#f6f6f4}}</style><path fill="none" stroke="currentColor" stroke-linecap="round" stroke-width="5.5" d="M48.11 22.93a19 19 0 1 1-32.22 0"/><circle cx="32" cy="33" r="9" fill="currentColor"/></svg>
@@ -5,8 +5,8 @@
5
5
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
6
6
  <link rel="icon" href="/favicon.svg" type="image/svg+xml" />
7
7
  <title>Anima</title>
8
- <script type="module" crossorigin src="/assets/index-CzAQnbuO.js"></script>
9
- <link rel="stylesheet" crossorigin href="/assets/index-DKecrvN0.css">
8
+ <script type="module" crossorigin src="/assets/index-CVpew409.js"></script>
9
+ <link rel="stylesheet" crossorigin href="/assets/index-mh0uJTkY.css">
10
10
  </head>
11
11
  <body>
12
12
  <div id="root"></div>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@meetquinn/animactl",
3
- "version": "0.1.2",
3
+ "version": "0.1.3",
4
4
  "license": "Apache-2.0",
5
5
  "private": false,
6
6
  "description": "Operator CLI for installing and running Anima.",
@@ -5,6 +5,7 @@ You are {{name}}, {{role}}.
5
5
  You run inside Anima — your local runtime. Anima is what connects you to your team: it brings your team's Slack activity to you (DMs, threads, channel messages) and sends your replies back, and it owns the Slack protocol, the audit log, and all message routing. In the team you appear as your own Slack bot, with your own name and handle. It can also wake you later on a schedule, when you set yourself a reminder. You don't touch Slack directly — you act through Anima's tools.
6
6
 
7
7
  What this means in practice:
8
+
8
9
  - You're one teammate among humans and other agents sharing the same team context.
9
10
  - You perceive and act only through Anima's tools — reading history, sending a message, reacting, sending a file.
10
11
  - Your plain output is just thinking — it's internal and reaches no one. Only a tool call (sending a message) actually surfaces to the team. So when you have something a teammate should see, you must send it; and never claim you sent something unless the tool call succeeded.
@@ -15,6 +16,7 @@ What this means in practice:
15
16
  You're a real member of this team — show up like one. Be natural and present, bring your own judgment, and don't fall back on a robotic script. Coordinate, don't crowd.
16
17
 
17
18
  How you communicate:
19
+
18
20
  - **Replying is always a tool call.** When a message is addressed to you, your reply only exists if it goes out through an `anima message` send (or react) — text you write as plain output is internal thinking the teammate never sees, so it is never a reply, no matter how complete it reads. This trap is easiest to fall into mid-conversation (e.g. a DM back-and-forth), where "answering" in prose feels like talking. Before you end a turn that a message prompted, verify you actually sent your response; "I answered in my head" must never pass as done.
19
21
  - Reply where the message came from — same DM, channel, or thread.
20
22
  - Be concise and actionable. Don't narrate your process or send filler status pings ("still on it…", "almost there…").
@@ -24,6 +26,7 @@ How you communicate:
24
26
  - **Staying / leaving.** You follow threads you're involved in and channels you're a member of, permanently. Stay quiet unless you have something to add. Finishing your part is not a reason to leave — follow-ups are common. Only `mute` a thread/channel when it's clearly done with you AND still noisy. An @mention always brings you back.
25
27
 
26
28
  How you work alongside others:
29
+
27
30
  - Respect ongoing conversations. If teammates are mid back-and-forth, their follow-ups are for each other — join only when @mentioned or clearly addressed.
28
31
  - Don't echo others' work. If a teammate shipped something or closed a task, let them report it.
29
32
  - Stay quiet when the team is aligned and executing. Speak up when scope is unclear, priorities conflict, or the plan is drifting.
@@ -42,14 +45,17 @@ Your context is periodically compressed or reset — on compaction or restart, t
42
45
  ### Through the `anima` CLI — your default
43
46
 
44
47
  Read and post to Slack with `anima message` — `send`, `read`, `update`, `react`. Patterns:
48
+
45
49
  - Reply target comes from the delivery envelope: pass its `channel=` / `thread_ts=` to `--channel` / `--thread-ts` literally.
46
50
  - Bodies go through a heredoc (multi-line, often with backticks):
51
+
47
52
  ```
48
53
  anima message send --channel <id-or-name> [--thread-ts <thread_ts>] <<'ANIMA_MESSAGE'
49
54
  <markdown>
50
55
  ANIMA_MESSAGE
51
56
  ```
52
- - Bodies are standard Markdown — **bold**, not Slack's *single-star*.
57
+
58
+ - Bodies are standard Markdown — **bold**, not Slack's _single-star_.
53
59
 
54
60
  `anima inbox` and `anima outbox` show your recent received and sent history. Use them after recovery, or when you need to check whether you already replied.
55
61
 
@@ -61,4 +67,12 @@ Use `anima ask` when you need a bounded decision — yes/no, approve/reject, pic
61
67
 
62
68
  ### Directly with the Slack token — escape hatch
63
69
 
64
- For Slack operations the CLI doesn't cover (channel management, invites, and the like), call the Slack Web API directly. Your bot token is already in the environment as `$SLACK_BOT_TOKEN` — use it as-is; don't print or log it. Anything the team should *see* still goes through the CLI, so it stays audited.
70
+ For Slack operations the CLI doesn't cover (channel management, invites, and the like), call the Slack Web API directly. Your bot token is already in the environment as `$SLACK_BOT_TOKEN` — use it as-is; don't print or log it. Anything the team should _see_ still goes through the CLI, so it stays audited.
71
+
72
+ ## Skills
73
+
74
+ Some providers expose local skills through their own skill system. Treat those skills as part of your working environment:
75
+
76
+ - Before specialized work, actively check whether an installed skill applies instead of improvising from scratch.
77
+ - If the user asks whether you can do something new, how to do a specialized task, or whether a capability exists, use the `find-skills` skill when available to search for an existing skill before saying it is unsupported.
78
+ - Do not invent skills that are not installed or visible to you. If you find an installable third-party skill, tell the user what it does and where it comes from before installing it.
@@ -0,0 +1,133 @@
1
+ ---
2
+ name: find-skills
3
+ description: Helps users discover and install agent skills when they ask questions like "how do I do X", "find a skill for X", "is there a skill that can...", or express interest in extending capabilities. This skill should be used when the user is looking for functionality that might exist as an installable skill.
4
+ ---
5
+
6
+ # Find Skills
7
+
8
+ This skill helps you discover and install skills from the open agent skills ecosystem.
9
+
10
+ ## When to Use This Skill
11
+
12
+ Use this skill when the user:
13
+
14
+ - Asks "how do I do X" where X might be a common task with an existing skill
15
+ - Says "find a skill for X" or "is there a skill for X"
16
+ - Asks "can you do X" where X is a specialized capability
17
+ - Expresses interest in extending agent capabilities
18
+ - Wants to search for tools, templates, or workflows
19
+ - Mentions they wish they had help with a specific domain (design, testing, deployment, etc.)
20
+
21
+ ## What is the Skills CLI?
22
+
23
+ The Skills CLI (`npx skills`) is the package manager for the open agent skills ecosystem. Skills are modular packages that extend agent capabilities with specialized knowledge, workflows, and tools.
24
+
25
+ **Key commands:**
26
+
27
+ - `npx skills find [query]` - Search for skills interactively or by keyword
28
+ - `npx skills add <package>` - Install a skill from GitHub or other sources
29
+ - `npx skills check` - Check for skill updates
30
+ - `npx skills update` - Update all installed skills
31
+
32
+ **Browse skills at:** https://skills.sh/
33
+
34
+ ## How to Help Users Find Skills
35
+
36
+ ### Step 1: Understand What They Need
37
+
38
+ When a user asks for help with something, identify:
39
+
40
+ 1. The domain, such as React, testing, design, or deployment
41
+ 2. The specific task, such as writing tests, creating animations, reviewing PRs, or creating a changelog
42
+ 3. Whether this is a common enough task that a skill likely exists
43
+
44
+ ### Step 2: Search for Skills
45
+
46
+ Run the find command with a relevant query:
47
+
48
+ ```bash
49
+ npx skills find [query]
50
+ ```
51
+
52
+ For example:
53
+
54
+ - User asks "how do I make my React app faster?" -> `npx skills find react performance`
55
+ - User asks "can you help me with PR reviews?" -> `npx skills find pr review`
56
+ - User asks "I need to create a changelog" -> `npx skills find changelog`
57
+
58
+ The command will return results like:
59
+
60
+ ```text
61
+ Install with npx skills add <owner/repo@skill>
62
+
63
+ vercel-labs/agent-skills@vercel-react-best-practices
64
+ https://skills.sh/vercel-labs/agent-skills/vercel-react-best-practices
65
+ ```
66
+
67
+ ### Step 3: Present Options to the User
68
+
69
+ When you find relevant skills, present them to the user with:
70
+
71
+ 1. The skill name and what it does
72
+ 2. The install command they can run
73
+ 3. A link to learn more at skills.sh
74
+
75
+ Example response:
76
+
77
+ ```text
78
+ I found a skill that might help. The "vercel-react-best-practices" skill provides
79
+ React and Next.js performance optimization guidelines from Vercel Engineering.
80
+
81
+ To install it:
82
+ npx skills add vercel-labs/agent-skills@vercel-react-best-practices
83
+
84
+ Learn more: https://skills.sh/vercel-labs/agent-skills/vercel-react-best-practices
85
+ ```
86
+
87
+ ### Step 4: Offer to Install
88
+
89
+ If the user wants to proceed, you can install the skill for them:
90
+
91
+ ```bash
92
+ npx skills add <owner/repo@skill> -g -y
93
+ ```
94
+
95
+ The `-g` flag installs globally at the user level and `-y` skips confirmation prompts.
96
+
97
+ ## Common Skill Categories
98
+
99
+ When searching, consider these common categories:
100
+
101
+ | Category | Example Queries |
102
+ | --------------- | ---------------------------------------- |
103
+ | Web Development | react, nextjs, typescript, css, tailwind |
104
+ | Testing | testing, jest, playwright, e2e |
105
+ | DevOps | deploy, docker, kubernetes, ci-cd |
106
+ | Documentation | docs, readme, changelog, api-docs |
107
+ | Code Quality | review, lint, refactor, best-practices |
108
+ | Design | ui, ux, design-system, accessibility |
109
+ | Productivity | workflow, automation, git |
110
+
111
+ ## Tips for Effective Searches
112
+
113
+ 1. **Use specific keywords**: "react testing" is better than just "testing"
114
+ 2. **Try alternative terms**: If "deploy" doesn't work, try "deployment" or "ci-cd"
115
+ 3. **Check popular sources**: Many skills come from `vercel-labs/agent-skills` or `ComposioHQ/awesome-claude-skills`
116
+
117
+ ## When No Skills Are Found
118
+
119
+ If no relevant skills exist:
120
+
121
+ 1. Acknowledge that no existing skill was found
122
+ 2. Offer to help with the task directly using your general capabilities
123
+ 3. Suggest the user could create their own skill with `npx skills init`
124
+
125
+ Example:
126
+
127
+ ```text
128
+ I searched for skills related to "xyz" but didn't find any matches.
129
+ I can still help you with this task directly. Would you like me to proceed?
130
+
131
+ If this is something you do often, you could create your own skill:
132
+ npx skills init my-xyz-skill
133
+ ```
@@ -1 +0,0 @@
1
- {"version":3,"file":"activity-payload.d.ts","sourceRoot":"","sources":["../../../server/runtime/activity-payload.ts"],"names":[],"mappings":"AAEA,wBAAgB,UAAU,CACxB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,EAC3C,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,IAAI,EAAE,MAAM,EACZ,EAAE,EAAE,MAAM,GACT,IAAI,CAGN;AAED,wBAAgB,UAAU,CACxB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,EAC3C,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,IAAI,EAAE,MAAM,EACZ,EAAE,EAAE,MAAM,GACT,IAAI,CAGN;AAED,wBAAgB,WAAW,CACzB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,EAC3C,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,IAAI,EAAE,MAAM,EACZ,EAAE,EAAE,MAAM,GACT,IAAI,CAGN;AAED,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,EAC3C,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,IAAI,EAAE,MAAM,EACZ,EAAE,EAAE,MAAM,GACT,IAAI,CAGN"}
@@ -1,4 +0,0 @@
1
- export declare function truncateForActivity(text: string): string;
2
- export declare function runtimeErrorPayload(error: unknown): Record<string, unknown>;
3
- export declare function isFirstClassAnimaCliCommand(command: string | undefined): boolean;
4
- //# sourceMappingURL=activity-text.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"activity-text.d.ts","sourceRoot":"","sources":["../../../server/runtime/activity-text.ts"],"names":[],"mappings":"AAEA,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAExD;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAI3E;AAED,wBAAgB,2BAA2B,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAOhF"}
@@ -1,16 +0,0 @@
1
- import { errorMessage } from '../ids.js';
2
- export function truncateForActivity(text) {
3
- return text.trim().slice(0, 4000);
4
- }
5
- export function runtimeErrorPayload(error) {
6
- return {
7
- error: truncateForActivity(errorMessage(error)),
8
- };
9
- }
10
- export function isFirstClassAnimaCliCommand(command) {
11
- const trimmed = command?.trim();
12
- if (!trimmed)
13
- return false;
14
- const withOptionalEnv = String.raw `(?:[A-Za-z_][A-Za-z0-9_]*=(?:"[^"]*"|'[^']*'|\S+)\s+)*`;
15
- return new RegExp(String.raw `^${withOptionalEnv}anima\s+(?:ask|message\s+(?:read|send|update|react)|file\s+send|reminder\s+(?:schedule|cancel|snooze|list)|subscription\s+(?:list|mute))\b`).test(trimmed);
16
- }
@@ -1 +0,0 @@
1
- {"version":3,"file":"managed-runtime.d.ts","sourceRoot":"","sources":["../../../server/runtime/managed-runtime.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"provider-contract.d.ts","sourceRoot":"","sources":["../../../server/runtime/provider-contract.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"runtime-release.d.ts","sourceRoot":"","sources":["../../../server/runtime/runtime-release.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,mBAAmB,EAAE,wBAAwB,EAAE,MAAM,iCAAiC,CAAC;AAKrG,MAAM,MAAM,oBAAoB,GAAG,CAAC,KAAK,EAAE;IACzC,WAAW,EAAE,MAAM,CAAC;IACpB,GAAG,EAAE,MAAM,CAAC;CACb,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;AAEtB,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,mBAAmB,GAAG,MAAM,CAExE;AAED,wBAAsB,gBAAgB,CAAC,KAAK,EAAE;IAC5C,WAAW,EAAE,MAAM,CAAC;IACpB,GAAG,EAAE,MAAM,CAAC;CACb,GAAG,OAAO,CAAC,MAAM,CAAC,CAsBlB;AAED,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,OAAO,GAAG,wBAAwB,CAQjF;AAED,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAmB1E"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"runtime-upgrade.d.ts","sourceRoot":"","sources":["../../../server/runtime/runtime-upgrade.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"shortcut.service.d.ts","sourceRoot":"","sources":["../../../server/slack/shortcut.service.ts"],"names":[],"mappings":"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"}