meshagent-api 0.41.2__tar.gz → 0.41.4__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.
- {meshagent_api-0.41.2/meshagent_api.egg-info → meshagent_api-0.41.4}/PKG-INFO +1 -1
- {meshagent_api-0.41.2 → meshagent_api-0.41.4}/meshagent/api/room_server_client.py +8 -1
- {meshagent_api-0.41.2 → meshagent_api-0.41.4}/meshagent/api/specs/service.py +20 -0
- meshagent_api-0.41.4/meshagent/api/version.py +1 -0
- {meshagent_api-0.41.2 → meshagent_api-0.41.4/meshagent_api.egg-info}/PKG-INFO +1 -1
- meshagent_api-0.41.2/meshagent/api/version.py +0 -1
- {meshagent_api-0.41.2 → meshagent_api-0.41.4}/LICENSE +0 -0
- {meshagent_api-0.41.2 → meshagent_api-0.41.4}/MANIFEST.in +0 -0
- {meshagent_api-0.41.2 → meshagent_api-0.41.4}/README.md +0 -0
- {meshagent_api-0.41.2 → meshagent_api-0.41.4}/meshagent/api/__init__.py +0 -0
- {meshagent_api-0.41.2 → meshagent_api-0.41.4}/meshagent/api/agent_content.py +0 -0
- {meshagent_api-0.41.2 → meshagent_api-0.41.4}/meshagent/api/aiohttp_redaction.py +0 -0
- {meshagent_api-0.41.2 → meshagent_api-0.41.4}/meshagent/api/chan.py +0 -0
- {meshagent_api-0.41.2 → meshagent_api-0.41.4}/meshagent/api/client.py +0 -0
- {meshagent_api-0.41.2 → meshagent_api-0.41.4}/meshagent/api/client_test.py +0 -0
- {meshagent_api-0.41.2 → meshagent_api-0.41.4}/meshagent/api/crdt.py +0 -0
- {meshagent_api-0.41.2 → meshagent_api-0.41.4}/meshagent/api/dataset_schema.py +0 -0
- {meshagent_api-0.41.2 → meshagent_api-0.41.4}/meshagent/api/entrypoint.js +0 -0
- {meshagent_api-0.41.2 → meshagent_api-0.41.4}/meshagent/api/error_codes.py +0 -0
- {meshagent_api-0.41.2 → meshagent_api-0.41.4}/meshagent/api/helpers.py +0 -0
- {meshagent_api-0.41.2 → meshagent_api-0.41.4}/meshagent/api/http.py +0 -0
- {meshagent_api-0.41.2 → meshagent_api-0.41.4}/meshagent/api/image_runtime.py +0 -0
- {meshagent_api-0.41.2 → meshagent_api-0.41.4}/meshagent/api/keys.py +0 -0
- {meshagent_api-0.41.2 → meshagent_api-0.41.4}/meshagent/api/managed_agents.py +0 -0
- {meshagent_api-0.41.2 → meshagent_api-0.41.4}/meshagent/api/managed_agents_test.py +0 -0
- {meshagent_api-0.41.2 → meshagent_api-0.41.4}/meshagent/api/messaging.py +0 -0
- {meshagent_api-0.41.2 → meshagent_api-0.41.4}/meshagent/api/messaging_test.py +0 -0
- {meshagent_api-0.41.2 → meshagent_api-0.41.4}/meshagent/api/oauth.py +0 -0
- {meshagent_api-0.41.2 → meshagent_api-0.41.4}/meshagent/api/oauth_scopes.py +0 -0
- {meshagent_api-0.41.2 → meshagent_api-0.41.4}/meshagent/api/oauth_scopes_test.py +0 -0
- {meshagent_api-0.41.2 → meshagent_api-0.41.4}/meshagent/api/participant.py +0 -0
- {meshagent_api-0.41.2 → meshagent_api-0.41.4}/meshagent/api/participant_token.py +0 -0
- {meshagent_api-0.41.2 → meshagent_api-0.41.4}/meshagent/api/participant_token_test.py +0 -0
- {meshagent_api-0.41.2 → meshagent_api-0.41.4}/meshagent/api/port_forward.py +0 -0
- {meshagent_api-0.41.2 → meshagent_api-0.41.4}/meshagent/api/port_forward_test.py +0 -0
- {meshagent_api-0.41.2 → meshagent_api-0.41.4}/meshagent/api/protocol.py +0 -0
- {meshagent_api-0.41.2 → meshagent_api-0.41.4}/meshagent/api/protocol_test.py +0 -0
- {meshagent_api-0.41.2 → meshagent_api-0.41.4}/meshagent/api/py.typed +0 -0
- {meshagent_api-0.41.2 → meshagent_api-0.41.4}/meshagent/api/reasoning_schema.py +0 -0
- {meshagent_api-0.41.2 → meshagent_api-0.41.4}/meshagent/api/registry_auth.py +0 -0
- {meshagent_api-0.41.2 → meshagent_api-0.41.4}/meshagent/api/room_ports.py +0 -0
- {meshagent_api-0.41.2 → meshagent_api-0.41.4}/meshagent/api/room_server_client_test.py +0 -0
- {meshagent_api-0.41.2 → meshagent_api-0.41.4}/meshagent/api/runtime.py +0 -0
- {meshagent_api-0.41.2 → meshagent_api-0.41.4}/meshagent/api/runtime_test.py +0 -0
- {meshagent_api-0.41.2 → meshagent_api-0.41.4}/meshagent/api/schema.py +0 -0
- {meshagent_api-0.41.2 → meshagent_api-0.41.4}/meshagent/api/schema_document.py +0 -0
- {meshagent_api-0.41.2 → meshagent_api-0.41.4}/meshagent/api/schema_document_test.py +0 -0
- {meshagent_api-0.41.2 → meshagent_api-0.41.4}/meshagent/api/schema_registry.py +0 -0
- {meshagent_api-0.41.2 → meshagent_api-0.41.4}/meshagent/api/schema_test.py +0 -0
- {meshagent_api-0.41.2 → meshagent_api-0.41.4}/meshagent/api/schema_util.py +0 -0
- {meshagent_api-0.41.2 → meshagent_api-0.41.4}/meshagent/api/service_spec_test.py +0 -0
- {meshagent_api-0.41.2 → meshagent_api-0.41.4}/meshagent/api/service_template_test.py +0 -0
- {meshagent_api-0.41.2 → meshagent_api-0.41.4}/meshagent/api/services.py +0 -0
- {meshagent_api-0.41.2 → meshagent_api-0.41.4}/meshagent/api/sql.py +0 -0
- {meshagent_api-0.41.2 → meshagent_api-0.41.4}/meshagent/api/sql_test.py +0 -0
- {meshagent_api-0.41.2 → meshagent_api-0.41.4}/meshagent/api/token_test.py +0 -0
- {meshagent_api-0.41.2 → meshagent_api-0.41.4}/meshagent/api/urls.py +0 -0
- {meshagent_api-0.41.2 → meshagent_api-0.41.4}/meshagent/api/webhooks.py +0 -0
- {meshagent_api-0.41.2 → meshagent_api-0.41.4}/meshagent/api/websocket_protocol.py +0 -0
- {meshagent_api-0.41.2 → meshagent_api-0.41.4}/meshagent/api/websocket_protocol_test.py +0 -0
- {meshagent_api-0.41.2 → meshagent_api-0.41.4}/meshagent_api.egg-info/SOURCES.txt +0 -0
- {meshagent_api-0.41.2 → meshagent_api-0.41.4}/meshagent_api.egg-info/dependency_links.txt +0 -0
- {meshagent_api-0.41.2 → meshagent_api-0.41.4}/meshagent_api.egg-info/requires.txt +0 -0
- {meshagent_api-0.41.2 → meshagent_api-0.41.4}/meshagent_api.egg-info/top_level.txt +0 -0
- {meshagent_api-0.41.2 → meshagent_api-0.41.4}/pyproject.toml +0 -0
- {meshagent_api-0.41.2 → meshagent_api-0.41.4}/setup.cfg +0 -0
|
@@ -13,7 +13,11 @@ from meshagent.api.protocol import (
|
|
|
13
13
|
ProtocolCloseKind,
|
|
14
14
|
ProtocolReconnectUnsupportedError,
|
|
15
15
|
)
|
|
16
|
-
from meshagent.api.specs.service import
|
|
16
|
+
from meshagent.api.specs.service import (
|
|
17
|
+
ContainerMountSpec,
|
|
18
|
+
ContainerTemplate,
|
|
19
|
+
ServiceSpec,
|
|
20
|
+
)
|
|
17
21
|
from meshagent.api.websocket_protocol import WebSocketClientProtocol
|
|
18
22
|
from meshagent.api.participant_token import ApiScope
|
|
19
23
|
from pydantic import (
|
|
@@ -7612,6 +7616,7 @@ class _RunRequest(BaseModel):
|
|
|
7612
7616
|
name: Optional[str] = None
|
|
7613
7617
|
annotations: Optional[Dict[str, str]] = None
|
|
7614
7618
|
mounts: Optional[ContainerMountSpec] = None
|
|
7619
|
+
template: Optional[ContainerTemplate] = "none"
|
|
7615
7620
|
writable_root_fs: Optional[bool] = None
|
|
7616
7621
|
private: Optional[bool] = None
|
|
7617
7622
|
|
|
@@ -8217,6 +8222,7 @@ class ContainersClient:
|
|
|
8217
8222
|
credentials: List[DockerSecret] | None = None,
|
|
8218
8223
|
name: Optional[str] = None,
|
|
8219
8224
|
mounts: Optional[ContainerMountSpec] = None,
|
|
8225
|
+
template: Optional[ContainerTemplate] = "none",
|
|
8220
8226
|
writable_root_fs: Optional[bool] = None,
|
|
8221
8227
|
private: Optional[bool] = None,
|
|
8222
8228
|
) -> str:
|
|
@@ -8242,6 +8248,7 @@ class ContainersClient:
|
|
|
8242
8248
|
"mounts": mounts.model_dump(mode="json", exclude_none=True)
|
|
8243
8249
|
if mounts is not None
|
|
8244
8250
|
else None,
|
|
8251
|
+
"template": template,
|
|
8245
8252
|
"writable_root_fs": writable_root_fs,
|
|
8246
8253
|
"private": private,
|
|
8247
8254
|
},
|
|
@@ -18,6 +18,7 @@ import json
|
|
|
18
18
|
|
|
19
19
|
|
|
20
20
|
MIN_SCHEDULED_TASK_INTERVAL_SECONDS = 15 * 60
|
|
21
|
+
ContainerTemplate = Literal["agent", "none"]
|
|
21
22
|
_SCHEDULE_INTERVAL_RE = re.compile(
|
|
22
23
|
r"^\s*(?P<count>\d+)\s+(?P<unit>second|seconds|minute|minutes|hour|hours|day|days)\s*$",
|
|
23
24
|
re.IGNORECASE,
|
|
@@ -339,6 +340,15 @@ class ServiceMetadata(BaseModel):
|
|
|
339
340
|
class ContainerSpec(BaseModel):
|
|
340
341
|
model_config = ConfigDict(extra="forbid")
|
|
341
342
|
image: str
|
|
343
|
+
template: Optional[ContainerTemplate] = Field(
|
|
344
|
+
"agent",
|
|
345
|
+
description=(
|
|
346
|
+
"container defaults to apply. 'agent' mounts room storage at /data "
|
|
347
|
+
"and injects MeshAgent/OpenAI/Anthropic proxy environment variables "
|
|
348
|
+
"with a token that has default agent permissions unless manually "
|
|
349
|
+
"overridden. 'none' applies no defaults."
|
|
350
|
+
),
|
|
351
|
+
)
|
|
342
352
|
|
|
343
353
|
command: Optional[str] = None
|
|
344
354
|
working_dir: Optional[str] = None
|
|
@@ -717,6 +727,15 @@ class ContainerTemplateSpec(BaseModel):
|
|
|
717
727
|
model_config = ConfigDict(extra="forbid")
|
|
718
728
|
environment: Optional[list[TemplateEnvironmentVariable]] = None
|
|
719
729
|
image: Optional[str] = None
|
|
730
|
+
template: Optional[ContainerTemplate] = Field(
|
|
731
|
+
"agent",
|
|
732
|
+
description=(
|
|
733
|
+
"container defaults to apply. 'agent' mounts room storage at /data "
|
|
734
|
+
"and injects MeshAgent/OpenAI/Anthropic proxy environment variables "
|
|
735
|
+
"with a token that has default agent permissions unless manually "
|
|
736
|
+
"overridden. 'none' applies no defaults."
|
|
737
|
+
),
|
|
738
|
+
)
|
|
720
739
|
command: Optional[str] = None
|
|
721
740
|
working_dir: Optional[str] = None
|
|
722
741
|
storage: Optional[ServiceTemplateContainerMountSpec] = None
|
|
@@ -816,6 +835,7 @@ class ServiceTemplateSpec(BaseModel):
|
|
|
816
835
|
command=self.container.command,
|
|
817
836
|
working_dir=self.container.working_dir,
|
|
818
837
|
image=self.container.image,
|
|
838
|
+
template=self.container.template,
|
|
819
839
|
environment=env,
|
|
820
840
|
storage=ContainerMountSpec(
|
|
821
841
|
room=self.container.storage.room,
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
__version__ = "0.41.4"
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
__version__ = "0.41.2"
|
|
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
|
|
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
|
|
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
|