@agxnte/reidx 2.1.1 → 2.1.2

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.
package/README.md CHANGED
@@ -65,7 +65,7 @@ reid doctor
65
65
  Expected output:
66
66
 
67
67
  ```
68
- reid 2.1.1
68
+ reid 2.1.2
69
69
  settings <path> (found|missing)
70
70
  python <path> (3.13.x)
71
71
  workspace <cwd>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@agxnte/reidx",
3
- "version": "2.1.1",
3
+ "version": "2.1.2",
4
4
  "description": "Terminal-native personal intelligence and coding CLI (agent-first runtime)",
5
5
  "bin": {
6
6
  "reid": "bin/reidx.js"
package/pyproject.toml CHANGED
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "reidx"
3
- version = "2.1.1"
3
+ version = "2.1.2"
4
4
  description = "Terminal-native personal intelligence and coding CLI (agent-first runtime)"
5
5
  readme = "README.md"
6
6
  requires-python = ">=3.12"
@@ -1,3 +1,3 @@
1
1
  """ReidX: terminal-native agent-first CLI runtime."""
2
2
 
3
- __version__ = "2.1.1"
3
+ __version__ = "2.1.2"
@@ -545,7 +545,12 @@ def _handle_providers(orchestrator: Orchestrator) -> None:
545
545
  for name in orchestrator.providers.names():
546
546
  if name not in persisted_names:
547
547
  extra.append(name)
548
- render.print_providers(persisted, active, extra)
548
+
549
+ # Show catalog providers (available but not yet persisted)
550
+ from reidx.provider_manager.catalog import all_providers
551
+ catalog_providers = [p.name for p in all_providers() if p.name not in persisted_names and name not in extra]
552
+
553
+ render.print_providers(persisted, active, extra, catalog_providers)
549
554
 
550
555
 
551
556
  def _handle_connect(orchestrator: Orchestrator, arg: str) -> None:
@@ -423,14 +423,17 @@ def print_workflow_steps(workflow) -> None: # type: ignore[no-untyped-def]
423
423
  console.print(Text.assemble((f" {i}. ", DIM), (step, "white")))
424
424
 
425
425
 
426
- def print_providers(records, active_name: str, extra_names: list[str]) -> None: # type: ignore[no-untyped-def]
426
+ def print_providers(records, active_name: str, extra_names: list[str], catalog_names: list[str] | None = None) -> None: # type: ignore[no-untyped-def]
427
427
  """Show connected providers.
428
428
 
429
429
  `records` is the persisted list (name, kind, base_url, default_model);
430
430
  `extra_names` is any provider registered but not persisted (e.g. `stub`,
431
431
  or `anthropic` picked up from env vars) — those show as kind=built-in.
432
+ `catalog_names` are providers available in catalog but not yet persisted.
432
433
  `active_name` is the current session provider (highlighted).
433
434
  """
435
+ if catalog_names is None:
436
+ catalog_names = []
434
437
  table = Table(title="providers", box=BOX, show_header=True, header_style=f"bold {PRIMARY}", border_style=PRIMARY, width=MAX_WIDTH)
435
438
  table.add_column("name", style="bold", width=18)
436
439
  table.add_column("kind", width=20)
@@ -442,6 +445,10 @@ def print_providers(records, active_name: str, extra_names: list[str]) -> None:
442
445
  for r in records:
443
446
  marker = "● " if r.name == active_name else " "
444
447
  table.add_row(f"{marker}{r.name}", r.kind, r.default_model or "-", r.base_url or "-")
448
+ if catalog_names:
449
+ for name in catalog_names:
450
+ marker = "● " if name == active_name else " "
451
+ table.add_row(f"{marker}{name}", "catalog", "-", "-")
445
452
  console.print(table)
446
453
  console.print(Text(" ● = active provider (use /use <name> to switch)", style=DIM))
447
454