augint-shell 0.84.0__tar.gz → 0.84.2__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.
- {augint_shell-0.84.0 → augint_shell-0.84.2}/PKG-INFO +1 -1
- {augint_shell-0.84.0 → augint_shell-0.84.2}/pyproject.toml +1 -1
- {augint_shell-0.84.0 → augint_shell-0.84.2}/src/ai_shell/__init__.py +1 -1
- {augint_shell-0.84.0 → augint_shell-0.84.2}/src/ai_shell/container.py +43 -4
- {augint_shell-0.84.0 → augint_shell-0.84.2}/README.md +0 -0
- {augint_shell-0.84.0 → augint_shell-0.84.2}/src/ai_shell/assets/__init__.py +0 -0
- {augint_shell-0.84.0 → augint_shell-0.84.2}/src/ai_shell/assets/comfyui/__init__.py +0 -0
- {augint_shell-0.84.0 → augint_shell-0.84.2}/src/ai_shell/assets/comfyui/provision.sh +0 -0
- {augint_shell-0.84.0 → augint_shell-0.84.2}/src/ai_shell/cli/__init__.py +0 -0
- {augint_shell-0.84.0 → augint_shell-0.84.2}/src/ai_shell/cli/__main__.py +0 -0
- {augint_shell-0.84.0 → augint_shell-0.84.2}/src/ai_shell/cli/commands/__init__.py +0 -0
- {augint_shell-0.84.0 → augint_shell-0.84.2}/src/ai_shell/cli/commands/llm.py +0 -0
- {augint_shell-0.84.0 → augint_shell-0.84.2}/src/ai_shell/cli/commands/manage.py +0 -0
- {augint_shell-0.84.0 → augint_shell-0.84.2}/src/ai_shell/cli/commands/tools.py +0 -0
- {augint_shell-0.84.0 → augint_shell-0.84.2}/src/ai_shell/config.py +0 -0
- {augint_shell-0.84.0 → augint_shell-0.84.2}/src/ai_shell/defaults.py +0 -0
- {augint_shell-0.84.0 → augint_shell-0.84.2}/src/ai_shell/exceptions.py +0 -0
- {augint_shell-0.84.0 → augint_shell-0.84.2}/src/ai_shell/gpu.py +0 -0
- {augint_shell-0.84.0 → augint_shell-0.84.2}/src/ai_shell/interactive.py +0 -0
- {augint_shell-0.84.0 → augint_shell-0.84.2}/src/ai_shell/local_chrome.py +0 -0
- {augint_shell-0.84.0 → augint_shell-0.84.2}/src/ai_shell/scaffold.py +0 -0
- {augint_shell-0.84.0 → augint_shell-0.84.2}/src/ai_shell/selector.py +0 -0
- {augint_shell-0.84.0 → augint_shell-0.84.2}/src/ai_shell/templates/__init__.py +0 -0
- {augint_shell-0.84.0 → augint_shell-0.84.2}/src/ai_shell/templates/ai-shell.toml +0 -0
- {augint_shell-0.84.0 → augint_shell-0.84.2}/src/ai_shell/templates/ai-shell.yaml +0 -0
- {augint_shell-0.84.0 → augint_shell-0.84.2}/src/ai_shell/templates/aider/__init__.py +0 -0
- {augint_shell-0.84.0 → augint_shell-0.84.2}/src/ai_shell/templates/claude/__init__.py +0 -0
- {augint_shell-0.84.0 → augint_shell-0.84.2}/src/ai_shell/templates/claude/settings.json +0 -0
- {augint_shell-0.84.0 → augint_shell-0.84.2}/src/ai_shell/templates/codex/__init__.py +0 -0
- {augint_shell-0.84.0 → augint_shell-0.84.2}/src/ai_shell/templates/n8n/workflows/chat_with_ollama.json +0 -0
- {augint_shell-0.84.0 → augint_shell-0.84.2}/src/ai_shell/templates/n8n/workflows/text_to_speech.json +0 -0
- {augint_shell-0.84.0 → augint_shell-0.84.2}/src/ai_shell/templates/n8n/workflows/transcribe_audio.json +0 -0
- {augint_shell-0.84.0 → augint_shell-0.84.2}/src/ai_shell/templates/opencode/__init__.py +0 -0
- {augint_shell-0.84.0 → augint_shell-0.84.2}/src/ai_shell/tmux.py +0 -0
|
@@ -142,16 +142,22 @@ class ContainerManager:
|
|
|
142
142
|
|
|
143
143
|
If the container exists but is stopped, it is started.
|
|
144
144
|
If it doesn't exist, it is created with the full configuration.
|
|
145
|
+
If using the ``latest`` tag and a newer image is available, the
|
|
146
|
+
existing container is replaced automatically.
|
|
145
147
|
|
|
146
148
|
Returns the container name.
|
|
147
149
|
"""
|
|
148
150
|
name, container = self.resolve_dev_container()
|
|
149
151
|
|
|
150
152
|
if container is not None:
|
|
151
|
-
if container
|
|
152
|
-
|
|
153
|
-
container
|
|
154
|
-
|
|
153
|
+
if self._recreate_if_image_stale(container, name):
|
|
154
|
+
# Container was removed; fall through to create a new one.
|
|
155
|
+
container = None
|
|
156
|
+
else:
|
|
157
|
+
if container.status != "running":
|
|
158
|
+
logger.info("Starting existing container: %s", name)
|
|
159
|
+
container.start()
|
|
160
|
+
return name
|
|
155
161
|
|
|
156
162
|
logger.info("Creating dev container: %s", name)
|
|
157
163
|
self._pull_image_if_needed(self.config.full_image)
|
|
@@ -306,6 +312,39 @@ class ContainerManager:
|
|
|
306
312
|
container.remove(force=True)
|
|
307
313
|
return True
|
|
308
314
|
|
|
315
|
+
def _recreate_if_image_stale(self, container: Container, name: str) -> bool:
|
|
316
|
+
"""Pull the latest image and recreate the container if it is outdated.
|
|
317
|
+
|
|
318
|
+
Only acts when the configured tag is ``latest``. For pinned
|
|
319
|
+
version tags the image is immutable so staleness doesn't apply.
|
|
320
|
+
|
|
321
|
+
Returns True if the container was removed (caller must recreate).
|
|
322
|
+
"""
|
|
323
|
+
tag = self.config.image_tag
|
|
324
|
+
if tag != "latest":
|
|
325
|
+
return False
|
|
326
|
+
|
|
327
|
+
image_ref = self.config.full_image
|
|
328
|
+
try:
|
|
329
|
+
pulled = self.client.images.pull(*image_ref.rsplit(":", 1))
|
|
330
|
+
except APIError:
|
|
331
|
+
logger.debug("Could not pull %s — skipping staleness check", image_ref)
|
|
332
|
+
return False
|
|
333
|
+
|
|
334
|
+
container_image_id = container.image.id
|
|
335
|
+
pulled_image_id = pulled.id
|
|
336
|
+
|
|
337
|
+
if container_image_id == pulled_image_id:
|
|
338
|
+
return False
|
|
339
|
+
|
|
340
|
+
logger.warning(
|
|
341
|
+
"Dev container %s uses an outdated image — recreating with %s",
|
|
342
|
+
name,
|
|
343
|
+
image_ref,
|
|
344
|
+
)
|
|
345
|
+
container.remove(force=True)
|
|
346
|
+
return True
|
|
347
|
+
|
|
309
348
|
def _ensure_llm_network(self) -> str:
|
|
310
349
|
"""Get or create the shared Docker network for the LLM stack."""
|
|
311
350
|
try:
|
|
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
|
{augint_shell-0.84.0 → augint_shell-0.84.2}/src/ai_shell/templates/n8n/workflows/text_to_speech.json
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|