-
Notifications
You must be signed in to change notification settings - Fork 0
Open
Labels
enhancementNew feature or requestNew feature or request
Description
Goal
Detect which AI agent frameworks are used in a scanned project. This feeds into the permission gap analyzer (issue #3).
Supported Frameworks (v1)
Detect via package.json, requirements.txt, pyproject.toml, go.mod, pom.xml, and import statements:
| Framework | Package/Import | Language |
|---|---|---|
| LangChain | langchain, @langchain/* |
Python, TS |
| LangGraph | langgraph, @langchain/langgraph |
Python, TS |
| CrewAI | crewai |
Python |
| OpenAI Agents SDK | openai-agents, openai/agents |
Python |
| MCP | @modelcontextprotocol/*, mcp |
TS, Python |
| Vercel AI SDK | ai, @ai-sdk/* |
TS |
| Amazon Bedrock | @aws-sdk/client-bedrock*, boto3 (bedrock) |
TS, Python |
| AutoGen | autogen, pyautogen |
Python |
| Permission Protocol | @permission-protocol/sdk, permission-protocol |
TS, Python |
Output Interface
interface DetectionResult {
frameworks: Array<{
name: string;
language: "typescript" | "python" | "java" | "go";
version?: string;
source: string; // e.g. "package.json", "requirements.txt"
}>;
ppInstalled: boolean; // Is Permission Protocol SDK already present?
entryPoints: Array<{
file: string;
type: "agent" | "tool" | "prompt" | "mcp-server" | "mcp-client";
framework: string;
}>;
files: {
scanned: number;
relevant: number;
};
}Detection Strategy
- Manifest scan — Check dependency files for known packages
- Import scan — Grep source files for framework imports to catch unlisted deps
- Entry point identification — Find files that instantiate agents, define tools, or configure MCP servers
Acceptance Criteria
- Detects all 9 frameworks listed above
- Identifies whether PP SDK is already installed
- Finds agent/tool entry points with file paths
- Works on TypeScript and Python projects (minimum)
- Returns structured
DetectionResultobject - Unit tests for each framework detection
Depends On
- Issue Repo scaffold + CLI package setup #1 (repo scaffold)
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or request