slackhive 0.1.40 → 0.1.42

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 (534) hide show
  1. package/cli/dist/index.js +15786 -52
  2. package/package.json +9 -3
  3. package/.dockerignore +0 -14
  4. package/.env.example +0 -44
  5. package/.github/ISSUE_TEMPLATE/bug_report.yml +0 -65
  6. package/.github/ISSUE_TEMPLATE/config.yml +0 -5
  7. package/.github/ISSUE_TEMPLATE/feature_request.yml +0 -38
  8. package/.github/PULL_REQUEST_TEMPLATE.md +0 -27
  9. package/.github/dependabot.yml +0 -20
  10. package/.github/workflows/audit.yml +0 -149
  11. package/.github/workflows/ci.yml +0 -135
  12. package/CHANGELOG.md +0 -52
  13. package/CODE_OF_CONDUCT.md +0 -37
  14. package/CONTRIBUTING.md +0 -204
  15. package/SECURITY.md +0 -47
  16. package/apps/runner/Dockerfile +0 -33
  17. package/apps/runner/dist/__tests__/channel-restrictions.test.d.ts +0 -8
  18. package/apps/runner/dist/__tests__/channel-restrictions.test.js +0 -63
  19. package/apps/runner/dist/__tests__/channel-restrictions.test.js.map +0 -1
  20. package/apps/runner/dist/__tests__/claude-handler-resolve.test.d.ts +0 -20
  21. package/apps/runner/dist/__tests__/claude-handler-resolve.test.js +0 -178
  22. package/apps/runner/dist/__tests__/claude-handler-resolve.test.js.map +0 -1
  23. package/apps/runner/dist/__tests__/compile-claude-md.test.d.ts +0 -13
  24. package/apps/runner/dist/__tests__/compile-claude-md.test.js +0 -144
  25. package/apps/runner/dist/__tests__/compile-claude-md.test.js.map +0 -1
  26. package/apps/runner/dist/__tests__/memory-sync.test.d.ts +0 -11
  27. package/apps/runner/dist/__tests__/memory-sync.test.js +0 -56
  28. package/apps/runner/dist/__tests__/memory-sync.test.js.map +0 -1
  29. package/apps/runner/dist/__tests__/slack-file-support.test.d.ts +0 -9
  30. package/apps/runner/dist/__tests__/slack-file-support.test.js +0 -271
  31. package/apps/runner/dist/__tests__/slack-file-support.test.js.map +0 -1
  32. package/apps/runner/dist/__tests__/slack-formatting.test.d.ts +0 -12
  33. package/apps/runner/dist/__tests__/slack-formatting.test.js +0 -400
  34. package/apps/runner/dist/__tests__/slack-formatting.test.js.map +0 -1
  35. package/apps/runner/dist/__tests__/thread-context.test.d.ts +0 -12
  36. package/apps/runner/dist/__tests__/thread-context.test.js +0 -182
  37. package/apps/runner/dist/__tests__/thread-context.test.js.map +0 -1
  38. package/apps/runner/dist/agent-runner.d.ts +0 -118
  39. package/apps/runner/dist/agent-runner.js +0 -352
  40. package/apps/runner/dist/agent-runner.js.map +0 -1
  41. package/apps/runner/dist/claude-handler.d.ts +0 -122
  42. package/apps/runner/dist/claude-handler.js +0 -402
  43. package/apps/runner/dist/claude-handler.js.map +0 -1
  44. package/apps/runner/dist/compile-claude-md.d.ts +0 -59
  45. package/apps/runner/dist/compile-claude-md.js +0 -291
  46. package/apps/runner/dist/compile-claude-md.js.map +0 -1
  47. package/apps/runner/dist/correction-handler.d.ts +0 -46
  48. package/apps/runner/dist/correction-handler.js +0 -162
  49. package/apps/runner/dist/correction-handler.js.map +0 -1
  50. package/apps/runner/dist/correction-manager.d.ts +0 -53
  51. package/apps/runner/dist/correction-manager.js +0 -241
  52. package/apps/runner/dist/correction-manager.js.map +0 -1
  53. package/apps/runner/dist/db.d.ts +0 -193
  54. package/apps/runner/dist/db.js +0 -492
  55. package/apps/runner/dist/db.js.map +0 -1
  56. package/apps/runner/dist/index.d.ts +0 -9
  57. package/apps/runner/dist/index.js +0 -43
  58. package/apps/runner/dist/index.js.map +0 -1
  59. package/apps/runner/dist/job-scheduler.d.ts +0 -57
  60. package/apps/runner/dist/job-scheduler.js +0 -150
  61. package/apps/runner/dist/job-scheduler.js.map +0 -1
  62. package/apps/runner/dist/logger.d.ts +0 -32
  63. package/apps/runner/dist/logger.js +0 -52
  64. package/apps/runner/dist/logger.js.map +0 -1
  65. package/apps/runner/dist/mcp-process-manager.d.ts +0 -38
  66. package/apps/runner/dist/mcp-process-manager.js +0 -189
  67. package/apps/runner/dist/mcp-process-manager.js.map +0 -1
  68. package/apps/runner/dist/memory-mcp.d.ts +0 -14
  69. package/apps/runner/dist/memory-mcp.js +0 -88
  70. package/apps/runner/dist/memory-mcp.js.map +0 -1
  71. package/apps/runner/dist/memory-watcher.d.ts +0 -78
  72. package/apps/runner/dist/memory-watcher.js +0 -220
  73. package/apps/runner/dist/memory-watcher.js.map +0 -1
  74. package/apps/runner/dist/slack-handler.d.ts +0 -120
  75. package/apps/runner/dist/slack-handler.js +0 -843
  76. package/apps/runner/dist/slack-handler.js.map +0 -1
  77. package/apps/runner/node_modules/.vite/vitest/da39a3ee5e6b4b0d3255bfef95601890afd80709/results.json +0 -1
  78. package/apps/runner/package.json +0 -42
  79. package/apps/runner/src/__tests__/channel-restrictions.test.ts +0 -75
  80. package/apps/runner/src/__tests__/claude-handler-resolve.test.ts +0 -160
  81. package/apps/runner/src/__tests__/compile-claude-md.test.ts +0 -139
  82. package/apps/runner/src/__tests__/memory-sync.test.ts +0 -59
  83. package/apps/runner/src/__tests__/slack-file-support.test.ts +0 -376
  84. package/apps/runner/src/__tests__/slack-formatting.test.ts +0 -495
  85. package/apps/runner/src/__tests__/thread-context.test.ts +0 -215
  86. package/apps/runner/src/agent-runner.ts +0 -397
  87. package/apps/runner/src/claude-handler.ts +0 -475
  88. package/apps/runner/src/compile-claude-md.ts +0 -283
  89. package/apps/runner/src/correction-handler.ts +0 -191
  90. package/apps/runner/src/correction-manager.ts +0 -285
  91. package/apps/runner/src/db.ts +0 -604
  92. package/apps/runner/src/index.ts +0 -46
  93. package/apps/runner/src/job-scheduler.ts +0 -165
  94. package/apps/runner/src/logger.ts +0 -49
  95. package/apps/runner/src/mcp-process-manager.ts +0 -195
  96. package/apps/runner/src/memory-mcp.ts +0 -85
  97. package/apps/runner/src/memory-watcher.ts +0 -215
  98. package/apps/runner/src/slack-handler.ts +0 -929
  99. package/apps/runner/tsconfig.json +0 -17
  100. package/apps/runner/vitest.config.mts +0 -17
  101. package/apps/web/.eslintrc.json +0 -3
  102. package/apps/web/.next/app-build-manifest.json +0 -323
  103. package/apps/web/.next/app-path-routes-manifest.json +0 -46
  104. package/apps/web/.next/build-manifest.json +0 -33
  105. package/apps/web/.next/cache/.previewinfo +0 -1
  106. package/apps/web/.next/cache/.rscinfo +0 -1
  107. package/apps/web/.next/cache/webpack/client-production/0.pack +0 -0
  108. package/apps/web/.next/cache/webpack/client-production/1.pack +0 -0
  109. package/apps/web/.next/cache/webpack/client-production/2.pack +0 -0
  110. package/apps/web/.next/cache/webpack/client-production/3.pack +0 -0
  111. package/apps/web/.next/cache/webpack/client-production/4.pack +0 -0
  112. package/apps/web/.next/cache/webpack/client-production/index.pack +0 -0
  113. package/apps/web/.next/cache/webpack/client-production/index.pack.old +0 -0
  114. package/apps/web/.next/cache/webpack/edge-server-production/0.pack +0 -0
  115. package/apps/web/.next/cache/webpack/edge-server-production/1.pack +0 -0
  116. package/apps/web/.next/cache/webpack/edge-server-production/index.pack +0 -0
  117. package/apps/web/.next/cache/webpack/edge-server-production/index.pack.old +0 -0
  118. package/apps/web/.next/cache/webpack/server-production/0.pack +0 -0
  119. package/apps/web/.next/cache/webpack/server-production/1.pack +0 -0
  120. package/apps/web/.next/cache/webpack/server-production/2.pack +0 -0
  121. package/apps/web/.next/cache/webpack/server-production/index.pack +0 -0
  122. package/apps/web/.next/cache/webpack/server-production/index.pack.old +0 -0
  123. package/apps/web/.next/diagnostics/build-diagnostics.json +0 -6
  124. package/apps/web/.next/diagnostics/framework.json +0 -1
  125. package/apps/web/.next/package.json +0 -1
  126. package/apps/web/.next/react-loadable-manifest.json +0 -1
  127. package/apps/web/.next/server/app/_not-found/page.js +0 -2
  128. package/apps/web/.next/server/app/_not-found/page.js.nft.json +0 -1
  129. package/apps/web/.next/server/app/_not-found/page_client-reference-manifest.js +0 -1
  130. package/apps/web/.next/server/app/agents/[slug]/page.js +0 -4
  131. package/apps/web/.next/server/app/agents/[slug]/page.js.nft.json +0 -1
  132. package/apps/web/.next/server/app/agents/[slug]/page_client-reference-manifest.js +0 -1
  133. package/apps/web/.next/server/app/agents/new/page.js +0 -2
  134. package/apps/web/.next/server/app/agents/new/page.js.nft.json +0 -1
  135. package/apps/web/.next/server/app/agents/new/page_client-reference-manifest.js +0 -1
  136. package/apps/web/.next/server/app/api/agents/[id]/access/route.js +0 -1
  137. package/apps/web/.next/server/app/api/agents/[id]/access/route.js.nft.json +0 -1
  138. package/apps/web/.next/server/app/api/agents/[id]/access/route_client-reference-manifest.js +0 -1
  139. package/apps/web/.next/server/app/api/agents/[id]/claude-md/route.js +0 -6
  140. package/apps/web/.next/server/app/api/agents/[id]/claude-md/route.js.nft.json +0 -1
  141. package/apps/web/.next/server/app/api/agents/[id]/claude-md/route_client-reference-manifest.js +0 -1
  142. package/apps/web/.next/server/app/api/agents/[id]/logs/route.js +0 -3
  143. package/apps/web/.next/server/app/api/agents/[id]/logs/route.js.nft.json +0 -1
  144. package/apps/web/.next/server/app/api/agents/[id]/logs/route_client-reference-manifest.js +0 -1
  145. package/apps/web/.next/server/app/api/agents/[id]/manifest/route.js +0 -1
  146. package/apps/web/.next/server/app/api/agents/[id]/manifest/route.js.nft.json +0 -1
  147. package/apps/web/.next/server/app/api/agents/[id]/manifest/route_client-reference-manifest.js +0 -1
  148. package/apps/web/.next/server/app/api/agents/[id]/mcps/route.js +0 -1
  149. package/apps/web/.next/server/app/api/agents/[id]/mcps/route.js.nft.json +0 -1
  150. package/apps/web/.next/server/app/api/agents/[id]/mcps/route_client-reference-manifest.js +0 -1
  151. package/apps/web/.next/server/app/api/agents/[id]/memories/[memId]/route.js +0 -1
  152. package/apps/web/.next/server/app/api/agents/[id]/memories/[memId]/route.js.nft.json +0 -1
  153. package/apps/web/.next/server/app/api/agents/[id]/memories/[memId]/route_client-reference-manifest.js +0 -1
  154. package/apps/web/.next/server/app/api/agents/[id]/memories/route.js +0 -1
  155. package/apps/web/.next/server/app/api/agents/[id]/memories/route.js.nft.json +0 -1
  156. package/apps/web/.next/server/app/api/agents/[id]/memories/route_client-reference-manifest.js +0 -1
  157. package/apps/web/.next/server/app/api/agents/[id]/permissions/route.js +0 -1
  158. package/apps/web/.next/server/app/api/agents/[id]/permissions/route.js.nft.json +0 -1
  159. package/apps/web/.next/server/app/api/agents/[id]/permissions/route_client-reference-manifest.js +0 -1
  160. package/apps/web/.next/server/app/api/agents/[id]/reload/route.js +0 -1
  161. package/apps/web/.next/server/app/api/agents/[id]/reload/route.js.nft.json +0 -1
  162. package/apps/web/.next/server/app/api/agents/[id]/reload/route_client-reference-manifest.js +0 -1
  163. package/apps/web/.next/server/app/api/agents/[id]/restrictions/route.js +0 -1
  164. package/apps/web/.next/server/app/api/agents/[id]/restrictions/route.js.nft.json +0 -1
  165. package/apps/web/.next/server/app/api/agents/[id]/restrictions/route_client-reference-manifest.js +0 -1
  166. package/apps/web/.next/server/app/api/agents/[id]/route.js +0 -33
  167. package/apps/web/.next/server/app/api/agents/[id]/route.js.nft.json +0 -1
  168. package/apps/web/.next/server/app/api/agents/[id]/route_client-reference-manifest.js +0 -1
  169. package/apps/web/.next/server/app/api/agents/[id]/skills/[skillId]/route.js +0 -1
  170. package/apps/web/.next/server/app/api/agents/[id]/skills/[skillId]/route.js.nft.json +0 -1
  171. package/apps/web/.next/server/app/api/agents/[id]/skills/[skillId]/route_client-reference-manifest.js +0 -1
  172. package/apps/web/.next/server/app/api/agents/[id]/skills/route.js +0 -1
  173. package/apps/web/.next/server/app/api/agents/[id]/skills/route.js.nft.json +0 -1
  174. package/apps/web/.next/server/app/api/agents/[id]/skills/route_client-reference-manifest.js +0 -1
  175. package/apps/web/.next/server/app/api/agents/[id]/slack-info/route.js +0 -1
  176. package/apps/web/.next/server/app/api/agents/[id]/slack-info/route.js.nft.json +0 -1
  177. package/apps/web/.next/server/app/api/agents/[id]/slack-info/route_client-reference-manifest.js +0 -1
  178. package/apps/web/.next/server/app/api/agents/[id]/snapshots/[sid]/restore/route.js +0 -1
  179. package/apps/web/.next/server/app/api/agents/[id]/snapshots/[sid]/restore/route.js.nft.json +0 -1
  180. package/apps/web/.next/server/app/api/agents/[id]/snapshots/[sid]/restore/route_client-reference-manifest.js +0 -1
  181. package/apps/web/.next/server/app/api/agents/[id]/snapshots/[sid]/route.js +0 -1
  182. package/apps/web/.next/server/app/api/agents/[id]/snapshots/[sid]/route.js.nft.json +0 -1
  183. package/apps/web/.next/server/app/api/agents/[id]/snapshots/[sid]/route_client-reference-manifest.js +0 -1
  184. package/apps/web/.next/server/app/api/agents/[id]/snapshots/route.js +0 -1
  185. package/apps/web/.next/server/app/api/agents/[id]/snapshots/route.js.nft.json +0 -1
  186. package/apps/web/.next/server/app/api/agents/[id]/snapshots/route_client-reference-manifest.js +0 -1
  187. package/apps/web/.next/server/app/api/agents/[id]/start/route.js +0 -1
  188. package/apps/web/.next/server/app/api/agents/[id]/start/route.js.nft.json +0 -1
  189. package/apps/web/.next/server/app/api/agents/[id]/start/route_client-reference-manifest.js +0 -1
  190. package/apps/web/.next/server/app/api/agents/[id]/stop/route.js +0 -1
  191. package/apps/web/.next/server/app/api/agents/[id]/stop/route.js.nft.json +0 -1
  192. package/apps/web/.next/server/app/api/agents/[id]/stop/route_client-reference-manifest.js +0 -1
  193. package/apps/web/.next/server/app/api/agents/route.js +0 -91
  194. package/apps/web/.next/server/app/api/agents/route.js.nft.json +0 -1
  195. package/apps/web/.next/server/app/api/agents/route_client-reference-manifest.js +0 -1
  196. package/apps/web/.next/server/app/api/auth/login/route.js +0 -1
  197. package/apps/web/.next/server/app/api/auth/login/route.js.nft.json +0 -1
  198. package/apps/web/.next/server/app/api/auth/login/route_client-reference-manifest.js +0 -1
  199. package/apps/web/.next/server/app/api/auth/logout/route.js +0 -1
  200. package/apps/web/.next/server/app/api/auth/logout/route.js.nft.json +0 -1
  201. package/apps/web/.next/server/app/api/auth/logout/route_client-reference-manifest.js +0 -1
  202. package/apps/web/.next/server/app/api/auth/me/route.js +0 -1
  203. package/apps/web/.next/server/app/api/auth/me/route.js.nft.json +0 -1
  204. package/apps/web/.next/server/app/api/auth/me/route_client-reference-manifest.js +0 -1
  205. package/apps/web/.next/server/app/api/auth/users/[id]/route.js +0 -1
  206. package/apps/web/.next/server/app/api/auth/users/[id]/route.js.nft.json +0 -1
  207. package/apps/web/.next/server/app/api/auth/users/[id]/route_client-reference-manifest.js +0 -1
  208. package/apps/web/.next/server/app/api/auth/users/route.js +0 -1
  209. package/apps/web/.next/server/app/api/auth/users/route.js.nft.json +0 -1
  210. package/apps/web/.next/server/app/api/auth/users/route_client-reference-manifest.js +0 -1
  211. package/apps/web/.next/server/app/api/env-vars/[key]/route.js +0 -1
  212. package/apps/web/.next/server/app/api/env-vars/[key]/route.js.nft.json +0 -1
  213. package/apps/web/.next/server/app/api/env-vars/[key]/route_client-reference-manifest.js +0 -1
  214. package/apps/web/.next/server/app/api/env-vars/route.js +0 -1
  215. package/apps/web/.next/server/app/api/env-vars/route.js.nft.json +0 -1
  216. package/apps/web/.next/server/app/api/env-vars/route_client-reference-manifest.js +0 -1
  217. package/apps/web/.next/server/app/api/jobs/[id]/route.js +0 -1
  218. package/apps/web/.next/server/app/api/jobs/[id]/route.js.nft.json +0 -1
  219. package/apps/web/.next/server/app/api/jobs/[id]/route_client-reference-manifest.js +0 -1
  220. package/apps/web/.next/server/app/api/jobs/[id]/runs/route.js +0 -1
  221. package/apps/web/.next/server/app/api/jobs/[id]/runs/route.js.nft.json +0 -1
  222. package/apps/web/.next/server/app/api/jobs/[id]/runs/route_client-reference-manifest.js +0 -1
  223. package/apps/web/.next/server/app/api/jobs/route.js +0 -1
  224. package/apps/web/.next/server/app/api/jobs/route.js.nft.json +0 -1
  225. package/apps/web/.next/server/app/api/jobs/route_client-reference-manifest.js +0 -1
  226. package/apps/web/.next/server/app/api/mcps/[id]/route.js +0 -1
  227. package/apps/web/.next/server/app/api/mcps/[id]/route.js.nft.json +0 -1
  228. package/apps/web/.next/server/app/api/mcps/[id]/route_client-reference-manifest.js +0 -1
  229. package/apps/web/.next/server/app/api/mcps/[id]/test/route.js +0 -1
  230. package/apps/web/.next/server/app/api/mcps/[id]/test/route.js.nft.json +0 -1
  231. package/apps/web/.next/server/app/api/mcps/[id]/test/route_client-reference-manifest.js +0 -1
  232. package/apps/web/.next/server/app/api/mcps/route.js +0 -1
  233. package/apps/web/.next/server/app/api/mcps/route.js.nft.json +0 -1
  234. package/apps/web/.next/server/app/api/mcps/route_client-reference-manifest.js +0 -1
  235. package/apps/web/.next/server/app/api/settings/route.js +0 -1
  236. package/apps/web/.next/server/app/api/settings/route.js.nft.json +0 -1
  237. package/apps/web/.next/server/app/api/settings/route_client-reference-manifest.js +0 -1
  238. package/apps/web/.next/server/app/icon.svg/route.js +0 -1
  239. package/apps/web/.next/server/app/icon.svg/route.js.nft.json +0 -1
  240. package/apps/web/.next/server/app/jobs/page.js +0 -2
  241. package/apps/web/.next/server/app/jobs/page.js.nft.json +0 -1
  242. package/apps/web/.next/server/app/jobs/page_client-reference-manifest.js +0 -1
  243. package/apps/web/.next/server/app/login/page.js +0 -2
  244. package/apps/web/.next/server/app/login/page.js.nft.json +0 -1
  245. package/apps/web/.next/server/app/login/page_client-reference-manifest.js +0 -1
  246. package/apps/web/.next/server/app/page.js +0 -2
  247. package/apps/web/.next/server/app/page.js.nft.json +0 -1
  248. package/apps/web/.next/server/app/page_client-reference-manifest.js +0 -1
  249. package/apps/web/.next/server/app/settings/env-vars/page.js +0 -2
  250. package/apps/web/.next/server/app/settings/env-vars/page.js.nft.json +0 -1
  251. package/apps/web/.next/server/app/settings/env-vars/page_client-reference-manifest.js +0 -1
  252. package/apps/web/.next/server/app/settings/mcps/page.js +0 -2
  253. package/apps/web/.next/server/app/settings/mcps/page.js.nft.json +0 -1
  254. package/apps/web/.next/server/app/settings/mcps/page_client-reference-manifest.js +0 -1
  255. package/apps/web/.next/server/app/settings/page.js +0 -2
  256. package/apps/web/.next/server/app/settings/page.js.nft.json +0 -1
  257. package/apps/web/.next/server/app/settings/page_client-reference-manifest.js +0 -1
  258. package/apps/web/.next/server/app-paths-manifest.json +0 -46
  259. package/apps/web/.next/server/chunks/1157.js +0 -9
  260. package/apps/web/.next/server/chunks/2287.js +0 -1
  261. package/apps/web/.next/server/chunks/3444.js +0 -1
  262. package/apps/web/.next/server/chunks/383.js +0 -6
  263. package/apps/web/.next/server/chunks/4012.js +0 -58
  264. package/apps/web/.next/server/chunks/6791.js +0 -1
  265. package/apps/web/.next/server/chunks/7171.js +0 -1
  266. package/apps/web/.next/server/chunks/8819.js +0 -22
  267. package/apps/web/.next/server/edge-runtime-webpack.js +0 -2
  268. package/apps/web/.next/server/edge-runtime-webpack.js.map +0 -1
  269. package/apps/web/.next/server/interception-route-rewrite-manifest.js +0 -1
  270. package/apps/web/.next/server/middleware-build-manifest.js +0 -1
  271. package/apps/web/.next/server/middleware-manifest.json +0 -32
  272. package/apps/web/.next/server/middleware-react-loadable-manifest.js +0 -1
  273. package/apps/web/.next/server/next-font-manifest.js +0 -1
  274. package/apps/web/.next/server/next-font-manifest.json +0 -1
  275. package/apps/web/.next/server/pages/_app.js +0 -1
  276. package/apps/web/.next/server/pages/_app.js.nft.json +0 -1
  277. package/apps/web/.next/server/pages/_document.js +0 -1
  278. package/apps/web/.next/server/pages/_document.js.nft.json +0 -1
  279. package/apps/web/.next/server/pages/_error.js +0 -19
  280. package/apps/web/.next/server/pages/_error.js.nft.json +0 -1
  281. package/apps/web/.next/server/pages-manifest.json +0 -5
  282. package/apps/web/.next/server/server-reference-manifest.js +0 -1
  283. package/apps/web/.next/server/server-reference-manifest.json +0 -1
  284. package/apps/web/.next/server/src/middleware.js +0 -14
  285. package/apps/web/.next/server/src/middleware.js.map +0 -1
  286. package/apps/web/.next/server/webpack-runtime.js +0 -1
  287. package/apps/web/.next/static/chunks/18-90b700ea37b686a2.js +0 -1
  288. package/apps/web/.next/static/chunks/87c73c54-24122e7b92478d00.js +0 -1
  289. package/apps/web/.next/static/chunks/9664-af80478aa73ba424.js +0 -1
  290. package/apps/web/.next/static/chunks/app/_not-found/page-b9cee17ed89ca24a.js +0 -1
  291. package/apps/web/.next/static/chunks/app/agents/[slug]/page-18369fc3fe1a9a7b.js +0 -1
  292. package/apps/web/.next/static/chunks/app/agents/new/page-bf11cf8901c7e2cd.js +0 -1
  293. package/apps/web/.next/static/chunks/app/api/agents/[id]/access/route-07f0f73ac9839899.js +0 -1
  294. package/apps/web/.next/static/chunks/app/api/agents/[id]/claude-md/route-07f0f73ac9839899.js +0 -1
  295. package/apps/web/.next/static/chunks/app/api/agents/[id]/logs/route-07f0f73ac9839899.js +0 -1
  296. package/apps/web/.next/static/chunks/app/api/agents/[id]/manifest/route-07f0f73ac9839899.js +0 -1
  297. package/apps/web/.next/static/chunks/app/api/agents/[id]/mcps/route-07f0f73ac9839899.js +0 -1
  298. package/apps/web/.next/static/chunks/app/api/agents/[id]/memories/[memId]/route-07f0f73ac9839899.js +0 -1
  299. package/apps/web/.next/static/chunks/app/api/agents/[id]/memories/route-07f0f73ac9839899.js +0 -1
  300. package/apps/web/.next/static/chunks/app/api/agents/[id]/permissions/route-07f0f73ac9839899.js +0 -1
  301. package/apps/web/.next/static/chunks/app/api/agents/[id]/reload/route-07f0f73ac9839899.js +0 -1
  302. package/apps/web/.next/static/chunks/app/api/agents/[id]/restrictions/route-07f0f73ac9839899.js +0 -1
  303. package/apps/web/.next/static/chunks/app/api/agents/[id]/route-07f0f73ac9839899.js +0 -1
  304. package/apps/web/.next/static/chunks/app/api/agents/[id]/skills/[skillId]/route-07f0f73ac9839899.js +0 -1
  305. package/apps/web/.next/static/chunks/app/api/agents/[id]/skills/route-07f0f73ac9839899.js +0 -1
  306. package/apps/web/.next/static/chunks/app/api/agents/[id]/slack-info/route-07f0f73ac9839899.js +0 -1
  307. package/apps/web/.next/static/chunks/app/api/agents/[id]/snapshots/[sid]/restore/route-07f0f73ac9839899.js +0 -1
  308. package/apps/web/.next/static/chunks/app/api/agents/[id]/snapshots/[sid]/route-07f0f73ac9839899.js +0 -1
  309. package/apps/web/.next/static/chunks/app/api/agents/[id]/snapshots/route-07f0f73ac9839899.js +0 -1
  310. package/apps/web/.next/static/chunks/app/api/agents/[id]/start/route-07f0f73ac9839899.js +0 -1
  311. package/apps/web/.next/static/chunks/app/api/agents/[id]/stop/route-07f0f73ac9839899.js +0 -1
  312. package/apps/web/.next/static/chunks/app/api/agents/route-07f0f73ac9839899.js +0 -1
  313. package/apps/web/.next/static/chunks/app/api/auth/login/route-07f0f73ac9839899.js +0 -1
  314. package/apps/web/.next/static/chunks/app/api/auth/logout/route-07f0f73ac9839899.js +0 -1
  315. package/apps/web/.next/static/chunks/app/api/auth/me/route-07f0f73ac9839899.js +0 -1
  316. package/apps/web/.next/static/chunks/app/api/auth/users/[id]/route-07f0f73ac9839899.js +0 -1
  317. package/apps/web/.next/static/chunks/app/api/auth/users/route-07f0f73ac9839899.js +0 -1
  318. package/apps/web/.next/static/chunks/app/api/env-vars/[key]/route-07f0f73ac9839899.js +0 -1
  319. package/apps/web/.next/static/chunks/app/api/env-vars/route-07f0f73ac9839899.js +0 -1
  320. package/apps/web/.next/static/chunks/app/api/jobs/[id]/route-07f0f73ac9839899.js +0 -1
  321. package/apps/web/.next/static/chunks/app/api/jobs/[id]/runs/route-07f0f73ac9839899.js +0 -1
  322. package/apps/web/.next/static/chunks/app/api/jobs/route-07f0f73ac9839899.js +0 -1
  323. package/apps/web/.next/static/chunks/app/api/mcps/[id]/route-07f0f73ac9839899.js +0 -1
  324. package/apps/web/.next/static/chunks/app/api/mcps/[id]/test/route-07f0f73ac9839899.js +0 -1
  325. package/apps/web/.next/static/chunks/app/api/mcps/route-07f0f73ac9839899.js +0 -1
  326. package/apps/web/.next/static/chunks/app/api/settings/route-07f0f73ac9839899.js +0 -1
  327. package/apps/web/.next/static/chunks/app/jobs/page-f5aa89a47c50efd8.js +0 -1
  328. package/apps/web/.next/static/chunks/app/layout-2079f4964aa7314e.js +0 -1
  329. package/apps/web/.next/static/chunks/app/login/layout-07f0f73ac9839899.js +0 -1
  330. package/apps/web/.next/static/chunks/app/login/page-aa259283dc38e8f9.js +0 -1
  331. package/apps/web/.next/static/chunks/app/page-e83437b608104dff.js +0 -1
  332. package/apps/web/.next/static/chunks/app/settings/env-vars/page-06479dbdfb78b76b.js +0 -1
  333. package/apps/web/.next/static/chunks/app/settings/mcps/page-75650686ed6490c7.js +0 -1
  334. package/apps/web/.next/static/chunks/app/settings/page-e1e62fc41ff6cddd.js +0 -1
  335. package/apps/web/.next/static/chunks/framework-811407f832a33072.js +0 -1
  336. package/apps/web/.next/static/chunks/main-3f1cddbdd67b1546.js +0 -1
  337. package/apps/web/.next/static/chunks/main-app-cebd8a6a5ccbf72d.js +0 -1
  338. package/apps/web/.next/static/chunks/pages/_app-50fa07b56b2d29ac.js +0 -1
  339. package/apps/web/.next/static/chunks/pages/_error-fed8688bdd23f211.js +0 -1
  340. package/apps/web/.next/static/chunks/polyfills-42372ed130431b0a.js +0 -1
  341. package/apps/web/.next/static/chunks/webpack-6c05566dba553c97.js +0 -1
  342. package/apps/web/.next/static/css/15371687405525e2.css +0 -5
  343. package/apps/web/.next/static/ikfNbLhuw7jntn35bz0lk/_buildManifest.js +0 -1
  344. package/apps/web/.next/static/ikfNbLhuw7jntn35bz0lk/_ssgManifest.js +0 -1
  345. package/apps/web/.next/trace +0 -5
  346. package/apps/web/.next/types/app/agents/[slug]/page.ts +0 -84
  347. package/apps/web/.next/types/app/agents/new/page.ts +0 -84
  348. package/apps/web/.next/types/app/api/agents/[id]/access/route.ts +0 -347
  349. package/apps/web/.next/types/app/api/agents/[id]/claude-md/route.ts +0 -347
  350. package/apps/web/.next/types/app/api/agents/[id]/logs/route.ts +0 -347
  351. package/apps/web/.next/types/app/api/agents/[id]/manifest/route.ts +0 -347
  352. package/apps/web/.next/types/app/api/agents/[id]/mcps/route.ts +0 -347
  353. package/apps/web/.next/types/app/api/agents/[id]/memories/[memId]/route.ts +0 -347
  354. package/apps/web/.next/types/app/api/agents/[id]/memories/route.ts +0 -347
  355. package/apps/web/.next/types/app/api/agents/[id]/permissions/route.ts +0 -347
  356. package/apps/web/.next/types/app/api/agents/[id]/reload/route.ts +0 -347
  357. package/apps/web/.next/types/app/api/agents/[id]/restrictions/route.ts +0 -347
  358. package/apps/web/.next/types/app/api/agents/[id]/route.ts +0 -347
  359. package/apps/web/.next/types/app/api/agents/[id]/skills/[skillId]/route.ts +0 -347
  360. package/apps/web/.next/types/app/api/agents/[id]/skills/route.ts +0 -347
  361. package/apps/web/.next/types/app/api/agents/[id]/slack-info/route.ts +0 -347
  362. package/apps/web/.next/types/app/api/agents/[id]/snapshots/[sid]/restore/route.ts +0 -347
  363. package/apps/web/.next/types/app/api/agents/[id]/snapshots/[sid]/route.ts +0 -347
  364. package/apps/web/.next/types/app/api/agents/[id]/snapshots/route.ts +0 -347
  365. package/apps/web/.next/types/app/api/agents/[id]/start/route.ts +0 -347
  366. package/apps/web/.next/types/app/api/agents/[id]/stop/route.ts +0 -347
  367. package/apps/web/.next/types/app/api/agents/route.ts +0 -347
  368. package/apps/web/.next/types/app/api/auth/login/route.ts +0 -347
  369. package/apps/web/.next/types/app/api/auth/logout/route.ts +0 -347
  370. package/apps/web/.next/types/app/api/auth/me/route.ts +0 -347
  371. package/apps/web/.next/types/app/api/auth/users/[id]/route.ts +0 -347
  372. package/apps/web/.next/types/app/api/auth/users/route.ts +0 -347
  373. package/apps/web/.next/types/app/api/env-vars/[key]/route.ts +0 -347
  374. package/apps/web/.next/types/app/api/env-vars/route.ts +0 -347
  375. package/apps/web/.next/types/app/api/jobs/[id]/route.ts +0 -347
  376. package/apps/web/.next/types/app/api/jobs/[id]/runs/route.ts +0 -347
  377. package/apps/web/.next/types/app/api/jobs/route.ts +0 -347
  378. package/apps/web/.next/types/app/api/mcps/[id]/route.ts +0 -347
  379. package/apps/web/.next/types/app/api/mcps/[id]/test/route.ts +0 -347
  380. package/apps/web/.next/types/app/api/mcps/route.ts +0 -347
  381. package/apps/web/.next/types/app/api/settings/route.ts +0 -347
  382. package/apps/web/.next/types/app/jobs/page.ts +0 -84
  383. package/apps/web/.next/types/app/login/layout.ts +0 -84
  384. package/apps/web/.next/types/app/login/page.ts +0 -84
  385. package/apps/web/.next/types/app/page.ts +0 -84
  386. package/apps/web/.next/types/app/settings/env-vars/page.ts +0 -84
  387. package/apps/web/.next/types/app/settings/mcps/page.ts +0 -84
  388. package/apps/web/.next/types/app/settings/page.ts +0 -84
  389. package/apps/web/.next/types/cache-life.d.ts +0 -141
  390. package/apps/web/.next/types/package.json +0 -1
  391. package/apps/web/.next/types/routes.d.ts +0 -114
  392. package/apps/web/.next/types/validator.ts +0 -448
  393. package/apps/web/Dockerfile +0 -37
  394. package/apps/web/next-env.d.ts +0 -6
  395. package/apps/web/next.config.js +0 -6
  396. package/apps/web/node_modules/.vite/vitest/da39a3ee5e6b4b0d3255bfef95601890afd80709/results.json +0 -1
  397. package/apps/web/package.json +0 -48
  398. package/apps/web/postcss.config.js +0 -3
  399. package/apps/web/public/logo.svg +0 -17
  400. package/apps/web/src/app/agents/[slug]/page.tsx +0 -2235
  401. package/apps/web/src/app/agents/new/page.tsx +0 -1161
  402. package/apps/web/src/app/api/agents/[id]/access/route.ts +0 -76
  403. package/apps/web/src/app/api/agents/[id]/claude-md/route.ts +0 -111
  404. package/apps/web/src/app/api/agents/[id]/logs/route.ts +0 -84
  405. package/apps/web/src/app/api/agents/[id]/manifest/route.ts +0 -32
  406. package/apps/web/src/app/api/agents/[id]/mcps/route.ts +0 -73
  407. package/apps/web/src/app/api/agents/[id]/memories/[memId]/route.ts +0 -31
  408. package/apps/web/src/app/api/agents/[id]/memories/route.ts +0 -56
  409. package/apps/web/src/app/api/agents/[id]/permissions/route.ts +0 -74
  410. package/apps/web/src/app/api/agents/[id]/reload/route.ts +0 -33
  411. package/apps/web/src/app/api/agents/[id]/restrictions/route.ts +0 -85
  412. package/apps/web/src/app/api/agents/[id]/route.ts +0 -81
  413. package/apps/web/src/app/api/agents/[id]/skills/[skillId]/route.ts +0 -52
  414. package/apps/web/src/app/api/agents/[id]/skills/route.ts +0 -80
  415. package/apps/web/src/app/api/agents/[id]/slack-info/route.ts +0 -38
  416. package/apps/web/src/app/api/agents/[id]/snapshots/[sid]/restore/route.ts +0 -61
  417. package/apps/web/src/app/api/agents/[id]/snapshots/[sid]/route.ts +0 -53
  418. package/apps/web/src/app/api/agents/[id]/snapshots/route.ts +0 -84
  419. package/apps/web/src/app/api/agents/[id]/start/route.ts +0 -35
  420. package/apps/web/src/app/api/agents/[id]/stop/route.ts +0 -35
  421. package/apps/web/src/app/api/agents/route.ts +0 -99
  422. package/apps/web/src/app/api/auth/login/route.ts +0 -39
  423. package/apps/web/src/app/api/auth/logout/route.ts +0 -21
  424. package/apps/web/src/app/api/auth/me/route.ts +0 -24
  425. package/apps/web/src/app/api/auth/users/[id]/route.ts +0 -48
  426. package/apps/web/src/app/api/auth/users/route.ts +0 -63
  427. package/apps/web/src/app/api/env-vars/[key]/route.ts +0 -66
  428. package/apps/web/src/app/api/env-vars/route.ts +0 -59
  429. package/apps/web/src/app/api/jobs/[id]/route.ts +0 -51
  430. package/apps/web/src/app/api/jobs/[id]/runs/route.ts +0 -24
  431. package/apps/web/src/app/api/jobs/route.ts +0 -42
  432. package/apps/web/src/app/api/mcps/[id]/route.ts +0 -60
  433. package/apps/web/src/app/api/mcps/[id]/test/route.ts +0 -195
  434. package/apps/web/src/app/api/mcps/route.ts +0 -72
  435. package/apps/web/src/app/api/settings/route.ts +0 -42
  436. package/apps/web/src/app/globals.css +0 -124
  437. package/apps/web/src/app/icon.svg +0 -17
  438. package/apps/web/src/app/jobs/page.tsx +0 -543
  439. package/apps/web/src/app/layout-shell.tsx +0 -89
  440. package/apps/web/src/app/layout.tsx +0 -18
  441. package/apps/web/src/app/login/layout.tsx +0 -9
  442. package/apps/web/src/app/login/page.tsx +0 -150
  443. package/apps/web/src/app/page.tsx +0 -573
  444. package/apps/web/src/app/settings/env-vars/page.tsx +0 -216
  445. package/apps/web/src/app/settings/mcps/page.tsx +0 -763
  446. package/apps/web/src/app/settings/page.tsx +0 -528
  447. package/apps/web/src/app/sidebar.tsx +0 -345
  448. package/apps/web/src/lib/__tests__/api-guard.test.ts +0 -189
  449. package/apps/web/src/lib/__tests__/auth.test.ts +0 -262
  450. package/apps/web/src/lib/__tests__/boss-registry.test.ts +0 -323
  451. package/apps/web/src/lib/__tests__/compile.test.ts +0 -161
  452. package/apps/web/src/lib/__tests__/db-agent-hierarchy.test.ts +0 -136
  453. package/apps/web/src/lib/__tests__/db-env-vars.test.ts +0 -216
  454. package/apps/web/src/lib/__tests__/db-restrictions.test.ts +0 -117
  455. package/apps/web/src/lib/__tests__/db.integration.test.ts +0 -271
  456. package/apps/web/src/lib/__tests__/diff.test.ts +0 -102
  457. package/apps/web/src/lib/__tests__/mcp-mask.test.ts +0 -274
  458. package/apps/web/src/lib/__tests__/skill-templates.test.ts +0 -237
  459. package/apps/web/src/lib/__tests__/slack-manifest.test.ts +0 -105
  460. package/apps/web/src/lib/api-guard.ts +0 -68
  461. package/apps/web/src/lib/auth-context.tsx +0 -71
  462. package/apps/web/src/lib/auth.ts +0 -128
  463. package/apps/web/src/lib/boss-registry.ts +0 -90
  464. package/apps/web/src/lib/compile.ts +0 -51
  465. package/apps/web/src/lib/db.ts +0 -1196
  466. package/apps/web/src/lib/diff.ts +0 -43
  467. package/apps/web/src/lib/mcp-mask.ts +0 -91
  468. package/apps/web/src/lib/portal.tsx +0 -23
  469. package/apps/web/src/lib/skill-templates.ts +0 -148
  470. package/apps/web/src/lib/slack-manifest.ts +0 -85
  471. package/apps/web/src/middleware.ts +0 -68
  472. package/apps/web/tailwind.config.js +0 -6
  473. package/apps/web/tsconfig.json +0 -23
  474. package/apps/web/vitest.config.mts +0 -21
  475. package/cli/.claude/settings.local.json +0 -6
  476. package/cli/node_modules/.package-lock.json +0 -427
  477. package/cli/node_modules/commander/LICENSE +0 -22
  478. package/cli/node_modules/commander/Readme.md +0 -1157
  479. package/cli/node_modules/commander/esm.mjs +0 -16
  480. package/cli/node_modules/commander/index.js +0 -24
  481. package/cli/node_modules/commander/lib/argument.js +0 -149
  482. package/cli/node_modules/commander/lib/command.js +0 -2509
  483. package/cli/node_modules/commander/lib/error.js +0 -39
  484. package/cli/node_modules/commander/lib/help.js +0 -520
  485. package/cli/node_modules/commander/lib/option.js +0 -330
  486. package/cli/node_modules/commander/lib/suggestSimilar.js +0 -101
  487. package/cli/node_modules/commander/package-support.json +0 -16
  488. package/cli/node_modules/commander/package.json +0 -84
  489. package/cli/node_modules/commander/typings/esm.d.mts +0 -3
  490. package/cli/node_modules/commander/typings/index.d.ts +0 -969
  491. package/cli/package-lock.json +0 -449
  492. package/cli/package.json +0 -44
  493. package/cli/src/commands/init.ts +0 -514
  494. package/cli/src/commands/manage.ts +0 -115
  495. package/cli/src/index.ts +0 -63
  496. package/cli/tsconfig.json +0 -14
  497. package/docker-compose.yml +0 -122
  498. package/docs/agents/boss-agents.mdx +0 -108
  499. package/docs/agents/creating-agents.mdx +0 -132
  500. package/docs/agents/memory.mdx +0 -113
  501. package/docs/agents/tools.mdx +0 -103
  502. package/docs/configuration/env-vars.mdx +0 -166
  503. package/docs/configuration/mcp-servers.mdx +0 -203
  504. package/docs/configuration/slack-app.mdx +0 -175
  505. package/docs/docs.json +0 -79
  506. package/docs/favicon.svg +0 -17
  507. package/docs/features/history.mdx +0 -60
  508. package/docs/features/import-export.mdx +0 -77
  509. package/docs/features/logs.mdx +0 -131
  510. package/docs/features/multi-workspace.mdx +0 -90
  511. package/docs/features/scheduled-jobs.mdx +0 -231
  512. package/docs/features/users.mdx +0 -92
  513. package/docs/introduction.mdx +0 -160
  514. package/docs/logo/dark.svg +0 -17
  515. package/docs/logo/light.svg +0 -17
  516. package/docs/logo/wide-dark.svg +0 -12
  517. package/docs/logo/wide-light.svg +0 -12
  518. package/docs/quickstart.mdx +0 -270
  519. package/docs/self-hosting/docker.mdx +0 -151
  520. package/docs/self-hosting/production.mdx +0 -176
  521. package/packages/shared/dist/index.d.ts +0 -8
  522. package/packages/shared/dist/index.d.ts.map +0 -1
  523. package/packages/shared/dist/index.js +0 -24
  524. package/packages/shared/dist/index.js.map +0 -1
  525. package/packages/shared/dist/types.d.ts +0 -584
  526. package/packages/shared/dist/types.d.ts.map +0 -1
  527. package/packages/shared/dist/types.js +0 -39
  528. package/packages/shared/dist/types.js.map +0 -1
  529. package/packages/shared/package.json +0 -15
  530. package/packages/shared/src/db/schema.sql +0 -354
  531. package/packages/shared/src/index.ts +0 -8
  532. package/packages/shared/src/types.ts +0 -683
  533. package/packages/shared/tsconfig.json +0 -17
  534. package/scripts/dev.sh +0 -45
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "slackhive",
3
- "version": "0.1.40",
3
+ "version": "0.1.42",
4
4
  "private": false,
5
5
  "description": "Open-source platform for managing teams of Claude Code Slack agents with a boss agent orchestrator",
6
6
  "workspaces": [
@@ -13,8 +13,13 @@
13
13
  },
14
14
  "scripts": {
15
15
  "dev": "sh scripts/dev.sh",
16
- "build": "npm run build --workspaces --if-present"
16
+ "build": "npm run build --workspaces --if-present",
17
+ "prepare": "npm run build -w cli"
17
18
  },
19
+ "files": [
20
+ "cli/dist",
21
+ "README.md"
22
+ ],
18
23
  "engines": {
19
24
  "node": ">=20.0.0"
20
25
  },
@@ -25,6 +30,7 @@
25
30
  },
26
31
  "overrides": {
27
32
  "dompurify": "^3.3.3",
28
- "vite": "^6.4.2"
33
+ "vite": "^6.4.2",
34
+ "axios": "^1.15.0"
29
35
  }
30
36
  }
package/.dockerignore DELETED
@@ -1,14 +0,0 @@
1
- .git
2
- node_modules
3
- **/node_modules
4
- .next
5
- **/.next
6
- **/dist
7
- coverage
8
- *.log
9
- .env
10
- .env.local
11
- .env.*.local
12
- .DS_Store
13
- docs
14
- cli
package/.env.example DELETED
@@ -1,44 +0,0 @@
1
- # ============================================================
2
- # SlackHive — Environment Configuration
3
- # ============================================================
4
- # 1. Copy this file: cp .env.example .env
5
- # 2. Fill in ALL required values marked with <...>
6
- # 3. Never commit .env to version control.
7
- # ============================================================
8
-
9
- # ------------------------------------------------------------
10
- # Claude Code Authentication (choose ONE)
11
- # ------------------------------------------------------------
12
-
13
- # Option A — Anthropic API Key (pay-per-use)
14
- # ANTHROPIC_API_KEY=<sk-ant-api03-...>
15
-
16
- # Option B — Claude Subscription
17
- # Leave ANTHROPIC_API_KEY unset. Run `claude login` on your host first.
18
- # Set CLAUDE_BIN to the path of your claude binary:
19
- # CLAUDE_BIN=<path-to-claude-binary> # e.g. /usr/local/bin/claude
20
-
21
- # ------------------------------------------------------------
22
- # PostgreSQL
23
- # ------------------------------------------------------------
24
- POSTGRES_DB=slackhive
25
- POSTGRES_USER=slackhive
26
- POSTGRES_PASSWORD=<strong-random-password>
27
-
28
- # ------------------------------------------------------------
29
- # Redis
30
- # ------------------------------------------------------------
31
- REDIS_PASSWORD=<strong-random-password>
32
-
33
- # ------------------------------------------------------------
34
- # Web UI Auth
35
- # ------------------------------------------------------------
36
- ADMIN_USERNAME=admin
37
- ADMIN_PASSWORD=<strong-random-password>
38
- AUTH_SECRET=<output-of-openssl-rand-hex-32>
39
- ENV_SECRET_KEY=<output-of-openssl-rand-hex-32>
40
-
41
- # ------------------------------------------------------------
42
- # Platform
43
- # ------------------------------------------------------------
44
- NODE_ENV=production
@@ -1,65 +0,0 @@
1
- name: Bug Report
2
- description: Something isn't working as expected
3
- labels: ["bug"]
4
- body:
5
- - type: markdown
6
- attributes:
7
- value: |
8
- Thanks for taking the time to report a bug! Please fill in as much detail as possible.
9
- See [GitHub's guide on writing good issues](https://docs.github.com/en/issues/tracking-your-work-with-issues/creating-an-issue).
10
-
11
- - type: textarea
12
- id: description
13
- attributes:
14
- label: What happened?
15
- description: A clear description of the bug.
16
- validations:
17
- required: true
18
-
19
- - type: textarea
20
- id: steps
21
- attributes:
22
- label: Steps to reproduce
23
- placeholder: |
24
- 1. Go to '...'
25
- 2. Click on '...'
26
- 3. See error
27
- validations:
28
- required: true
29
-
30
- - type: textarea
31
- id: expected
32
- attributes:
33
- label: Expected behavior
34
- description: What did you expect to happen?
35
- validations:
36
- required: true
37
-
38
- - type: input
39
- id: version
40
- attributes:
41
- label: SlackHive version
42
- placeholder: "e.g. 0.1.18"
43
- validations:
44
- required: true
45
-
46
- - type: input
47
- id: os
48
- attributes:
49
- label: Operating system
50
- placeholder: "e.g. Ubuntu 22.04, macOS 14"
51
- validations:
52
- required: true
53
-
54
- - type: input
55
- id: docker
56
- attributes:
57
- label: Docker version
58
- placeholder: "e.g. 25.0.3"
59
-
60
- - type: textarea
61
- id: logs
62
- attributes:
63
- label: Relevant logs
64
- description: Paste any relevant logs (runner logs, browser console, etc.)
65
- render: shell
@@ -1,5 +0,0 @@
1
- blank_issues_enabled: false
2
- contact_links:
3
- - name: Ask a question / Discussion
4
- url: https://github.com/pelago-labs/slackhive/discussions
5
- about: Use GitHub Discussions for questions, ideas, and show-and-tell
@@ -1,38 +0,0 @@
1
- name: Feature Request
2
- description: Suggest an idea or improvement
3
- labels: ["enhancement"]
4
- body:
5
- - type: markdown
6
- attributes:
7
- value: |
8
- Have a great idea? We'd love to hear it!
9
- Please search [existing issues](https://github.com/pelago-labs/slackhive/issues) first to avoid duplicates.
10
-
11
- - type: textarea
12
- id: problem
13
- attributes:
14
- label: Problem or motivation
15
- description: What problem does this solve? What's missing?
16
- placeholder: "I'm always frustrated when..."
17
- validations:
18
- required: true
19
-
20
- - type: textarea
21
- id: solution
22
- attributes:
23
- label: Proposed solution
24
- description: Describe what you'd like to see.
25
- validations:
26
- required: true
27
-
28
- - type: textarea
29
- id: alternatives
30
- attributes:
31
- label: Alternatives considered
32
- description: Any other approaches you've thought about?
33
-
34
- - type: textarea
35
- id: context
36
- attributes:
37
- label: Additional context
38
- description: Screenshots, mockups, or links that help explain your idea.
@@ -1,27 +0,0 @@
1
- ## Description
2
-
3
- <!-- What does this PR do? Why is it needed? -->
4
-
5
- ## Type of change
6
-
7
- - [ ] Bug fix
8
- - [ ] New feature
9
- - [ ] Breaking change
10
- - [ ] Documentation update
11
- - [ ] Refactor / chore
12
-
13
- ## Checklist
14
-
15
- - [ ] Tested locally with Docker Compose
16
- - [ ] TypeScript compiles without errors (`tsc --noEmit`)
17
- - [ ] No new ESLint warnings
18
- - [ ] **Tests added or updated** — new logic has unit/integration tests in `__tests__/`
19
- - [ ] DB schema changes include a migration file in `packages/shared/src/db/`
20
- - [ ] API changes follow existing guard patterns (`guardAgentWrite` / `guardAdmin`)
21
- - [ ] Screenshots included for UI changes
22
- - [ ] CHANGELOG.md updated (for user-facing changes)
23
- - [ ] No breaking changes (or clearly documented in description)
24
-
25
- ## Tests
26
-
27
- <!-- Describe what tests cover this change, or explain why tests are not applicable (e.g. pure UI tweak, docs-only change). -->
@@ -1,20 +0,0 @@
1
- version: 2
2
-
3
- updates:
4
- # Root workspace + cli
5
- - package-ecosystem: npm
6
- directory: /
7
- schedule:
8
- interval: daily
9
- time: "09:00"
10
- timezone: Asia/Singapore
11
- open-pull-requests-limit: 5
12
- groups:
13
- dev-dependencies:
14
- dependency-type: development
15
- production-dependencies:
16
- dependency-type: production
17
- ignore:
18
- # Major version bumps require manual review
19
- - dependency-name: "*"
20
- update-types: ["version-update:semver-major"]
@@ -1,149 +0,0 @@
1
- # Dependency vulnerability audit — runs on every PR and weekly on main.
2
- # If vulnerabilities are found on the weekly schedule, auto-creates a fix PR.
3
-
4
- name: Security Audit
5
-
6
- on:
7
- push:
8
- branches: [main]
9
- pull_request:
10
- branches: [main]
11
- schedule:
12
- # Every Monday at 08:00 UTC
13
- - cron: '0 8 * * 1'
14
- workflow_dispatch:
15
-
16
- jobs:
17
- audit:
18
- name: npm audit
19
- runs-on: ubuntu-latest
20
-
21
- steps:
22
- - name: Checkout
23
- uses: actions/checkout@v4
24
-
25
- - name: Set up Node.js
26
- uses: actions/setup-node@v4
27
- with:
28
- node-version: 20
29
- cache: npm
30
-
31
- - name: Install dependencies
32
- run: npm ci
33
-
34
- - name: Run audit
35
- id: audit
36
- run: |
37
- set +e
38
- npm audit --json > audit.json 2>&1
39
- EXIT_CODE=$?
40
- set -e
41
-
42
- VULN_COUNT=$(node -e "
43
- const r = require('./audit.json');
44
- const m = r.metadata?.vulnerabilities ?? {};
45
- console.log((m.critical||0) + (m.high||0) + (m.moderate||0) + (m.low||0));
46
- " 2>/dev/null || echo "0")
47
-
48
- echo "vuln_count=$VULN_COUNT" >> "$GITHUB_OUTPUT"
49
- echo "audit_exit=$EXIT_CODE" >> "$GITHUB_OUTPUT"
50
-
51
- if [ "$VULN_COUNT" -gt 0 ]; then
52
- echo "### Security Audit" >> "$GITHUB_STEP_SUMMARY"
53
- echo "" >> "$GITHUB_STEP_SUMMARY"
54
- echo "Found **$VULN_COUNT** vulnerabilit$([ $VULN_COUNT -eq 1 ] && echo 'y' || echo 'ies')." >> "$GITHUB_STEP_SUMMARY"
55
- node -e "
56
- const r = require('./audit.json');
57
- const v = r.metadata?.vulnerabilities ?? {};
58
- const lines = [];
59
- if (v.critical) lines.push('- Critical: ' + v.critical);
60
- if (v.high) lines.push('- High: ' + v.high);
61
- if (v.moderate) lines.push('- Moderate: ' + v.moderate);
62
- if (v.low) lines.push('- Low: ' + v.low);
63
- console.log(lines.join('\n'));
64
- " >> "$GITHUB_STEP_SUMMARY" 2>/dev/null || true
65
- else
66
- echo "### Security Audit" >> "$GITHUB_STEP_SUMMARY"
67
- echo "" >> "$GITHUB_STEP_SUMMARY"
68
- echo "No vulnerabilities found." >> "$GITHUB_STEP_SUMMARY"
69
- fi
70
-
71
- # Fail on PR if critical or high vulnerabilities exist
72
- if [ "${{ github.event_name }}" = "pull_request" ]; then
73
- CRITICAL=$(node -e "const r=require('./audit.json'); console.log(r.metadata?.vulnerabilities?.critical||0)" 2>/dev/null || echo "0")
74
- HIGH=$(node -e "const r=require('./audit.json'); console.log(r.metadata?.vulnerabilities?.high||0)" 2>/dev/null || echo "0")
75
- if [ "$CRITICAL" -gt 0 ] || [ "$HIGH" -gt 0 ]; then
76
- echo "❌ Critical or high severity vulnerabilities found — blocking merge."
77
- exit 1
78
- fi
79
- fi
80
-
81
- auto-fix:
82
- name: Auto-fix vulnerabilities
83
- runs-on: ubuntu-latest
84
- # Only run on the weekly schedule, not on PRs
85
- if: github.event_name == 'schedule'
86
- permissions:
87
- contents: write
88
- pull-requests: write
89
-
90
- steps:
91
- - name: Checkout
92
- uses: actions/checkout@v4
93
- with:
94
- token: ${{ secrets.GITHUB_TOKEN }}
95
-
96
- - name: Set up Node.js
97
- uses: actions/setup-node@v4
98
- with:
99
- node-version: 20
100
- cache: npm
101
-
102
- - name: Install dependencies
103
- run: npm ci
104
-
105
- - name: Check for vulnerabilities
106
- id: check
107
- run: |
108
- VULN_COUNT=$(npm audit --json 2>/dev/null | node -e "
109
- let d=''; process.stdin.on('data',c=>d+=c).on('end',()=>{
110
- try { const r=JSON.parse(d); const v=r.metadata?.vulnerabilities??{}; console.log((v.critical||0)+(v.high||0)+(v.moderate||0)+(v.low||0)); }
111
- catch { console.log(0); }
112
- });
113
- " || echo "0")
114
- echo "vuln_count=$VULN_COUNT" >> "$GITHUB_OUTPUT"
115
-
116
- - name: Apply audit fix
117
- if: steps.check.outputs.vuln_count != '0'
118
- run: npm audit fix
119
-
120
- - name: Check for changes
121
- if: steps.check.outputs.vuln_count != '0'
122
- id: diff
123
- run: |
124
- if git diff --quiet; then
125
- echo "changed=false" >> "$GITHUB_OUTPUT"
126
- else
127
- echo "changed=true" >> "$GITHUB_OUTPUT"
128
- fi
129
-
130
- - name: Create fix PR
131
- if: steps.check.outputs.vuln_count != '0' && steps.diff.outputs.changed == 'true'
132
- env:
133
- GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
134
- run: |
135
- BRANCH="fix/npm-audit-$(date +%Y-%m-%d)"
136
- git config user.name "github-actions[bot]"
137
- git config user.email "github-actions[bot]@users.noreply.github.com"
138
- git checkout -b "$BRANCH"
139
- git add package-lock.json
140
- git commit -m "fix: apply npm audit fix for dependency vulnerabilities"
141
- git push origin "$BRANCH"
142
-
143
- PR_BODY="## Automated vulnerability fix\n\nThis PR was created automatically by the weekly security audit workflow.\n\n### What changed\n\`npm audit fix\` was applied to resolve known vulnerabilities in \`package-lock.json\`.\n\n### Review checklist\n- [ ] Check the \`package-lock.json\` diff for unexpected version changes\n- [ ] Run \`npm audit\` locally to confirm 0 vulnerabilities after merge\n- [ ] Verify the build and tests still pass (CI will run automatically)\n\n> Generated by the **Security Audit** workflow."
144
-
145
- gh pr create \
146
- --base main \
147
- --head "$BRANCH" \
148
- --title "fix: npm audit — dependency vulnerability fixes ($(date +%Y-%m-%d))" \
149
- --body "$PR_BODY"
@@ -1,135 +0,0 @@
1
- # GitHub Actions CI — Build & type-check on every push/PR
2
- # Docs: https://docs.github.com/en/actions/use-cases-and-examples/building-and-testing/building-and-testing-nodejs
3
-
4
- name: CI
5
-
6
- on:
7
- push:
8
- branches: [main]
9
- pull_request:
10
- branches: [main]
11
-
12
- jobs:
13
- build:
14
- name: Build & Type Check
15
- runs-on: ubuntu-latest
16
-
17
- steps:
18
- - name: Checkout
19
- uses: actions/checkout@v4
20
-
21
- - name: Set up Node.js
22
- uses: actions/setup-node@v4
23
- with:
24
- node-version: 20
25
- cache: npm
26
-
27
- - name: Install dependencies
28
- run: npm ci
29
-
30
- - name: Build shared package
31
- run: cd packages/shared && npm run build
32
-
33
- - name: Type-check web
34
- run: cd apps/web && npx tsc --noEmit
35
-
36
- - name: Build web
37
- run: cd apps/web && npm run build
38
- env:
39
- # Required by Next.js build — use dummy values for CI
40
- POSTGRES_URL: postgresql://user:pass@localhost:5432/slackhive
41
- REDIS_URL: redis://localhost:6379
42
- SESSION_SECRET: ci-secret-not-used
43
- ADMIN_USERNAME: admin
44
- ADMIN_PASSWORD: admin
45
-
46
- - name: Type-check runner
47
- run: cd apps/runner && npx tsc --noEmit
48
-
49
- - name: Type-check cli
50
- run: cd cli && npx tsc --noEmit
51
-
52
- test:
53
- name: Unit Tests
54
- runs-on: ubuntu-latest
55
- needs: build
56
-
57
- steps:
58
- - uses: actions/checkout@v4
59
- - uses: actions/setup-node@v4
60
- with:
61
- node-version: 20
62
- cache: npm
63
- - run: npm ci
64
- - run: cd packages/shared && npm run build
65
- - name: Run web unit tests
66
- run: cd apps/web && npm test
67
- - name: Run runner unit tests
68
- run: cd apps/runner && npm test
69
-
70
- check-tests:
71
- name: Test Coverage Check
72
- runs-on: ubuntu-latest
73
- if: github.event_name == 'pull_request'
74
-
75
- steps:
76
- - uses: actions/checkout@v4
77
- with:
78
- fetch-depth: 0
79
-
80
- - name: Check that source changes include tests
81
- run: |
82
- BASE=${{ github.event.pull_request.base.sha }}
83
- HEAD=${{ github.event.pull_request.head.sha }}
84
-
85
- # Files changed in this PR
86
- CHANGED=$(git diff --name-only "$BASE" "$HEAD")
87
-
88
- # Source files changed (lib/ and api routes, excluding test files)
89
- SRC_CHANGED=$(echo "$CHANGED" | grep -E '^apps/web/src/(lib|app/api)/' | grep -v '__tests__' || true)
90
-
91
- # Test files changed
92
- TEST_CHANGED=$(echo "$CHANGED" | grep '__tests__' || true)
93
-
94
- echo "=== Source files changed ==="
95
- echo "${SRC_CHANGED:-none}"
96
- echo ""
97
- echo "=== Test files changed ==="
98
- echo "${TEST_CHANGED:-none}"
99
-
100
- if [ -n "$SRC_CHANGED" ] && [ -z "$TEST_CHANGED" ]; then
101
- echo ""
102
- echo "⚠️ WARNING: Source files were changed but no test files were added or updated."
103
- echo "Please add tests for new logic in apps/web/src/lib/__tests__/"
104
- echo ""
105
- echo "If tests are genuinely not applicable (docs-only, pure UI tweak, config change),"
106
- echo "add a note in the PR description under the 'Tests' section."
107
- # Exit 1 to fail the check — reviewers can override by merging anyway
108
- exit 1
109
- fi
110
-
111
- echo "✅ Test files present for source changes."
112
-
113
- lint:
114
- name: Lint
115
- runs-on: ubuntu-latest
116
- continue-on-error: true
117
-
118
- steps:
119
- - name: Checkout
120
- uses: actions/checkout@v4
121
-
122
- - name: Set up Node.js
123
- uses: actions/setup-node@v4
124
- with:
125
- node-version: 20
126
- cache: npm
127
-
128
- - name: Install dependencies
129
- run: npm ci
130
-
131
- - name: Lint web
132
- run: cd apps/web && npm run lint || true
133
-
134
- - name: Lint runner
135
- run: cd apps/runner && npm run lint || true
package/CHANGELOG.md DELETED
@@ -1,52 +0,0 @@
1
- # Changelog
2
-
3
- All notable changes to SlackHive will be documented in this file.
4
-
5
- The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
6
- and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
-
8
- ---
9
-
10
- ## [Unreleased]
11
-
12
- ---
13
-
14
- ## [0.1.19] - 2026-03-31
15
-
16
- ### Added
17
-
18
- - **MCP secret masking** — env vars and headers in MCP server configs are now masked (`"********"`) in all API responses; secrets are stored in the database but never exposed to the browser client.
19
- - **220+ unit tests** — comprehensive Vitest test suite covering `compile`, `diff`, `boss-registry`, `mcp-mask`, `auth`, `api-guard`, `slack-manifest`, `skill-templates`, and Slack message formatting across both `apps/web` and `apps/runner`.
20
- - **CI pipeline** — GitHub Actions workflow running build, type-check, unit tests, lint, and a PR test-coverage enforcement check on every push and pull request.
21
- - **OSS community files** — `CONTRIBUTING.md`, `CHANGELOG.md`, `CODE_OF_CONDUCT.md`, `SECURITY.md`, GitHub issue templates, and PR template added for open-source readiness.
22
-
23
- ### Fixed
24
-
25
- - **Boss registry empty description** — `??` operator replaced with `||` so an empty-string description correctly falls back to `"No description provided."`.
26
- - **Slack `formatMessage` code block corruption** — using `__CODE_BLOCK_N__` as placeholder caused the italic regex (`/__([^_]+)__/g`) to match across adjacent placeholders, corrupting multi-block messages; fixed by using null-byte delimited placeholders (`\x00CBn\x00`).
27
-
28
- ### Security
29
-
30
- - MCP server configs containing env vars and HTTP headers are sanitized before any API response. Only non-secret fields (name, command, args, type) are sent in plaintext; secrets require an explicit admin PATCH to update.
31
-
32
- ---
33
-
34
- ## [0.1.18] - 2026-03-31
35
-
36
- ### Added
37
-
38
- - **Per-agent write access control** — each agent can now be independently granted or restricted from write access, giving team admins fine-grained control over what individual agents can modify in a workspace.
39
- - **CLAUDE.md editor** — a dedicated in-dashboard editor for the agent's `CLAUDE.md` context file, separate from the skills editor, allowing independent management of agent identity and instructions.
40
- - **Slash command skills** — agents now support slash command-style skill definitions, enabling structured, triggerable capabilities alongside free-form instructions.
41
- - **Version control and snapshots with diff view** — agent configurations (instructions, skills, CLAUDE.md) are now versioned. Users can create named snapshots, browse history, and view a syntax-highlighted diff between any two versions.
42
- - **User role management** — workspace admins can assign and modify roles (admin, member, viewer) for all users directly from the dashboard, without requiring database access.
43
- - **Collapsible sidebar** — the main navigation sidebar can now be collapsed to icon-only mode, freeing horizontal space on smaller screens and dense workflows.
44
- - **Scheduled jobs** — agents support cron-style scheduled tasks, allowing recurring automation (e.g., daily summaries, periodic checks) to be configured per agent from the UI.
45
- - **Memory viewer** — a dedicated UI panel to inspect an agent's active memory entries, making it easier to understand and debug long-running agent context.
46
- - **Responsive design** — the web dashboard is now fully responsive and usable on tablet and mobile viewports, with adapted layouts for the sidebar, agent cards, and configuration panels.
47
-
48
- ---
49
-
50
- [Unreleased]: https://github.com/pelago-labs/slackhive/compare/v0.1.19...HEAD
51
- [0.1.19]: https://github.com/pelago-labs/slackhive/compare/v0.1.18...v0.1.19
52
- [0.1.18]: https://github.com/pelago-labs/slackhive/releases/tag/v0.1.18
@@ -1,37 +0,0 @@
1
- # Code of Conduct
2
-
3
- ## Our Pledge
4
-
5
- We as contributors and maintainers pledge to make participation in our project and community a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, gender identity, level of experience, nationality, personal appearance, race, religion, or sexual identity.
6
-
7
- ## Our Standards
8
-
9
- Examples of behavior that contributes to a positive environment:
10
-
11
- - Using welcoming and inclusive language
12
- - Being respectful of differing viewpoints and experiences
13
- - Gracefully accepting constructive criticism
14
- - Focusing on what is best for the community
15
- - Showing empathy towards other community members
16
-
17
- Examples of unacceptable behavior:
18
-
19
- - Harassment, insults, or derogatory comments
20
- - Public or private harassment
21
- - Publishing others' private information without permission
22
- - Other conduct which could reasonably be considered inappropriate
23
-
24
- ## Enforcement
25
-
26
- Instances of abusive, harassing, or otherwise unacceptable behavior may be reported to the project maintainers at **conduct@slackhive.dev**. All complaints will be reviewed and investigated promptly and fairly.
27
-
28
- This Code of Conduct is adapted from the [Contributor Covenant v2.1](https://www.contributor-covenant.org/version/2/1/code_of_conduct/).
29
-
30
- ## Enforcement Guidelines
31
-
32
- Maintainers will follow these guidelines when determining consequences:
33
-
34
- 1. **Correction** — Private warning for first-time, unintentional violations
35
- 2. **Warning** — Formal warning with no interaction for a specified period
36
- 3. **Temporary Ban** — Temporary ban from all community interaction
37
- 4. **Permanent Ban** — Permanent removal for severe or repeated violations