Python: Foundry Agent Completeness (#954)

* foundry completeness

* tests + openapi sample

* bing grounding sample

* options integration tests

* merge conflict fix

* fix failing test

* add mcp approval handling
This commit is contained in:
Giles Odigwe
2025-10-01 06:38:51 -07:00
committed by GitHub
Unverified
parent 74e2e2e21d
commit b0971fdec6
10 changed files with 1520 additions and 25 deletions
@@ -0,0 +1,141 @@
{
"openapi": "3.0.1",
"info": {
"title": "REST Countries API",
"description": "Get information about countries of the world",
"version": "3.1"
},
"servers": [
{
"url": "https://restcountries.com/v3.1"
}
],
"paths": {
"/currency/{currency}": {
"get": {
"operationId": "getCountriesByCurrency",
"summary": "Get countries by currency",
"description": "Search for countries by currency code",
"parameters": [
{
"name": "currency",
"in": "path",
"required": true,
"schema": {
"type": "string"
},
"description": "Currency code (e.g., THB, USD, EUR)"
}
],
"responses": {
"200": {
"description": "Successful response",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "object",
"properties": {
"common": {"type": "string"},
"official": {"type": "string"}
}
},
"population": {"type": "integer"},
"region": {"type": "string"},
"subregion": {"type": "string"},
"capital": {
"type": "array",
"items": {"type": "string"}
},
"currencies": {
"type": "object",
"additionalProperties": {
"type": "object",
"properties": {
"name": {"type": "string"},
"symbol": {"type": "string"}
}
}
},
"languages": {
"type": "object",
"additionalProperties": {"type": "string"}
},
"latlng": {
"type": "array",
"items": {"type": "number"}
}
}
}
}
}
}
}
}
}
},
"/name/{name}": {
"get": {
"operationId": "getCountryByName",
"summary": "Get country by name",
"description": "Search for countries by name",
"parameters": [
{
"name": "name",
"in": "path",
"required": true,
"schema": {
"type": "string"
},
"description": "Country name"
}
],
"responses": {
"200": {
"description": "Successful response",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "object",
"properties": {
"common": {"type": "string"},
"official": {"type": "string"}
}
},
"population": {"type": "integer"},
"region": {"type": "string"},
"subregion": {"type": "string"},
"capital": {
"type": "array",
"items": {"type": "string"}
},
"currencies": {
"type": "object",
"additionalProperties": {
"type": "object",
"properties": {
"name": {"type": "string"},
"symbol": {"type": "string"}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
@@ -0,0 +1,76 @@
%PDF-1.7
%
1 0 obj
<</Type/Catalog/Pages 2 0 R/Lang(en) /StructTreeRoot 22 0 R/MarkInfo<</Marked true>>/Metadata 132 0 R/ViewerPreferences 133 0 R>>
endobj
2 0 obj
<</Type/Pages/Count 1/Kids[ 4 0 R] >>
endobj
3 0 obj
<</Author(Test Author) /Creator(Test Creator) /Title(Employee Directory) >>
endobj
4 0 obj
<</Type/Page/Parent 2 0 R/MediaBox[0 0 612 792]/Resources<</Font<</F1 5 0 R>>>>/Contents 6 0 R>>
endobj
5 0 obj
<</Type/Font/Subtype/Type1/BaseFont/Times-Roman>>
endobj
6 0 obj
<</Length 200>>
stream
BT
/F1 12 Tf
50 750 Td
(Employee Directory) Tj
0 -30 Td
(Name: John Smith) Tj
0 -15 Td
(Department: Engineering) Tj
0 -15 Td
(Age: 28) Tj
0 -30 Td
(Name: Alice Johnson) Tj
0 -15 Td
(Department: Sales) Tj
0 -15 Td
(Age: 24) Tj
0 -30 Td
(Name: Bob Wilson) Tj
0 -15 Td
(Department: Marketing) Tj
0 -15 Td
(Age: 35) Tj
ET
endstream
endobj
22 0 obj
<</Type/StructTreeRoot>>
endobj
132 0 obj
<</Type/Metadata/Subtype/XML>>
endobj
133 0 obj
<</DisplayDocTitle true>>
endobj
xref
0 10
0000000000 65535 f
0000000015 00000 n
0000000152 00000 n
0000000209 00000 n
0000000300 00000 n
0000000420 00000 n
0000000490 00000 n
0000000000 65535 f
0000000000 65535 f
0000000000 65535 f
22 1
0000000740 00000 n
132 2
0000000780 00000 n
0000000820 00000 n
trailer
<</Size 134/Root 1 0 R/Info 3 0 R>>
startxref
860
%%EOF
@@ -0,0 +1,62 @@
{
"openapi": "3.1.0",
"info": {
"title": "wttr.in Weather API",
"description": "Retrieves current weather data for a location using wttr.in service",
"version": "v1.0.0"
},
"servers": [
{
"url": "https://wttr.in"
}
],
"paths": {
"/{location}": {
"get": {
"operationId": "GetCurrentWeather",
"summary": "Get weather information for a specific location",
"description": "Get weather information for a specific location",
"parameters": [
{
"name": "location",
"in": "path",
"description": "City or location to retrieve the weather for",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "format",
"in": "query",
"description": "Format in which to return data. Always use 3.",
"required": true,
"schema": {
"type": "integer",
"default": 3
}
}
],
"responses": {
"200": {
"description": "Successful response",
"content": {
"text/plain": {
"schema": {
"type": "string"
}
}
}
},
"404": {
"description": "Location not found"
}
},
"deprecated": false
}
}
},
"components": {
"schemas": {}
}
}