plato-sdk-v2 2.7.4__py3-none-any.whl → 2.7.5__py3-none-any.whl
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.
- plato/_generated/__init__.py +1 -1
- plato/_generated/api/v1/testcases/get_testcase_metadata_for_scoring.py +6 -6
- plato/_generated/api/v2/__init__.py +14 -2
- plato/_generated/api/v2/admin/__init__.py +3 -0
- plato/_generated/api/v2/admin/cache/__init__.py +11 -0
- plato/_generated/api/v2/admin/cache/clear_all.py +74 -0
- plato/_generated/api/v2/admin/cache/clear_single_cache.py +79 -0
- plato/_generated/api/v2/admin/cache/delete_key.py +84 -0
- plato/_generated/api/v2/admin/cache/get_stats.py +70 -0
- plato/_generated/api/v2/admin/cache/list_cache_names.py +67 -0
- plato/_generated/api/v2/sessions/__init__.py +3 -1
- plato/_generated/api/v2/sessions/add_job.py +97 -0
- plato/_generated/models/__init__.py +88 -2
- plato/chronos/api/agents/get_agent_schema.py +5 -5
- plato/chronos/api/agents/get_agent_versions.py +5 -5
- plato/chronos/api/agents/list_agents.py +5 -5
- plato/chronos/api/registry/get_agent_schema_api_registry_agents__agent_name__schema_get.py +5 -5
- plato/chronos/api/registry/get_agent_versions_api_registry_agents__agent_name__versions_get.py +5 -5
- plato/chronos/api/registry/list_registry_agents_api_registry_agents_get.py +5 -5
- plato/chronos/api/sessions/__init__.py +2 -0
- plato/chronos/api/sessions/complete_session.py +4 -2
- plato/chronos/api/sessions/list_session_creators.py +57 -0
- plato/chronos/api/sessions/list_sessions.py +30 -2
- plato/chronos/models/__init__.py +39 -19
- {plato_sdk_v2-2.7.4.dist-info → plato_sdk_v2-2.7.5.dist-info}/METADATA +1 -1
- {plato_sdk_v2-2.7.4.dist-info → plato_sdk_v2-2.7.5.dist-info}/RECORD +28 -19
- {plato_sdk_v2-2.7.4.dist-info → plato_sdk_v2-2.7.5.dist-info}/WHEEL +0 -0
- {plato_sdk_v2-2.7.4.dist-info → plato_sdk_v2-2.7.5.dist-info}/entry_points.txt +0 -0
|
@@ -7,7 +7,7 @@ from typing import Any
|
|
|
7
7
|
import httpx
|
|
8
8
|
|
|
9
9
|
from plato.chronos.errors import raise_for_status
|
|
10
|
-
from plato.chronos.models import
|
|
10
|
+
from plato.chronos.models import AgentSchemaResponse
|
|
11
11
|
|
|
12
12
|
|
|
13
13
|
def _build_request_args(
|
|
@@ -39,7 +39,7 @@ def sync(
|
|
|
39
39
|
name: str,
|
|
40
40
|
version: str | None = None,
|
|
41
41
|
x_api_key: str | None = None,
|
|
42
|
-
) ->
|
|
42
|
+
) -> AgentSchemaResponse:
|
|
43
43
|
"""Get agent schema by name and optional version."""
|
|
44
44
|
|
|
45
45
|
request_args = _build_request_args(
|
|
@@ -50,7 +50,7 @@ def sync(
|
|
|
50
50
|
|
|
51
51
|
response = client.request(**request_args)
|
|
52
52
|
raise_for_status(response)
|
|
53
|
-
return
|
|
53
|
+
return AgentSchemaResponse.model_validate(response.json())
|
|
54
54
|
|
|
55
55
|
|
|
56
56
|
async def asyncio(
|
|
@@ -58,7 +58,7 @@ async def asyncio(
|
|
|
58
58
|
name: str,
|
|
59
59
|
version: str | None = None,
|
|
60
60
|
x_api_key: str | None = None,
|
|
61
|
-
) ->
|
|
61
|
+
) -> AgentSchemaResponse:
|
|
62
62
|
"""Get agent schema by name and optional version."""
|
|
63
63
|
|
|
64
64
|
request_args = _build_request_args(
|
|
@@ -69,4 +69,4 @@ async def asyncio(
|
|
|
69
69
|
|
|
70
70
|
response = await client.request(**request_args)
|
|
71
71
|
raise_for_status(response)
|
|
72
|
-
return
|
|
72
|
+
return AgentSchemaResponse.model_validate(response.json())
|
|
@@ -7,7 +7,7 @@ from typing import Any
|
|
|
7
7
|
import httpx
|
|
8
8
|
|
|
9
9
|
from plato.chronos.errors import raise_for_status
|
|
10
|
-
from plato.chronos.models import
|
|
10
|
+
from plato.chronos.models import AgentVersionsResponse
|
|
11
11
|
|
|
12
12
|
|
|
13
13
|
def _build_request_args(
|
|
@@ -32,7 +32,7 @@ def sync(
|
|
|
32
32
|
client: httpx.Client,
|
|
33
33
|
name: str,
|
|
34
34
|
x_api_key: str | None = None,
|
|
35
|
-
) ->
|
|
35
|
+
) -> AgentVersionsResponse:
|
|
36
36
|
"""Get all versions of an agent by name."""
|
|
37
37
|
|
|
38
38
|
request_args = _build_request_args(
|
|
@@ -42,14 +42,14 @@ def sync(
|
|
|
42
42
|
|
|
43
43
|
response = client.request(**request_args)
|
|
44
44
|
raise_for_status(response)
|
|
45
|
-
return
|
|
45
|
+
return AgentVersionsResponse.model_validate(response.json())
|
|
46
46
|
|
|
47
47
|
|
|
48
48
|
async def asyncio(
|
|
49
49
|
client: httpx.AsyncClient,
|
|
50
50
|
name: str,
|
|
51
51
|
x_api_key: str | None = None,
|
|
52
|
-
) ->
|
|
52
|
+
) -> AgentVersionsResponse:
|
|
53
53
|
"""Get all versions of an agent by name."""
|
|
54
54
|
|
|
55
55
|
request_args = _build_request_args(
|
|
@@ -59,4 +59,4 @@ async def asyncio(
|
|
|
59
59
|
|
|
60
60
|
response = await client.request(**request_args)
|
|
61
61
|
raise_for_status(response)
|
|
62
|
-
return
|
|
62
|
+
return AgentVersionsResponse.model_validate(response.json())
|
|
@@ -7,7 +7,7 @@ from typing import Any
|
|
|
7
7
|
import httpx
|
|
8
8
|
|
|
9
9
|
from plato.chronos.errors import raise_for_status
|
|
10
|
-
from plato.chronos.models import
|
|
10
|
+
from plato.chronos.models import AgentListResponse
|
|
11
11
|
|
|
12
12
|
|
|
13
13
|
def _build_request_args(
|
|
@@ -30,7 +30,7 @@ def _build_request_args(
|
|
|
30
30
|
def sync(
|
|
31
31
|
client: httpx.Client,
|
|
32
32
|
x_api_key: str | None = None,
|
|
33
|
-
) ->
|
|
33
|
+
) -> AgentListResponse:
|
|
34
34
|
"""List all agents for the org."""
|
|
35
35
|
|
|
36
36
|
request_args = _build_request_args(
|
|
@@ -39,13 +39,13 @@ def sync(
|
|
|
39
39
|
|
|
40
40
|
response = client.request(**request_args)
|
|
41
41
|
raise_for_status(response)
|
|
42
|
-
return
|
|
42
|
+
return AgentListResponse.model_validate(response.json())
|
|
43
43
|
|
|
44
44
|
|
|
45
45
|
async def asyncio(
|
|
46
46
|
client: httpx.AsyncClient,
|
|
47
47
|
x_api_key: str | None = None,
|
|
48
|
-
) ->
|
|
48
|
+
) -> AgentListResponse:
|
|
49
49
|
"""List all agents for the org."""
|
|
50
50
|
|
|
51
51
|
request_args = _build_request_args(
|
|
@@ -54,4 +54,4 @@ async def asyncio(
|
|
|
54
54
|
|
|
55
55
|
response = await client.request(**request_args)
|
|
56
56
|
raise_for_status(response)
|
|
57
|
-
return
|
|
57
|
+
return AgentListResponse.model_validate(response.json())
|
|
@@ -7,7 +7,7 @@ from typing import Any
|
|
|
7
7
|
import httpx
|
|
8
8
|
|
|
9
9
|
from plato.chronos.errors import raise_for_status
|
|
10
|
-
from plato.chronos.models import
|
|
10
|
+
from plato.chronos.models import ChronosApiRegistryAgentSchemaResponse
|
|
11
11
|
|
|
12
12
|
|
|
13
13
|
def _build_request_args(
|
|
@@ -32,7 +32,7 @@ def sync(
|
|
|
32
32
|
client: httpx.Client,
|
|
33
33
|
agent_name: str,
|
|
34
34
|
version: str | None = None,
|
|
35
|
-
) ->
|
|
35
|
+
) -> ChronosApiRegistryAgentSchemaResponse:
|
|
36
36
|
"""Get schema for an agent version from the registry."""
|
|
37
37
|
|
|
38
38
|
request_args = _build_request_args(
|
|
@@ -42,14 +42,14 @@ def sync(
|
|
|
42
42
|
|
|
43
43
|
response = client.request(**request_args)
|
|
44
44
|
raise_for_status(response)
|
|
45
|
-
return
|
|
45
|
+
return ChronosApiRegistryAgentSchemaResponse.model_validate(response.json())
|
|
46
46
|
|
|
47
47
|
|
|
48
48
|
async def asyncio(
|
|
49
49
|
client: httpx.AsyncClient,
|
|
50
50
|
agent_name: str,
|
|
51
51
|
version: str | None = None,
|
|
52
|
-
) ->
|
|
52
|
+
) -> ChronosApiRegistryAgentSchemaResponse:
|
|
53
53
|
"""Get schema for an agent version from the registry."""
|
|
54
54
|
|
|
55
55
|
request_args = _build_request_args(
|
|
@@ -59,4 +59,4 @@ async def asyncio(
|
|
|
59
59
|
|
|
60
60
|
response = await client.request(**request_args)
|
|
61
61
|
raise_for_status(response)
|
|
62
|
-
return
|
|
62
|
+
return ChronosApiRegistryAgentSchemaResponse.model_validate(response.json())
|
plato/chronos/api/registry/get_agent_versions_api_registry_agents__agent_name__versions_get.py
CHANGED
|
@@ -7,7 +7,7 @@ from typing import Any
|
|
|
7
7
|
import httpx
|
|
8
8
|
|
|
9
9
|
from plato.chronos.errors import raise_for_status
|
|
10
|
-
from plato.chronos.models import
|
|
10
|
+
from plato.chronos.models import ChronosApiRegistryAgentVersionsResponse
|
|
11
11
|
|
|
12
12
|
|
|
13
13
|
def _build_request_args(
|
|
@@ -25,7 +25,7 @@ def _build_request_args(
|
|
|
25
25
|
def sync(
|
|
26
26
|
client: httpx.Client,
|
|
27
27
|
agent_name: str,
|
|
28
|
-
) ->
|
|
28
|
+
) -> ChronosApiRegistryAgentVersionsResponse:
|
|
29
29
|
"""Get versions for an agent from the registry."""
|
|
30
30
|
|
|
31
31
|
request_args = _build_request_args(
|
|
@@ -34,13 +34,13 @@ def sync(
|
|
|
34
34
|
|
|
35
35
|
response = client.request(**request_args)
|
|
36
36
|
raise_for_status(response)
|
|
37
|
-
return
|
|
37
|
+
return ChronosApiRegistryAgentVersionsResponse.model_validate(response.json())
|
|
38
38
|
|
|
39
39
|
|
|
40
40
|
async def asyncio(
|
|
41
41
|
client: httpx.AsyncClient,
|
|
42
42
|
agent_name: str,
|
|
43
|
-
) ->
|
|
43
|
+
) -> ChronosApiRegistryAgentVersionsResponse:
|
|
44
44
|
"""Get versions for an agent from the registry."""
|
|
45
45
|
|
|
46
46
|
request_args = _build_request_args(
|
|
@@ -49,4 +49,4 @@ async def asyncio(
|
|
|
49
49
|
|
|
50
50
|
response = await client.request(**request_args)
|
|
51
51
|
raise_for_status(response)
|
|
52
|
-
return
|
|
52
|
+
return ChronosApiRegistryAgentVersionsResponse.model_validate(response.json())
|
|
@@ -7,7 +7,7 @@ from typing import Any
|
|
|
7
7
|
import httpx
|
|
8
8
|
|
|
9
9
|
from plato.chronos.errors import raise_for_status
|
|
10
|
-
from plato.chronos.models import
|
|
10
|
+
from plato.chronos.models import ChronosApiRegistryAgentListResponse
|
|
11
11
|
|
|
12
12
|
|
|
13
13
|
def _build_request_args() -> dict[str, Any]:
|
|
@@ -22,23 +22,23 @@ def _build_request_args() -> dict[str, Any]:
|
|
|
22
22
|
|
|
23
23
|
def sync(
|
|
24
24
|
client: httpx.Client,
|
|
25
|
-
) ->
|
|
25
|
+
) -> ChronosApiRegistryAgentListResponse:
|
|
26
26
|
"""List all agents from the registry with their ECR image URIs."""
|
|
27
27
|
|
|
28
28
|
request_args = _build_request_args()
|
|
29
29
|
|
|
30
30
|
response = client.request(**request_args)
|
|
31
31
|
raise_for_status(response)
|
|
32
|
-
return
|
|
32
|
+
return ChronosApiRegistryAgentListResponse.model_validate(response.json())
|
|
33
33
|
|
|
34
34
|
|
|
35
35
|
async def asyncio(
|
|
36
36
|
client: httpx.AsyncClient,
|
|
37
|
-
) ->
|
|
37
|
+
) -> ChronosApiRegistryAgentListResponse:
|
|
38
38
|
"""List all agents from the registry with their ECR image URIs."""
|
|
39
39
|
|
|
40
40
|
request_args = _build_request_args()
|
|
41
41
|
|
|
42
42
|
response = await client.request(**request_args)
|
|
43
43
|
raise_for_status(response)
|
|
44
|
-
return
|
|
44
|
+
return ChronosApiRegistryAgentListResponse.model_validate(response.json())
|
|
@@ -11,6 +11,7 @@ from . import (
|
|
|
11
11
|
get_session_logs,
|
|
12
12
|
get_session_logs_download,
|
|
13
13
|
get_session_status,
|
|
14
|
+
list_session_creators,
|
|
14
15
|
list_sessions,
|
|
15
16
|
list_tags,
|
|
16
17
|
update_session_tags,
|
|
@@ -20,6 +21,7 @@ __all__ = [
|
|
|
20
21
|
"list_sessions",
|
|
21
22
|
"create_session",
|
|
22
23
|
"list_tags",
|
|
24
|
+
"list_session_creators",
|
|
23
25
|
"get_session",
|
|
24
26
|
"get_session_status",
|
|
25
27
|
"update_session_tags",
|
|
@@ -39,7 +39,8 @@ def sync(
|
|
|
39
39
|
"""Mark a session as completed or failed.
|
|
40
40
|
|
|
41
41
|
Called by the bootstrap script when the world runner finishes.
|
|
42
|
-
Uses API key auth (no org check) since it's called from the VM.
|
|
42
|
+
Uses API key auth (no org check) since it's called from the VM.
|
|
43
|
+
Also closes the Plato session to release VM resources."""
|
|
43
44
|
|
|
44
45
|
request_args = _build_request_args(
|
|
45
46
|
public_id=public_id,
|
|
@@ -61,7 +62,8 @@ async def asyncio(
|
|
|
61
62
|
"""Mark a session as completed or failed.
|
|
62
63
|
|
|
63
64
|
Called by the bootstrap script when the world runner finishes.
|
|
64
|
-
Uses API key auth (no org check) since it's called from the VM.
|
|
65
|
+
Uses API key auth (no org check) since it's called from the VM.
|
|
66
|
+
Also closes the Plato session to release VM resources."""
|
|
65
67
|
|
|
66
68
|
request_args = _build_request_args(
|
|
67
69
|
public_id=public_id,
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
"""List Session Creators"""
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
|
|
5
|
+
from typing import Any
|
|
6
|
+
|
|
7
|
+
import httpx
|
|
8
|
+
|
|
9
|
+
from plato.chronos.errors import raise_for_status
|
|
10
|
+
from plato.chronos.models import CreatorsListResponse
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
def _build_request_args(
|
|
14
|
+
x_api_key: str | None = None,
|
|
15
|
+
) -> dict[str, Any]:
|
|
16
|
+
"""Build request arguments."""
|
|
17
|
+
url = "/api/sessions/creators"
|
|
18
|
+
|
|
19
|
+
headers: dict[str, str] = {}
|
|
20
|
+
if x_api_key is not None:
|
|
21
|
+
headers["X-API-Key"] = x_api_key
|
|
22
|
+
|
|
23
|
+
return {
|
|
24
|
+
"method": "GET",
|
|
25
|
+
"url": url,
|
|
26
|
+
"headers": headers,
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
def sync(
|
|
31
|
+
client: httpx.Client,
|
|
32
|
+
x_api_key: str | None = None,
|
|
33
|
+
) -> CreatorsListResponse:
|
|
34
|
+
"""List distinct users who have created sessions in this org."""
|
|
35
|
+
|
|
36
|
+
request_args = _build_request_args(
|
|
37
|
+
x_api_key=x_api_key,
|
|
38
|
+
)
|
|
39
|
+
|
|
40
|
+
response = client.request(**request_args)
|
|
41
|
+
raise_for_status(response)
|
|
42
|
+
return CreatorsListResponse.model_validate(response.json())
|
|
43
|
+
|
|
44
|
+
|
|
45
|
+
async def asyncio(
|
|
46
|
+
client: httpx.AsyncClient,
|
|
47
|
+
x_api_key: str | None = None,
|
|
48
|
+
) -> CreatorsListResponse:
|
|
49
|
+
"""List distinct users who have created sessions in this org."""
|
|
50
|
+
|
|
51
|
+
request_args = _build_request_args(
|
|
52
|
+
x_api_key=x_api_key,
|
|
53
|
+
)
|
|
54
|
+
|
|
55
|
+
response = await client.request(**request_args)
|
|
56
|
+
raise_for_status(response)
|
|
57
|
+
return CreatorsListResponse.model_validate(response.json())
|
|
@@ -12,6 +12,10 @@ from plato.chronos.models import SessionListResponse
|
|
|
12
12
|
|
|
13
13
|
def _build_request_args(
|
|
14
14
|
tag: str | None = None,
|
|
15
|
+
created_by: str | None = None,
|
|
16
|
+
limit: int | None = 50,
|
|
17
|
+
offset: int | None = None,
|
|
18
|
+
status: str | None = None,
|
|
15
19
|
x_api_key: str | None = None,
|
|
16
20
|
) -> dict[str, Any]:
|
|
17
21
|
"""Build request arguments."""
|
|
@@ -20,6 +24,14 @@ def _build_request_args(
|
|
|
20
24
|
params: dict[str, Any] = {}
|
|
21
25
|
if tag is not None:
|
|
22
26
|
params["tag"] = tag
|
|
27
|
+
if created_by is not None:
|
|
28
|
+
params["created_by"] = created_by
|
|
29
|
+
if limit is not None:
|
|
30
|
+
params["limit"] = limit
|
|
31
|
+
if offset is not None:
|
|
32
|
+
params["offset"] = offset
|
|
33
|
+
if status is not None:
|
|
34
|
+
params["status"] = status
|
|
23
35
|
|
|
24
36
|
headers: dict[str, str] = {}
|
|
25
37
|
if x_api_key is not None:
|
|
@@ -36,9 +48,13 @@ def _build_request_args(
|
|
|
36
48
|
def sync(
|
|
37
49
|
client: httpx.Client,
|
|
38
50
|
tag: str | None = None,
|
|
51
|
+
created_by: str | None = None,
|
|
52
|
+
limit: int | None = 50,
|
|
53
|
+
offset: int | None = None,
|
|
54
|
+
status: str | None = None,
|
|
39
55
|
x_api_key: str | None = None,
|
|
40
56
|
) -> SessionListResponse:
|
|
41
|
-
"""List
|
|
57
|
+
"""List sessions for the org with pagination and filtering.
|
|
42
58
|
|
|
43
59
|
Tag filtering uses ltree for hierarchical matching:
|
|
44
60
|
- 'project' matches 'project', 'project.foo', 'project.foo.bar'
|
|
@@ -46,6 +62,10 @@ def sync(
|
|
|
46
62
|
|
|
47
63
|
request_args = _build_request_args(
|
|
48
64
|
tag=tag,
|
|
65
|
+
created_by=created_by,
|
|
66
|
+
limit=limit,
|
|
67
|
+
offset=offset,
|
|
68
|
+
status=status,
|
|
49
69
|
x_api_key=x_api_key,
|
|
50
70
|
)
|
|
51
71
|
|
|
@@ -57,9 +77,13 @@ def sync(
|
|
|
57
77
|
async def asyncio(
|
|
58
78
|
client: httpx.AsyncClient,
|
|
59
79
|
tag: str | None = None,
|
|
80
|
+
created_by: str | None = None,
|
|
81
|
+
limit: int | None = 50,
|
|
82
|
+
offset: int | None = None,
|
|
83
|
+
status: str | None = None,
|
|
60
84
|
x_api_key: str | None = None,
|
|
61
85
|
) -> SessionListResponse:
|
|
62
|
-
"""List
|
|
86
|
+
"""List sessions for the org with pagination and filtering.
|
|
63
87
|
|
|
64
88
|
Tag filtering uses ltree for hierarchical matching:
|
|
65
89
|
- 'project' matches 'project', 'project.foo', 'project.foo.bar'
|
|
@@ -67,6 +91,10 @@ async def asyncio(
|
|
|
67
91
|
|
|
68
92
|
request_args = _build_request_args(
|
|
69
93
|
tag=tag,
|
|
94
|
+
created_by=created_by,
|
|
95
|
+
limit=limit,
|
|
96
|
+
offset=offset,
|
|
97
|
+
status=status,
|
|
70
98
|
x_api_key=x_api_key,
|
|
71
99
|
)
|
|
72
100
|
|
plato/chronos/models/__init__.py
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# generated by datamodel-codegen:
|
|
2
|
-
# filename:
|
|
3
|
-
# timestamp: 2026-01-
|
|
2
|
+
# filename: tmp9iosw1i3.json
|
|
3
|
+
# timestamp: 2026-01-29T20:31:32+00:00
|
|
4
4
|
|
|
5
5
|
from __future__ import annotations
|
|
6
6
|
|
|
@@ -30,13 +30,6 @@ class AgentInfo(BaseModel):
|
|
|
30
30
|
image_uri: Annotated[str, Field(title="Image Uri")]
|
|
31
31
|
|
|
32
32
|
|
|
33
|
-
class AgentListResponse(BaseModel):
|
|
34
|
-
model_config = ConfigDict(
|
|
35
|
-
extra="allow",
|
|
36
|
-
)
|
|
37
|
-
agents: Annotated[list[AgentInfo], Field(title="Agents")]
|
|
38
|
-
|
|
39
|
-
|
|
40
33
|
class AgentLookupResponse(BaseModel):
|
|
41
34
|
model_config = ConfigDict(
|
|
42
35
|
extra="allow",
|
|
@@ -68,8 +61,6 @@ class AgentSchemaResponse(BaseModel):
|
|
|
68
61
|
name: Annotated[str, Field(title="Name")]
|
|
69
62
|
version: Annotated[str, Field(title="Version")]
|
|
70
63
|
config_schema: Annotated[dict[str, Any] | None, Field(title="Config Schema")] = None
|
|
71
|
-
secrets_schema: Annotated[dict[str, Any] | None, Field(title="Secrets Schema")] = None
|
|
72
|
-
template_variables: Annotated[dict[str, Any] | None, Field(title="Template Variables")] = None
|
|
73
64
|
|
|
74
65
|
|
|
75
66
|
class AgentVersionInfo(BaseModel):
|
|
@@ -77,7 +68,7 @@ class AgentVersionInfo(BaseModel):
|
|
|
77
68
|
extra="allow",
|
|
78
69
|
)
|
|
79
70
|
version: Annotated[str, Field(title="Version")]
|
|
80
|
-
created_at: Annotated[
|
|
71
|
+
created_at: Annotated[AwareDatetime, Field(title="Created At")]
|
|
81
72
|
|
|
82
73
|
|
|
83
74
|
class AgentVersionsResponse(BaseModel):
|
|
@@ -167,6 +158,10 @@ class CreateSessionRequest(BaseModel):
|
|
|
167
158
|
"""
|
|
168
159
|
Plato session ID if already created
|
|
169
160
|
"""
|
|
161
|
+
tags: Annotated[list[str] | None, Field(title="Tags")] = None
|
|
162
|
+
"""
|
|
163
|
+
Tags for the session
|
|
164
|
+
"""
|
|
170
165
|
|
|
171
166
|
|
|
172
167
|
class CreateSessionResponse(BaseModel):
|
|
@@ -406,6 +401,15 @@ class ServiceStatuses(BaseModel):
|
|
|
406
401
|
plato: Annotated[str, Field(title="Plato")]
|
|
407
402
|
|
|
408
403
|
|
|
404
|
+
class SessionCreator(BaseModel):
|
|
405
|
+
model_config = ConfigDict(
|
|
406
|
+
extra="allow",
|
|
407
|
+
)
|
|
408
|
+
public_id: Annotated[str, Field(title="Public Id")]
|
|
409
|
+
name: Annotated[str | None, Field(title="Name")] = None
|
|
410
|
+
email: Annotated[str | None, Field(title="Email")] = None
|
|
411
|
+
|
|
412
|
+
|
|
409
413
|
class SessionEnvsResponse(BaseModel):
|
|
410
414
|
model_config = ConfigDict(
|
|
411
415
|
extra="allow",
|
|
@@ -562,36 +566,38 @@ class WorldVersionsResponse(BaseModel):
|
|
|
562
566
|
versions: Annotated[list[str], Field(title="Versions")]
|
|
563
567
|
|
|
564
568
|
|
|
565
|
-
class
|
|
569
|
+
class ChronosApiRegistryAgentListResponse(BaseModel):
|
|
566
570
|
model_config = ConfigDict(
|
|
567
571
|
extra="allow",
|
|
568
572
|
)
|
|
569
|
-
agents: Annotated[list[
|
|
573
|
+
agents: Annotated[list[AgentInfo], Field(title="Agents")]
|
|
570
574
|
|
|
571
575
|
|
|
572
|
-
class
|
|
576
|
+
class ChronosApiRegistryAgentSchemaResponse(BaseModel):
|
|
573
577
|
model_config = ConfigDict(
|
|
574
578
|
extra="allow",
|
|
575
579
|
)
|
|
576
580
|
name: Annotated[str, Field(title="Name")]
|
|
577
581
|
version: Annotated[str, Field(title="Version")]
|
|
578
582
|
config_schema: Annotated[dict[str, Any] | None, Field(title="Config Schema")] = None
|
|
583
|
+
secrets_schema: Annotated[dict[str, Any] | None, Field(title="Secrets Schema")] = None
|
|
584
|
+
template_variables: Annotated[dict[str, Any] | None, Field(title="Template Variables")] = None
|
|
579
585
|
|
|
580
586
|
|
|
581
|
-
class
|
|
587
|
+
class ChronosApiRegistryAgentVersionInfo(BaseModel):
|
|
582
588
|
model_config = ConfigDict(
|
|
583
589
|
extra="allow",
|
|
584
590
|
)
|
|
585
591
|
version: Annotated[str, Field(title="Version")]
|
|
586
|
-
created_at: Annotated[
|
|
592
|
+
created_at: Annotated[str | None, Field(title="Created At")] = None
|
|
587
593
|
|
|
588
594
|
|
|
589
|
-
class
|
|
595
|
+
class ChronosApiRegistryAgentVersionsResponse(BaseModel):
|
|
590
596
|
model_config = ConfigDict(
|
|
591
597
|
extra="allow",
|
|
592
598
|
)
|
|
593
599
|
name: Annotated[str, Field(title="Name")]
|
|
594
|
-
versions: Annotated[list[
|
|
600
|
+
versions: Annotated[list[ChronosApiRegistryAgentVersionInfo], Field(title="Versions")]
|
|
595
601
|
|
|
596
602
|
|
|
597
603
|
class ChronosModelsSessionWorldInfo(BaseModel):
|
|
@@ -604,6 +610,20 @@ class ChronosModelsSessionWorldInfo(BaseModel):
|
|
|
604
610
|
config_schema: Annotated[dict[str, Any] | None, Field(title="Config Schema")] = None
|
|
605
611
|
|
|
606
612
|
|
|
613
|
+
class AgentListResponse(BaseModel):
|
|
614
|
+
model_config = ConfigDict(
|
|
615
|
+
extra="allow",
|
|
616
|
+
)
|
|
617
|
+
agents: Annotated[list[AgentResponse], Field(title="Agents")]
|
|
618
|
+
|
|
619
|
+
|
|
620
|
+
class CreatorsListResponse(BaseModel):
|
|
621
|
+
model_config = ConfigDict(
|
|
622
|
+
extra="allow",
|
|
623
|
+
)
|
|
624
|
+
creators: Annotated[list[SessionCreator], Field(title="Creators")]
|
|
625
|
+
|
|
626
|
+
|
|
607
627
|
class EnvSecretListResponse(BaseModel):
|
|
608
628
|
model_config = ConfigDict(
|
|
609
629
|
extra="allow",
|