buildai-cli 0.3.78__tar.gz → 0.3.79__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 (37) hide show
  1. {buildai_cli-0.3.78 → buildai_cli-0.3.79}/PKG-INFO +1 -1
  2. {buildai_cli-0.3.78 → buildai_cli-0.3.79}/cli/commands/egoexo.py +61 -2
  3. {buildai_cli-0.3.78 → buildai_cli-0.3.79}/pyproject.toml +1 -1
  4. {buildai_cli-0.3.78 → buildai_cli-0.3.79}/.gitignore +0 -0
  5. {buildai_cli-0.3.78 → buildai_cli-0.3.79}/AGENTS.md +0 -0
  6. {buildai_cli-0.3.78 → buildai_cli-0.3.79}/CLAUDE.md +0 -0
  7. {buildai_cli-0.3.78 → buildai_cli-0.3.79}/buildai_bootstrap.py +0 -0
  8. {buildai_cli-0.3.78 → buildai_cli-0.3.79}/cli/__init__.py +0 -0
  9. {buildai_cli-0.3.78 → buildai_cli-0.3.79}/cli/_has_core.py +0 -0
  10. {buildai_cli-0.3.78 → buildai_cli-0.3.79}/cli/auth_local.py +0 -0
  11. {buildai_cli-0.3.78 → buildai_cli-0.3.79}/cli/commands/__init__.py +0 -0
  12. {buildai_cli-0.3.78 → buildai_cli-0.3.79}/cli/commands/api_proxy.py +0 -0
  13. {buildai_cli-0.3.78 → buildai_cli-0.3.79}/cli/commands/auth.py +0 -0
  14. {buildai_cli-0.3.78 → buildai_cli-0.3.79}/cli/commands/db/__init__.py +0 -0
  15. {buildai_cli-0.3.78 → buildai_cli-0.3.79}/cli/commands/db/broker.py +0 -0
  16. {buildai_cli-0.3.78 → buildai_cli-0.3.79}/cli/commands/db/common.py +0 -0
  17. {buildai_cli-0.3.78 → buildai_cli-0.3.79}/cli/commands/db/migrate.py +0 -0
  18. {buildai_cli-0.3.78 → buildai_cli-0.3.79}/cli/commands/db/query.py +0 -0
  19. {buildai_cli-0.3.78 → buildai_cli-0.3.79}/cli/commands/db/schema.py +0 -0
  20. {buildai_cli-0.3.78 → buildai_cli-0.3.79}/cli/commands/db/status.py +0 -0
  21. {buildai_cli-0.3.78 → buildai_cli-0.3.79}/cli/commands/db/tunnel.py +0 -0
  22. {buildai_cli-0.3.78 → buildai_cli-0.3.79}/cli/commands/dev.py +0 -0
  23. {buildai_cli-0.3.78 → buildai_cli-0.3.79}/cli/commands/doctor.py +0 -0
  24. {buildai_cli-0.3.78 → buildai_cli-0.3.79}/cli/commands/gigcamera.py +0 -0
  25. {buildai_cli-0.3.78 → buildai_cli-0.3.79}/cli/commands/processing.py +0 -0
  26. {buildai_cli-0.3.78 → buildai_cli-0.3.79}/cli/config.py +0 -0
  27. {buildai_cli-0.3.78 → buildai_cli-0.3.79}/cli/console.py +0 -0
  28. {buildai_cli-0.3.78 → buildai_cli-0.3.79}/cli/context.py +0 -0
  29. {buildai_cli-0.3.78 → buildai_cli-0.3.79}/cli/db_broker.py +0 -0
  30. {buildai_cli-0.3.78 → buildai_cli-0.3.79}/cli/guard.py +0 -0
  31. {buildai_cli-0.3.78 → buildai_cli-0.3.79}/cli/internal_api.py +0 -0
  32. {buildai_cli-0.3.78 → buildai_cli-0.3.79}/cli/main.py +0 -0
  33. {buildai_cli-0.3.78 → buildai_cli-0.3.79}/cli/nl_query/__init__.py +0 -0
  34. {buildai_cli-0.3.78 → buildai_cli-0.3.79}/cli/nl_query/dataset_tools.py +0 -0
  35. {buildai_cli-0.3.78 → buildai_cli-0.3.79}/cli/ops_init.py +0 -0
  36. {buildai_cli-0.3.78 → buildai_cli-0.3.79}/cli/output.py +0 -0
  37. {buildai_cli-0.3.78 → buildai_cli-0.3.79}/cli/pagination.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: buildai-cli
3
- Version: 0.3.78
3
+ Version: 0.3.79
4
4
  Summary: Build AI CLI (Typer)
5
5
  Requires-Python: >=3.11
6
6
  Requires-Dist: httpx>=0.27.0
@@ -52,9 +52,13 @@ def _request(path: str, *, query_params: list[str] | None = None) -> None:
52
52
  @app.command("recording-disposition")
53
53
  def recording_disposition(
54
54
  recording_id: str = typer.Argument(..., help="media.recordings id."),
55
+ limit: int = typer.Option(50, "--limit", min=1, max=100, help="Maximum rows."),
55
56
  ) -> None:
56
57
  """Show why a recording did or did not land in an EgoExo episode."""
57
- _request(f"/v1/dashboard/egoexo/recordings/{recording_id}/disposition")
58
+ _request(
59
+ f"/v1/dashboard/egoexo/recordings/{recording_id}/disposition",
60
+ query_params=[f"limit={limit}"],
61
+ )
58
62
 
59
63
 
60
64
  @app.command("overview")
@@ -66,9 +70,64 @@ def overview() -> None:
66
70
  @app.command("recording-history")
67
71
  def recording_history(
68
72
  recording_id: str = typer.Argument(..., help="media.recordings id."),
73
+ limit: int = typer.Option(100, "--limit", min=1, max=200, help="Maximum outcome rows."),
69
74
  ) -> None:
70
75
  """Show disposition plus recording-grain verdict outcomes for one recording."""
71
- _request(f"/v1/dashboard/egoexo/recordings/{recording_id}/history")
76
+ _request(
77
+ f"/v1/dashboard/egoexo/recordings/{recording_id}/history",
78
+ query_params=[f"limit={limit}"],
79
+ )
80
+
81
+
82
+ @app.command("batch-history")
83
+ def batch_history(
84
+ batch_id: str = typer.Argument(..., help="ingest.recording_batches id."),
85
+ limit: int = typer.Option(100, "--limit", min=1, max=200, help="Maximum outcome rows."),
86
+ ) -> None:
87
+ """Show disposition and batch-grain verdict outcomes for one batch."""
88
+ _request(
89
+ f"/v1/dashboard/egoexo/batches/{batch_id}/history",
90
+ query_params=[f"limit={limit}"],
91
+ )
92
+
93
+
94
+ @app.command("episode-history")
95
+ def episode_history(
96
+ episode_id: str = typer.Argument(..., help="media.episodes id."),
97
+ limit: int = typer.Option(100, "--limit", min=1, max=200, help="Maximum outcome rows."),
98
+ ) -> None:
99
+ """Show episode-grain verdict outcomes plus final dispositions."""
100
+ _request(
101
+ f"/v1/dashboard/egoexo/episodes/{episode_id}/verdict-history",
102
+ query_params=[f"limit={limit}"],
103
+ )
104
+
105
+
106
+ @app.command("events")
107
+ def events(
108
+ limit: int = typer.Option(50, "--limit", min=1, max=200, help="Maximum outcome rows."),
109
+ table_name: str | None = typer.Option(None, "--table", help="Outcome table filter."),
110
+ stage: str | None = typer.Option(None, "--stage", help="Stage filter."),
111
+ status: str | None = typer.Option(None, "--status", help="Status filter."),
112
+ reason: str | None = typer.Option(None, "--reason", help="Reason or failure-class filter."),
113
+ batch_id: str | None = typer.Option(None, "--batch-id", help="Batch id filter."),
114
+ episode_id: str | None = typer.Option(None, "--episode-id", help="Episode id filter."),
115
+ recording_id: str | None = typer.Option(None, "--recording-id", help="Recording id filter."),
116
+ ) -> None:
117
+ """Show a bounded verdict-plane event log for investigation."""
118
+ query_params = [f"limit={limit}"]
119
+ for key, value in [
120
+ ("table_name", table_name),
121
+ ("stage", stage),
122
+ ("status", status),
123
+ ("reason", reason),
124
+ ("batch_id", batch_id),
125
+ ("episode_id", episode_id),
126
+ ("recording_id", recording_id),
127
+ ]:
128
+ if value:
129
+ query_params.append(f"{key}={value}")
130
+ _request("/v1/dashboard/egoexo/verdict/events", query_params=query_params)
72
131
 
73
132
 
74
133
  @app.command("runtime-errors")
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "buildai-cli"
7
- version = "0.3.78"
7
+ version = "0.3.79"
8
8
  description = "Build AI CLI (Typer)"
9
9
  requires-python = ">=3.11"
10
10
  dependencies = [
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes