dailybot-cli 3.14.0__tar.gz → 3.14.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.
- {dailybot_cli-3.14.0 → dailybot_cli-3.14.2}/PKG-INFO +2 -2
- {dailybot_cli-3.14.0 → dailybot_cli-3.14.2}/README.md +1 -1
- {dailybot_cli-3.14.0 → dailybot_cli-3.14.2}/dailybot_cli/api_client.py +9 -1
- {dailybot_cli-3.14.0 → dailybot_cli-3.14.2}/dailybot_cli/commands/board.py +23 -4
- {dailybot_cli-3.14.0 → dailybot_cli-3.14.2}/dailybot_cli/commands/public_api_helpers.py +1 -1
- {dailybot_cli-3.14.0 → dailybot_cli-3.14.2}/dailybot_cli.egg-info/PKG-INFO +2 -2
- {dailybot_cli-3.14.0 → dailybot_cli-3.14.2}/pyproject.toml +1 -1
- {dailybot_cli-3.14.0 → dailybot_cli-3.14.2}/LICENSE +0 -0
- {dailybot_cli-3.14.0 → dailybot_cli-3.14.2}/dailybot_cli/__init__.py +0 -0
- {dailybot_cli-3.14.0 → dailybot_cli-3.14.2}/dailybot_cli/commands/__init__.py +0 -0
- {dailybot_cli-3.14.0 → dailybot_cli-3.14.2}/dailybot_cli/commands/_attachments.py +0 -0
- {dailybot_cli-3.14.0 → dailybot_cli-3.14.2}/dailybot_cli/commands/_beta.py +0 -0
- {dailybot_cli-3.14.0 → dailybot_cli-3.14.2}/dailybot_cli/commands/_destructive.py +0 -0
- {dailybot_cli-3.14.0 → dailybot_cli-3.14.2}/dailybot_cli/commands/_favorites.py +0 -0
- {dailybot_cli-3.14.0 → dailybot_cli-3.14.2}/dailybot_cli/commands/_rollups.py +0 -0
- {dailybot_cli-3.14.0 → dailybot_cli-3.14.2}/dailybot_cli/commands/_writes.py +0 -0
- {dailybot_cli-3.14.0 → dailybot_cli-3.14.2}/dailybot_cli/commands/agent.py +0 -0
- {dailybot_cli-3.14.0 → dailybot_cli-3.14.2}/dailybot_cli/commands/ask.py +0 -0
- {dailybot_cli-3.14.0 → dailybot_cli-3.14.2}/dailybot_cli/commands/auth.py +0 -0
- {dailybot_cli-3.14.0 → dailybot_cli-3.14.2}/dailybot_cli/commands/authoring_helpers.py +0 -0
- {dailybot_cli-3.14.0 → dailybot_cli-3.14.2}/dailybot_cli/commands/channels.py +0 -0
- {dailybot_cli-3.14.0 → dailybot_cli-3.14.2}/dailybot_cli/commands/chat.py +0 -0
- {dailybot_cli-3.14.0 → dailybot_cli-3.14.2}/dailybot_cli/commands/checkin.py +0 -0
- {dailybot_cli-3.14.0 → dailybot_cli-3.14.2}/dailybot_cli/commands/config.py +0 -0
- {dailybot_cli-3.14.0 → dailybot_cli-3.14.2}/dailybot_cli/commands/conversation.py +0 -0
- {dailybot_cli-3.14.0 → dailybot_cli-3.14.2}/dailybot_cli/commands/env.py +0 -0
- {dailybot_cli-3.14.0 → dailybot_cli-3.14.2}/dailybot_cli/commands/featured.py +0 -0
- {dailybot_cli-3.14.0 → dailybot_cli-3.14.2}/dailybot_cli/commands/form.py +0 -0
- {dailybot_cli-3.14.0 → dailybot_cli-3.14.2}/dailybot_cli/commands/goal.py +0 -0
- {dailybot_cli-3.14.0 → dailybot_cli-3.14.2}/dailybot_cli/commands/hook.py +0 -0
- {dailybot_cli-3.14.0 → dailybot_cli-3.14.2}/dailybot_cli/commands/identity.py +0 -0
- {dailybot_cli-3.14.0 → dailybot_cli-3.14.2}/dailybot_cli/commands/interactive.py +0 -0
- {dailybot_cli-3.14.0 → dailybot_cli-3.14.2}/dailybot_cli/commands/interactive_chat.py +0 -0
- {dailybot_cli-3.14.0 → dailybot_cli-3.14.2}/dailybot_cli/commands/kudos.py +0 -0
- {dailybot_cli-3.14.0 → dailybot_cli-3.14.2}/dailybot_cli/commands/label.py +0 -0
- {dailybot_cli-3.14.0 → dailybot_cli-3.14.2}/dailybot_cli/commands/project.py +0 -0
- {dailybot_cli-3.14.0 → dailybot_cli-3.14.2}/dailybot_cli/commands/query_options.py +0 -0
- {dailybot_cli-3.14.0 → dailybot_cli-3.14.2}/dailybot_cli/commands/status.py +0 -0
- {dailybot_cli-3.14.0 → dailybot_cli-3.14.2}/dailybot_cli/commands/task.py +0 -0
- {dailybot_cli-3.14.0 → dailybot_cli-3.14.2}/dailybot_cli/commands/tasks.py +0 -0
- {dailybot_cli-3.14.0 → dailybot_cli-3.14.2}/dailybot_cli/commands/team.py +0 -0
- {dailybot_cli-3.14.0 → dailybot_cli-3.14.2}/dailybot_cli/commands/uninstall.py +0 -0
- {dailybot_cli-3.14.0 → dailybot_cli-3.14.2}/dailybot_cli/commands/update.py +0 -0
- {dailybot_cli-3.14.0 → dailybot_cli-3.14.2}/dailybot_cli/commands/upgrade.py +0 -0
- {dailybot_cli-3.14.0 → dailybot_cli-3.14.2}/dailybot_cli/commands/user.py +0 -0
- {dailybot_cli-3.14.0 → dailybot_cli-3.14.2}/dailybot_cli/commands/user_scoped_actions.py +0 -0
- {dailybot_cli-3.14.0 → dailybot_cli-3.14.2}/dailybot_cli/commands/version.py +0 -0
- {dailybot_cli-3.14.0 → dailybot_cli-3.14.2}/dailybot_cli/commands/workflow.py +0 -0
- {dailybot_cli-3.14.0 → dailybot_cli-3.14.2}/dailybot_cli/config.py +0 -0
- {dailybot_cli-3.14.0 → dailybot_cli-3.14.2}/dailybot_cli/display.py +0 -0
- {dailybot_cli-3.14.0 → dailybot_cli-3.14.2}/dailybot_cli/install_method.py +0 -0
- {dailybot_cli-3.14.0 → dailybot_cli-3.14.2}/dailybot_cli/ledger.py +0 -0
- {dailybot_cli-3.14.0 → dailybot_cli-3.14.2}/dailybot_cli/main.py +0 -0
- {dailybot_cli-3.14.0 → dailybot_cli-3.14.2}/dailybot_cli/tui/__init__.py +0 -0
- {dailybot_cli-3.14.0 → dailybot_cli-3.14.2}/dailybot_cli/tui/app.py +0 -0
- {dailybot_cli-3.14.0 → dailybot_cli-3.14.2}/dailybot_cli/tui/commands.py +0 -0
- {dailybot_cli-3.14.0 → dailybot_cli-3.14.2}/dailybot_cli/tui/conversation.py +0 -0
- {dailybot_cli-3.14.0 → dailybot_cli-3.14.2}/dailybot_cli/tui/intents.py +0 -0
- {dailybot_cli-3.14.0 → dailybot_cli-3.14.2}/dailybot_cli.egg-info/SOURCES.txt +0 -0
- {dailybot_cli-3.14.0 → dailybot_cli-3.14.2}/dailybot_cli.egg-info/dependency_links.txt +0 -0
- {dailybot_cli-3.14.0 → dailybot_cli-3.14.2}/dailybot_cli.egg-info/entry_points.txt +0 -0
- {dailybot_cli-3.14.0 → dailybot_cli-3.14.2}/dailybot_cli.egg-info/requires.txt +0 -0
- {dailybot_cli-3.14.0 → dailybot_cli-3.14.2}/dailybot_cli.egg-info/top_level.txt +0 -0
- {dailybot_cli-3.14.0 → dailybot_cli-3.14.2}/setup.cfg +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: dailybot-cli
|
|
3
|
-
Version: 3.14.
|
|
3
|
+
Version: 3.14.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
|
|
@@ -969,7 +969,7 @@ humans who own them.
|
|
|
969
969
|
| `dailybot board view save <board> -f views.json --if-match <etag>` | Replace your saved views (the whole list) — **needs `dailybot login`** |
|
|
970
970
|
| `dailybot board snapshot <uuid>` | The whole board in one request; carries the `delta_cursor` that `tasks changes` consumes |
|
|
971
971
|
| `dailybot board update <uuid>` | Name, key (the old key stays reserved), visibility, estimate scale, auto-archive, project |
|
|
972
|
-
| `dailybot board create --name <n>` | Create a board — **needs `dailybot login
|
|
972
|
+
| `dailybot board create --name <n> --project <uuid> --key <KEY>` | Create a board in a project; the key prefixes its tasks (`DSN-1`) — **needs `dailybot login` as an admin** |
|
|
973
973
|
| `dailybot board archive <uuid>` | Archive a board. **Cascade-archives its live tasks**, and restoring does not bring them back |
|
|
974
974
|
| `dailybot board restore <uuid>` | Restore a board (cascaded tasks stay archived) |
|
|
975
975
|
| `dailybot project list` | List projects (`--include progress`) |
|
|
@@ -930,7 +930,7 @@ humans who own them.
|
|
|
930
930
|
| `dailybot board view save <board> -f views.json --if-match <etag>` | Replace your saved views (the whole list) — **needs `dailybot login`** |
|
|
931
931
|
| `dailybot board snapshot <uuid>` | The whole board in one request; carries the `delta_cursor` that `tasks changes` consumes |
|
|
932
932
|
| `dailybot board update <uuid>` | Name, key (the old key stays reserved), visibility, estimate scale, auto-archive, project |
|
|
933
|
-
| `dailybot board create --name <n>` | Create a board — **needs `dailybot login
|
|
933
|
+
| `dailybot board create --name <n> --project <uuid> --key <KEY>` | Create a board in a project; the key prefixes its tasks (`DSN-1`) — **needs `dailybot login` as an admin** |
|
|
934
934
|
| `dailybot board archive <uuid>` | Archive a board. **Cascade-archives its live tasks**, and restoring does not bring them back |
|
|
935
935
|
| `dailybot board restore <uuid>` | Restore a board (cascaded tasks stay archived) |
|
|
936
936
|
| `dailybot project list` | List projects (`--include progress`) |
|
|
@@ -2947,7 +2947,15 @@ class DailyBotClient:
|
|
|
2947
2947
|
extra_headers=headers,
|
|
2948
2948
|
timeout=ATTACHMENT_TRANSFER_TIMEOUT_SECS,
|
|
2949
2949
|
)
|
|
2950
|
-
if response_same.status_code
|
|
2950
|
+
if 300 <= response_same.status_code < 400:
|
|
2951
|
+
# Same rule as the storage branch: an upload is never re-sent anywhere,
|
|
2952
|
+
# and a redirect is not an acceptance, so nothing gets confirmed.
|
|
2953
|
+
raise APIError(
|
|
2954
|
+
response_same.status_code,
|
|
2955
|
+
"The upload target answered with a redirect; it was not followed.",
|
|
2956
|
+
code="attachment_upload_redirected",
|
|
2957
|
+
)
|
|
2958
|
+
if response_same.status_code >= 400:
|
|
2951
2959
|
return self._handle_response(response_same)
|
|
2952
2960
|
# Accepted. Like the storage branch, an empty or non-JSON 2xx is success.
|
|
2953
2961
|
try:
|
|
@@ -989,12 +989,29 @@ def _require_person_for_admin(action: str, *, json_mode: bool) -> None:
|
|
|
989
989
|
# Boards have no description field (BoardWrite declares none), so the flag the CLI
|
|
990
990
|
# once offered could only earn a 400. It stays, hidden, to refuse with the reason.
|
|
991
991
|
@click.option("-d", "--description", default=None, hidden=True)
|
|
992
|
+
@click.option(
|
|
993
|
+
"--project",
|
|
994
|
+
"project_uuid",
|
|
995
|
+
required=True,
|
|
996
|
+
help="The project the board belongs to (uuid).",
|
|
997
|
+
)
|
|
998
|
+
@click.option(
|
|
999
|
+
"--key",
|
|
1000
|
+
"board_key",
|
|
1001
|
+
required=True,
|
|
1002
|
+
help="The board's key prefix, e.g. DSN, so its tasks read DSN-1, DSN-2…",
|
|
1003
|
+
)
|
|
992
1004
|
@click.option("--idempotency-key", default=None, help="Reuse a key to make a retry safe.")
|
|
993
1005
|
@click.option("--json", "json_mode", is_flag=True, help="Emit machine-readable JSON to stdout.")
|
|
994
1006
|
def board_create(
|
|
995
|
-
name: str,
|
|
1007
|
+
name: str,
|
|
1008
|
+
description: str | None,
|
|
1009
|
+
project_uuid: str,
|
|
1010
|
+
board_key: str,
|
|
1011
|
+
idempotency_key: str | None,
|
|
1012
|
+
json_mode: bool,
|
|
996
1013
|
) -> None:
|
|
997
|
-
"""Create a board. Needs a signed-in
|
|
1014
|
+
"""Create a board in a project. Needs a signed-in organization admin.
|
|
998
1015
|
|
|
999
1016
|
\b
|
|
1000
1017
|
An organization API key cannot do this: the `tasks:admin` scope it requires can
|
|
@@ -1002,7 +1019,7 @@ def board_create(
|
|
|
1002
1019
|
|
|
1003
1020
|
\b
|
|
1004
1021
|
Examples:
|
|
1005
|
-
dailybot board create --name "Design"
|
|
1022
|
+
dailybot board create --name "Design" --project <project-uuid> --key DSN
|
|
1006
1023
|
"""
|
|
1007
1024
|
if description is not None:
|
|
1008
1025
|
raise click.UsageError(
|
|
@@ -1013,7 +1030,9 @@ def board_create(
|
|
|
1013
1030
|
client = require_auth()
|
|
1014
1031
|
try:
|
|
1015
1032
|
with console.status("Creating the board..."):
|
|
1016
|
-
data: dict[str, Any] = client.create_board(
|
|
1033
|
+
data: dict[str, Any] = client.create_board(
|
|
1034
|
+
name=name, project=project_uuid, key=board_key, idempotency_key=idempotency_key
|
|
1035
|
+
)
|
|
1017
1036
|
except APIError as exc:
|
|
1018
1037
|
exit_for_tasks_error(exc, json_mode)
|
|
1019
1038
|
if json_mode:
|
|
@@ -131,7 +131,7 @@ ERROR_CODE_MESSAGES: dict[str, str] = {
|
|
|
131
131
|
"now. Nothing was uploaded; try again later or attach from the web app."
|
|
132
132
|
),
|
|
133
133
|
"attachment_upload_redirected": (
|
|
134
|
-
"The
|
|
134
|
+
"The upload target answered with a redirect, which this CLI never follows for an "
|
|
135
135
|
"upload. Nothing was confirmed; run the command again for a fresh upload target."
|
|
136
136
|
),
|
|
137
137
|
"attachment_upload_target_refused": (
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: dailybot-cli
|
|
3
|
-
Version: 3.14.
|
|
3
|
+
Version: 3.14.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
|
|
@@ -969,7 +969,7 @@ humans who own them.
|
|
|
969
969
|
| `dailybot board view save <board> -f views.json --if-match <etag>` | Replace your saved views (the whole list) — **needs `dailybot login`** |
|
|
970
970
|
| `dailybot board snapshot <uuid>` | The whole board in one request; carries the `delta_cursor` that `tasks changes` consumes |
|
|
971
971
|
| `dailybot board update <uuid>` | Name, key (the old key stays reserved), visibility, estimate scale, auto-archive, project |
|
|
972
|
-
| `dailybot board create --name <n>` | Create a board — **needs `dailybot login
|
|
972
|
+
| `dailybot board create --name <n> --project <uuid> --key <KEY>` | Create a board in a project; the key prefixes its tasks (`DSN-1`) — **needs `dailybot login` as an admin** |
|
|
973
973
|
| `dailybot board archive <uuid>` | Archive a board. **Cascade-archives its live tasks**, and restoring does not bring them back |
|
|
974
974
|
| `dailybot board restore <uuid>` | Restore a board (cascaded tasks stay archived) |
|
|
975
975
|
| `dailybot project list` | List projects (`--include progress`) |
|
|
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "dailybot-cli"
|
|
7
|
-
version = "3.14.
|
|
7
|
+
version = "3.14.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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|