superwise-sentinel-cli 0.4.0__tar.gz → 0.4.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.
Files changed (30) hide show
  1. {superwise_sentinel_cli-0.4.0 → superwise_sentinel_cli-0.4.2}/CHANGELOG.md +21 -0
  2. {superwise_sentinel_cli-0.4.0 → superwise_sentinel_cli-0.4.2}/PKG-INFO +1 -1
  3. superwise_sentinel_cli-0.4.2/build.env +1 -0
  4. {superwise_sentinel_cli-0.4.0 → superwise_sentinel_cli-0.4.2}/pyproject.toml +1 -1
  5. {superwise_sentinel_cli-0.4.0 → superwise_sentinel_cli-0.4.2}/src/superwise_sentinel_cli/cli.py +8 -4
  6. {superwise_sentinel_cli-0.4.0 → superwise_sentinel_cli-0.4.2}/src/superwise_sentinel_cli/controller.py +10 -3
  7. superwise_sentinel_cli-0.4.0/build.env +0 -1
  8. {superwise_sentinel_cli-0.4.0 → superwise_sentinel_cli-0.4.2}/.gitignore +0 -0
  9. {superwise_sentinel_cli-0.4.0 → superwise_sentinel_cli-0.4.2}/.gitlab-ci.yml +0 -0
  10. {superwise_sentinel_cli-0.4.0 → superwise_sentinel_cli-0.4.2}/.pre-commit-config.yaml +0 -0
  11. {superwise_sentinel_cli-0.4.0 → superwise_sentinel_cli-0.4.2}/.releaserc.json +0 -0
  12. {superwise_sentinel_cli-0.4.0 → superwise_sentinel_cli-0.4.2}/CLAUDE.md +0 -0
  13. {superwise_sentinel_cli-0.4.0 → superwise_sentinel_cli-0.4.2}/README.md +0 -0
  14. {superwise_sentinel_cli-0.4.0 → superwise_sentinel_cli-0.4.2}/poetry.lock +0 -0
  15. {superwise_sentinel_cli-0.4.0 → superwise_sentinel_cli-0.4.2}/poetry.toml +0 -0
  16. {superwise_sentinel_cli-0.4.0 → superwise_sentinel_cli-0.4.2}/scripts/semantic-release-cli-publish.sh +0 -0
  17. {superwise_sentinel_cli-0.4.0 → superwise_sentinel_cli-0.4.2}/src/superwise_sentinel_cli/__init__.py +0 -0
  18. {superwise_sentinel_cli-0.4.0 → superwise_sentinel_cli-0.4.2}/src/superwise_sentinel_cli/auth.py +0 -0
  19. {superwise_sentinel_cli-0.4.0 → superwise_sentinel_cli-0.4.2}/src/superwise_sentinel_cli/claude_desktop_profile.py +0 -0
  20. {superwise_sentinel_cli-0.4.0 → superwise_sentinel_cli-0.4.2}/src/superwise_sentinel_cli/claude_oauth.py +0 -0
  21. {superwise_sentinel_cli-0.4.0 → superwise_sentinel_cli-0.4.2}/src/superwise_sentinel_cli/codex_profile.py +0 -0
  22. {superwise_sentinel_cli-0.4.0 → superwise_sentinel_cli-0.4.2}/src/superwise_sentinel_cli/config.py +0 -0
  23. {superwise_sentinel_cli-0.4.0 → superwise_sentinel_cli-0.4.2}/src/superwise_sentinel_cli/docker_manager.py +0 -0
  24. {superwise_sentinel_cli-0.4.0 → superwise_sentinel_cli-0.4.2}/src/superwise_sentinel_cli/exceptions.py +0 -0
  25. {superwise_sentinel_cli-0.4.0 → superwise_sentinel_cli-0.4.2}/src/superwise_sentinel_cli/shell_profile.py +0 -0
  26. {superwise_sentinel_cli-0.4.0 → superwise_sentinel_cli-0.4.2}/tests/__init__.py +0 -0
  27. {superwise_sentinel_cli-0.4.0 → superwise_sentinel_cli-0.4.2}/tests/test_auth.py +0 -0
  28. {superwise_sentinel_cli-0.4.0 → superwise_sentinel_cli-0.4.2}/tests/test_controller.py +0 -0
  29. {superwise_sentinel_cli-0.4.0 → superwise_sentinel_cli-0.4.2}/tests/test_docker_manager.py +0 -0
  30. {superwise_sentinel_cli-0.4.0 → superwise_sentinel_cli-0.4.2}/tests/test_shell_profile.py +0 -0
@@ -1,3 +1,24 @@
1
+ ## [0.4.1](https://gitlab.com/askboss/product/superwise/platform/sentinel-cli/compare/0.4.0...0.4.1) (2026-10-13)
2
+
3
+
4
+ ### <!-- 2. -->:bug: Bug Fixes
5
+
6
+ * prompt user to restart running gateway ([703ae97](https://gitlab.com/askboss/product/superwise/platform/sentinel-cli/commit/703ae973c554985fdbdde553032653d3a8eec95a))
7
+
8
+ ## [0.4.0](https://gitlab.com/askboss/product/superwise/platform/sentinel-cli/compare/0.3.1...0.4.0) (2026-10-12)
9
+
10
+
11
+ ### <!-- 1. -->:rocket: New Features
12
+
13
+ * bump version ([724a70d](https://gitlab.com/askboss/product/superwise/platform/sentinel-cli/commit/724a70d5fdaba616db6cf5750fe260fd546bbb3b))
14
+
15
+
16
+ ### <!-- 2. -->:bug: Bug Fixes
17
+
18
+ * add gateway status command ([1ccc4a2](https://gitlab.com/askboss/product/superwise/platform/sentinel-cli/commit/1ccc4a2b3d0a3187fc66ef9acecf2062136f72bd))
19
+ * support claude desktop ([69e565e](https://gitlab.com/askboss/product/superwise/platform/sentinel-cli/commit/69e565e78744c9f82c68cd4944f56a4efb4d0354))
20
+ * verify gateway ([50af1e8](https://gitlab.com/askboss/product/superwise/platform/sentinel-cli/commit/50af1e854818925e6630aebe92208fcf3478dca7))
21
+
1
22
  ## [0.3.1](https://gitlab.com/askboss/product/superwise/platform/sentinel-cli/compare/0.3.0...0.3.1) (2026-09-29)
2
23
 
3
24
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.5
2
2
  Name: superwise-sentinel-cli
3
- Version: 0.4.0
3
+ Version: 0.4.2
4
4
  Summary: Sentinel is an LLM proxy that intercepts traffic, enabling you to monitor, secure, and optimize your AI usage. This CLI tool helps you quickly set up traffic interception on this machine
5
5
  Requires-Python: <4.0,>=3.11
6
6
  Requires-Dist: click>=8.1
@@ -0,0 +1 @@
1
+ RELEASED_VERSION=0.4.2
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "superwise-sentinel-cli"
7
- version = "0.4.0"
7
+ version = "0.4.2"
8
8
  description = "Sentinel is an LLM proxy that intercepts traffic, enabling you to monitor, secure, and optimize your AI usage. This CLI tool helps you quickly set up traffic interception on this machine"
9
9
  requires-python = ">=3.11, <4.0"
10
10
  dependencies = [
@@ -325,7 +325,8 @@ def gateway_logs_cmd(tail: int) -> None:
325
325
 
326
326
 
327
327
  @gateway.command("update")
328
- def update_gateway() -> None:
328
+ @click.pass_context
329
+ def update_gateway(ctx) -> None:
329
330
  """Pull the latest local gateway image."""
330
331
  try:
331
332
  result = update_gateway_image()
@@ -335,9 +336,12 @@ def update_gateway() -> None:
335
336
  raise click.ClickException("Failed to pull the latest sentinel image.")
336
337
  if result.updated:
337
338
  if get_running_gateway() is not None:
338
- click.echo(
339
- "Sentinel image updated. Run 'sentinel gateway start --force' to restart the running gateway using the new image."
340
- )
339
+ click.echo("Sentinel image updated.")
340
+ if click.confirm("Restart the running gateway now to use the new image?", default=True):
341
+ ctx.invoke(start_gateway, force=True)
342
+ else:
343
+ click.echo("Restart skipped. Run 'sentinel gateway start --force' for the upgrade to take effect.")
344
+
341
345
  else:
342
346
  click.echo("Sentinel image updated.")
343
347
  else:
@@ -193,7 +193,7 @@ def get_gateway_status(cfg: AppConfig, log: Callable[[str], None] | None = None)
193
193
  url = cfg.gateway_url
194
194
  version = None
195
195
  is_latest = None
196
- healthy = check_gateway_health(url, retries=1) if url else False
196
+ healthy = check_gateway_health(url, retries=2) if url else False
197
197
  return GatewayStatus(
198
198
  docker_running=docker_running,
199
199
  container_running=info is not None,
@@ -217,14 +217,21 @@ def diagnose_unhealthy_gateway() -> str:
217
217
 
218
218
 
219
219
  def check_gateway_health(gateway_url: str, retries: int = 3, delay_seconds: float = 1.0) -> bool:
220
- url = gateway_url.rstrip("/") + "/healthz"
220
+ base = gateway_url.rstrip("/")
221
+ use_healthz = True
221
222
  for attempt in range(retries):
222
223
  try:
223
- resp = requests.get(url, timeout=5)
224
+ if use_healthz:
225
+ resp = requests.get(base + "/healthz", timeout=5)
226
+ else:
227
+ resp = requests.post(
228
+ base + "/test", json={"messages": [{"role": "user", "content": "ping"}]}, timeout=5
229
+ )
224
230
  if resp.ok:
225
231
  return True
226
232
  except requests.RequestException:
227
233
  pass
234
+ use_healthz = False
228
235
  if attempt < retries - 1:
229
236
  time.sleep(delay_seconds)
230
237
  return False
@@ -1 +0,0 @@
1
- RELEASED_VERSION=0.4.0