agentsystems-sdk 0.3.3__py3-none-any.whl → 0.3.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.
- agentsystems_sdk/cli.py +2 -0
- agentsystems_sdk/commands/__init__.py +2 -0
- agentsystems_sdk/commands/up.py +12 -0
- agentsystems_sdk/commands/update.py +88 -0
- agentsystems_sdk/deployments_scaffold/agentsystems-config.yml +0 -16
- agentsystems_sdk/utils.py +3 -3
- {agentsystems_sdk-0.3.3.dist-info → agentsystems_sdk-0.3.5.dist-info}/METADATA +2 -1
- {agentsystems_sdk-0.3.3.dist-info → agentsystems_sdk-0.3.5.dist-info}/RECORD +13 -12
- {agentsystems_sdk-0.3.3.dist-info → agentsystems_sdk-0.3.5.dist-info}/WHEEL +0 -0
- {agentsystems_sdk-0.3.3.dist-info → agentsystems_sdk-0.3.5.dist-info}/entry_points.txt +0 -0
- {agentsystems_sdk-0.3.3.dist-info → agentsystems_sdk-0.3.5.dist-info}/licenses/LICENSE +0 -0
- {agentsystems_sdk-0.3.3.dist-info → agentsystems_sdk-0.3.5.dist-info}/licenses/NOTICE +0 -0
- {agentsystems_sdk-0.3.3.dist-info → agentsystems_sdk-0.3.5.dist-info}/top_level.txt +0 -0
agentsystems_sdk/cli.py
CHANGED
@@ -23,6 +23,7 @@ from agentsystems_sdk.commands import (
|
|
23
23
|
run_command,
|
24
24
|
artifacts_path_command,
|
25
25
|
clean_command,
|
26
|
+
update_command,
|
26
27
|
)
|
27
28
|
|
28
29
|
# Load .env before Typer parses env-var options
|
@@ -85,6 +86,7 @@ app.command(name="status")(status_command)
|
|
85
86
|
app.command(name="run")(run_command)
|
86
87
|
app.command(name="artifacts-path")(artifacts_path_command)
|
87
88
|
app.command(name="clean")(clean_command)
|
89
|
+
app.command(name="update")(update_command)
|
88
90
|
|
89
91
|
|
90
92
|
if __name__ == "__main__":
|
@@ -9,6 +9,7 @@ from .status import status_command
|
|
9
9
|
from .run import run_command
|
10
10
|
from .artifacts import artifacts_path_command
|
11
11
|
from .clean import clean_command
|
12
|
+
from .update import update_command
|
12
13
|
|
13
14
|
__all__ = [
|
14
15
|
"init_command",
|
@@ -20,4 +21,5 @@ __all__ = [
|
|
20
21
|
"run_command",
|
21
22
|
"artifacts_path_command",
|
22
23
|
"clean_command",
|
24
|
+
"update_command",
|
23
25
|
]
|
agentsystems_sdk/commands/up.py
CHANGED
@@ -116,6 +116,18 @@ def setup_agents_from_config(
|
|
116
116
|
if not reg or not reg.enabled:
|
117
117
|
continue # skip disabled registries
|
118
118
|
|
119
|
+
# Check if all images for this registry are already present
|
120
|
+
env_base = os.environ.copy()
|
121
|
+
missing_images = [
|
122
|
+
a.image for a in agents_list if not _image_exists(a.image, env_base)
|
123
|
+
]
|
124
|
+
|
125
|
+
if not missing_images:
|
126
|
+
console.print(
|
127
|
+
f"[green]✓ All images from {reg.url} already present, skipping login.[/green]"
|
128
|
+
)
|
129
|
+
continue
|
130
|
+
|
119
131
|
# Create a fresh Docker config dir so credentials don't clobber
|
120
132
|
with tempfile.TemporaryDirectory(
|
121
133
|
prefix="agentsystems-docker-config-"
|
@@ -0,0 +1,88 @@
|
|
1
|
+
"""Update core platform images."""
|
2
|
+
|
3
|
+
from __future__ import annotations
|
4
|
+
|
5
|
+
import pathlib
|
6
|
+
from typing import Optional
|
7
|
+
|
8
|
+
import typer
|
9
|
+
from rich.console import Console
|
10
|
+
from rich.progress import Progress, SpinnerColumn, TextColumn
|
11
|
+
|
12
|
+
from ..utils import ensure_docker_installed, run_command
|
13
|
+
|
14
|
+
console = Console()
|
15
|
+
|
16
|
+
|
17
|
+
def update_command(
|
18
|
+
project_dir: Optional[pathlib.Path] = typer.Argument(
|
19
|
+
None,
|
20
|
+
exists=True,
|
21
|
+
file_okay=False,
|
22
|
+
dir_okay=True,
|
23
|
+
readable=True,
|
24
|
+
resolve_path=True,
|
25
|
+
help="Project directory (defaults to current directory)",
|
26
|
+
),
|
27
|
+
) -> None:
|
28
|
+
"""Update core AgentSystems platform images to latest versions.
|
29
|
+
|
30
|
+
Pulls the latest versions of:
|
31
|
+
- agent-control-plane (gateway)
|
32
|
+
- agentsystems-ui (web interface)
|
33
|
+
|
34
|
+
This is faster than re-running 'agentsystems up' when you only need
|
35
|
+
to update the core platform components.
|
36
|
+
"""
|
37
|
+
if project_dir is None:
|
38
|
+
project_dir = pathlib.Path.cwd()
|
39
|
+
|
40
|
+
project_dir = project_dir.expanduser().resolve()
|
41
|
+
|
42
|
+
# Verify this is an AgentSystems project
|
43
|
+
config_file = project_dir / "agentsystems-config.yml"
|
44
|
+
if not config_file.exists():
|
45
|
+
console.print(f"[red]✗ No agentsystems-config.yml found in {project_dir}[/red]")
|
46
|
+
console.print("This doesn't appear to be an AgentSystems project directory.")
|
47
|
+
raise typer.Exit(code=1)
|
48
|
+
|
49
|
+
ensure_docker_installed()
|
50
|
+
|
51
|
+
# Core platform images to update
|
52
|
+
core_images = [
|
53
|
+
"ghcr.io/agentsystems/agent-control-plane:latest",
|
54
|
+
"ghcr.io/agentsystems/agentsystems-ui:latest",
|
55
|
+
]
|
56
|
+
|
57
|
+
console.print("\n[bold cyan]Updating AgentSystems core platform images[/bold cyan]")
|
58
|
+
|
59
|
+
with Progress(
|
60
|
+
SpinnerColumn(style="cyan"),
|
61
|
+
TextColumn("[bold]{task.description}"),
|
62
|
+
console=console,
|
63
|
+
) as progress:
|
64
|
+
|
65
|
+
for image in core_images:
|
66
|
+
task = progress.add_task(f"Updating {image.split('/')[-1]}", total=None)
|
67
|
+
|
68
|
+
try:
|
69
|
+
progress.stop() # Stop to show docker output
|
70
|
+
run_command(["docker", "pull", image])
|
71
|
+
progress.start() # Restart progress
|
72
|
+
progress.update(task, description=f"✓ Updated {image.split('/')[-1]}")
|
73
|
+
except typer.Exit:
|
74
|
+
progress.start() # Ensure progress is restarted
|
75
|
+
progress.update(
|
76
|
+
task, description=f"✗ Failed to update {image.split('/')[-1]}"
|
77
|
+
)
|
78
|
+
console.print(f"[red]Failed to pull {image}[/red]")
|
79
|
+
raise
|
80
|
+
finally:
|
81
|
+
progress.start() # Always ensure progress is running
|
82
|
+
|
83
|
+
console.print("\n[green]✅ Core platform images updated successfully![/green]")
|
84
|
+
console.print("\n[bold]Next steps:[/bold]")
|
85
|
+
console.print(" • Run [cyan]agentsystems restart[/cyan] to use the updated images")
|
86
|
+
console.print(
|
87
|
+
" • Or [cyan]agentsystems down && agentsystems up[/cyan] for a full restart"
|
88
|
+
)
|
@@ -73,19 +73,3 @@ agents:
|
|
73
73
|
agent.port: "8000"
|
74
74
|
overrides:
|
75
75
|
expose: ["8000"]
|
76
|
-
|
77
|
-
- name: agent-template
|
78
|
-
repo: agentsystems/agent-template
|
79
|
-
egress_allowlist:
|
80
|
-
- "https://api.anthropic.com"
|
81
|
-
tag: latest
|
82
|
-
registry_connection: dockerhub_agentsystems
|
83
|
-
labels:
|
84
|
-
agent.port: "8000"
|
85
|
-
artifact_permissions:
|
86
|
-
readers: ["agent-template"]
|
87
|
-
writers: ["agent-template"]
|
88
|
-
overrides:
|
89
|
-
env:
|
90
|
-
MODEL_ID: "gpt-4o"
|
91
|
-
expose: ["8000"]
|
agentsystems_sdk/utils.py
CHANGED
@@ -263,9 +263,9 @@ def get_required_images() -> List[str]:
|
|
263
263
|
Returns:
|
264
264
|
List of Docker image names
|
265
265
|
"""
|
266
|
-
|
267
|
-
|
268
|
-
]
|
266
|
+
# Control plane and other images are pulled during 'agentsystems up'
|
267
|
+
# when the docker-compose file is processed, not during init
|
268
|
+
return []
|
269
269
|
|
270
270
|
|
271
271
|
def cleanup_langfuse_init_vars(env_path: pathlib.Path) -> None:
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: agentsystems-sdk
|
3
|
-
Version: 0.3.
|
3
|
+
Version: 0.3.5
|
4
4
|
Summary: AgentSystems Python SDK and CLI
|
5
5
|
Author-email: AgentSystems <support@agentsystems.ai>
|
6
6
|
License-Expression: Apache-2.0
|
@@ -91,6 +91,7 @@ All commands are available through `agentsystems` (or the shorter alias `agntsys
|
|
91
91
|
| `agentsystems version` | Show the installed SDK version. |
|
92
92
|
| `agentsystems artifacts-path THREAD_ID [REL_PATH]` | Resolve a path inside the shared artifacts volume using thread-centric structure. |
|
93
93
|
| `agentsystems run AGENT PAYLOAD` | Invoke an agent with JSON payload and optional file uploads, stream progress, and return results. |
|
94
|
+
| `agentsystems update [PROJECT_DIR]` | Update core platform images (agent-control-plane, agentsystems-ui) to latest versions. Faster than re-running `up` when you only need to update platform components. |
|
94
95
|
|
95
96
|
### `up` options
|
96
97
|
|
@@ -1,9 +1,9 @@
|
|
1
1
|
agentsystems_sdk/__init__.py,sha256=e0cW9_DFgYAM8oTyOXL_FyuqF_PELxPGLKTayhp4PqA,407
|
2
|
-
agentsystems_sdk/cli.py,sha256=
|
2
|
+
agentsystems_sdk/cli.py,sha256=odiI4rbBEO5Xtug2vLRNxpStVh25wvjd0Nc-JqftctA,2373
|
3
3
|
agentsystems_sdk/config.py,sha256=-rlUtexDEg_PuEjM4x_kCMLnb5zvKkTNdKs1PbH-7ck,6659
|
4
4
|
agentsystems_sdk/progress_tracker.py,sha256=34zW26QPlCGORkOYOK0cqbYIGvl5ga4Jp9cTN4Ar0RU,4082
|
5
|
-
agentsystems_sdk/utils.py,sha256=
|
6
|
-
agentsystems_sdk/commands/__init__.py,sha256=
|
5
|
+
agentsystems_sdk/utils.py,sha256=sdza_FsmoZ8L4gS0HU3jQ6JjNfL030dhIkS8IOp5S6o,9230
|
6
|
+
agentsystems_sdk/commands/__init__.py,sha256=j7madekbwkWkB12jkkrfCzPy6BNimVvIViIlPcfDaqU,599
|
7
7
|
agentsystems_sdk/commands/artifacts.py,sha256=KTOEu0Cg9aeFEaNfOUW-lSJM7dewOC9KJYtyw8vESM4,1113
|
8
8
|
agentsystems_sdk/commands/clean.py,sha256=-wyy7CleRmEew3SUlff0iYsCMLsj_JcwhlpqgQYhZZk,1942
|
9
9
|
agentsystems_sdk/commands/down.py,sha256=z8VHzLfrxiVeedR9fl4CSjNPKuZ_0_R2vKI46rhEVRw,3318
|
@@ -12,14 +12,15 @@ agentsystems_sdk/commands/logs.py,sha256=2BpoXuQr_Vq_ou7oj1x-oYC552enWZiuKqoOEJO
|
|
12
12
|
agentsystems_sdk/commands/restart.py,sha256=-UBZyHMfyQeG2pl-Mtff3cM6ziUvHrJVgqKl7sVWD0o,1923
|
13
13
|
agentsystems_sdk/commands/run.py,sha256=3ptW48sq4APvY05AvCmBTdqcRfS3puERiFuInE2ddJ4,5440
|
14
14
|
agentsystems_sdk/commands/status.py,sha256=C-9-eLG_gbDB4T69g4B3QjT41ASOZWjbEZydn2kcXM4,876
|
15
|
-
agentsystems_sdk/commands/up.py,sha256=
|
15
|
+
agentsystems_sdk/commands/up.py,sha256=o7WnQMsqNPpjDmkOgSpD4sGyNgsGA2fj1M3_kpaWtlA,17117
|
16
|
+
agentsystems_sdk/commands/update.py,sha256=mY3Yfk_X-P5CYE3wR1cZ4DzmrDknYXWl41ZwjDUvtNM,2968
|
16
17
|
agentsystems_sdk/deployments_scaffold/.env.example,sha256=RBRZicUDHCnpozFMgT__IceUV69B7WNLUXHElkcXCD8,634
|
17
18
|
agentsystems_sdk/deployments_scaffold/CONTRIBUTING.md,sha256=UgQ-CETCvOiMRszSxPBQURWJkAuAj-KwO42V7csQe1I,1145
|
18
19
|
agentsystems_sdk/deployments_scaffold/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
|
19
20
|
agentsystems_sdk/deployments_scaffold/Makefile,sha256=94EZSYWhqMA5tkQCwzCHklqo_S8O5lRm_G02FiOf8vs,1491
|
20
21
|
agentsystems_sdk/deployments_scaffold/NOTICE,sha256=2u9mzEuXRQ1CakDBEB-QdB4k2UuMZw4MtVynS6hlClk,441
|
21
22
|
agentsystems_sdk/deployments_scaffold/README.md,sha256=RWgvaBnfnTTq3521yBTyWgy-TcdOoqrMC3Jtjz2qARE,9943
|
22
|
-
agentsystems_sdk/deployments_scaffold/agentsystems-config.yml,sha256=
|
23
|
+
agentsystems_sdk/deployments_scaffold/agentsystems-config.yml,sha256=DhW22Cjb9g2V4C1C9ul0fQ9XXSDWmYKUfVFktPgBe4g,1732
|
23
24
|
agentsystems_sdk/deployments_scaffold/requirements-dev.txt,sha256=6jW_q7PKw7DDxV1DhSONOdVIjesz5jaQgmhFa82qDYg,64
|
24
25
|
agentsystems_sdk/deployments_scaffold/compose/langfuse/docker-compose.yml,sha256=Q8n3vBBfrbWRVeVhsnVdHIdrGpHWUUbI-_ZD4f6tMRs,4871
|
25
26
|
agentsystems_sdk/deployments_scaffold/compose/local/docker-compose.yml,sha256=cDB7seS5Px5a0YR0jTsj-AQ3ShgLv8oYyL96Vc7x9tc,2289
|
@@ -28,10 +29,10 @@ agentsystems_sdk/deployments_scaffold/compose/local/db-backup/Dockerfile,sha256=
|
|
28
29
|
agentsystems_sdk/deployments_scaffold/compose/local/db-backup/entrypoint.sh,sha256=7as7UNRCR5ziTOUWJGHtPgCb70oNLImWmGJsgTy0t-A,2462
|
29
30
|
agentsystems_sdk/deployments_scaffold/compose/local/postgres-init/audit.sql,sha256=96812AZ2Tm57rmIi5de2nsAwxnn_AkJmavJgBn_MKKE,1796
|
30
31
|
agentsystems_sdk/deployments_scaffold/schema/agentsystems-config.schema.json,sha256=fhZfE_fVSbv0vYvh9JT5EZC2XYjp9v54cP0UK6hH18A,1374
|
31
|
-
agentsystems_sdk-0.3.
|
32
|
-
agentsystems_sdk-0.3.
|
33
|
-
agentsystems_sdk-0.3.
|
34
|
-
agentsystems_sdk-0.3.
|
35
|
-
agentsystems_sdk-0.3.
|
36
|
-
agentsystems_sdk-0.3.
|
37
|
-
agentsystems_sdk-0.3.
|
32
|
+
agentsystems_sdk-0.3.5.dist-info/licenses/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
|
33
|
+
agentsystems_sdk-0.3.5.dist-info/licenses/NOTICE,sha256=SGMFwyEoZ6NG19ZrdvwYt43lig12rEl5z8XvWMGej6c,918
|
34
|
+
agentsystems_sdk-0.3.5.dist-info/METADATA,sha256=0Xh6gYeZoShwKRyh6Furz4eAvmsgfTCMA6Jse7UGxAY,11894
|
35
|
+
agentsystems_sdk-0.3.5.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
36
|
+
agentsystems_sdk-0.3.5.dist-info/entry_points.txt,sha256=0lejF8v40DAB0D2612UWLLA3e1Ux8TyyLU6yJc0vQkQ,93
|
37
|
+
agentsystems_sdk-0.3.5.dist-info/top_level.txt,sha256=nkHK6IHAO6-yoZJukUr0CruzkP8weBKraPnsj2FmDV8,17
|
38
|
+
agentsystems_sdk-0.3.5.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|