dailybot-cli 3.7.0__tar.gz → 3.7.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 (51) hide show
  1. {dailybot_cli-3.7.0 → dailybot_cli-3.7.2}/PKG-INFO +14 -14
  2. {dailybot_cli-3.7.0 → dailybot_cli-3.7.2}/README.md +13 -13
  3. {dailybot_cli-3.7.0 → dailybot_cli-3.7.2}/dailybot_cli/commands/kudos.py +2 -17
  4. {dailybot_cli-3.7.0 → dailybot_cli-3.7.2}/dailybot_cli/display.py +106 -0
  5. {dailybot_cli-3.7.0 → dailybot_cli-3.7.2}/dailybot_cli.egg-info/PKG-INFO +14 -14
  6. {dailybot_cli-3.7.0 → dailybot_cli-3.7.2}/pyproject.toml +1 -1
  7. {dailybot_cli-3.7.0 → dailybot_cli-3.7.2}/LICENSE +0 -0
  8. {dailybot_cli-3.7.0 → dailybot_cli-3.7.2}/dailybot_cli/__init__.py +0 -0
  9. {dailybot_cli-3.7.0 → dailybot_cli-3.7.2}/dailybot_cli/api_client.py +0 -0
  10. {dailybot_cli-3.7.0 → dailybot_cli-3.7.2}/dailybot_cli/commands/__init__.py +0 -0
  11. {dailybot_cli-3.7.0 → dailybot_cli-3.7.2}/dailybot_cli/commands/agent.py +0 -0
  12. {dailybot_cli-3.7.0 → dailybot_cli-3.7.2}/dailybot_cli/commands/ask.py +0 -0
  13. {dailybot_cli-3.7.0 → dailybot_cli-3.7.2}/dailybot_cli/commands/auth.py +0 -0
  14. {dailybot_cli-3.7.0 → dailybot_cli-3.7.2}/dailybot_cli/commands/authoring_helpers.py +0 -0
  15. {dailybot_cli-3.7.0 → dailybot_cli-3.7.2}/dailybot_cli/commands/channels.py +0 -0
  16. {dailybot_cli-3.7.0 → dailybot_cli-3.7.2}/dailybot_cli/commands/chat.py +0 -0
  17. {dailybot_cli-3.7.0 → dailybot_cli-3.7.2}/dailybot_cli/commands/checkin.py +0 -0
  18. {dailybot_cli-3.7.0 → dailybot_cli-3.7.2}/dailybot_cli/commands/config.py +0 -0
  19. {dailybot_cli-3.7.0 → dailybot_cli-3.7.2}/dailybot_cli/commands/conversation.py +0 -0
  20. {dailybot_cli-3.7.0 → dailybot_cli-3.7.2}/dailybot_cli/commands/env.py +0 -0
  21. {dailybot_cli-3.7.0 → dailybot_cli-3.7.2}/dailybot_cli/commands/form.py +0 -0
  22. {dailybot_cli-3.7.0 → dailybot_cli-3.7.2}/dailybot_cli/commands/hook.py +0 -0
  23. {dailybot_cli-3.7.0 → dailybot_cli-3.7.2}/dailybot_cli/commands/identity.py +0 -0
  24. {dailybot_cli-3.7.0 → dailybot_cli-3.7.2}/dailybot_cli/commands/interactive.py +0 -0
  25. {dailybot_cli-3.7.0 → dailybot_cli-3.7.2}/dailybot_cli/commands/interactive_chat.py +0 -0
  26. {dailybot_cli-3.7.0 → dailybot_cli-3.7.2}/dailybot_cli/commands/public_api_helpers.py +0 -0
  27. {dailybot_cli-3.7.0 → dailybot_cli-3.7.2}/dailybot_cli/commands/query_options.py +0 -0
  28. {dailybot_cli-3.7.0 → dailybot_cli-3.7.2}/dailybot_cli/commands/status.py +0 -0
  29. {dailybot_cli-3.7.0 → dailybot_cli-3.7.2}/dailybot_cli/commands/team.py +0 -0
  30. {dailybot_cli-3.7.0 → dailybot_cli-3.7.2}/dailybot_cli/commands/uninstall.py +0 -0
  31. {dailybot_cli-3.7.0 → dailybot_cli-3.7.2}/dailybot_cli/commands/update.py +0 -0
  32. {dailybot_cli-3.7.0 → dailybot_cli-3.7.2}/dailybot_cli/commands/upgrade.py +0 -0
  33. {dailybot_cli-3.7.0 → dailybot_cli-3.7.2}/dailybot_cli/commands/user.py +0 -0
  34. {dailybot_cli-3.7.0 → dailybot_cli-3.7.2}/dailybot_cli/commands/user_scoped_actions.py +0 -0
  35. {dailybot_cli-3.7.0 → dailybot_cli-3.7.2}/dailybot_cli/commands/version.py +0 -0
  36. {dailybot_cli-3.7.0 → dailybot_cli-3.7.2}/dailybot_cli/commands/workflow.py +0 -0
  37. {dailybot_cli-3.7.0 → dailybot_cli-3.7.2}/dailybot_cli/config.py +0 -0
  38. {dailybot_cli-3.7.0 → dailybot_cli-3.7.2}/dailybot_cli/install_method.py +0 -0
  39. {dailybot_cli-3.7.0 → dailybot_cli-3.7.2}/dailybot_cli/ledger.py +0 -0
  40. {dailybot_cli-3.7.0 → dailybot_cli-3.7.2}/dailybot_cli/main.py +0 -0
  41. {dailybot_cli-3.7.0 → dailybot_cli-3.7.2}/dailybot_cli/tui/__init__.py +0 -0
  42. {dailybot_cli-3.7.0 → dailybot_cli-3.7.2}/dailybot_cli/tui/app.py +0 -0
  43. {dailybot_cli-3.7.0 → dailybot_cli-3.7.2}/dailybot_cli/tui/commands.py +0 -0
  44. {dailybot_cli-3.7.0 → dailybot_cli-3.7.2}/dailybot_cli/tui/conversation.py +0 -0
  45. {dailybot_cli-3.7.0 → dailybot_cli-3.7.2}/dailybot_cli/tui/intents.py +0 -0
  46. {dailybot_cli-3.7.0 → dailybot_cli-3.7.2}/dailybot_cli.egg-info/SOURCES.txt +0 -0
  47. {dailybot_cli-3.7.0 → dailybot_cli-3.7.2}/dailybot_cli.egg-info/dependency_links.txt +0 -0
  48. {dailybot_cli-3.7.0 → dailybot_cli-3.7.2}/dailybot_cli.egg-info/entry_points.txt +0 -0
  49. {dailybot_cli-3.7.0 → dailybot_cli-3.7.2}/dailybot_cli.egg-info/requires.txt +0 -0
  50. {dailybot_cli-3.7.0 → dailybot_cli-3.7.2}/dailybot_cli.egg-info/top_level.txt +0 -0
  51. {dailybot_cli-3.7.0 → dailybot_cli-3.7.2}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: dailybot-cli
3
- Version: 3.7.0
3
+ Version: 3.7.2
4
4
  Summary: Dailybot CLI - The command-line bridge between humans and agents. Progress reports, observability, and workflow automation for modern teams across Slack, Google Chat, Discord, MS Teams, and more.
5
5
  Author-email: Dailybot <support@dailybot.com>
6
6
  License: MIT
@@ -56,8 +56,8 @@ exact release, or `>=` to set a **minimum floor** (installs the newest release a
56
56
  or above it):
57
57
 
58
58
  ```bash
59
- pip install dailybot-cli==3.0.0 # exactly 3.0.0
60
- pip install "dailybot-cli>=3.0.0" # 3.0.0 or newer — picks the latest available
59
+ pip install dailybot-cli==3.7.0 # exactly 3.7.0
60
+ pip install "dailybot-cli>=3.7.0" # 3.7.0 or newer — picks the latest available
61
61
  ```
62
62
 
63
63
  ### Alternative installation methods
@@ -66,8 +66,8 @@ Every method installs the **latest** release by default. Where a version can be
66
66
  pinned, the pinned form is shown right below the default one. Two pinning styles
67
67
  are supported everywhere `DAILYBOT_VERSION` / `--version` is accepted:
68
68
 
69
- - **Exact** — `3.0.0` (or `==3.0.0`) installs precisely that release.
70
- - **Minimum floor** — `>=3.0.0` installs the newest release at or above `3.0.0`,
69
+ - **Exact** — `3.7.0` (or `==3.7.0`) installs precisely that release.
70
+ - **Minimum floor** — `>=3.7.0` installs the newest release at or above `3.7.0`,
71
71
  so you get any later version automatically while guaranteeing a lower bound.
72
72
 
73
73
  **macOS (Homebrew)**
@@ -80,7 +80,7 @@ Homebrew always installs the latest published formula. To pin a specific
80
80
  version, install with pip instead:
81
81
 
82
82
  ```bash
83
- pip install dailybot-cli==3.0.0
83
+ pip install dailybot-cli==3.7.0
84
84
  ```
85
85
 
86
86
  **Linux, WSL2, or Git Bash on Windows (binary or pip fallback)**
@@ -95,13 +95,13 @@ accepts an exact version or a `>=` minimum floor:
95
95
 
96
96
  ```bash
97
97
  # exact version, environment variable
98
- curl -fsSL https://cli.dailybot.com/install.sh | DAILYBOT_VERSION=3.0.0 bash
98
+ curl -fsSL https://cli.dailybot.com/install.sh | DAILYBOT_VERSION=3.7.0 bash
99
99
 
100
100
  # exact version, equivalent flag (note the `-s --` that forwards args through bash)
101
- curl -fsSL https://cli.dailybot.com/install.sh | bash -s -- --version 3.0.0
101
+ curl -fsSL https://cli.dailybot.com/install.sh | bash -s -- --version 3.7.0
102
102
 
103
- # minimum floor — installs 3.0.0 or the newest release above it
104
- curl -fsSL https://cli.dailybot.com/install.sh | DAILYBOT_VERSION='>=3.0.0' bash
103
+ # minimum floor — installs 3.7.0 or the newest release above it
104
+ curl -fsSL https://cli.dailybot.com/install.sh | DAILYBOT_VERSION='>=3.7.0' bash
105
105
  ```
106
106
 
107
107
  An exact pin installs the matching Linux binary when one exists, otherwise falls
@@ -127,10 +127,10 @@ An exact version or a `>=` minimum floor both work:
127
127
 
128
128
  ```powershell
129
129
  # exact version
130
- $env:DAILYBOT_VERSION = '3.0.0'; irm https://cli.dailybot.com/install.ps1 | iex
130
+ $env:DAILYBOT_VERSION = '3.7.0'; irm https://cli.dailybot.com/install.ps1 | iex
131
131
 
132
- # minimum floor — installs 3.0.0 or the newest release above it
133
- $env:DAILYBOT_VERSION = '>=3.0.0'; irm https://cli.dailybot.com/install.ps1 | iex
132
+ # minimum floor — installs 3.7.0 or the newest release above it
133
+ $env:DAILYBOT_VERSION = '>=3.7.0'; irm https://cli.dailybot.com/install.ps1 | iex
134
134
  ```
135
135
 
136
136
  Requires Python 3.10+ on PATH. Wraps `pipx` / `uv tool` / `pip --user`.
@@ -145,7 +145,7 @@ The CLI exposes two ways to inspect what's installed — a quick one-liner for s
145
145
  ```bash
146
146
  # Single-line, scriptable
147
147
  dailybot --version
148
- # → dailybot 3.0.0 (Python 3.12.4)
148
+ # → dailybot 3.7.0 (Python 3.12.4)
149
149
 
150
150
  # Multi-line panel: version, Python runtime, install path, release notes link
151
151
  dailybot version
@@ -17,8 +17,8 @@ exact release, or `>=` to set a **minimum floor** (installs the newest release a
17
17
  or above it):
18
18
 
19
19
  ```bash
20
- pip install dailybot-cli==3.0.0 # exactly 3.0.0
21
- pip install "dailybot-cli>=3.0.0" # 3.0.0 or newer — picks the latest available
20
+ pip install dailybot-cli==3.7.0 # exactly 3.7.0
21
+ pip install "dailybot-cli>=3.7.0" # 3.7.0 or newer — picks the latest available
22
22
  ```
23
23
 
24
24
  ### Alternative installation methods
@@ -27,8 +27,8 @@ Every method installs the **latest** release by default. Where a version can be
27
27
  pinned, the pinned form is shown right below the default one. Two pinning styles
28
28
  are supported everywhere `DAILYBOT_VERSION` / `--version` is accepted:
29
29
 
30
- - **Exact** — `3.0.0` (or `==3.0.0`) installs precisely that release.
31
- - **Minimum floor** — `>=3.0.0` installs the newest release at or above `3.0.0`,
30
+ - **Exact** — `3.7.0` (or `==3.7.0`) installs precisely that release.
31
+ - **Minimum floor** — `>=3.7.0` installs the newest release at or above `3.7.0`,
32
32
  so you get any later version automatically while guaranteeing a lower bound.
33
33
 
34
34
  **macOS (Homebrew)**
@@ -41,7 +41,7 @@ Homebrew always installs the latest published formula. To pin a specific
41
41
  version, install with pip instead:
42
42
 
43
43
  ```bash
44
- pip install dailybot-cli==3.0.0
44
+ pip install dailybot-cli==3.7.0
45
45
  ```
46
46
 
47
47
  **Linux, WSL2, or Git Bash on Windows (binary or pip fallback)**
@@ -56,13 +56,13 @@ accepts an exact version or a `>=` minimum floor:
56
56
 
57
57
  ```bash
58
58
  # exact version, environment variable
59
- curl -fsSL https://cli.dailybot.com/install.sh | DAILYBOT_VERSION=3.0.0 bash
59
+ curl -fsSL https://cli.dailybot.com/install.sh | DAILYBOT_VERSION=3.7.0 bash
60
60
 
61
61
  # exact version, equivalent flag (note the `-s --` that forwards args through bash)
62
- curl -fsSL https://cli.dailybot.com/install.sh | bash -s -- --version 3.0.0
62
+ curl -fsSL https://cli.dailybot.com/install.sh | bash -s -- --version 3.7.0
63
63
 
64
- # minimum floor — installs 3.0.0 or the newest release above it
65
- curl -fsSL https://cli.dailybot.com/install.sh | DAILYBOT_VERSION='>=3.0.0' bash
64
+ # minimum floor — installs 3.7.0 or the newest release above it
65
+ curl -fsSL https://cli.dailybot.com/install.sh | DAILYBOT_VERSION='>=3.7.0' bash
66
66
  ```
67
67
 
68
68
  An exact pin installs the matching Linux binary when one exists, otherwise falls
@@ -88,10 +88,10 @@ An exact version or a `>=` minimum floor both work:
88
88
 
89
89
  ```powershell
90
90
  # exact version
91
- $env:DAILYBOT_VERSION = '3.0.0'; irm https://cli.dailybot.com/install.ps1 | iex
91
+ $env:DAILYBOT_VERSION = '3.7.0'; irm https://cli.dailybot.com/install.ps1 | iex
92
92
 
93
- # minimum floor — installs 3.0.0 or the newest release above it
94
- $env:DAILYBOT_VERSION = '>=3.0.0'; irm https://cli.dailybot.com/install.ps1 | iex
93
+ # minimum floor — installs 3.7.0 or the newest release above it
94
+ $env:DAILYBOT_VERSION = '>=3.7.0'; irm https://cli.dailybot.com/install.ps1 | iex
95
95
  ```
96
96
 
97
97
  Requires Python 3.10+ on PATH. Wraps `pipx` / `uv tool` / `pip --user`.
@@ -106,7 +106,7 @@ The CLI exposes two ways to inspect what's installed — a quick one-liner for s
106
106
  ```bash
107
107
  # Single-line, scriptable
108
108
  dailybot --version
109
- # → dailybot 3.0.0 (Python 3.12.4)
109
+ # → dailybot 3.7.0 (Python 3.12.4)
110
110
 
111
111
  # Multi-line panel: version, Python runtime, install path, release notes link
112
112
  dailybot version
@@ -20,10 +20,10 @@ from dailybot_cli.commands.public_api_helpers import (
20
20
  from dailybot_cli.commands.query_options import build_query_params, query_options, resolve_fetch_all
21
21
  from dailybot_cli.display import (
22
22
  console,
23
- print_detail_panel,
24
23
  print_error,
25
24
  print_kudos_result,
26
25
  print_kudos_table,
26
+ print_kudos_wall_of_fame,
27
27
  print_pagination_footer,
28
28
  )
29
29
 
@@ -394,19 +394,4 @@ def kudos_wall_of_fame(limit: int | None, json_mode: bool) -> None:
394
394
  if json_mode:
395
395
  emit_json(data)
396
396
  return
397
- leaderboard: Any = data.get("leaderboard") or []
398
- fields: list[tuple[str, str]] = [
399
- ("Top receiver", "top_receiver"),
400
- ("Top giver", "top_giver"),
401
- ("Leaderboard entries", "leaderboard_summary"),
402
- ]
403
- summary: dict[str, Any] = {
404
- "top_receiver": (data.get("top_receiver") or {}).get("full_name")
405
- if isinstance(data.get("top_receiver"), dict)
406
- else data.get("top_receiver"),
407
- "top_giver": (data.get("top_giver") or {}).get("full_name")
408
- if isinstance(data.get("top_giver"), dict)
409
- else data.get("top_giver"),
410
- "leaderboard_summary": len(leaderboard),
411
- }
412
- print_detail_panel("Kudos — Wall of Fame", summary, fields)
397
+ print_kudos_wall_of_fame(data)
@@ -64,6 +64,112 @@ def print_kudos_table(kudos: list[dict[str, Any]]) -> None:
64
64
  console.print(table)
65
65
 
66
66
 
67
+ def _kudos_person_name(entry: Any) -> str | None:
68
+ """Extract a display name from a wall-of-fame person entry.
69
+
70
+ The API nests the person under ``user`` (``{"user": {"full_name": ...},
71
+ "kudos_received": ...}``); a top-level ``full_name`` is accepted as a
72
+ fallback so partial payloads degrade to a dash instead of crashing.
73
+ """
74
+ if not isinstance(entry, dict):
75
+ return None
76
+ user: Any = entry.get("user")
77
+ if isinstance(user, dict) and user.get("full_name"):
78
+ return str(user["full_name"])
79
+ name: Any = entry.get("full_name")
80
+ return str(name) if name else None
81
+
82
+
83
+ def print_kudos_wall_of_fame(data: dict[str, Any]) -> None:
84
+ """Render the kudos wall of fame: top receiver/giver, caller position,
85
+ company-values distribution, and the ranked leaderboard.
86
+
87
+ ``GET /v1/kudos/wall-of-fame/`` returns ``top_receiver`` / ``top_giver``
88
+ with the person nested under ``user``, the leaderboard wrapped in a
89
+ ``{count, next, previous, results}`` envelope, and the caller's own
90
+ standing in ``leaderboard_summary`` (``{position, total}``).
91
+ """
92
+ top_receiver: Any = data.get("top_receiver")
93
+ top_giver: Any = data.get("top_giver")
94
+ receiver_name: str | None = _kudos_person_name(top_receiver)
95
+ giver_name: str | None = _kudos_person_name(top_giver)
96
+ if receiver_name and isinstance(top_receiver, dict):
97
+ received: Any = top_receiver.get("kudos_received")
98
+ if received is not None:
99
+ receiver_name = f"{receiver_name} ({received} received)"
100
+ if giver_name and isinstance(top_giver, dict):
101
+ given: Any = top_giver.get("kudos_given")
102
+ if given is not None:
103
+ giver_name = f"{giver_name} ({given} given)"
104
+
105
+ summary_raw: Any = data.get("leaderboard_summary")
106
+ position: str | None = None
107
+ if isinstance(summary_raw, dict) and summary_raw.get("position") is not None:
108
+ total_ranked: Any = summary_raw.get("total")
109
+ position = (
110
+ f"{summary_raw['position']} of {total_ranked}"
111
+ if total_ranked
112
+ else str(summary_raw["position"])
113
+ )
114
+
115
+ print_detail_panel(
116
+ "Kudos — Wall of Fame",
117
+ {"top_receiver": receiver_name, "top_giver": giver_name, "position": position},
118
+ [
119
+ ("Top receiver", "top_receiver"),
120
+ ("Top giver", "top_giver"),
121
+ ("Your position", "position"),
122
+ ],
123
+ )
124
+
125
+ dna: Any = data.get("dna_distribution")
126
+ if isinstance(dna, list) and dna:
127
+ dna_table: Table = Table(title="Company values (kudos DNA)")
128
+ dna_table.add_column("Value", style="cyan")
129
+ dna_table.add_column("Kudos", justify="right")
130
+ dna_table.add_column("%", justify="right", style="dim")
131
+ for item in dna:
132
+ value_raw: Any = item.get("company_value") if isinstance(item, dict) else None
133
+ value: dict[str, Any] = value_raw if isinstance(value_raw, dict) else {}
134
+ label: str = f"{value.get('emoji', '')} {value.get('value', '—')}".strip()
135
+ dna_table.add_row(label, str(item.get("count", "—")), str(item.get("percentage", "—")))
136
+ console.print(dna_table)
137
+
138
+ board_raw: Any = data.get("leaderboard")
139
+ if isinstance(board_raw, dict):
140
+ entries: list[Any] = list(board_raw.get("results") or [])
141
+ total: int | None = (
142
+ board_raw.get("count") if isinstance(board_raw.get("count"), int) else None
143
+ )
144
+ else:
145
+ entries = list(board_raw or [])
146
+ total = len(entries)
147
+ if not entries:
148
+ console.print("[dim]No leaderboard entries.[/dim]")
149
+ return
150
+ table: Table = Table(title="Leaderboard")
151
+ table.add_column("#", justify="right", style="dim")
152
+ table.add_column("Name", style="cyan")
153
+ table.add_column("Kudos", justify="right")
154
+ table.add_column("+Kudos", justify="right")
155
+ for entry in entries:
156
+ if not isinstance(entry, dict):
157
+ continue
158
+ table.add_row(
159
+ str(entry.get("position", "—")),
160
+ _kudos_person_name(entry) or "—",
161
+ str(entry.get("score", "—")),
162
+ str(entry.get("total_plus_kudos", "—")),
163
+ )
164
+ console.print(table)
165
+ print_pagination_footer(
166
+ len(entries),
167
+ total,
168
+ has_more=total is not None and total > len(entries),
169
+ more_hint="raise --limit to fetch more",
170
+ )
171
+
172
+
67
173
  def print_workflows_table(workflows: list[dict[str, Any]]) -> None:
68
174
  """Render a compact table of workflows (name, trigger, active, runs)."""
69
175
  if not workflows:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: dailybot-cli
3
- Version: 3.7.0
3
+ Version: 3.7.2
4
4
  Summary: Dailybot CLI - The command-line bridge between humans and agents. Progress reports, observability, and workflow automation for modern teams across Slack, Google Chat, Discord, MS Teams, and more.
5
5
  Author-email: Dailybot <support@dailybot.com>
6
6
  License: MIT
@@ -56,8 +56,8 @@ exact release, or `>=` to set a **minimum floor** (installs the newest release a
56
56
  or above it):
57
57
 
58
58
  ```bash
59
- pip install dailybot-cli==3.0.0 # exactly 3.0.0
60
- pip install "dailybot-cli>=3.0.0" # 3.0.0 or newer — picks the latest available
59
+ pip install dailybot-cli==3.7.0 # exactly 3.7.0
60
+ pip install "dailybot-cli>=3.7.0" # 3.7.0 or newer — picks the latest available
61
61
  ```
62
62
 
63
63
  ### Alternative installation methods
@@ -66,8 +66,8 @@ Every method installs the **latest** release by default. Where a version can be
66
66
  pinned, the pinned form is shown right below the default one. Two pinning styles
67
67
  are supported everywhere `DAILYBOT_VERSION` / `--version` is accepted:
68
68
 
69
- - **Exact** — `3.0.0` (or `==3.0.0`) installs precisely that release.
70
- - **Minimum floor** — `>=3.0.0` installs the newest release at or above `3.0.0`,
69
+ - **Exact** — `3.7.0` (or `==3.7.0`) installs precisely that release.
70
+ - **Minimum floor** — `>=3.7.0` installs the newest release at or above `3.7.0`,
71
71
  so you get any later version automatically while guaranteeing a lower bound.
72
72
 
73
73
  **macOS (Homebrew)**
@@ -80,7 +80,7 @@ Homebrew always installs the latest published formula. To pin a specific
80
80
  version, install with pip instead:
81
81
 
82
82
  ```bash
83
- pip install dailybot-cli==3.0.0
83
+ pip install dailybot-cli==3.7.0
84
84
  ```
85
85
 
86
86
  **Linux, WSL2, or Git Bash on Windows (binary or pip fallback)**
@@ -95,13 +95,13 @@ accepts an exact version or a `>=` minimum floor:
95
95
 
96
96
  ```bash
97
97
  # exact version, environment variable
98
- curl -fsSL https://cli.dailybot.com/install.sh | DAILYBOT_VERSION=3.0.0 bash
98
+ curl -fsSL https://cli.dailybot.com/install.sh | DAILYBOT_VERSION=3.7.0 bash
99
99
 
100
100
  # exact version, equivalent flag (note the `-s --` that forwards args through bash)
101
- curl -fsSL https://cli.dailybot.com/install.sh | bash -s -- --version 3.0.0
101
+ curl -fsSL https://cli.dailybot.com/install.sh | bash -s -- --version 3.7.0
102
102
 
103
- # minimum floor — installs 3.0.0 or the newest release above it
104
- curl -fsSL https://cli.dailybot.com/install.sh | DAILYBOT_VERSION='>=3.0.0' bash
103
+ # minimum floor — installs 3.7.0 or the newest release above it
104
+ curl -fsSL https://cli.dailybot.com/install.sh | DAILYBOT_VERSION='>=3.7.0' bash
105
105
  ```
106
106
 
107
107
  An exact pin installs the matching Linux binary when one exists, otherwise falls
@@ -127,10 +127,10 @@ An exact version or a `>=` minimum floor both work:
127
127
 
128
128
  ```powershell
129
129
  # exact version
130
- $env:DAILYBOT_VERSION = '3.0.0'; irm https://cli.dailybot.com/install.ps1 | iex
130
+ $env:DAILYBOT_VERSION = '3.7.0'; irm https://cli.dailybot.com/install.ps1 | iex
131
131
 
132
- # minimum floor — installs 3.0.0 or the newest release above it
133
- $env:DAILYBOT_VERSION = '>=3.0.0'; irm https://cli.dailybot.com/install.ps1 | iex
132
+ # minimum floor — installs 3.7.0 or the newest release above it
133
+ $env:DAILYBOT_VERSION = '>=3.7.0'; irm https://cli.dailybot.com/install.ps1 | iex
134
134
  ```
135
135
 
136
136
  Requires Python 3.10+ on PATH. Wraps `pipx` / `uv tool` / `pip --user`.
@@ -145,7 +145,7 @@ The CLI exposes two ways to inspect what's installed — a quick one-liner for s
145
145
  ```bash
146
146
  # Single-line, scriptable
147
147
  dailybot --version
148
- # → dailybot 3.0.0 (Python 3.12.4)
148
+ # → dailybot 3.7.0 (Python 3.12.4)
149
149
 
150
150
  # Multi-line panel: version, Python runtime, install path, release notes link
151
151
  dailybot version
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "dailybot-cli"
7
- version = "3.7.0"
7
+ version = "3.7.2"
8
8
  description = "Dailybot CLI - The command-line bridge between humans and agents. Progress reports, observability, and workflow automation for modern teams across Slack, Google Chat, Discord, MS Teams, and more."
9
9
  readme = "README.md"
10
10
  license = {text = "MIT"}
File without changes
File without changes