# ramyamol/selenium-to-playwright-using-ai-agent-in-existing-ai-marketplace-architecture- architecture

> Architecture diagram of the GitHub repository ramyamol/selenium-to-playwright-using-ai-agent-in-existing-ai-marketplace-architecture-, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-29). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/ramyamol/selenium-to-playwright-using-ai-agent-in-existing-ai-marketplace-architecture-
- Repository: https://github.com/ramyamol/selenium-to-playwright-using-ai-agent-in-existing-ai-marketplace-architecture-

## Overview

This is an agentic marketplace PoC, demonstrated by a performance-optimizer CLI. It discovers a coordinator, requests bundle optimization, delegates analysis to the bundle agent, and combines deterministic bundle metrics with LLM recommendations. The message bus and registry provide asynchronous routing and agent discovery; MCP servers expose analysis and LLM tools. The graph reflects the sampled runtime and README capabilities; the provider implementation is not sampled, so its link is documented at the directory level.

Main entry points: [`platform/message-bus/src/index.ts`](https://github.com/ramyamol/selenium-to-playwright-using-ai-agent-in-existing-ai-marketplace-architecture-/blob/main/platform/message-bus/src/index.ts) (Message Bus), [`app/perf-optimizer/src/index.ts`](https://github.com/ramyamol/selenium-to-playwright-using-ai-agent-in-existing-ai-marketplace-architecture-/blob/main/app/perf-optimizer/src/index.ts) (Optimizer App), [`platform/sdk/src/agent.ts`](https://github.com/ramyamol/selenium-to-playwright-using-ai-agent-in-existing-ai-marketplace-architecture-/blob/main/platform/sdk/src/agent.ts) (Agent Runtime), [`marketplace/agents/coordinator-agent/src/index.ts`](https://github.com/ramyamol/selenium-to-playwright-using-ai-agent-in-existing-ai-marketplace-architecture-/blob/main/marketplace/agents/coordinator-agent/src/index.ts) (Coordinator Agent)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_workflow["Optimizer Workflow"]
  node_optimizer_app["Optimizer App<br/>[index.ts]"]
  node_bundle_input["Bundle File"]
  node_report["Optimization Report"]
end

subgraph group_agents["Agent Layer"]
  node_coordinator["Coordinator Agent<br/>[index.ts]"]
  node_bundle_agent["Bundle Agent<br/>[index.ts]"]
end

subgraph group_platform["Platform Services"]
  node_agent_runtime["Agent Runtime<br/>[agent.ts]"]
  node_message_bus["Message Bus<br/>[index.ts]"]
  node_registry[("Agent Registry<br/>[index.ts]")]
  node_mcp_runtime["MCP Server Runtime<br/>[mcp-server.ts]"]
end

subgraph group_tools["MCP Tools"]
  node_analyzer["Bundle Analyzer<br/>[index.ts]"]
  node_llm_gateway["LLM Gateway<br/>[index.ts]"]
  node_llm_provider["LLM Provider"]
end

node_cli(("CLI User"))
node_nats["NATS"]
node_llm_api["LLM API"]

node_cli -->|"starts"| node_optimizer_app
node_optimizer_app -->|"connects"| node_message_bus
node_optimizer_app -->|"starts"| node_registry
node_optimizer_app -->|"starts"| node_coordinator
node_optimizer_app -->|"starts"| node_bundle_agent
node_optimizer_app -->|"discovers"| node_registry
node_optimizer_app -->|"publishes request"| node_message_bus
node_message_bus -->|"transports messages"| node_nats
node_nats -->|"delivers messages"| node_message_bus
node_message_bus -->|"routes task"| node_coordinator
node_coordinator -->|"sends delegation"| node_agent_runtime
node_agent_runtime -->|"publishes task"| node_message_bus
node_message_bus -->|"routes task"| node_bundle_agent
node_bundle_agent -->|"calls analyze_bundle"| node_analyzer
node_bundle_agent -->|"calls chat"| node_llm_gateway
node_analyzer -->|"reads"| node_bundle_input
node_analyzer -->|"registers tool"| node_mcp_runtime
node_llm_gateway -->|"registers tools"| node_mcp_runtime
node_llm_gateway -->|"invokes provider"| node_llm_provider
node_llm_provider -.->|"requests completion"| node_llm_api
node_coordinator -->|"builds summary"| node_agent_runtime
node_agent_runtime -->|"publishes response"| node_message_bus
node_message_bus -->|"routes response"| node_optimizer_app
node_optimizer_app -->|"displays"| node_report
node_agent_runtime -->|"registers and heartbeats"| node_message_bus
node_message_bus -->|"routes registry events"| node_registry
node_registry -->|"publishes discovery results"| node_message_bus

click node_optimizer_app "https://github.com/ramyamol/selenium-to-playwright-using-ai-agent-in-existing-ai-marketplace-architecture-/blob/main/app/perf-optimizer/src/index.ts"
click node_coordinator "https://github.com/ramyamol/selenium-to-playwright-using-ai-agent-in-existing-ai-marketplace-architecture-/blob/main/marketplace/agents/coordinator-agent/src/index.ts"
click node_bundle_agent "https://github.com/ramyamol/selenium-to-playwright-using-ai-agent-in-existing-ai-marketplace-architecture-/blob/main/marketplace/agents/bundle-agent/src/index.ts"
click node_agent_runtime "https://github.com/ramyamol/selenium-to-playwright-using-ai-agent-in-existing-ai-marketplace-architecture-/blob/main/platform/sdk/src/agent.ts"
click node_message_bus "https://github.com/ramyamol/selenium-to-playwright-using-ai-agent-in-existing-ai-marketplace-architecture-/blob/main/platform/message-bus/src/index.ts"
click node_registry "https://github.com/ramyamol/selenium-to-playwright-using-ai-agent-in-existing-ai-marketplace-architecture-/blob/main/platform/registry/src/index.ts"
click node_mcp_runtime "https://github.com/ramyamol/selenium-to-playwright-using-ai-agent-in-existing-ai-marketplace-architecture-/blob/main/platform/sdk/src/mcp-server.ts"
click node_analyzer "https://github.com/ramyamol/selenium-to-playwright-using-ai-agent-in-existing-ai-marketplace-architecture-/blob/main/marketplace/mcp-servers/bundle-analyzer/src/index.ts"
click node_llm_gateway "https://github.com/ramyamol/selenium-to-playwright-using-ai-agent-in-existing-ai-marketplace-architecture-/blob/main/marketplace/mcp-servers/llm-gateway/src/index.ts"
click node_llm_provider "https://github.com/ramyamol/selenium-to-playwright-using-ai-agent-in-existing-ai-marketplace-architecture-/tree/main/marketplace/mcp-servers/llm-gateway/src/providers"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_optimizer_app,node_bundle_input,node_report,node_cli toneBlue
class node_coordinator,node_bundle_agent toneAmber
class node_agent_runtime,node_message_bus,node_registry,node_mcp_runtime,node_llm_api toneMint
class node_analyzer,node_llm_gateway,node_llm_provider toneRose
class node_nats toneIndigo
```

## Components

### Optimizer Workflow

- [Optimizer App](https://github.com/ramyamol/selenium-to-playwright-using-ai-agent-in-existing-ai-marketplace-architecture-/blob/main/app/perf-optimizer/src/index.ts): `app/perf-optimizer/src/index.ts`
- **Bundle File**
- **Optimization Report**

### Agent Layer

- [Coordinator Agent](https://github.com/ramyamol/selenium-to-playwright-using-ai-agent-in-existing-ai-marketplace-architecture-/blob/main/marketplace/agents/coordinator-agent/src/index.ts): `marketplace/agents/coordinator-agent/src/index.ts`
- [Bundle Agent](https://github.com/ramyamol/selenium-to-playwright-using-ai-agent-in-existing-ai-marketplace-architecture-/blob/main/marketplace/agents/bundle-agent/src/index.ts): `marketplace/agents/bundle-agent/src/index.ts`

### Platform Services

- [Agent Runtime](https://github.com/ramyamol/selenium-to-playwright-using-ai-agent-in-existing-ai-marketplace-architecture-/blob/main/platform/sdk/src/agent.ts): `platform/sdk/src/agent.ts`
- [Message Bus](https://github.com/ramyamol/selenium-to-playwright-using-ai-agent-in-existing-ai-marketplace-architecture-/blob/main/platform/message-bus/src/index.ts): `platform/message-bus/src/index.ts`
- [Agent Registry](https://github.com/ramyamol/selenium-to-playwright-using-ai-agent-in-existing-ai-marketplace-architecture-/blob/main/platform/registry/src/index.ts): `platform/registry/src/index.ts`
- [MCP Server Runtime](https://github.com/ramyamol/selenium-to-playwright-using-ai-agent-in-existing-ai-marketplace-architecture-/blob/main/platform/sdk/src/mcp-server.ts): `platform/sdk/src/mcp-server.ts`

### MCP Tools

- [Bundle Analyzer](https://github.com/ramyamol/selenium-to-playwright-using-ai-agent-in-existing-ai-marketplace-architecture-/blob/main/marketplace/mcp-servers/bundle-analyzer/src/index.ts): `marketplace/mcp-servers/bundle-analyzer/src/index.ts`
- [LLM Gateway](https://github.com/ramyamol/selenium-to-playwright-using-ai-agent-in-existing-ai-marketplace-architecture-/blob/main/marketplace/mcp-servers/llm-gateway/src/index.ts): `marketplace/mcp-servers/llm-gateway/src/index.ts`
- [LLM Provider](https://github.com/ramyamol/selenium-to-playwright-using-ai-agent-in-existing-ai-marketplace-architecture-/tree/main/marketplace/mcp-servers/llm-gateway/src/providers): `marketplace/mcp-servers/llm-gateway/src/providers`

### Other components

- **CLI User**
- **NATS**
- **LLM API**

## Connections

- CLI User → Optimizer App: starts
- Optimizer App → Message Bus: connects
- Optimizer App → Agent Registry: starts
- Optimizer App → Coordinator Agent: starts
- Optimizer App → Bundle Agent: starts
- Optimizer App → Agent Registry: discovers
- Optimizer App → Message Bus: publishes request
- Message Bus → NATS: transports messages
- NATS → Message Bus: delivers messages
- Message Bus → Coordinator Agent: routes task
- Coordinator Agent → Agent Runtime: sends delegation
- Agent Runtime → Message Bus: publishes task
- Message Bus → Bundle Agent: routes task
- Bundle Agent → Bundle Analyzer: calls analyze_bundle
- Bundle Agent → LLM Gateway: calls chat
- Bundle Analyzer → Bundle File: reads
- Bundle Analyzer → MCP Server Runtime: registers tool
- LLM Gateway → MCP Server Runtime: registers tools
- LLM Gateway → LLM Provider: invokes provider
- LLM Provider → LLM API: requests completion
- Coordinator Agent → Agent Runtime: builds summary
- Agent Runtime → Message Bus: publishes response
- Message Bus → Optimizer App: routes response
- Optimizer App → Optimization Report: displays
- Agent Runtime → Message Bus: registers and heartbeats
- Message Bus → Agent Registry: routes registry events
- Agent Registry → Message Bus: publishes discovery results
