Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
284 changes: 284 additions & 0 deletions BotSharp.sln

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
<Project Sdk="Microsoft.NET.Sdk">

<PropertyGroup>
<TargetFramework>$(TargetFramework)</TargetFramework>
<Nullable>enable</Nullable>
<LangVersion>$(LangVersion)</LangVersion>
<VersionPrefix>$(BotSharpVersion)</VersionPrefix>
<GeneratePackageOnBuild>$(GeneratePackageOnBuild)</GeneratePackageOnBuild>
<GenerateDocumentationFile>$(GenerateDocumentationFile)</GenerateDocumentationFile>
<OutputPath>$(SolutionDir)packages</OutputPath>
</PropertyGroup>

<ItemGroup>
<PackageReference Include="Microsoft.Extensions.AI.Abstractions" />
<PackageReference Include="Rougamo.Fody" />
</ItemGroup>

<ItemGroup>
<ProjectReference Include="..\..\Infrastructure\BotSharp.Core\BotSharp.Core.csproj" />
</ItemGroup>

</Project>
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
{
"id": "hr-service-agent",
"name": "HR Service Agent",
"description": "Handles HR service requests using Microsoft Agent Framework workflows",
"type": "task",
"is_public": true,
"profiles": [
"hr-service"
],
"instruction": "You are an HR Service Agent. When an employee submits an HR request, use the execute_maf_workflow function with workflow_type='hr_service' to process it through the Microsoft Agent Framework.\n\nImportant:\n- Ensure employee information is collected\n- Maintain confidentiality and professionalism\n- Explain the process and timeline clearly\n- Follow company HR policies",
"functions": [
{
"name": "execute_maf_workflow",
"description": "Execute HR service workflow using Microsoft Agent Framework",
"parameters": {
"type": "object",
"properties": {
"workflow_type": {
"type": "string",
"const": "hr_service",
"description": "The type of workflow to execute"
},
"input_data": {
"type": "object",
"description": "Input data for the workflow",
"properties": {
"request_type": {
"type": "string",
"description": "Type of HR request (e.g., 'Leave Request', 'Benefits Inquiry', 'Document Request')"
},
"employee_id": {
"type": "string",
"description": "Employee identifier"
},
"details": {
"type": "string",
"description": "Detailed information about the request"
}
},
"required": ["request_type"]
}
},
"required": ["workflow_type", "input_data"]
}
}
],
"samples": [
"I need to request vacation leave",
"How do I update my benefits?",
"I need a copy of my employment certificate",
"What's the status of my leave request?"
],
"llm_config": {
"provider": "openai",
"model": "gpt-4"
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
{
"id": "it-support-agent",
"name": "IT Support Agent",
"description": "Handles IT support requests using Microsoft Agent Framework workflows",
"type": "task",
"is_public": true,
"profiles": [
"it-support"
],
"instruction": "You are an IT Support Agent. When a user reports an IT issue, use the execute_maf_workflow function with workflow_type='it_support' to handle the request through the Microsoft Agent Framework.\n\nImportant:\n- Gather issue details before calling the workflow\n- Ask clarifying questions to understand the problem\n- Provide step-by-step guidance\n- Follow up to ensure the issue is resolved",
"functions": [
{
"name": "execute_maf_workflow",
"description": "Execute IT support workflow using Microsoft Agent Framework",
"parameters": {
"type": "object",
"properties": {
"workflow_type": {
"type": "string",
"const": "it_support",
"description": "The type of workflow to execute"
},
"input_data": {
"type": "object",
"description": "Input data for the workflow",
"properties": {
"issue_type": {
"type": "string",
"description": "Type of IT issue (e.g., 'Network Issue', 'Software Problem', 'Hardware Failure')"
},
"description": {
"type": "string",
"description": "Detailed description of the issue"
}
},
"required": ["issue_type", "description"]
},
"conversation_history": {
"type": "array",
"description": "Recent conversation context",
"items": {
"type": "object",
"properties": {
"role": {
"type": "string"
},
"content": {
"type": "string"
}
}
}
}
},
"required": ["workflow_type", "input_data"]
}
}
],
"samples": [
"I can't connect to the VPN",
"My computer is running very slowly",
"The printer is not working",
"I need help resetting my password"
],
"llm_config": {
"provider": "openai",
"model": "gpt-4"
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,89 @@
{
"id": "order-management-agent",
"name": "Order Management Agent",
"description": "Handles order processing, refunds, and cancellations using Microsoft Agent Framework workflows",
"type": "task",
"is_public": true,
"profiles": [
"order-management"
],
"instruction": "You are an Order Management Agent. When a user requests to process, refund, or cancel an order, use the execute_order_workflow function to handle the request through the Microsoft Agent Framework workflow.\n\nImportant:\n- Always collect required information (order_id, customer_id, action) before calling the workflow\n- For refunds and cancellations, ask for a reason\n- Provide clear, friendly responses to users\n- Confirm actions before executing workflows",
"functions": [
{
"name": "execute_order_workflow",
"description": "Execute order processing workflow using Microsoft Agent Framework. Supports order processing, refunds, and cancellations.",
"parameters": {
"type": "object",
"properties": {
"order_id": {
"type": "string",
"description": "The unique order identifier (e.g., ORD-12345)"
},
"customer_id": {
"type": "string",
"description": "The customer identifier"
},
"items": {
"type": "array",
"description": "List of order items",
"items": {
"type": "object",
"properties": {
"product_id": {
"type": "string"
},
"product_name": {
"type": "string"
},
"quantity": {
"type": "integer"
},
"price": {
"type": "number"
}
}
}
},
"total_amount": {
"type": "number",
"description": "Total order amount in currency"
},
"action": {
"type": "string",
"enum": ["process", "refund", "cancel"],
"description": "The action to perform on the order"
},
"reason": {
"type": "string",
"description": "Reason for refund or cancellation (optional for processing)"
}
},
"required": ["order_id", "customer_id", "action"]
}
}
],
"templates": [
{
"name": "order.process.confirmation",
"content": "I've successfully processed your order {{order_id}}. The workflow has completed all necessary steps including validation, payment processing, and shipment preparation. You should receive a confirmation email shortly."
},
{
"name": "order.refund.confirmation",
"content": "Your refund request for order {{order_id}} has been processed. The refund amount of ¥{{total_amount}} will be returned to your original payment method within 3-5 business days."
},
{
"name": "order.cancel.confirmation",
"content": "Order {{order_id}} has been successfully cancelled. All reservations have been released and payment authorization has been cancelled."
}
],
"samples": [
"I want to refund my order ORD-12345",
"Can you help me cancel order ORD-67890?",
"Process my new order",
"What's the status of my order?"
],
"llm_config": {
"provider": "openai",
"model": "gpt-4"
}
}
Loading