Repository navigation
feat: Phase 5 - Console, Deployment, v1.0 - full platform release - #2
Merged
Merged
Conversation
- Auth: ApiKey, JWT (jose), OIDC (JWKS), mTLS, Workload Identity, CompositeAuthProvider with fastify-plugin encapsulation - Authorization: Policy schema, InMemoryPolicyProvider, PolicyEngine with deny-overrides-allow + glob matching, DelegationManager with privilege escalation prevention - Reliability: CircuitBreaker CLOSED/OPEN/HALF_OPEN with stats, Bulkhead with tryAcquire/release and queue, retry exponential backoff with jitter, withTimeout, Deduplicator, IdempotencyStore, FanOutLimiter per parent task with window - Rate Limit: InMemoryRateLimitStore, TokenBucket, FixedWindow, SlidingWindow, MultiDimensionalRateLimiter (org/project/agent/identity/skill/endpoint/ip/global) with DEFAULT_RESOURCE_LIMITS and checkResourceLimits - Versioning: @agentmesh/versioning package - semver parsing, compare, isStable, isCanary, satisfiesRange (^,~,>=,etc), VersionResolver with strategies latest/stable/specific/minimum/canary/max_satisfying, compatibility rules - Tenancy: @agentmesh/tenancy package - TenantContext, TenantManager with strict isolation enforcement, extractFromRequest, InMemoryTenantStore hierarchy validation - Events: NatsJetStreamEventBus with JetStream stream AGENTMESH creation, fallback to InMemory, dual publish to local + NATS, consumer groups - Registry: tenant isolation enforcement in service + repo, versioning resolution (listVersions, discoverBest, resolveAll), resource limits check, delegation chain tracking, event publishing with tenant context - Tasks: tenant isolation, resource limits (message size, output size), fan-out limiter (max 10), bulkhead per agent (20 concurrent), circuit breaker per agent (5 failures/60s), delegation verification, delegation depth limit (10), withTimeout protection - Gateway plugins: auth (composite, 401 on invalid), tenant (x-org/x-project), rate-limit (429 + Retry-After + X-RateLimit headers), resource-limits (413 on oversize, fan-out check), circuit-breaker (503 when OPEN + /v1/reliability/stats) - all wrapped with fastify-plugin for proper decorator visibility - Control-plane plugins: auth, tenant, rate-limit, authorization (maps routes to resource/action, skill:invoke enforcement via PolicyEngine) - Config: new fields MAX_CONCURRENT_TASKS, MAX_FAN_OUT, MAX_RETRIES, CIRCUIT_BREAKER_*, REQUIRE_TENANT, ALLOW_CROSS_TENANT, VERSION bump to 0.1.0-phase3 - Build: 24 packages successful, verified via manual tests - tenant isolation blocks cross-org/project, versioning stable filtering works, fan-out limit blocks at 10, resource limit blocks 2MB payload, gateway decorators visible, 413 on oversize payload Co-authored-by: AgentMesh
…lity, SDKs - Artifacts: Enhanced @agentmesh/artifacts with full lifecycle - create with checksum (sha256), size validation (100MB), metadata (org/project/task/agent), retention, expiration, access control (private/public/org/project), tags, presigned URLs, S3 fallback to InMemory, cleanupExpired, createFromTaskOutput - Messaging: New @agentmesh/messaging - Message schema with id/sender/receiver/taskId/contextId/sessionId/traceId/correlationId/parentMessageId/contentType/metadata, SendMessageInput, MessageFilter, DeliveryMode sync/async/streaming, InMemoryMessageStore with indexing by task/context/trace, MessageRouter with send (size check 1MB), event publishing, ack, streaming async iterable, InMemoryTransport - Webhooks: New @agentmesh/webhooks - WebhookEndpoint with url/secret/events/headers/timeout/maxRetries, WebhookDelivery with attempt/status/response, SSRF protection (blocked localhost, 127.0.0.1, 10./192.168./172.16-31., metadata), signPayload HMAC sha256 with timestamp, verifySignature with replay protection (5m tolerance), WebhookManager with register, list, delete, deliver with retries exponential backoff (2^attempt), dead-letter handling, idempotency key - Observability: New @agentmesh/observability - TraceContext, Span with attributes/events/status, Metric counter/gauge/histogram, InMemoryTracer with startSpan/endSpan/addEvent/setAttribute/getTrace/recordMetric, Observability class with startTaskTrace (User->Agent->Tool chain), startAgentSpan, startToolSpan, recordTaskMetrics (duration, queueTime, retries), recordAgentMetrics (latency, utilization, errors), exportTrace OTel-compatible, Fastify tracing hook - MCP Bridge: New @agentmesh/mcp-bridge - MCPTool, MCPResource, MCPServerInfo, A2ASkill translation, mcpToolToA2ASkill, mcpServerToA2ACard, a2aSkillToMCPTool, MCPClient interface, InMemoryMCPClient with tool handlers, MCPBridge with registerMCPServer, a2aToMCP (A2A skill -> MCP tool call), mcpToA2A (MCP -> A2A via caller), discoverAsA2A, ExampleMCPServer with read_file/write_file/search - Telemetry: Enhanced to integrate with observability - withSpan now also creates internal span in observability tracer, recordLatency/recordCounter helpers, re-exports getObservability - Control-plane modules: artifacts service (create with tenant, getById with access control, list, delete, presignedUrl), messages service (send with tenant, getById, list, ack), webhooks service (register with SSRF check, list, delete, deliver), mcp service (registerServer with example handlers, listServers, discover, callTool, callA2AFromMCP) - Control-plane routes: /v1/artifacts (CRUD + /:id/data + /:id/url), /v1/messages (list/get/send/ack), /v1/webhooks (register/list/delete + /:id/deliveries + /deliveries + /test), /v1/mcp (servers/discover/register/call + /bridge/a2a-to-mcp), /v1/observability (traces/:traceId, metrics, spans) - Gateway routes: enhanced /v1/health with Phase 4 features, /v1/info with capabilities, /v1/agents with tenant filter, /v1/agents/:id/invoke with observability tracing and tenant headers, /v1/route with tenant, /v1/artifacts proxy, /v1/messages proxy, /v1/observability traces/metrics, /v1/mcp/servers proxy - Gateway plugins: new observabilityPlugin with onRequest/onResponse/onError hooks, tracing, metrics, decorator, registered first to capture all - Control-plane plugins: new observabilityPlugin similar - SDK: Enhanced @agentmesh/sdk client - discovery with versionStrategy/minVersion/versionRange, versions(), agents register/delete/health/heartbeat, tasks list/complete/fail/retry/history/graph/poll (polling fallback) + streaming via EventSource, artifacts create/getData/list/delete/presignedUrl, messages send/get/list/ack, webhooks register/list/delete/deliveries/test, mcp listServers/discover/registerServer/callTool, observability getTrace/getMetrics/getSpans, health gateway, gateway route/invoke - Server SDK: Enhanced @agentmesh/server-sdk - TaskHandlerContext with traceId/org/project/artifacts/stream, TaskHandlerResult with artifacts, AgentServerConfig with onAuthorize/middleware/enableTelemetry/enableStreaming, createAgentServer now implements full Fastify server with /.well-known/agent.json, JSON-RPC handling for message/send, tasks/send, tasks/sendSubscribe (SSE streaming), /v1/tasks direct, auth/authorize hooks, observability tracing, graceful error handling - Config: VERSION bump to 0.1.0-phase4 - Build: 28 packages successful, Phase 4 manual tests passed - artifact checksum, message trace, SSRF blocked localhost, webhook signing valid, MCP bridge 3 skills, tool call, trace spans 2, metrics 2 Co-authored-by: AgentMesh
- Console: Next.js 14 with 19 routes (agents, artifacts, configuration, credentials, health, mcp, messages, organizations, policies, projects, routes, security, skills, tasks, tasks/[id], tasks/[id]/graph with React Flow live graph, telemetry), Tailwind + shadcn/ui + TanStack Query/Table - Deployment: Dockerfiles rewritten multi-stage for gateway/control-plane/console with all 16 packages + adapters, HEALTHCHECK - Docker Compose full stack: postgres/redis/nats/minio/minio-setup/control-plane/gateway x2 HA/console with healthchecks, volumes, network - K8s: Namespace+ConfigMap+Secret, Postgres/Redis/NATS with PVCs, Gateway 3 replicas + HPA 3-10 CPU 70% mem 80%, Control-Plane 2 replicas, Console, Ingress (agentmesh.local + gateway.agentmesh.local + control-plane.agentmesh.local) - Helm: Chart v1.0.0 appVersion 1.0.0 with dependencies postgresql/redis/nats, values with replicaCounts/images/services/ingress/resources/autoscaling/config/secrets, templates _helpers/configmap/secret/gateway/control-plane/console/ingress - DONATE.md: AgentMesh-specific persuasive text, crypto addresses BTC bc1q36uzqlkaav3lkscknhemcem0lcjtkhepdqckul BNB 0x57902d3955D5F1C0fbCaEA0a12A7D691c792487E SOL 4hCYetZjvK8mkuobRvPYXyRnM84aTj3q8LZ1GpiTK8HR TRON TVFZKSwMYNw1jiCyKKtKoVG3HbpB4DhsA5, signature - README v1.0: full architecture, quick start, A2A first-class, Registry, Versioning, Tenancy, Task Orchestration with delegation tree, Reliability, Security threat model, Auth/AuthZ, Messaging, Artifacts, MCP Bridge, Event Bus, Webhooks, Rate Limiting, Observability, Console, SDKs, API, Deployment (Compose/K8s/Helm), Testing, free license note, Made ❤️ by Mohammad @llllxyz - Bump all packages to 1.0.0
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
AgentMesh v1.0 — Full Platform Release
This PR completes Phase 5 + v1.0 Final per AgentMesh spec (45 sections).
Console (Production Web Console)
Deployment (Production-Grade)
DONATE.md
README v1.0
Versioning
Build
Closes Phase 5, marks v1.0 full platform per /home/user/uploads/AgentMesh.md (45 sections).
Completely free for personal and commercial use — no license file, no key, no subscription.
Made ❤️ by Mohammad @llllxyz