diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml new file mode 100644 index 0000000..89efb00 --- /dev/null +++ b/.github/workflows/docs.yml @@ -0,0 +1,49 @@ +name: Generate and deploy OpenAPI Docs + +on: + push: + branches: + - master + +jobs: + generate-docs: + runs-on: ubuntu-latest + + steps: + - name: Checkout repository + uses: actions/checkout@v2 + + - name: Set up Python + uses: actions/setup-python@v5 + with: + python-version: "3.10" + + - name: Install dependencies + run: | + python -m pip install --upgrade pip + pip install ".[dev]" + + - name: Generate OpenAPI JSON + run: python scripts/openapi.py + + - name: Set up Node.js + uses: actions/setup-node@v3 + with: + node-version: '20' + + - name: Generate HTML from OpenAPI JSON + run: npx @redocly/cli build-docs openapi.json + + - name: Move generated HTML to docs directory + run: | + mkdir -p docs + mv redoc-static.html docs/index.html + + - name: Upload artifact + uses: actions/upload-pages-artifact@v1 + with: + path: ./docs + + - name: Deploy to GitHub Pages + id: deployment + uses: actions/deploy-pages@v1 diff --git a/docs/index.html b/docs/index.html new file mode 100644 index 0000000..6a2c0bd --- /dev/null +++ b/docs/index.html @@ -0,0 +1,2229 @@ + + + + + + eidos + + + + + + + + + +

eidos (1.0.0)

Download OpenAPI specification:Download

Function calling framework for LLMs.

+

health

Health

Health check endpoint. Useful for liveness and readiness probes.

+

Responses

Response samples

Content type
application/json
{
  • "status": "string"
}

execution

Execute An Ai Function

Executes an AI function with the given arguments.

+
Authorizations:
APIKeyQuery
path Parameters
function_name
required
string (Function Name)
Request Body schema: application/json
Any of
object (Arguments)

Responses

Request samples

Content type
application/json
null

Response samples

Content type
application/json
{ }

functions

List Available Functions

List all available functions.

+
Authorizations:
APIKeyQuery

Responses

Response samples

Content type
application/json
[
  • { }
]

List The Names Of All Available Ai Functions

List function names.

+
Authorizations:
APIKeyQuery

Responses

Response samples

Content type
application/json
[
  • "string"
]

Get Definition Of A Function

Get the definition of a function.

+
Authorizations:
APIKeyQuery
path Parameters
function
required
string (Function)

Responses

Response samples

Content type
application/json
{ }

Get The Response Schema Of A Function

Get the response schema of a function.

+
Authorizations:
APIKeyQuery
path Parameters
function
required
string (Function)

Responses

Response samples

Content type
application/json
{ }
+ + + + \ No newline at end of file diff --git a/openapi.json b/openapi.json new file mode 100644 index 0000000..808605c --- /dev/null +++ b/openapi.json @@ -0,0 +1 @@ +{"openapi": "3.1.0", "info": {"title": "eidos", "description": "Function calling framework for LLMs.", "version": "1.0.0"}, "paths": {"/healthz": {"get": {"tags": ["health"], "summary": "Health", "description": "Health check endpoint. Useful for liveness and readiness probes.", "operationId": "health_healthz_get", "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HealthCheckResponse"}}}}}}}, "/api/v1/execution/{function_name}": {"post": {"tags": ["execution"], "summary": "Execute An Ai Function", "description": "Executes an AI function with the given arguments.", "operationId": "Execute_an_AI_function_api_v1_execution__function_name__post", "security": [{"APIKeyQuery": []}], "parameters": [{"name": "function_name", "in": "path", "required": true, "schema": {"type": "string", "title": "Function Name"}}], "requestBody": {"content": {"application/json": {"schema": {"anyOf": [{"type": "object"}, {"type": "null"}], "title": "Arguments"}}}}, "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {"type": "object", "title": "Response Execute An Ai Function Api V1 Execution Function Name Post"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}}, "/api/v1/functions/": {"get": {"tags": ["functions"], "summary": "List Available Functions", "description": "List all available functions.", "operationId": "List_available_functions_api_v1_functions__get", "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {"items": {"type": "object"}, "type": "array", "title": "Response List Available Functions Api V1 Functions Get"}}}}}, "security": [{"APIKeyQuery": []}]}}, "/api/v1/functions/names": {"get": {"tags": ["functions"], "summary": "List The Names Of All Available Ai Functions", "description": "List function names.", "operationId": "List_the_names_of_all_available_AI_functions_api_v1_functions_names_get", "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {"items": {"type": "string"}, "type": "array", "title": "Response List The Names Of All Available Ai Functions Api V1 Functions Names Get"}}}}}, "security": [{"APIKeyQuery": []}]}}, "/api/v1/functions/{function}": {"get": {"tags": ["functions"], "summary": "Get Definition Of A Function", "description": "Get the definition of a function.", "operationId": "Get_definition_of_a_function_api_v1_functions__function__get", "security": [{"APIKeyQuery": []}], "parameters": [{"name": "function", "in": "path", "required": true, "schema": {"type": "string", "title": "Function"}}], "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {"type": "object", "title": "Response Get Definition Of A Function Api V1 Functions Function Get"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}}, "/api/v1/functions/{function}/schema": {"get": {"tags": ["functions"], "summary": "Get The Response Schema Of A Function", "description": "Get the response schema of a function.", "operationId": "Get_the_response_schema_of_a_function_api_v1_functions__function__schema_get", "security": [{"APIKeyQuery": []}], "parameters": [{"name": "function", "in": "path", "required": true, "schema": {"type": "string", "title": "Function"}}], "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {"type": "object", "title": "Response Get The Response Schema Of A Function Api V1 Functions Function Schema Get"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}}}, "components": {"schemas": {"HTTPValidationError": {"properties": {"detail": {"items": {"$ref": "#/components/schemas/ValidationError"}, "type": "array", "title": "Detail"}}, "type": "object", "title": "HTTPValidationError"}, "HealthCheckResponse": {"properties": {"status": {"type": "string", "title": "Status"}}, "type": "object", "required": ["status"], "title": "HealthCheckResponse"}, "ValidationError": {"properties": {"loc": {"items": {"anyOf": [{"type": "string"}, {"type": "integer"}]}, "type": "array", "title": "Location"}, "msg": {"type": "string", "title": "Message"}, "type": {"type": "string", "title": "Error Type"}}, "type": "object", "required": ["loc", "msg", "type"], "title": "ValidationError"}}, "securitySchemes": {"APIKeyQuery": {"type": "apiKey", "in": "query", "name": "X-API-Key"}}}} \ No newline at end of file diff --git a/redoc-static.html b/redoc-static.html new file mode 100644 index 0000000..5d3f2cc --- /dev/null +++ b/redoc-static.html @@ -0,0 +1,425 @@ + + + + + + eidos + + + + + + + + + +

eidos (1.0.0)

Download OpenAPI specification:Download

Function calling framework for LLMs.

+

health

Health

Health check endpoint. Useful for liveness and readiness probes.

+

Responses

Response samples

Content type
application/json
{
  • "status": "string"
}

execution

Execute An Ai Function

Executes an AI function with the given arguments.

+
Authorizations:
APIKeyQuery
path Parameters
function_name
required
string (Function Name)
Request Body schema: application/json
Any of
object (Arguments)

Responses

Request samples

Content type
application/json
null

Response samples

Content type
application/json
{ }

functions

List Available Functions

List all available functions.

+
Authorizations:
APIKeyQuery

Responses

Response samples

Content type
application/json
[
  • { }
]

List The Names Of All Available Ai Functions

List function names.

+
Authorizations:
APIKeyQuery

Responses

Response samples

Content type
application/json
[
  • "string"
]

Get Definition Of A Function

Get the definition of a function.

+
Authorizations:
APIKeyQuery
path Parameters
function
required
string (Function)

Responses

Response samples

Content type
application/json
{ }

Get The Response Schema Of A Function

Get the response schema of a function.

+
Authorizations:
APIKeyQuery
path Parameters
function
required
string (Function)

Responses

Response samples

Content type
application/json
{ }
+ + + +