github TypeScript re-analysis due

misospace/dispatch

github

Harness-agnostic Kanban and work dispatch for AI agents working GitHub Issues and PRs.

maintainer
misospace
license
first seen
2026-06-05
last seen
2026-08-26
releases · 30d
17
short id

Drift inferred · capture-to-capture

No drift recorded — single capability capture; advisories appear once its surface changes.

capabilities 0 tools
transport stdio · http counts 0 tools · 0 res · 0 prompts permission surface via code analysis

No tools enumerated yet for this server.

skills & danger signals github-tarball
prompt-surface shipped agent-instruction files + hidden-content / dangerous-code findings — quoted from the analyzed source

analyzed commit c03c0b9 · analyzer v32 · 1w ago

skills & prompt files 1

code evidence vv0.5.38 · github-tarball
evidence-backed findings quoted directly from the published source artifact — not inferred

code files: 281

filesystem 5

  • fs (weak) misospace-dispatch-c03c0b9/Dockerfile.test.ts :3 import { readFileSync } from "node:fs";
  • fs (weak) misospace-dispatch-c03c0b9/package-overrides.test.ts :3 import { readFileSync } from "node:fs";
  • fs (weak) misospace-dispatch-c03c0b9/src/app/api/routes.test.ts :2 import { existsSync } from "node:fs";
  • fs (weak) misospace-dispatch-c03c0b9/src/lib/auth-coverage.test.ts :2 import { readdirSync, readFileSync, existsSync } from "fs";
  • fs misospace-dispatch-c03c0b9/src/lib/version.ts :9 import { readFileSync } from "node:fs";

network 12

  • net (weak) misospace-dispatch-c03c0b9/src/app/api/pr-followup/sync/route.test.ts :143 it("detects a merge conflict via the per-PR detail fetch (list endpoint omits mergeability)", async () => {
  • net misospace-dispatch-c03c0b9/src/app/login/page.tsx :24 fetch("/api/auth/session")
  • net misospace-dispatch-c03c0b9/src/lib/client-auth.ts :91 return fetch(url, { ...options, headers });
  • net misospace-dispatch-c03c0b9/src/lib/github-auth.ts :77 const response = await fetch(
  • net misospace-dispatch-c03c0b9/src/lib/github-ci.ts :14 const response = await fetch(`${GITHUB_API}/repos/${repoFullName}/actions/workflows`, {
  • net misospace-dispatch-c03c0b9/src/lib/github-code-search.ts :12 const response = await fetch(`${GITHUB_API}/repos/${repoFullName}`, {
  • net misospace-dispatch-c03c0b9/src/lib/github-issues.ts :22 const response = await fetch(url, { headers: await getHeadersAsync() });
  • net misospace-dispatch-c03c0b9/src/lib/github-prs.ts :67 const detailResp = await fetch(`${GITHUB_API}/repos/${repoFullName}/pulls/${prNumber}`, { headers });
  • net misospace-dispatch-c03c0b9/src/lib/groomer/llm.ts :100 return fetch(url, {
  • net (weak) misospace-dispatch-c03c0b9/src/lib/issue-sync.test.ts :398 it("does a full fetch (no since) when the repo has no cached issues", async () => {
  • net misospace-dispatch-c03c0b9/src/lib/mc-client.ts :125 const response = await fetch(url, {
  • net misospace-dispatch-c03c0b9/src/lib/scheduler.ts :127 const res = await deps.fetch(`${config.baseUrl}/api/health`, {

secrets 59

  • secrets (weak) misospace-dispatch-c03c0b9/src/app/api/agent-runs/route.test.ts :4 process.env.DISPATCH_AGENT_TOKEN = mockToken;
  • secrets (weak) misospace-dispatch-c03c0b9/src/app/api/agents/[agentName]/heartbeat/route.test.ts :4 process.env.DISPATCH_AGENT_TOKEN = mockToken;
  • secrets (weak) misospace-dispatch-c03c0b9/src/app/api/agents/[agentName]/next-task/route.test.ts :4 process.env.DISPATCH_AGENT_TOKEN = mockToken;
  • secrets (weak) misospace-dispatch-c03c0b9/src/app/api/agents/[agentName]/queue/route.test.ts :5 process.env.DISPATCH_AGENT_TOKEN = mockToken;
  • secrets (weak) misospace-dispatch-c03c0b9/src/app/api/agents/[agentName]/tasks/report/route.test.ts :4 process.env.DISPATCH_AGENT_TOKEN = mockToken;
  • secrets (weak) misospace-dispatch-c03c0b9/src/app/api/agents/[agentName]/work-summary/route.test.ts :4 process.env.DISPATCH_AGENT_TOKEN = mockToken;
  • secrets (weak) misospace-dispatch-c03c0b9/src/app/api/audit/route.test.ts :4 process.env.DISPATCH_AGENT_TOKEN = mockToken;
  • secrets (weak) misospace-dispatch-c03c0b9/src/app/api/auth/logout/route.test.ts :4 process.env.DISPATCH_AGENT_TOKEN = mockToken;
  • secrets (weak) misospace-dispatch-c03c0b9/src/app/api/automation/repos/[...repo]/route.test.ts :34 process.env.DISPATCH_AGENT_TOKEN = mockToken;
  • secrets (weak) misospace-dispatch-c03c0b9/src/app/api/automation/repos/route.test.ts :4 process.env.DISPATCH_AGENT_TOKEN = mockToken;
  • secrets (weak) misospace-dispatch-c03c0b9/src/app/api/automation/runs/[runId]/route.test.ts :4 process.env.DISPATCH_AGENT_TOKEN = mockToken;
  • secrets (weak) misospace-dispatch-c03c0b9/src/app/api/automation/sync/route.test.ts :4 process.env.DISPATCH_AGENT_TOKEN = mockToken;
  • secrets (weak) misospace-dispatch-c03c0b9/src/app/api/groomer/run/route.test.ts :43 process.env.DISPATCH_AGENT_TOKEN = mockToken;
  • secrets (weak) misospace-dispatch-c03c0b9/src/app/api/health/route.test.ts :4 process.env.DISPATCH_AGENT_TOKEN = mockToken;
  • secrets (weak) misospace-dispatch-c03c0b9/src/app/api/issues/[issueId]/lane/route.test.ts :13 process.env.DISPATCH_AGENT_TOKEN = mockToken;
  • secrets (weak) misospace-dispatch-c03c0b9/src/app/api/issues/[issueId]/pr-health/refresh/route.test.ts :4 process.env.DISPATCH_AGENT_TOKEN = mockToken;
  • secrets (weak) misospace-dispatch-c03c0b9/src/app/api/issues/actions/decompose/route.test.ts :25 const originalAgentToken = process.env.DISPATCH_AGENT_TOKEN;
  • secrets (weak) misospace-dispatch-c03c0b9/src/app/api/issues/actions/route.test.ts :34 process.env.DISPATCH_AGENT_TOKEN = mockToken;
  • secrets (weak) misospace-dispatch-c03c0b9/src/app/api/issues/claim/route.test.ts :22 process.env.DISPATCH_AGENT_TOKEN = mockToken;
  • secrets (weak) misospace-dispatch-c03c0b9/src/app/api/issues/claimed/route.test.ts :4 process.env.DISPATCH_AGENT_TOKEN = mockToken;
  • secrets (weak) misospace-dispatch-c03c0b9/src/app/api/issues/groom/route.test.ts :65 process.env.DISPATCH_AGENT_TOKEN = "test-token";
  • secrets (weak) misospace-dispatch-c03c0b9/src/app/api/issues/move/route.test.ts :16 process.env.DISPATCH_AGENT_TOKEN = mockToken;
  • secrets (weak) misospace-dispatch-c03c0b9/src/app/api/issues/prune-closed/route.test.ts :4 process.env.DISPATCH_AGENT_TOKEN = mockToken;
  • secrets (weak) misospace-dispatch-c03c0b9/src/app/api/issues/reconcile/route.test.ts :4 process.env.DISPATCH_AGENT_TOKEN = mockToken;
  • secrets (weak) misospace-dispatch-c03c0b9/src/app/api/issues/refresh/route.test.ts :4 process.env.DISPATCH_AGENT_TOKEN = mockToken;
  • secrets (weak) misospace-dispatch-c03c0b9/src/app/api/issues/route.test.ts :4 process.env.DISPATCH_AGENT_TOKEN = mockToken;
  • secrets (weak) misospace-dispatch-c03c0b9/src/app/api/issues/state/route.test.ts :4 process.env.DISPATCH_AGENT_TOKEN = mockToken;
  • secrets (weak) misospace-dispatch-c03c0b9/src/app/api/issues/status/route.test.ts :14 process.env.DISPATCH_AGENT_TOKEN = mockToken;
  • secrets (weak) misospace-dispatch-c03c0b9/src/app/api/issues/unassign/route.test.ts :29 process.env.DISPATCH_AGENT_TOKEN = mockToken;
  • secrets (weak) misospace-dispatch-c03c0b9/src/app/api/issues/unclaim/route.test.ts :17 process.env.DISPATCH_AGENT_TOKEN = mockToken;
  • secrets (weak) misospace-dispatch-c03c0b9/src/app/api/issues/untriaged/route.test.ts :4 process.env.DISPATCH_AGENT_TOKEN = mockToken;
  • secrets (weak) misospace-dispatch-c03c0b9/src/app/api/pr-fix-queue/enqueue/route.test.ts :4 process.env.DISPATCH_AGENT_TOKEN = mockToken;
  • secrets (weak) misospace-dispatch-c03c0b9/src/app/api/pr-fix-queue/history/route.test.ts :4 process.env.DISPATCH_AGENT_TOKEN = mockToken;
  • secrets (weak) misospace-dispatch-c03c0b9/src/app/api/pr-fix-queue/mark/route.test.ts :4 process.env.DISPATCH_AGENT_TOKEN = mockToken;
  • secrets (weak) misospace-dispatch-c03c0b9/src/app/api/pr-fix-queue/queued/route.test.ts :4 process.env.DISPATCH_AGENT_TOKEN = mockToken;
  • secrets (weak) misospace-dispatch-c03c0b9/src/app/api/pr-followup/sync/route.test.ts :4 process.env.DISPATCH_AGENT_TOKEN = mockToken;
  • secrets (weak) misospace-dispatch-c03c0b9/src/app/api/pr-followup/webhook/route.test.ts :5 process.env.DISPATCH_AGENT_TOKEN = mockToken;
  • secrets misospace-dispatch-c03c0b9/src/app/api/pr-followup/webhook/route.ts :36 const secret = process.env.WEBHOOK_SECRET;
  • secrets (weak) misospace-dispatch-c03c0b9/src/app/api/repos/route.test.ts :4 process.env.DISPATCH_AGENT_TOKEN = mockToken;
  • secrets (weak) misospace-dispatch-c03c0b9/src/app/api/sync/route.test.ts :4 process.env.DISPATCH_AGENT_TOKEN = mockToken;
  • secrets (weak) misospace-dispatch-c03c0b9/src/app/api/sync/scheduled/route.test.ts :118 process.env.DISPATCH_AGENT_TOKEN = mockToken;
  • secrets (weak) misospace-dispatch-c03c0b9/src/lib/auth-next.test.ts :42 delete process.env.DISPATCH_OIDC_CLIENT_SECRET;
  • secrets misospace-dispatch-c03c0b9/src/lib/auth-next.ts :19 clientSecret: process.env.DISPATCH_OIDC_CLIENT_SECRET,
  • secrets (weak) misospace-dispatch-c03c0b9/src/lib/auth.test.ts :26 delete process.env.DISPATCH_AUTH_PASSWORD;
  • secrets misospace-dispatch-c03c0b9/src/lib/auth.ts :63 const pass = process.env.DISPATCH_AUTH_PASSWORD;
  • secrets (weak) misospace-dispatch-c03c0b9/src/lib/dispatch-env.test.ts :9 delete process.env.DISPATCH_AGENT_TOKEN;
  • secrets misospace-dispatch-c03c0b9/src/lib/dispatch-env.ts :48 _cachedToken = process.env.DISPATCH_AGENT_TOKEN;
  • secrets (weak) misospace-dispatch-c03c0b9/src/lib/github-app.test.ts :7 process.env.GITHUB_TOKEN = "test-token-for-github-app-tests";
  • secrets misospace-dispatch-c03c0b9/src/lib/github-auth.ts :67 let privateKey = process.env.GITHUB_APP_PRIVATE_KEY || "";
  • secrets (weak) misospace-dispatch-c03c0b9/src/lib/github.test.ts :28 process.env.GITHUB_TOKEN = "test-token-for-pagination-tests";
  • secrets (weak) misospace-dispatch-c03c0b9/src/lib/groomer/config.test.ts :10 delete process.env.DISPATCH_LLM_API_KEY;
  • secrets misospace-dispatch-c03c0b9/src/lib/groomer/config.ts :60 const apiKey = process.env.DISPATCH_LLM_API_KEY?.trim() || null;
  • secrets (weak) misospace-dispatch-c03c0b9/src/lib/groomer/run.test.ts :7 process.env.DISPATCH_AGENT_TOKEN = mockToken;
  • secrets (weak) misospace-dispatch-c03c0b9/src/lib/groomer/selector.test.ts :5 process.env.DISPATCH_AGENT_TOKEN = mockToken;
  • secrets (weak) misospace-dispatch-c03c0b9/src/lib/mc-client.test.ts :11 process.env.DISPATCH_AGENT_TOKEN = mockToken;
  • secrets (weak) misospace-dispatch-c03c0b9/src/mcp/server.test.ts :23 process.env.DISPATCH_AGENT_TOKEN = mockToken;
  • secrets (weak) misospace-dispatch-c03c0b9/src/middleware.test.ts :19 delete process.env.DISPATCH_AUTH_PASSWORD;
  • secrets misospace-dispatch-c03c0b9/src/middleware.ts :45 const token = process.env.DISPATCH_AGENT_TOKEN;
  • secrets (weak) misospace-dispatch-c03c0b9/src/test/route-helpers.ts :15 * process.env.DISPATCH_AGENT_TOKEN = mockToken;

database 4

  • db (weak) misospace-dispatch-c03c0b9/src/app/api/automation/repos/route.test.ts :48 import { Prisma } from "@prisma/client";
  • db misospace-dispatch-c03c0b9/src/app/api/automation/repos/route.ts :3 import { Prisma } from "@prisma/client";
  • db misospace-dispatch-c03c0b9/src/app/api/repos/route.ts :3 import { Prisma } from "@prisma/client";
  • db misospace-dispatch-c03c0b9/src/lib/prisma.ts :1 import { PrismaClient, Prisma } from "@prisma/client";

install hooks 1

  • postinstall misospace-dispatch-c03c0b9/package.json :18 test -f prisma/schema.prisma && prisma generate || true

declared dependencies 34

  • @modelcontextprotocol/sdk@^1.29.0
  • @dnd-kit/core@^6.1.0
  • @dnd-kit/sortable@^10.0.0
  • @dnd-kit/utilities@^3.2.2
  • @prisma/adapter-pg@^7.8.0
  • @prisma/client@^7.8.0
  • @radix-ui/react-slot@^1.2.4
  • class-variance-authority@^0.7.0
  • clsx@^2.1.1
  • lucide-react@^1.0.0
  • next@^16.2.7
  • next-auth@^5.0.0-beta.31
  • prisma@^7.8.0
  • react@^19.0.0
  • react-dom@^19.0.0
  • tailwind-merge@^3.0.0
  • zod@^4.4.3
  • @eslint/compat@^2.1.0
  • @tailwindcss/postcss@^4.3.0
  • @testing-library/jest-dom@^7.0.0
  • @testing-library/react@^16.3.2
  • @testing-library/user-event@^14.6.1
  • @types/node@^24.0.0
  • @types/react@^19.0.0
  • @types/react-dom@^19.0.0
  • @vitejs/plugin-react@^6.0.1
  • eslint@^10.0.0
  • eslint-config-next@^16.2.6
  • jsdom@^30.0.0
  • postcss@^8.5.10
  • tailwindcss@^4.3.0
  • tsx@^4.22.1
  • typescript@^6.0.0
  • vitest@^4.1.8