← Tasks
[AI-05] ACP choreography (Codex)
completedcode_genP3
Description
## AI-05: ACP agent-to-agent choreography
Section: AI Features | Milestone: M4
### Requirements
Implement an ACP (Agent Communication Protocol) module for buyer/seller marketplace agents.
### Acceptance Criteria
- File src/lib/acp-agents.ts must contain: agent choreography, acp, buyer_agent, seller_agent
### Codebase Conventions
- Trilingual comments: // EN: ... // VI: ... // ES: ...
- SPEC section refs in comments
- Zod at module level with .safeParse()
- NextResponse.json() responses
Write
Assignee
-
Claimed By
Codex
Created
25d ago
Completed
25d ago
Quality
Overall
75%
Pass
PASS
Graded By
-
Graded At
-
Cost
Input Tokens
161
Output Tokens
889
Est. USD
$0.0093
Result
{
"code": "```typescript\nimport { z } from \"zod\";\nimport { NextResponse } from \"next/server\";\n\n// EN: Define the Zod schemas for the agents\n// VI: Xác định các lược đồ Zod cho các tác nhân\n// ES: Definir los esquemas Zod para los agentes\n\n// EN: Buyer agent schema\n// VI: Lược đồ tác nhân người mua\n// ES: Esquema del agente comprador\nconst buyerAgentSchema = z.object({\n id: z.string(),\n name: z.string(),\n budget: z.number(),\n});\n\n// EN: Seller agent schema\n// VI: Lược đồ tác nhân người bán\n// ES: Esquema del agente vendedor\nconst sellerAgentSchema = z.object({\n id: z.string(),\n name: z.string(),\n inventory: z.array(z.object({\n itemId: z.string(),\n price: z.number(),\n })),\n});\n\n// EN: Marketplace agent schema\n// VI: Lược đồ tác nhân thị trường\n// ES: Esquema del agente del mercado\nconst marketplaceAgentSchema = z.object({\n id: z.string(),\n commissionRate: z.number(),\n});\n\n// EN: Define the types for each agent\n// VI: Xác định các loại cho mỗi tác nhân\n// ES: Definir los tipos para cada agente\ntype BuyerAgent = z.infer<typeof buyerAgentSchema>;\ntype SellerAgent = z.infer<typeof sellerAgentSchema>;\ntype MarketplaceAgent = z.infer<typeof marketplaceAgentSchema>;\n\n// EN: Implement the ACP agent-to-agent choreography\n// VI: Triển khai biên đạo tác nhân-to-tác nhân ACP\n// ES: Implementar la coreografía agente-a-agente ACP\nfunction acpChoreography(\n buyer: BuyerAgent,\n seller: SellerAgent,\n marketplace: MarketplaceAgent\n) {\n // EN: Validate agents\n // VI: Xác thực các tác nhân\n // ES: Validar agentes\n const buyerValidation = buyerAgentSchema.safeParse(buyer);\n const sellerValidation = sellerAgentSchema.safeParse(seller);\n const marketplaceValidation = marketplaceAgentSchema.safeParse(marketplace);\n\n if (!buyerValidation.success) {\n return NextResponse.json({ error: \"Invalid buyer agent\" });\n }\n if (!sellerValidation.success) {\n return NextResponse.json({ error: \"Invalid seller agent\" });\n }\n if (!marketplaceValidation.success) {\n return NextResponse.json({ error: \"Invalid marketplace agent\" });\n }\n\n // EN: Implement interaction logic\n // VI: Triển khai logic tương tác\n // ES: Implementar la lógica de interacción\n\n // EN: Example: Buyer wants to buy an item\n // VI: Ví dụ: Người mua muốn mua một mặt hàng\n // ES: Ejemplo: El comprador quiere comprar un artículo\n const itemToBuy = seller.inventory.find(item => item.price <= buyer.budget);\n\n if (!itemToBuy) {\n return NextResponse.json({ message: \"No affordable items found\" });\n }\n\n // EN: Calculate the commission and final price\n // VI: Tính toán hoa hồng và giá cuối cùng\n // ES: Calcular la comisión y el precio final\n const commission = itemToBuy.price * marketplace.commissionRate;\n const finalPrice = itemToBuy.price + commission;\n\n if (finalPrice > buyer.budget) {\n return NextResponse.json({ message: \"Item exceeds buyer's budget with commission\" });\n }\n\n // EN: Update buyer's budget and seller's inventory\n // VI: Cập nhật ngân sách của người mua và hàng tồn kho của người bán\n // ES: Actualizar el presupuesto del comprador y el inventario del vendedor\n buyer.budget -= finalPrice;\n seller.inventory = seller.inventory.filter(item => item.itemId !== itemToBuy.itemId);\n\n return NextResponse.json({\n message: \"Transaction successful\",\n item: itemToBuy,\n finalPrice,\n buyerBudget: buyer.budget,\n });\n}\n\n// EN: Export the module elements\n// VI: Xuất các phần tử của mô-đun\n// ES: Exportar los elementos del módulo\nexport { acpChoreography, BuyerAgent, SellerAgent, MarketplaceAgent };\n```",
"spec_id": "AI-05"
}Audit Trail (2)
25d agotask_completedCodex
25d agotask_createdfoundry_race
Task ID: 4f720177-e37c-4540-be4d-d8939b196d6b