buildai-cli 0.3.97__tar.gz → 0.3.99__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 (43) hide show
  1. {buildai_cli-0.3.97 → buildai_cli-0.3.99}/PKG-INFO +1 -1
  2. {buildai_cli-0.3.97 → buildai_cli-0.3.99}/cli/commands/ego_frame_search.py +35 -4
  3. {buildai_cli-0.3.97 → buildai_cli-0.3.99}/pyproject.toml +1 -1
  4. {buildai_cli-0.3.97 → buildai_cli-0.3.99}/.gitignore +0 -0
  5. {buildai_cli-0.3.97 → buildai_cli-0.3.99}/AGENTS.md +0 -0
  6. {buildai_cli-0.3.97 → buildai_cli-0.3.99}/CLAUDE.md +0 -0
  7. {buildai_cli-0.3.97 → buildai_cli-0.3.99}/buildai_bootstrap.py +0 -0
  8. {buildai_cli-0.3.97 → buildai_cli-0.3.99}/cli/__init__.py +0 -0
  9. {buildai_cli-0.3.97 → buildai_cli-0.3.99}/cli/_has_core.py +0 -0
  10. {buildai_cli-0.3.97 → buildai_cli-0.3.99}/cli/auth_local.py +0 -0
  11. {buildai_cli-0.3.97 → buildai_cli-0.3.99}/cli/commands/__init__.py +0 -0
  12. {buildai_cli-0.3.97 → buildai_cli-0.3.99}/cli/commands/api_proxy.py +0 -0
  13. {buildai_cli-0.3.97 → buildai_cli-0.3.99}/cli/commands/auth.py +0 -0
  14. {buildai_cli-0.3.97 → buildai_cli-0.3.99}/cli/commands/db/__init__.py +0 -0
  15. {buildai_cli-0.3.97 → buildai_cli-0.3.99}/cli/commands/db/broker.py +0 -0
  16. {buildai_cli-0.3.97 → buildai_cli-0.3.99}/cli/commands/db/common.py +0 -0
  17. {buildai_cli-0.3.97 → buildai_cli-0.3.99}/cli/commands/db/migrate.py +0 -0
  18. {buildai_cli-0.3.97 → buildai_cli-0.3.99}/cli/commands/db/query.py +0 -0
  19. {buildai_cli-0.3.97 → buildai_cli-0.3.99}/cli/commands/db/schema.py +0 -0
  20. {buildai_cli-0.3.97 → buildai_cli-0.3.99}/cli/commands/db/status.py +0 -0
  21. {buildai_cli-0.3.97 → buildai_cli-0.3.99}/cli/commands/db/tunnel.py +0 -0
  22. {buildai_cli-0.3.97 → buildai_cli-0.3.99}/cli/commands/dev.py +0 -0
  23. {buildai_cli-0.3.97 → buildai_cli-0.3.99}/cli/commands/doctor.py +0 -0
  24. {buildai_cli-0.3.97 → buildai_cli-0.3.99}/cli/commands/egoexo.py +0 -0
  25. {buildai_cli-0.3.97 → buildai_cli-0.3.99}/cli/commands/gigcamera.py +0 -0
  26. {buildai_cli-0.3.97 → buildai_cli-0.3.99}/cli/commands/grid.py +0 -0
  27. {buildai_cli-0.3.97 → buildai_cli-0.3.99}/cli/commands/ingest.py +0 -0
  28. {buildai_cli-0.3.97 → buildai_cli-0.3.99}/cli/commands/ingest_docs.py +0 -0
  29. {buildai_cli-0.3.97 → buildai_cli-0.3.99}/cli/commands/processing.py +0 -0
  30. {buildai_cli-0.3.97 → buildai_cli-0.3.99}/cli/commands/spec.py +0 -0
  31. {buildai_cli-0.3.97 → buildai_cli-0.3.99}/cli/commands/spec_pr.py +0 -0
  32. {buildai_cli-0.3.97 → buildai_cli-0.3.99}/cli/config.py +0 -0
  33. {buildai_cli-0.3.97 → buildai_cli-0.3.99}/cli/console.py +0 -0
  34. {buildai_cli-0.3.97 → buildai_cli-0.3.99}/cli/context.py +0 -0
  35. {buildai_cli-0.3.97 → buildai_cli-0.3.99}/cli/db_broker.py +0 -0
  36. {buildai_cli-0.3.97 → buildai_cli-0.3.99}/cli/guard.py +0 -0
  37. {buildai_cli-0.3.97 → buildai_cli-0.3.99}/cli/internal_api.py +0 -0
  38. {buildai_cli-0.3.97 → buildai_cli-0.3.99}/cli/main.py +0 -0
  39. {buildai_cli-0.3.97 → buildai_cli-0.3.99}/cli/nl_query/__init__.py +0 -0
  40. {buildai_cli-0.3.97 → buildai_cli-0.3.99}/cli/nl_query/dataset_tools.py +0 -0
  41. {buildai_cli-0.3.97 → buildai_cli-0.3.99}/cli/ops_init.py +0 -0
  42. {buildai_cli-0.3.97 → buildai_cli-0.3.99}/cli/output.py +0 -0
  43. {buildai_cli-0.3.97 → buildai_cli-0.3.99}/cli/pagination.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: buildai-cli
3
- Version: 0.3.97
3
+ Version: 0.3.99
4
4
  Summary: Build AI CLI (Typer)
5
5
  Requires-Python: >=3.11
6
6
  Requires-Dist: httpx>=0.27.0
@@ -30,6 +30,7 @@ _LABEL_SEARCH_CREDENTIAL_SECRET_REF = (
30
30
  )
31
31
  _INDEX_QWEN_EGO_SPACE_KEY = "qwen.frame.collection.india-2026.default"
32
32
  _DEMIAN_LABEL_TEXT_SPACE_KEY = "gemini.text.demian_frame_label.default"
33
+ _DEFAULT_DEMIAN_LABEL_PROMPT_VERSION = "demian-frame-label-v2"
33
34
  _EXPECTED_PROCESSOR_REFS_BY_STAGE = {
34
35
  "sample_near_90s_frame": "extract_frames@1.0.0",
35
36
  "embed_qwen_frame": "embed_frames@1.0.0",
@@ -1126,7 +1127,7 @@ def coverage(
1126
1127
  observation_kind: str = typer.Option("demian_frame_label_v1", "--observation-kind"),
1127
1128
  label_model_id: str = typer.Option("demian-v1", "--label-model-id"),
1128
1129
  label_prompt_version: str = typer.Option(
1129
- "demian-frame-label-v1",
1130
+ _DEFAULT_DEMIAN_LABEL_PROMPT_VERSION,
1130
1131
  "--label-prompt-version",
1131
1132
  ),
1132
1133
  model_config_hash: str | None = typer.Option(None, "--model-config-hash"),
@@ -1233,7 +1234,7 @@ def missing_demian_labels(
1233
1234
  observation_kind: str = typer.Option("demian_frame_label_v1", "--observation-kind"),
1234
1235
  label_model_id: str = typer.Option("demian-v1", "--label-model-id"),
1235
1236
  label_prompt_version: str = typer.Option(
1236
- "demian-frame-label-v1",
1237
+ _DEFAULT_DEMIAN_LABEL_PROMPT_VERSION,
1237
1238
  "--label-prompt-version",
1238
1239
  ),
1239
1240
  model_config_hash: str | None = typer.Option(None, "--model-config-hash"),
@@ -1292,7 +1293,7 @@ def queue_missing_label_text_embeddings(
1292
1293
  observation_kind: str = typer.Option("demian_frame_label_v1", "--observation-kind"),
1293
1294
  label_model_id: str = typer.Option("demian-v1", "--label-model-id"),
1294
1295
  label_prompt_version: str = typer.Option(
1295
- "demian-frame-label-v1",
1296
+ _DEFAULT_DEMIAN_LABEL_PROMPT_VERSION,
1296
1297
  "--label-prompt-version",
1297
1298
  ),
1298
1299
  model_config_hash: str | None = typer.Option(None, "--model-config-hash"),
@@ -1713,6 +1714,17 @@ def queue_missing_sampled_frames(
1713
1714
  min=1,
1714
1715
  help="Require selected source videos to be larger than this byte count.",
1715
1716
  ),
1717
+ cursor_after_clip_id: UUID | None = typer.Option(
1718
+ None,
1719
+ "--cursor-after-clip-id",
1720
+ help="Only select clips with ids greater than this cursor, ordered by clip id.",
1721
+ ),
1722
+ chunk_size: int | None = typer.Option(
1723
+ None,
1724
+ "--chunk-size",
1725
+ min=1,
1726
+ help="Override manifest batch size. Larger chunks reduce DB batch churn.",
1727
+ ),
1716
1728
  num_frames: int | None = typer.Option(
1717
1729
  1,
1718
1730
  "--num-frames",
@@ -1775,6 +1787,10 @@ def queue_missing_sampled_frames(
1775
1787
  selection_spec["required_asset_uri_prefixes"] = required_asset_uri_prefix
1776
1788
  if min_source_video_size_bytes is not None:
1777
1789
  selection_spec["min_source_video_size_bytes"] = min_source_video_size_bytes
1790
+ if cursor_after_clip_id is not None:
1791
+ selection_spec["cursor_after_clip_id"] = str(cursor_after_clip_id)
1792
+ if chunk_size is not None:
1793
+ selection_spec["chunk_size"] = chunk_size
1778
1794
  if num_frames is not None:
1779
1795
  selection_spec["num_frames"] = num_frames
1780
1796
  if single_frame_index is not None:
@@ -1819,6 +1835,17 @@ def queue_bucket_missing_sampled_frames(
1819
1835
  min=1,
1820
1836
  help="Require selected source videos to be larger than this byte count.",
1821
1837
  ),
1838
+ cursor_after_clip_id: UUID | None = typer.Option(
1839
+ None,
1840
+ "--cursor-after-clip-id",
1841
+ help="Only select clips with ids greater than this cursor, ordered by clip id.",
1842
+ ),
1843
+ chunk_size: int | None = typer.Option(
1844
+ None,
1845
+ "--chunk-size",
1846
+ min=1,
1847
+ help="Override manifest batch size. Larger chunks reduce DB batch churn.",
1848
+ ),
1822
1849
  num_frames: int | None = typer.Option(
1823
1850
  1,
1824
1851
  "--num-frames",
@@ -1867,6 +1894,10 @@ def queue_bucket_missing_sampled_frames(
1867
1894
  }
1868
1895
  if min_source_video_size_bytes is not None:
1869
1896
  selection_spec["min_source_video_size_bytes"] = min_source_video_size_bytes
1897
+ if cursor_after_clip_id is not None:
1898
+ selection_spec["cursor_after_clip_id"] = str(cursor_after_clip_id)
1899
+ if chunk_size is not None:
1900
+ selection_spec["chunk_size"] = chunk_size
1870
1901
  if num_frames is not None:
1871
1902
  selection_spec["num_frames"] = num_frames
1872
1903
  if single_frame_index is not None:
@@ -1906,7 +1937,7 @@ def queue_missing_demian_labels(
1906
1937
  observation_kind: str = typer.Option("demian_frame_label_v1", "--observation-kind"),
1907
1938
  label_model_id: str = typer.Option("demian-v1", "--label-model-id"),
1908
1939
  label_prompt_version: str = typer.Option(
1909
- "demian-frame-label-v1",
1940
+ _DEFAULT_DEMIAN_LABEL_PROMPT_VERSION,
1910
1941
  "--label-prompt-version",
1911
1942
  ),
1912
1943
  model_config_hash: str | None = typer.Option(None, "--model-config-hash"),
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "buildai-cli"
7
- version = "0.3.97"
7
+ version = "0.3.99"
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