supervaizer 0.10.8__tar.gz → 0.10.10__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {supervaizer-0.10.8 → supervaizer-0.10.10}/PKG-INFO +1 -1
- {supervaizer-0.10.8 → supervaizer-0.10.10}/pyproject.toml +1 -1
- {supervaizer-0.10.8 → supervaizer-0.10.10}/src/supervaizer/__version__.py +1 -1
- {supervaizer-0.10.8 → supervaizer-0.10.10}/src/supervaizer/account.py +1 -1
- supervaizer-0.10.10/src/supervaizer/admin/static/favicon.ico +0 -0
- {supervaizer-0.10.8 → supervaizer-0.10.10}/src/supervaizer/admin/templates/index.html +11 -4
- {supervaizer-0.10.8 → supervaizer-0.10.10}/src/supervaizer/server.py +26 -14
- {supervaizer-0.10.8 → supervaizer-0.10.10}/.gitignore +0 -0
- {supervaizer-0.10.8 → supervaizer-0.10.10}/LICENSE.md +0 -0
- {supervaizer-0.10.8 → supervaizer-0.10.10}/README.md +0 -0
- {supervaizer-0.10.8 → supervaizer-0.10.10}/src/supervaizer/__init__.py +0 -0
- {supervaizer-0.10.8 → supervaizer-0.10.10}/src/supervaizer/account_service.py +0 -0
- {supervaizer-0.10.8 → supervaizer-0.10.10}/src/supervaizer/admin/routes.py +0 -0
- {supervaizer-0.10.8 → supervaizer-0.10.10}/src/supervaizer/admin/static/js/job-start-form.js +0 -0
- {supervaizer-0.10.8 → supervaizer-0.10.10}/src/supervaizer/admin/templates/agent_detail.html +0 -0
- {supervaizer-0.10.8 → supervaizer-0.10.10}/src/supervaizer/admin/templates/agents.html +0 -0
- {supervaizer-0.10.8 → supervaizer-0.10.10}/src/supervaizer/admin/templates/agents_grid.html +0 -0
- {supervaizer-0.10.8 → supervaizer-0.10.10}/src/supervaizer/admin/templates/base.html +0 -0
- {supervaizer-0.10.8 → supervaizer-0.10.10}/src/supervaizer/admin/templates/case_detail.html +0 -0
- {supervaizer-0.10.8 → supervaizer-0.10.10}/src/supervaizer/admin/templates/cases_list.html +0 -0
- {supervaizer-0.10.8 → supervaizer-0.10.10}/src/supervaizer/admin/templates/cases_table.html +0 -0
- {supervaizer-0.10.8 → supervaizer-0.10.10}/src/supervaizer/admin/templates/console.html +0 -0
- {supervaizer-0.10.8 → supervaizer-0.10.10}/src/supervaizer/admin/templates/dashboard.html +0 -0
- {supervaizer-0.10.8 → supervaizer-0.10.10}/src/supervaizer/admin/templates/job_detail.html +0 -0
- {supervaizer-0.10.8 → supervaizer-0.10.10}/src/supervaizer/admin/templates/job_start_test.html +0 -0
- {supervaizer-0.10.8 → supervaizer-0.10.10}/src/supervaizer/admin/templates/jobs_list.html +0 -0
- {supervaizer-0.10.8 → supervaizer-0.10.10}/src/supervaizer/admin/templates/jobs_table.html +0 -0
- {supervaizer-0.10.8 → supervaizer-0.10.10}/src/supervaizer/admin/templates/navigation.html +0 -0
- {supervaizer-0.10.8 → supervaizer-0.10.10}/src/supervaizer/admin/templates/recent_activity.html +0 -0
- {supervaizer-0.10.8 → supervaizer-0.10.10}/src/supervaizer/admin/templates/server.html +0 -0
- {supervaizer-0.10.8 → supervaizer-0.10.10}/src/supervaizer/admin/templates/server_status_cards.html +0 -0
- {supervaizer-0.10.8 → supervaizer-0.10.10}/src/supervaizer/admin/templates/supervaize_instructions.html +0 -0
- {supervaizer-0.10.8 → supervaizer-0.10.10}/src/supervaizer/agent.py +0 -0
- {supervaizer-0.10.8 → supervaizer-0.10.10}/src/supervaizer/case.py +0 -0
- {supervaizer-0.10.8 → supervaizer-0.10.10}/src/supervaizer/cli.py +0 -0
- {supervaizer-0.10.8 → supervaizer-0.10.10}/src/supervaizer/common.py +0 -0
- {supervaizer-0.10.8 → supervaizer-0.10.10}/src/supervaizer/deploy/__init__.py +0 -0
- {supervaizer-0.10.8 → supervaizer-0.10.10}/src/supervaizer/deploy/cli.py +0 -0
- {supervaizer-0.10.8 → supervaizer-0.10.10}/src/supervaizer/deploy/commands/__init__.py +0 -0
- {supervaizer-0.10.8 → supervaizer-0.10.10}/src/supervaizer/deploy/commands/clean.py +0 -0
- {supervaizer-0.10.8 → supervaizer-0.10.10}/src/supervaizer/deploy/commands/down.py +0 -0
- {supervaizer-0.10.8 → supervaizer-0.10.10}/src/supervaizer/deploy/commands/local.py +0 -0
- {supervaizer-0.10.8 → supervaizer-0.10.10}/src/supervaizer/deploy/commands/plan.py +0 -0
- {supervaizer-0.10.8 → supervaizer-0.10.10}/src/supervaizer/deploy/commands/status.py +0 -0
- {supervaizer-0.10.8 → supervaizer-0.10.10}/src/supervaizer/deploy/commands/up.py +0 -0
- {supervaizer-0.10.8 → supervaizer-0.10.10}/src/supervaizer/deploy/docker.py +0 -0
- {supervaizer-0.10.8 → supervaizer-0.10.10}/src/supervaizer/deploy/driver_factory.py +0 -0
- {supervaizer-0.10.8 → supervaizer-0.10.10}/src/supervaizer/deploy/drivers/__init__.py +0 -0
- {supervaizer-0.10.8 → supervaizer-0.10.10}/src/supervaizer/deploy/drivers/aws_app_runner.py +0 -0
- {supervaizer-0.10.8 → supervaizer-0.10.10}/src/supervaizer/deploy/drivers/base.py +0 -0
- {supervaizer-0.10.8 → supervaizer-0.10.10}/src/supervaizer/deploy/drivers/cloud_run.py +0 -0
- {supervaizer-0.10.8 → supervaizer-0.10.10}/src/supervaizer/deploy/drivers/do_app_platform.py +0 -0
- {supervaizer-0.10.8 → supervaizer-0.10.10}/src/supervaizer/deploy/health.py +0 -0
- {supervaizer-0.10.8 → supervaizer-0.10.10}/src/supervaizer/deploy/state.py +0 -0
- {supervaizer-0.10.8 → supervaizer-0.10.10}/src/supervaizer/deploy/templates/Dockerfile.template +0 -0
- {supervaizer-0.10.8 → supervaizer-0.10.10}/src/supervaizer/deploy/templates/debug_env.py +0 -0
- {supervaizer-0.10.8 → supervaizer-0.10.10}/src/supervaizer/deploy/templates/docker-compose.yml.template +0 -0
- {supervaizer-0.10.8 → supervaizer-0.10.10}/src/supervaizer/deploy/templates/dockerignore.template +0 -0
- {supervaizer-0.10.8 → supervaizer-0.10.10}/src/supervaizer/deploy/templates/entrypoint.sh +0 -0
- {supervaizer-0.10.8 → supervaizer-0.10.10}/src/supervaizer/deploy/utils.py +0 -0
- {supervaizer-0.10.8 → supervaizer-0.10.10}/src/supervaizer/event.py +0 -0
- {supervaizer-0.10.8 → supervaizer-0.10.10}/src/supervaizer/examples/controller_template.py +0 -0
- {supervaizer-0.10.8 → supervaizer-0.10.10}/src/supervaizer/instructions.py +0 -0
- {supervaizer-0.10.8 → supervaizer-0.10.10}/src/supervaizer/job.py +0 -0
- {supervaizer-0.10.8 → supervaizer-0.10.10}/src/supervaizer/job_service.py +0 -0
- {supervaizer-0.10.8 → supervaizer-0.10.10}/src/supervaizer/lifecycle.py +0 -0
- {supervaizer-0.10.8 → supervaizer-0.10.10}/src/supervaizer/parameter.py +0 -0
- {supervaizer-0.10.8 → supervaizer-0.10.10}/src/supervaizer/protocol/__init__.py +0 -0
- {supervaizer-0.10.8 → supervaizer-0.10.10}/src/supervaizer/protocol/a2a/__init__.py +0 -0
- {supervaizer-0.10.8 → supervaizer-0.10.10}/src/supervaizer/protocol/a2a/model.py +0 -0
- {supervaizer-0.10.8 → supervaizer-0.10.10}/src/supervaizer/protocol/a2a/routes.py +0 -0
- {supervaizer-0.10.8 → supervaizer-0.10.10}/src/supervaizer/py.typed +0 -0
- {supervaizer-0.10.8 → supervaizer-0.10.10}/src/supervaizer/routes.py +0 -0
- {supervaizer-0.10.8 → supervaizer-0.10.10}/src/supervaizer/server_utils.py +0 -0
- {supervaizer-0.10.8 → supervaizer-0.10.10}/src/supervaizer/storage.py +0 -0
- {supervaizer-0.10.8 → supervaizer-0.10.10}/src/supervaizer/telemetry.py +0 -0
- {supervaizer-0.10.8 → supervaizer-0.10.10}/src/supervaizer/utils/__init__.py +0 -0
- {supervaizer-0.10.8 → supervaizer-0.10.10}/src/supervaizer/utils/version_check.py +0 -0
|
Binary file
|
|
@@ -35,11 +35,14 @@
|
|
|
35
35
|
OpenAPI
|
|
36
36
|
</a>
|
|
37
37
|
</li>
|
|
38
|
-
<li>
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
38
|
+
<li><strong>BASE:</strong> {{ base }}
|
|
39
|
+
<br>
|
|
40
|
+
<strong>PUBLIC_URL:</strong> {{ public_url }}
|
|
41
|
+
<br>
|
|
42
|
+
<strong>FULL_URL:</strong> {{ full_url }}
|
|
43
|
+
<br>
|
|
42
44
|
</li>
|
|
45
|
+
|
|
43
46
|
{% if show_admin %}
|
|
44
47
|
<li>
|
|
45
48
|
<a href="{{ base }}/admin" class="text-blue-600 hover:text-blue-800 font-medium">
|
|
@@ -50,6 +53,10 @@
|
|
|
50
53
|
</ul>
|
|
51
54
|
</div>
|
|
52
55
|
</div>
|
|
56
|
+
<hr>
|
|
57
|
+
<div class="mt-8">
|
|
58
|
+
TO REPLACE THIS FILE, create an index.html at the root of the project and it will be served as the home page.
|
|
59
|
+
</div>
|
|
53
60
|
</main>
|
|
54
61
|
</body>
|
|
55
62
|
</html>
|
|
@@ -20,7 +20,7 @@ from cryptography.hazmat.primitives.asymmetric import rsa
|
|
|
20
20
|
from cryptography.hazmat.primitives.asymmetric.rsa import RSAPrivateKey, RSAPublicKey
|
|
21
21
|
from fastapi import FastAPI, HTTPException, Request, Security, status
|
|
22
22
|
from fastapi.exceptions import RequestValidationError
|
|
23
|
-
from fastapi.responses import HTMLResponse, JSONResponse
|
|
23
|
+
from fastapi.responses import FileResponse, HTMLResponse, JSONResponse
|
|
24
24
|
from fastapi.security import APIKeyHeader
|
|
25
25
|
from fastapi.templating import Jinja2Templates
|
|
26
26
|
from pydantic import BaseModel, field_validator, Field
|
|
@@ -89,8 +89,8 @@ def save_server_info_to_storage(server_instance: "Server") -> None:
|
|
|
89
89
|
|
|
90
90
|
# Create server info
|
|
91
91
|
server_info = ServerInfo(
|
|
92
|
-
host=getattr(server_instance, "host", "
|
|
93
|
-
port=getattr(server_instance, "port",
|
|
92
|
+
host=getattr(server_instance, "host", "N/A"),
|
|
93
|
+
port=getattr(server_instance, "port", "N/A"),
|
|
94
94
|
api_version=API_VERSION,
|
|
95
95
|
environment=os.getenv("SUPERVAIZER_ENVIRONMENT", "development"),
|
|
96
96
|
agents=agents,
|
|
@@ -236,10 +236,10 @@ class Server(ServerAbstract):
|
|
|
236
236
|
supervisor_account: Optional[Account] = None,
|
|
237
237
|
a2a_endpoints: bool = True,
|
|
238
238
|
admin_interface: bool = True,
|
|
239
|
-
scheme: str = "
|
|
239
|
+
scheme: str = os.getenv("SUPERVAIZER_SCHEME", "https"),
|
|
240
240
|
environment: str = os.getenv("SUPERVAIZER_ENVIRONMENT", "dev"),
|
|
241
241
|
host: str = os.getenv("SUPERVAIZER_HOST", "0.0.0.0"),
|
|
242
|
-
port: int = int(os.getenv("SUPERVAIZER_PORT",
|
|
242
|
+
port: int = int(os.getenv("SUPERVAIZER_PORT", 443)),
|
|
243
243
|
debug: bool = False,
|
|
244
244
|
reload: bool = False,
|
|
245
245
|
mac_addr: str = "",
|
|
@@ -377,6 +377,13 @@ class Server(ServerAbstract):
|
|
|
377
377
|
# Save server info to storage for admin interface
|
|
378
378
|
save_server_info_to_storage(self)
|
|
379
379
|
|
|
380
|
+
# Favicon (served at root so /docs, /redoc, etc. pick it up)
|
|
381
|
+
_favicon_path = Path(__file__).parent / "admin" / "static" / "favicon.ico"
|
|
382
|
+
|
|
383
|
+
@self.app.get("/favicon.ico", include_in_schema=False)
|
|
384
|
+
async def favicon() -> FileResponse:
|
|
385
|
+
return FileResponse(_favicon_path, media_type="image/x-icon")
|
|
386
|
+
|
|
380
387
|
# Home page (template in admin/templates)
|
|
381
388
|
_home_templates = Jinja2Templates(
|
|
382
389
|
directory=str(Path(__file__).parent / "admin" / "templates")
|
|
@@ -393,6 +400,8 @@ class Server(ServerAbstract):
|
|
|
393
400
|
{
|
|
394
401
|
"request": request,
|
|
395
402
|
"base": base,
|
|
403
|
+
"public_url": self.public_url,
|
|
404
|
+
"full_url": f"{self.scheme}://{self.host}:{self.port}",
|
|
396
405
|
"version": VERSION,
|
|
397
406
|
"api_version": API_VERSION,
|
|
398
407
|
"show_admin": bool(self.api_key and admin_interface),
|
|
@@ -485,7 +494,9 @@ class Server(ServerAbstract):
|
|
|
485
494
|
"agents": [agent.registration_info for agent in self.agents],
|
|
486
495
|
}
|
|
487
496
|
|
|
488
|
-
def launch(
|
|
497
|
+
def launch(
|
|
498
|
+
self, log_level: Optional[str] = "INFO", start_uvicorn: bool = False
|
|
499
|
+
) -> None:
|
|
489
500
|
if log_level:
|
|
490
501
|
log.remove()
|
|
491
502
|
log.add(
|
|
@@ -544,15 +555,16 @@ class Server(ServerAbstract):
|
|
|
544
555
|
if updated_agent:
|
|
545
556
|
log.info(f"[Server launch] Updated agent {updated_agent.name}")
|
|
546
557
|
|
|
547
|
-
|
|
558
|
+
if start_uvicorn:
|
|
559
|
+
import uvicorn
|
|
548
560
|
|
|
549
|
-
|
|
550
|
-
|
|
551
|
-
|
|
552
|
-
|
|
553
|
-
|
|
554
|
-
|
|
555
|
-
|
|
561
|
+
uvicorn.run(
|
|
562
|
+
self.app,
|
|
563
|
+
host=self.host,
|
|
564
|
+
port=self.port,
|
|
565
|
+
reload=self.reload,
|
|
566
|
+
log_level=log_level,
|
|
567
|
+
)
|
|
556
568
|
|
|
557
569
|
def instructions(self) -> None:
|
|
558
570
|
server_url = f"http://{self.host}:{self.port}"
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{supervaizer-0.10.8 → supervaizer-0.10.10}/src/supervaizer/admin/static/js/job-start-form.js
RENAMED
|
File without changes
|
{supervaizer-0.10.8 → supervaizer-0.10.10}/src/supervaizer/admin/templates/agent_detail.html
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{supervaizer-0.10.8 → supervaizer-0.10.10}/src/supervaizer/admin/templates/job_start_test.html
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{supervaizer-0.10.8 → supervaizer-0.10.10}/src/supervaizer/admin/templates/recent_activity.html
RENAMED
|
File without changes
|
|
File without changes
|
{supervaizer-0.10.8 → supervaizer-0.10.10}/src/supervaizer/admin/templates/server_status_cards.html
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{supervaizer-0.10.8 → supervaizer-0.10.10}/src/supervaizer/deploy/drivers/do_app_platform.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{supervaizer-0.10.8 → supervaizer-0.10.10}/src/supervaizer/deploy/templates/Dockerfile.template
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{supervaizer-0.10.8 → supervaizer-0.10.10}/src/supervaizer/deploy/templates/dockerignore.template
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|