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.
- package/cli/dist/index.js +15786 -52
- package/package.json +9 -3
- package/.dockerignore +0 -14
- package/.env.example +0 -44
- package/.github/ISSUE_TEMPLATE/bug_report.yml +0 -65
- package/.github/ISSUE_TEMPLATE/config.yml +0 -5
- package/.github/ISSUE_TEMPLATE/feature_request.yml +0 -38
- package/.github/PULL_REQUEST_TEMPLATE.md +0 -27
- package/.github/dependabot.yml +0 -20
- package/.github/workflows/audit.yml +0 -149
- package/.github/workflows/ci.yml +0 -135
- package/CHANGELOG.md +0 -52
- package/CODE_OF_CONDUCT.md +0 -37
- package/CONTRIBUTING.md +0 -204
- package/SECURITY.md +0 -47
- package/apps/runner/Dockerfile +0 -33
- package/apps/runner/dist/__tests__/channel-restrictions.test.d.ts +0 -8
- package/apps/runner/dist/__tests__/channel-restrictions.test.js +0 -63
- package/apps/runner/dist/__tests__/channel-restrictions.test.js.map +0 -1
- package/apps/runner/dist/__tests__/claude-handler-resolve.test.d.ts +0 -20
- package/apps/runner/dist/__tests__/claude-handler-resolve.test.js +0 -178
- package/apps/runner/dist/__tests__/claude-handler-resolve.test.js.map +0 -1
- package/apps/runner/dist/__tests__/compile-claude-md.test.d.ts +0 -13
- package/apps/runner/dist/__tests__/compile-claude-md.test.js +0 -144
- package/apps/runner/dist/__tests__/compile-claude-md.test.js.map +0 -1
- package/apps/runner/dist/__tests__/memory-sync.test.d.ts +0 -11
- package/apps/runner/dist/__tests__/memory-sync.test.js +0 -56
- package/apps/runner/dist/__tests__/memory-sync.test.js.map +0 -1
- package/apps/runner/dist/__tests__/slack-file-support.test.d.ts +0 -9
- package/apps/runner/dist/__tests__/slack-file-support.test.js +0 -271
- package/apps/runner/dist/__tests__/slack-file-support.test.js.map +0 -1
- package/apps/runner/dist/__tests__/slack-formatting.test.d.ts +0 -12
- package/apps/runner/dist/__tests__/slack-formatting.test.js +0 -400
- package/apps/runner/dist/__tests__/slack-formatting.test.js.map +0 -1
- package/apps/runner/dist/__tests__/thread-context.test.d.ts +0 -12
- package/apps/runner/dist/__tests__/thread-context.test.js +0 -182
- package/apps/runner/dist/__tests__/thread-context.test.js.map +0 -1
- package/apps/runner/dist/agent-runner.d.ts +0 -118
- package/apps/runner/dist/agent-runner.js +0 -352
- package/apps/runner/dist/agent-runner.js.map +0 -1
- package/apps/runner/dist/claude-handler.d.ts +0 -122
- package/apps/runner/dist/claude-handler.js +0 -402
- package/apps/runner/dist/claude-handler.js.map +0 -1
- package/apps/runner/dist/compile-claude-md.d.ts +0 -59
- package/apps/runner/dist/compile-claude-md.js +0 -291
- package/apps/runner/dist/compile-claude-md.js.map +0 -1
- package/apps/runner/dist/correction-handler.d.ts +0 -46
- package/apps/runner/dist/correction-handler.js +0 -162
- package/apps/runner/dist/correction-handler.js.map +0 -1
- package/apps/runner/dist/correction-manager.d.ts +0 -53
- package/apps/runner/dist/correction-manager.js +0 -241
- package/apps/runner/dist/correction-manager.js.map +0 -1
- package/apps/runner/dist/db.d.ts +0 -193
- package/apps/runner/dist/db.js +0 -492
- package/apps/runner/dist/db.js.map +0 -1
- package/apps/runner/dist/index.d.ts +0 -9
- package/apps/runner/dist/index.js +0 -43
- package/apps/runner/dist/index.js.map +0 -1
- package/apps/runner/dist/job-scheduler.d.ts +0 -57
- package/apps/runner/dist/job-scheduler.js +0 -150
- package/apps/runner/dist/job-scheduler.js.map +0 -1
- package/apps/runner/dist/logger.d.ts +0 -32
- package/apps/runner/dist/logger.js +0 -52
- package/apps/runner/dist/logger.js.map +0 -1
- package/apps/runner/dist/mcp-process-manager.d.ts +0 -38
- package/apps/runner/dist/mcp-process-manager.js +0 -189
- package/apps/runner/dist/mcp-process-manager.js.map +0 -1
- package/apps/runner/dist/memory-mcp.d.ts +0 -14
- package/apps/runner/dist/memory-mcp.js +0 -88
- package/apps/runner/dist/memory-mcp.js.map +0 -1
- package/apps/runner/dist/memory-watcher.d.ts +0 -78
- package/apps/runner/dist/memory-watcher.js +0 -220
- package/apps/runner/dist/memory-watcher.js.map +0 -1
- package/apps/runner/dist/slack-handler.d.ts +0 -120
- package/apps/runner/dist/slack-handler.js +0 -843
- package/apps/runner/dist/slack-handler.js.map +0 -1
- package/apps/runner/node_modules/.vite/vitest/da39a3ee5e6b4b0d3255bfef95601890afd80709/results.json +0 -1
- package/apps/runner/package.json +0 -42
- package/apps/runner/src/__tests__/channel-restrictions.test.ts +0 -75
- package/apps/runner/src/__tests__/claude-handler-resolve.test.ts +0 -160
- package/apps/runner/src/__tests__/compile-claude-md.test.ts +0 -139
- package/apps/runner/src/__tests__/memory-sync.test.ts +0 -59
- package/apps/runner/src/__tests__/slack-file-support.test.ts +0 -376
- package/apps/runner/src/__tests__/slack-formatting.test.ts +0 -495
- package/apps/runner/src/__tests__/thread-context.test.ts +0 -215
- package/apps/runner/src/agent-runner.ts +0 -397
- package/apps/runner/src/claude-handler.ts +0 -475
- package/apps/runner/src/compile-claude-md.ts +0 -283
- package/apps/runner/src/correction-handler.ts +0 -191
- package/apps/runner/src/correction-manager.ts +0 -285
- package/apps/runner/src/db.ts +0 -604
- package/apps/runner/src/index.ts +0 -46
- package/apps/runner/src/job-scheduler.ts +0 -165
- package/apps/runner/src/logger.ts +0 -49
- package/apps/runner/src/mcp-process-manager.ts +0 -195
- package/apps/runner/src/memory-mcp.ts +0 -85
- package/apps/runner/src/memory-watcher.ts +0 -215
- package/apps/runner/src/slack-handler.ts +0 -929
- package/apps/runner/tsconfig.json +0 -17
- package/apps/runner/vitest.config.mts +0 -17
- package/apps/web/.eslintrc.json +0 -3
- package/apps/web/.next/app-build-manifest.json +0 -323
- package/apps/web/.next/app-path-routes-manifest.json +0 -46
- package/apps/web/.next/build-manifest.json +0 -33
- package/apps/web/.next/cache/.previewinfo +0 -1
- package/apps/web/.next/cache/.rscinfo +0 -1
- package/apps/web/.next/cache/webpack/client-production/0.pack +0 -0
- package/apps/web/.next/cache/webpack/client-production/1.pack +0 -0
- package/apps/web/.next/cache/webpack/client-production/2.pack +0 -0
- package/apps/web/.next/cache/webpack/client-production/3.pack +0 -0
- package/apps/web/.next/cache/webpack/client-production/4.pack +0 -0
- package/apps/web/.next/cache/webpack/client-production/index.pack +0 -0
- package/apps/web/.next/cache/webpack/client-production/index.pack.old +0 -0
- package/apps/web/.next/cache/webpack/edge-server-production/0.pack +0 -0
- package/apps/web/.next/cache/webpack/edge-server-production/1.pack +0 -0
- package/apps/web/.next/cache/webpack/edge-server-production/index.pack +0 -0
- package/apps/web/.next/cache/webpack/edge-server-production/index.pack.old +0 -0
- package/apps/web/.next/cache/webpack/server-production/0.pack +0 -0
- package/apps/web/.next/cache/webpack/server-production/1.pack +0 -0
- package/apps/web/.next/cache/webpack/server-production/2.pack +0 -0
- package/apps/web/.next/cache/webpack/server-production/index.pack +0 -0
- package/apps/web/.next/cache/webpack/server-production/index.pack.old +0 -0
- package/apps/web/.next/diagnostics/build-diagnostics.json +0 -6
- package/apps/web/.next/diagnostics/framework.json +0 -1
- package/apps/web/.next/package.json +0 -1
- package/apps/web/.next/react-loadable-manifest.json +0 -1
- package/apps/web/.next/server/app/_not-found/page.js +0 -2
- package/apps/web/.next/server/app/_not-found/page.js.nft.json +0 -1
- package/apps/web/.next/server/app/_not-found/page_client-reference-manifest.js +0 -1
- package/apps/web/.next/server/app/agents/[slug]/page.js +0 -4
- package/apps/web/.next/server/app/agents/[slug]/page.js.nft.json +0 -1
- package/apps/web/.next/server/app/agents/[slug]/page_client-reference-manifest.js +0 -1
- package/apps/web/.next/server/app/agents/new/page.js +0 -2
- package/apps/web/.next/server/app/agents/new/page.js.nft.json +0 -1
- package/apps/web/.next/server/app/agents/new/page_client-reference-manifest.js +0 -1
- package/apps/web/.next/server/app/api/agents/[id]/access/route.js +0 -1
- package/apps/web/.next/server/app/api/agents/[id]/access/route.js.nft.json +0 -1
- package/apps/web/.next/server/app/api/agents/[id]/access/route_client-reference-manifest.js +0 -1
- package/apps/web/.next/server/app/api/agents/[id]/claude-md/route.js +0 -6
- package/apps/web/.next/server/app/api/agents/[id]/claude-md/route.js.nft.json +0 -1
- package/apps/web/.next/server/app/api/agents/[id]/claude-md/route_client-reference-manifest.js +0 -1
- package/apps/web/.next/server/app/api/agents/[id]/logs/route.js +0 -3
- package/apps/web/.next/server/app/api/agents/[id]/logs/route.js.nft.json +0 -1
- package/apps/web/.next/server/app/api/agents/[id]/logs/route_client-reference-manifest.js +0 -1
- package/apps/web/.next/server/app/api/agents/[id]/manifest/route.js +0 -1
- package/apps/web/.next/server/app/api/agents/[id]/manifest/route.js.nft.json +0 -1
- package/apps/web/.next/server/app/api/agents/[id]/manifest/route_client-reference-manifest.js +0 -1
- package/apps/web/.next/server/app/api/agents/[id]/mcps/route.js +0 -1
- package/apps/web/.next/server/app/api/agents/[id]/mcps/route.js.nft.json +0 -1
- package/apps/web/.next/server/app/api/agents/[id]/mcps/route_client-reference-manifest.js +0 -1
- package/apps/web/.next/server/app/api/agents/[id]/memories/[memId]/route.js +0 -1
- package/apps/web/.next/server/app/api/agents/[id]/memories/[memId]/route.js.nft.json +0 -1
- package/apps/web/.next/server/app/api/agents/[id]/memories/[memId]/route_client-reference-manifest.js +0 -1
- package/apps/web/.next/server/app/api/agents/[id]/memories/route.js +0 -1
- package/apps/web/.next/server/app/api/agents/[id]/memories/route.js.nft.json +0 -1
- package/apps/web/.next/server/app/api/agents/[id]/memories/route_client-reference-manifest.js +0 -1
- package/apps/web/.next/server/app/api/agents/[id]/permissions/route.js +0 -1
- package/apps/web/.next/server/app/api/agents/[id]/permissions/route.js.nft.json +0 -1
- package/apps/web/.next/server/app/api/agents/[id]/permissions/route_client-reference-manifest.js +0 -1
- package/apps/web/.next/server/app/api/agents/[id]/reload/route.js +0 -1
- package/apps/web/.next/server/app/api/agents/[id]/reload/route.js.nft.json +0 -1
- package/apps/web/.next/server/app/api/agents/[id]/reload/route_client-reference-manifest.js +0 -1
- package/apps/web/.next/server/app/api/agents/[id]/restrictions/route.js +0 -1
- package/apps/web/.next/server/app/api/agents/[id]/restrictions/route.js.nft.json +0 -1
- package/apps/web/.next/server/app/api/agents/[id]/restrictions/route_client-reference-manifest.js +0 -1
- package/apps/web/.next/server/app/api/agents/[id]/route.js +0 -33
- package/apps/web/.next/server/app/api/agents/[id]/route.js.nft.json +0 -1
- package/apps/web/.next/server/app/api/agents/[id]/route_client-reference-manifest.js +0 -1
- package/apps/web/.next/server/app/api/agents/[id]/skills/[skillId]/route.js +0 -1
- package/apps/web/.next/server/app/api/agents/[id]/skills/[skillId]/route.js.nft.json +0 -1
- package/apps/web/.next/server/app/api/agents/[id]/skills/[skillId]/route_client-reference-manifest.js +0 -1
- package/apps/web/.next/server/app/api/agents/[id]/skills/route.js +0 -1
- package/apps/web/.next/server/app/api/agents/[id]/skills/route.js.nft.json +0 -1
- package/apps/web/.next/server/app/api/agents/[id]/skills/route_client-reference-manifest.js +0 -1
- package/apps/web/.next/server/app/api/agents/[id]/slack-info/route.js +0 -1
- package/apps/web/.next/server/app/api/agents/[id]/slack-info/route.js.nft.json +0 -1
- package/apps/web/.next/server/app/api/agents/[id]/slack-info/route_client-reference-manifest.js +0 -1
- package/apps/web/.next/server/app/api/agents/[id]/snapshots/[sid]/restore/route.js +0 -1
- package/apps/web/.next/server/app/api/agents/[id]/snapshots/[sid]/restore/route.js.nft.json +0 -1
- package/apps/web/.next/server/app/api/agents/[id]/snapshots/[sid]/restore/route_client-reference-manifest.js +0 -1
- package/apps/web/.next/server/app/api/agents/[id]/snapshots/[sid]/route.js +0 -1
- package/apps/web/.next/server/app/api/agents/[id]/snapshots/[sid]/route.js.nft.json +0 -1
- package/apps/web/.next/server/app/api/agents/[id]/snapshots/[sid]/route_client-reference-manifest.js +0 -1
- package/apps/web/.next/server/app/api/agents/[id]/snapshots/route.js +0 -1
- package/apps/web/.next/server/app/api/agents/[id]/snapshots/route.js.nft.json +0 -1
- package/apps/web/.next/server/app/api/agents/[id]/snapshots/route_client-reference-manifest.js +0 -1
- package/apps/web/.next/server/app/api/agents/[id]/start/route.js +0 -1
- package/apps/web/.next/server/app/api/agents/[id]/start/route.js.nft.json +0 -1
- package/apps/web/.next/server/app/api/agents/[id]/start/route_client-reference-manifest.js +0 -1
- package/apps/web/.next/server/app/api/agents/[id]/stop/route.js +0 -1
- package/apps/web/.next/server/app/api/agents/[id]/stop/route.js.nft.json +0 -1
- package/apps/web/.next/server/app/api/agents/[id]/stop/route_client-reference-manifest.js +0 -1
- package/apps/web/.next/server/app/api/agents/route.js +0 -91
- package/apps/web/.next/server/app/api/agents/route.js.nft.json +0 -1
- package/apps/web/.next/server/app/api/agents/route_client-reference-manifest.js +0 -1
- package/apps/web/.next/server/app/api/auth/login/route.js +0 -1
- package/apps/web/.next/server/app/api/auth/login/route.js.nft.json +0 -1
- package/apps/web/.next/server/app/api/auth/login/route_client-reference-manifest.js +0 -1
- package/apps/web/.next/server/app/api/auth/logout/route.js +0 -1
- package/apps/web/.next/server/app/api/auth/logout/route.js.nft.json +0 -1
- package/apps/web/.next/server/app/api/auth/logout/route_client-reference-manifest.js +0 -1
- package/apps/web/.next/server/app/api/auth/me/route.js +0 -1
- package/apps/web/.next/server/app/api/auth/me/route.js.nft.json +0 -1
- package/apps/web/.next/server/app/api/auth/me/route_client-reference-manifest.js +0 -1
- package/apps/web/.next/server/app/api/auth/users/[id]/route.js +0 -1
- package/apps/web/.next/server/app/api/auth/users/[id]/route.js.nft.json +0 -1
- package/apps/web/.next/server/app/api/auth/users/[id]/route_client-reference-manifest.js +0 -1
- package/apps/web/.next/server/app/api/auth/users/route.js +0 -1
- package/apps/web/.next/server/app/api/auth/users/route.js.nft.json +0 -1
- package/apps/web/.next/server/app/api/auth/users/route_client-reference-manifest.js +0 -1
- package/apps/web/.next/server/app/api/env-vars/[key]/route.js +0 -1
- package/apps/web/.next/server/app/api/env-vars/[key]/route.js.nft.json +0 -1
- package/apps/web/.next/server/app/api/env-vars/[key]/route_client-reference-manifest.js +0 -1
- package/apps/web/.next/server/app/api/env-vars/route.js +0 -1
- package/apps/web/.next/server/app/api/env-vars/route.js.nft.json +0 -1
- package/apps/web/.next/server/app/api/env-vars/route_client-reference-manifest.js +0 -1
- package/apps/web/.next/server/app/api/jobs/[id]/route.js +0 -1
- package/apps/web/.next/server/app/api/jobs/[id]/route.js.nft.json +0 -1
- package/apps/web/.next/server/app/api/jobs/[id]/route_client-reference-manifest.js +0 -1
- package/apps/web/.next/server/app/api/jobs/[id]/runs/route.js +0 -1
- package/apps/web/.next/server/app/api/jobs/[id]/runs/route.js.nft.json +0 -1
- package/apps/web/.next/server/app/api/jobs/[id]/runs/route_client-reference-manifest.js +0 -1
- package/apps/web/.next/server/app/api/jobs/route.js +0 -1
- package/apps/web/.next/server/app/api/jobs/route.js.nft.json +0 -1
- package/apps/web/.next/server/app/api/jobs/route_client-reference-manifest.js +0 -1
- package/apps/web/.next/server/app/api/mcps/[id]/route.js +0 -1
- package/apps/web/.next/server/app/api/mcps/[id]/route.js.nft.json +0 -1
- package/apps/web/.next/server/app/api/mcps/[id]/route_client-reference-manifest.js +0 -1
- package/apps/web/.next/server/app/api/mcps/[id]/test/route.js +0 -1
- package/apps/web/.next/server/app/api/mcps/[id]/test/route.js.nft.json +0 -1
- package/apps/web/.next/server/app/api/mcps/[id]/test/route_client-reference-manifest.js +0 -1
- package/apps/web/.next/server/app/api/mcps/route.js +0 -1
- package/apps/web/.next/server/app/api/mcps/route.js.nft.json +0 -1
- package/apps/web/.next/server/app/api/mcps/route_client-reference-manifest.js +0 -1
- package/apps/web/.next/server/app/api/settings/route.js +0 -1
- package/apps/web/.next/server/app/api/settings/route.js.nft.json +0 -1
- package/apps/web/.next/server/app/api/settings/route_client-reference-manifest.js +0 -1
- package/apps/web/.next/server/app/icon.svg/route.js +0 -1
- package/apps/web/.next/server/app/icon.svg/route.js.nft.json +0 -1
- package/apps/web/.next/server/app/jobs/page.js +0 -2
- package/apps/web/.next/server/app/jobs/page.js.nft.json +0 -1
- package/apps/web/.next/server/app/jobs/page_client-reference-manifest.js +0 -1
- package/apps/web/.next/server/app/login/page.js +0 -2
- package/apps/web/.next/server/app/login/page.js.nft.json +0 -1
- package/apps/web/.next/server/app/login/page_client-reference-manifest.js +0 -1
- package/apps/web/.next/server/app/page.js +0 -2
- package/apps/web/.next/server/app/page.js.nft.json +0 -1
- package/apps/web/.next/server/app/page_client-reference-manifest.js +0 -1
- package/apps/web/.next/server/app/settings/env-vars/page.js +0 -2
- package/apps/web/.next/server/app/settings/env-vars/page.js.nft.json +0 -1
- package/apps/web/.next/server/app/settings/env-vars/page_client-reference-manifest.js +0 -1
- package/apps/web/.next/server/app/settings/mcps/page.js +0 -2
- package/apps/web/.next/server/app/settings/mcps/page.js.nft.json +0 -1
- package/apps/web/.next/server/app/settings/mcps/page_client-reference-manifest.js +0 -1
- package/apps/web/.next/server/app/settings/page.js +0 -2
- package/apps/web/.next/server/app/settings/page.js.nft.json +0 -1
- package/apps/web/.next/server/app/settings/page_client-reference-manifest.js +0 -1
- package/apps/web/.next/server/app-paths-manifest.json +0 -46
- package/apps/web/.next/server/chunks/1157.js +0 -9
- package/apps/web/.next/server/chunks/2287.js +0 -1
- package/apps/web/.next/server/chunks/3444.js +0 -1
- package/apps/web/.next/server/chunks/383.js +0 -6
- package/apps/web/.next/server/chunks/4012.js +0 -58
- package/apps/web/.next/server/chunks/6791.js +0 -1
- package/apps/web/.next/server/chunks/7171.js +0 -1
- package/apps/web/.next/server/chunks/8819.js +0 -22
- package/apps/web/.next/server/edge-runtime-webpack.js +0 -2
- package/apps/web/.next/server/edge-runtime-webpack.js.map +0 -1
- package/apps/web/.next/server/interception-route-rewrite-manifest.js +0 -1
- package/apps/web/.next/server/middleware-build-manifest.js +0 -1
- package/apps/web/.next/server/middleware-manifest.json +0 -32
- package/apps/web/.next/server/middleware-react-loadable-manifest.js +0 -1
- package/apps/web/.next/server/next-font-manifest.js +0 -1
- package/apps/web/.next/server/next-font-manifest.json +0 -1
- package/apps/web/.next/server/pages/_app.js +0 -1
- package/apps/web/.next/server/pages/_app.js.nft.json +0 -1
- package/apps/web/.next/server/pages/_document.js +0 -1
- package/apps/web/.next/server/pages/_document.js.nft.json +0 -1
- package/apps/web/.next/server/pages/_error.js +0 -19
- package/apps/web/.next/server/pages/_error.js.nft.json +0 -1
- package/apps/web/.next/server/pages-manifest.json +0 -5
- package/apps/web/.next/server/server-reference-manifest.js +0 -1
- package/apps/web/.next/server/server-reference-manifest.json +0 -1
- package/apps/web/.next/server/src/middleware.js +0 -14
- package/apps/web/.next/server/src/middleware.js.map +0 -1
- package/apps/web/.next/server/webpack-runtime.js +0 -1
- package/apps/web/.next/static/chunks/18-90b700ea37b686a2.js +0 -1
- package/apps/web/.next/static/chunks/87c73c54-24122e7b92478d00.js +0 -1
- package/apps/web/.next/static/chunks/9664-af80478aa73ba424.js +0 -1
- package/apps/web/.next/static/chunks/app/_not-found/page-b9cee17ed89ca24a.js +0 -1
- package/apps/web/.next/static/chunks/app/agents/[slug]/page-18369fc3fe1a9a7b.js +0 -1
- package/apps/web/.next/static/chunks/app/agents/new/page-bf11cf8901c7e2cd.js +0 -1
- package/apps/web/.next/static/chunks/app/api/agents/[id]/access/route-07f0f73ac9839899.js +0 -1
- package/apps/web/.next/static/chunks/app/api/agents/[id]/claude-md/route-07f0f73ac9839899.js +0 -1
- package/apps/web/.next/static/chunks/app/api/agents/[id]/logs/route-07f0f73ac9839899.js +0 -1
- package/apps/web/.next/static/chunks/app/api/agents/[id]/manifest/route-07f0f73ac9839899.js +0 -1
- package/apps/web/.next/static/chunks/app/api/agents/[id]/mcps/route-07f0f73ac9839899.js +0 -1
- package/apps/web/.next/static/chunks/app/api/agents/[id]/memories/[memId]/route-07f0f73ac9839899.js +0 -1
- package/apps/web/.next/static/chunks/app/api/agents/[id]/memories/route-07f0f73ac9839899.js +0 -1
- package/apps/web/.next/static/chunks/app/api/agents/[id]/permissions/route-07f0f73ac9839899.js +0 -1
- package/apps/web/.next/static/chunks/app/api/agents/[id]/reload/route-07f0f73ac9839899.js +0 -1
- package/apps/web/.next/static/chunks/app/api/agents/[id]/restrictions/route-07f0f73ac9839899.js +0 -1
- package/apps/web/.next/static/chunks/app/api/agents/[id]/route-07f0f73ac9839899.js +0 -1
- package/apps/web/.next/static/chunks/app/api/agents/[id]/skills/[skillId]/route-07f0f73ac9839899.js +0 -1
- package/apps/web/.next/static/chunks/app/api/agents/[id]/skills/route-07f0f73ac9839899.js +0 -1
- package/apps/web/.next/static/chunks/app/api/agents/[id]/slack-info/route-07f0f73ac9839899.js +0 -1
- package/apps/web/.next/static/chunks/app/api/agents/[id]/snapshots/[sid]/restore/route-07f0f73ac9839899.js +0 -1
- package/apps/web/.next/static/chunks/app/api/agents/[id]/snapshots/[sid]/route-07f0f73ac9839899.js +0 -1
- package/apps/web/.next/static/chunks/app/api/agents/[id]/snapshots/route-07f0f73ac9839899.js +0 -1
- package/apps/web/.next/static/chunks/app/api/agents/[id]/start/route-07f0f73ac9839899.js +0 -1
- package/apps/web/.next/static/chunks/app/api/agents/[id]/stop/route-07f0f73ac9839899.js +0 -1
- package/apps/web/.next/static/chunks/app/api/agents/route-07f0f73ac9839899.js +0 -1
- package/apps/web/.next/static/chunks/app/api/auth/login/route-07f0f73ac9839899.js +0 -1
- package/apps/web/.next/static/chunks/app/api/auth/logout/route-07f0f73ac9839899.js +0 -1
- package/apps/web/.next/static/chunks/app/api/auth/me/route-07f0f73ac9839899.js +0 -1
- package/apps/web/.next/static/chunks/app/api/auth/users/[id]/route-07f0f73ac9839899.js +0 -1
- package/apps/web/.next/static/chunks/app/api/auth/users/route-07f0f73ac9839899.js +0 -1
- package/apps/web/.next/static/chunks/app/api/env-vars/[key]/route-07f0f73ac9839899.js +0 -1
- package/apps/web/.next/static/chunks/app/api/env-vars/route-07f0f73ac9839899.js +0 -1
- package/apps/web/.next/static/chunks/app/api/jobs/[id]/route-07f0f73ac9839899.js +0 -1
- package/apps/web/.next/static/chunks/app/api/jobs/[id]/runs/route-07f0f73ac9839899.js +0 -1
- package/apps/web/.next/static/chunks/app/api/jobs/route-07f0f73ac9839899.js +0 -1
- package/apps/web/.next/static/chunks/app/api/mcps/[id]/route-07f0f73ac9839899.js +0 -1
- package/apps/web/.next/static/chunks/app/api/mcps/[id]/test/route-07f0f73ac9839899.js +0 -1
- package/apps/web/.next/static/chunks/app/api/mcps/route-07f0f73ac9839899.js +0 -1
- package/apps/web/.next/static/chunks/app/api/settings/route-07f0f73ac9839899.js +0 -1
- package/apps/web/.next/static/chunks/app/jobs/page-f5aa89a47c50efd8.js +0 -1
- package/apps/web/.next/static/chunks/app/layout-2079f4964aa7314e.js +0 -1
- package/apps/web/.next/static/chunks/app/login/layout-07f0f73ac9839899.js +0 -1
- package/apps/web/.next/static/chunks/app/login/page-aa259283dc38e8f9.js +0 -1
- package/apps/web/.next/static/chunks/app/page-e83437b608104dff.js +0 -1
- package/apps/web/.next/static/chunks/app/settings/env-vars/page-06479dbdfb78b76b.js +0 -1
- package/apps/web/.next/static/chunks/app/settings/mcps/page-75650686ed6490c7.js +0 -1
- package/apps/web/.next/static/chunks/app/settings/page-e1e62fc41ff6cddd.js +0 -1
- package/apps/web/.next/static/chunks/framework-811407f832a33072.js +0 -1
- package/apps/web/.next/static/chunks/main-3f1cddbdd67b1546.js +0 -1
- package/apps/web/.next/static/chunks/main-app-cebd8a6a5ccbf72d.js +0 -1
- package/apps/web/.next/static/chunks/pages/_app-50fa07b56b2d29ac.js +0 -1
- package/apps/web/.next/static/chunks/pages/_error-fed8688bdd23f211.js +0 -1
- package/apps/web/.next/static/chunks/polyfills-42372ed130431b0a.js +0 -1
- package/apps/web/.next/static/chunks/webpack-6c05566dba553c97.js +0 -1
- package/apps/web/.next/static/css/15371687405525e2.css +0 -5
- package/apps/web/.next/static/ikfNbLhuw7jntn35bz0lk/_buildManifest.js +0 -1
- package/apps/web/.next/static/ikfNbLhuw7jntn35bz0lk/_ssgManifest.js +0 -1
- package/apps/web/.next/trace +0 -5
- package/apps/web/.next/types/app/agents/[slug]/page.ts +0 -84
- package/apps/web/.next/types/app/agents/new/page.ts +0 -84
- package/apps/web/.next/types/app/api/agents/[id]/access/route.ts +0 -347
- package/apps/web/.next/types/app/api/agents/[id]/claude-md/route.ts +0 -347
- package/apps/web/.next/types/app/api/agents/[id]/logs/route.ts +0 -347
- package/apps/web/.next/types/app/api/agents/[id]/manifest/route.ts +0 -347
- package/apps/web/.next/types/app/api/agents/[id]/mcps/route.ts +0 -347
- package/apps/web/.next/types/app/api/agents/[id]/memories/[memId]/route.ts +0 -347
- package/apps/web/.next/types/app/api/agents/[id]/memories/route.ts +0 -347
- package/apps/web/.next/types/app/api/agents/[id]/permissions/route.ts +0 -347
- package/apps/web/.next/types/app/api/agents/[id]/reload/route.ts +0 -347
- package/apps/web/.next/types/app/api/agents/[id]/restrictions/route.ts +0 -347
- package/apps/web/.next/types/app/api/agents/[id]/route.ts +0 -347
- package/apps/web/.next/types/app/api/agents/[id]/skills/[skillId]/route.ts +0 -347
- package/apps/web/.next/types/app/api/agents/[id]/skills/route.ts +0 -347
- package/apps/web/.next/types/app/api/agents/[id]/slack-info/route.ts +0 -347
- package/apps/web/.next/types/app/api/agents/[id]/snapshots/[sid]/restore/route.ts +0 -347
- package/apps/web/.next/types/app/api/agents/[id]/snapshots/[sid]/route.ts +0 -347
- package/apps/web/.next/types/app/api/agents/[id]/snapshots/route.ts +0 -347
- package/apps/web/.next/types/app/api/agents/[id]/start/route.ts +0 -347
- package/apps/web/.next/types/app/api/agents/[id]/stop/route.ts +0 -347
- package/apps/web/.next/types/app/api/agents/route.ts +0 -347
- package/apps/web/.next/types/app/api/auth/login/route.ts +0 -347
- package/apps/web/.next/types/app/api/auth/logout/route.ts +0 -347
- package/apps/web/.next/types/app/api/auth/me/route.ts +0 -347
- package/apps/web/.next/types/app/api/auth/users/[id]/route.ts +0 -347
- package/apps/web/.next/types/app/api/auth/users/route.ts +0 -347
- package/apps/web/.next/types/app/api/env-vars/[key]/route.ts +0 -347
- package/apps/web/.next/types/app/api/env-vars/route.ts +0 -347
- package/apps/web/.next/types/app/api/jobs/[id]/route.ts +0 -347
- package/apps/web/.next/types/app/api/jobs/[id]/runs/route.ts +0 -347
- package/apps/web/.next/types/app/api/jobs/route.ts +0 -347
- package/apps/web/.next/types/app/api/mcps/[id]/route.ts +0 -347
- package/apps/web/.next/types/app/api/mcps/[id]/test/route.ts +0 -347
- package/apps/web/.next/types/app/api/mcps/route.ts +0 -347
- package/apps/web/.next/types/app/api/settings/route.ts +0 -347
- package/apps/web/.next/types/app/jobs/page.ts +0 -84
- package/apps/web/.next/types/app/login/layout.ts +0 -84
- package/apps/web/.next/types/app/login/page.ts +0 -84
- package/apps/web/.next/types/app/page.ts +0 -84
- package/apps/web/.next/types/app/settings/env-vars/page.ts +0 -84
- package/apps/web/.next/types/app/settings/mcps/page.ts +0 -84
- package/apps/web/.next/types/app/settings/page.ts +0 -84
- package/apps/web/.next/types/cache-life.d.ts +0 -141
- package/apps/web/.next/types/package.json +0 -1
- package/apps/web/.next/types/routes.d.ts +0 -114
- package/apps/web/.next/types/validator.ts +0 -448
- package/apps/web/Dockerfile +0 -37
- package/apps/web/next-env.d.ts +0 -6
- package/apps/web/next.config.js +0 -6
- package/apps/web/node_modules/.vite/vitest/da39a3ee5e6b4b0d3255bfef95601890afd80709/results.json +0 -1
- package/apps/web/package.json +0 -48
- package/apps/web/postcss.config.js +0 -3
- package/apps/web/public/logo.svg +0 -17
- package/apps/web/src/app/agents/[slug]/page.tsx +0 -2235
- package/apps/web/src/app/agents/new/page.tsx +0 -1161
- package/apps/web/src/app/api/agents/[id]/access/route.ts +0 -76
- package/apps/web/src/app/api/agents/[id]/claude-md/route.ts +0 -111
- package/apps/web/src/app/api/agents/[id]/logs/route.ts +0 -84
- package/apps/web/src/app/api/agents/[id]/manifest/route.ts +0 -32
- package/apps/web/src/app/api/agents/[id]/mcps/route.ts +0 -73
- package/apps/web/src/app/api/agents/[id]/memories/[memId]/route.ts +0 -31
- package/apps/web/src/app/api/agents/[id]/memories/route.ts +0 -56
- package/apps/web/src/app/api/agents/[id]/permissions/route.ts +0 -74
- package/apps/web/src/app/api/agents/[id]/reload/route.ts +0 -33
- package/apps/web/src/app/api/agents/[id]/restrictions/route.ts +0 -85
- package/apps/web/src/app/api/agents/[id]/route.ts +0 -81
- package/apps/web/src/app/api/agents/[id]/skills/[skillId]/route.ts +0 -52
- package/apps/web/src/app/api/agents/[id]/skills/route.ts +0 -80
- package/apps/web/src/app/api/agents/[id]/slack-info/route.ts +0 -38
- package/apps/web/src/app/api/agents/[id]/snapshots/[sid]/restore/route.ts +0 -61
- package/apps/web/src/app/api/agents/[id]/snapshots/[sid]/route.ts +0 -53
- package/apps/web/src/app/api/agents/[id]/snapshots/route.ts +0 -84
- package/apps/web/src/app/api/agents/[id]/start/route.ts +0 -35
- package/apps/web/src/app/api/agents/[id]/stop/route.ts +0 -35
- package/apps/web/src/app/api/agents/route.ts +0 -99
- package/apps/web/src/app/api/auth/login/route.ts +0 -39
- package/apps/web/src/app/api/auth/logout/route.ts +0 -21
- package/apps/web/src/app/api/auth/me/route.ts +0 -24
- package/apps/web/src/app/api/auth/users/[id]/route.ts +0 -48
- package/apps/web/src/app/api/auth/users/route.ts +0 -63
- package/apps/web/src/app/api/env-vars/[key]/route.ts +0 -66
- package/apps/web/src/app/api/env-vars/route.ts +0 -59
- package/apps/web/src/app/api/jobs/[id]/route.ts +0 -51
- package/apps/web/src/app/api/jobs/[id]/runs/route.ts +0 -24
- package/apps/web/src/app/api/jobs/route.ts +0 -42
- package/apps/web/src/app/api/mcps/[id]/route.ts +0 -60
- package/apps/web/src/app/api/mcps/[id]/test/route.ts +0 -195
- package/apps/web/src/app/api/mcps/route.ts +0 -72
- package/apps/web/src/app/api/settings/route.ts +0 -42
- package/apps/web/src/app/globals.css +0 -124
- package/apps/web/src/app/icon.svg +0 -17
- package/apps/web/src/app/jobs/page.tsx +0 -543
- package/apps/web/src/app/layout-shell.tsx +0 -89
- package/apps/web/src/app/layout.tsx +0 -18
- package/apps/web/src/app/login/layout.tsx +0 -9
- package/apps/web/src/app/login/page.tsx +0 -150
- package/apps/web/src/app/page.tsx +0 -573
- package/apps/web/src/app/settings/env-vars/page.tsx +0 -216
- package/apps/web/src/app/settings/mcps/page.tsx +0 -763
- package/apps/web/src/app/settings/page.tsx +0 -528
- package/apps/web/src/app/sidebar.tsx +0 -345
- package/apps/web/src/lib/__tests__/api-guard.test.ts +0 -189
- package/apps/web/src/lib/__tests__/auth.test.ts +0 -262
- package/apps/web/src/lib/__tests__/boss-registry.test.ts +0 -323
- package/apps/web/src/lib/__tests__/compile.test.ts +0 -161
- package/apps/web/src/lib/__tests__/db-agent-hierarchy.test.ts +0 -136
- package/apps/web/src/lib/__tests__/db-env-vars.test.ts +0 -216
- package/apps/web/src/lib/__tests__/db-restrictions.test.ts +0 -117
- package/apps/web/src/lib/__tests__/db.integration.test.ts +0 -271
- package/apps/web/src/lib/__tests__/diff.test.ts +0 -102
- package/apps/web/src/lib/__tests__/mcp-mask.test.ts +0 -274
- package/apps/web/src/lib/__tests__/skill-templates.test.ts +0 -237
- package/apps/web/src/lib/__tests__/slack-manifest.test.ts +0 -105
- package/apps/web/src/lib/api-guard.ts +0 -68
- package/apps/web/src/lib/auth-context.tsx +0 -71
- package/apps/web/src/lib/auth.ts +0 -128
- package/apps/web/src/lib/boss-registry.ts +0 -90
- package/apps/web/src/lib/compile.ts +0 -51
- package/apps/web/src/lib/db.ts +0 -1196
- package/apps/web/src/lib/diff.ts +0 -43
- package/apps/web/src/lib/mcp-mask.ts +0 -91
- package/apps/web/src/lib/portal.tsx +0 -23
- package/apps/web/src/lib/skill-templates.ts +0 -148
- package/apps/web/src/lib/slack-manifest.ts +0 -85
- package/apps/web/src/middleware.ts +0 -68
- package/apps/web/tailwind.config.js +0 -6
- package/apps/web/tsconfig.json +0 -23
- package/apps/web/vitest.config.mts +0 -21
- package/cli/.claude/settings.local.json +0 -6
- package/cli/node_modules/.package-lock.json +0 -427
- package/cli/node_modules/commander/LICENSE +0 -22
- package/cli/node_modules/commander/Readme.md +0 -1157
- package/cli/node_modules/commander/esm.mjs +0 -16
- package/cli/node_modules/commander/index.js +0 -24
- package/cli/node_modules/commander/lib/argument.js +0 -149
- package/cli/node_modules/commander/lib/command.js +0 -2509
- package/cli/node_modules/commander/lib/error.js +0 -39
- package/cli/node_modules/commander/lib/help.js +0 -520
- package/cli/node_modules/commander/lib/option.js +0 -330
- package/cli/node_modules/commander/lib/suggestSimilar.js +0 -101
- package/cli/node_modules/commander/package-support.json +0 -16
- package/cli/node_modules/commander/package.json +0 -84
- package/cli/node_modules/commander/typings/esm.d.mts +0 -3
- package/cli/node_modules/commander/typings/index.d.ts +0 -969
- package/cli/package-lock.json +0 -449
- package/cli/package.json +0 -44
- package/cli/src/commands/init.ts +0 -514
- package/cli/src/commands/manage.ts +0 -115
- package/cli/src/index.ts +0 -63
- package/cli/tsconfig.json +0 -14
- package/docker-compose.yml +0 -122
- package/docs/agents/boss-agents.mdx +0 -108
- package/docs/agents/creating-agents.mdx +0 -132
- package/docs/agents/memory.mdx +0 -113
- package/docs/agents/tools.mdx +0 -103
- package/docs/configuration/env-vars.mdx +0 -166
- package/docs/configuration/mcp-servers.mdx +0 -203
- package/docs/configuration/slack-app.mdx +0 -175
- package/docs/docs.json +0 -79
- package/docs/favicon.svg +0 -17
- package/docs/features/history.mdx +0 -60
- package/docs/features/import-export.mdx +0 -77
- package/docs/features/logs.mdx +0 -131
- package/docs/features/multi-workspace.mdx +0 -90
- package/docs/features/scheduled-jobs.mdx +0 -231
- package/docs/features/users.mdx +0 -92
- package/docs/introduction.mdx +0 -160
- package/docs/logo/dark.svg +0 -17
- package/docs/logo/light.svg +0 -17
- package/docs/logo/wide-dark.svg +0 -12
- package/docs/logo/wide-light.svg +0 -12
- package/docs/quickstart.mdx +0 -270
- package/docs/self-hosting/docker.mdx +0 -151
- package/docs/self-hosting/production.mdx +0 -176
- package/packages/shared/dist/index.d.ts +0 -8
- package/packages/shared/dist/index.d.ts.map +0 -1
- package/packages/shared/dist/index.js +0 -24
- package/packages/shared/dist/index.js.map +0 -1
- package/packages/shared/dist/types.d.ts +0 -584
- package/packages/shared/dist/types.d.ts.map +0 -1
- package/packages/shared/dist/types.js +0 -39
- package/packages/shared/dist/types.js.map +0 -1
- package/packages/shared/package.json +0 -15
- package/packages/shared/src/db/schema.sql +0 -354
- package/packages/shared/src/index.ts +0 -8
- package/packages/shared/src/types.ts +0 -683
- package/packages/shared/tsconfig.json +0 -17
- package/scripts/dev.sh +0 -45
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "slackhive",
|
|
3
|
-
"version": "0.1.
|
|
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
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,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). -->
|
package/.github/dependabot.yml
DELETED
|
@@ -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"
|
package/.github/workflows/ci.yml
DELETED
|
@@ -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
|
package/CODE_OF_CONDUCT.md
DELETED
|
@@ -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
|