dailybot-cli 3.13.0__tar.gz → 3.14.1__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 (69) hide show
  1. {dailybot_cli-3.13.0 → dailybot_cli-3.14.1}/PKG-INFO +62 -19
  2. {dailybot_cli-3.13.0 → dailybot_cli-3.14.1}/README.md +61 -18
  3. {dailybot_cli-3.13.0 → dailybot_cli-3.14.1}/dailybot_cli/api_client.py +1180 -65
  4. dailybot_cli-3.14.1/dailybot_cli/commands/_attachments.py +221 -0
  5. dailybot_cli-3.14.1/dailybot_cli/commands/_beta.py +39 -0
  6. {dailybot_cli-3.13.0 → dailybot_cli-3.14.1}/dailybot_cli/commands/_destructive.py +84 -2
  7. dailybot_cli-3.14.1/dailybot_cli/commands/_favorites.py +96 -0
  8. {dailybot_cli-3.13.0 → dailybot_cli-3.14.1}/dailybot_cli/commands/_rollups.py +12 -1
  9. {dailybot_cli-3.13.0 → dailybot_cli-3.14.1}/dailybot_cli/commands/_writes.py +2 -4
  10. dailybot_cli-3.14.1/dailybot_cli/commands/board.py +1174 -0
  11. dailybot_cli-3.14.1/dailybot_cli/commands/goal.py +554 -0
  12. dailybot_cli-3.14.1/dailybot_cli/commands/project.py +1097 -0
  13. {dailybot_cli-3.13.0 → dailybot_cli-3.14.1}/dailybot_cli/commands/public_api_helpers.py +114 -7
  14. dailybot_cli-3.14.1/dailybot_cli/commands/task.py +1945 -0
  15. dailybot_cli-3.14.1/dailybot_cli/commands/tasks.py +1104 -0
  16. {dailybot_cli-3.13.0 → dailybot_cli-3.14.1}/dailybot_cli/display.py +182 -21
  17. {dailybot_cli-3.13.0 → dailybot_cli-3.14.1}/dailybot_cli.egg-info/PKG-INFO +62 -19
  18. {dailybot_cli-3.13.0 → dailybot_cli-3.14.1}/dailybot_cli.egg-info/SOURCES.txt +3 -0
  19. {dailybot_cli-3.13.0 → dailybot_cli-3.14.1}/pyproject.toml +1 -1
  20. dailybot_cli-3.13.0/dailybot_cli/commands/board.py +0 -273
  21. dailybot_cli-3.13.0/dailybot_cli/commands/goal.py +0 -193
  22. dailybot_cli-3.13.0/dailybot_cli/commands/project.py +0 -403
  23. dailybot_cli-3.13.0/dailybot_cli/commands/task.py +0 -854
  24. dailybot_cli-3.13.0/dailybot_cli/commands/tasks.py +0 -570
  25. {dailybot_cli-3.13.0 → dailybot_cli-3.14.1}/LICENSE +0 -0
  26. {dailybot_cli-3.13.0 → dailybot_cli-3.14.1}/dailybot_cli/__init__.py +0 -0
  27. {dailybot_cli-3.13.0 → dailybot_cli-3.14.1}/dailybot_cli/commands/__init__.py +0 -0
  28. {dailybot_cli-3.13.0 → dailybot_cli-3.14.1}/dailybot_cli/commands/agent.py +0 -0
  29. {dailybot_cli-3.13.0 → dailybot_cli-3.14.1}/dailybot_cli/commands/ask.py +0 -0
  30. {dailybot_cli-3.13.0 → dailybot_cli-3.14.1}/dailybot_cli/commands/auth.py +0 -0
  31. {dailybot_cli-3.13.0 → dailybot_cli-3.14.1}/dailybot_cli/commands/authoring_helpers.py +0 -0
  32. {dailybot_cli-3.13.0 → dailybot_cli-3.14.1}/dailybot_cli/commands/channels.py +0 -0
  33. {dailybot_cli-3.13.0 → dailybot_cli-3.14.1}/dailybot_cli/commands/chat.py +0 -0
  34. {dailybot_cli-3.13.0 → dailybot_cli-3.14.1}/dailybot_cli/commands/checkin.py +0 -0
  35. {dailybot_cli-3.13.0 → dailybot_cli-3.14.1}/dailybot_cli/commands/config.py +0 -0
  36. {dailybot_cli-3.13.0 → dailybot_cli-3.14.1}/dailybot_cli/commands/conversation.py +0 -0
  37. {dailybot_cli-3.13.0 → dailybot_cli-3.14.1}/dailybot_cli/commands/env.py +0 -0
  38. {dailybot_cli-3.13.0 → dailybot_cli-3.14.1}/dailybot_cli/commands/featured.py +0 -0
  39. {dailybot_cli-3.13.0 → dailybot_cli-3.14.1}/dailybot_cli/commands/form.py +0 -0
  40. {dailybot_cli-3.13.0 → dailybot_cli-3.14.1}/dailybot_cli/commands/hook.py +0 -0
  41. {dailybot_cli-3.13.0 → dailybot_cli-3.14.1}/dailybot_cli/commands/identity.py +0 -0
  42. {dailybot_cli-3.13.0 → dailybot_cli-3.14.1}/dailybot_cli/commands/interactive.py +0 -0
  43. {dailybot_cli-3.13.0 → dailybot_cli-3.14.1}/dailybot_cli/commands/interactive_chat.py +0 -0
  44. {dailybot_cli-3.13.0 → dailybot_cli-3.14.1}/dailybot_cli/commands/kudos.py +0 -0
  45. {dailybot_cli-3.13.0 → dailybot_cli-3.14.1}/dailybot_cli/commands/label.py +0 -0
  46. {dailybot_cli-3.13.0 → dailybot_cli-3.14.1}/dailybot_cli/commands/query_options.py +0 -0
  47. {dailybot_cli-3.13.0 → dailybot_cli-3.14.1}/dailybot_cli/commands/status.py +0 -0
  48. {dailybot_cli-3.13.0 → dailybot_cli-3.14.1}/dailybot_cli/commands/team.py +0 -0
  49. {dailybot_cli-3.13.0 → dailybot_cli-3.14.1}/dailybot_cli/commands/uninstall.py +0 -0
  50. {dailybot_cli-3.13.0 → dailybot_cli-3.14.1}/dailybot_cli/commands/update.py +0 -0
  51. {dailybot_cli-3.13.0 → dailybot_cli-3.14.1}/dailybot_cli/commands/upgrade.py +0 -0
  52. {dailybot_cli-3.13.0 → dailybot_cli-3.14.1}/dailybot_cli/commands/user.py +0 -0
  53. {dailybot_cli-3.13.0 → dailybot_cli-3.14.1}/dailybot_cli/commands/user_scoped_actions.py +0 -0
  54. {dailybot_cli-3.13.0 → dailybot_cli-3.14.1}/dailybot_cli/commands/version.py +0 -0
  55. {dailybot_cli-3.13.0 → dailybot_cli-3.14.1}/dailybot_cli/commands/workflow.py +0 -0
  56. {dailybot_cli-3.13.0 → dailybot_cli-3.14.1}/dailybot_cli/config.py +0 -0
  57. {dailybot_cli-3.13.0 → dailybot_cli-3.14.1}/dailybot_cli/install_method.py +0 -0
  58. {dailybot_cli-3.13.0 → dailybot_cli-3.14.1}/dailybot_cli/ledger.py +0 -0
  59. {dailybot_cli-3.13.0 → dailybot_cli-3.14.1}/dailybot_cli/main.py +0 -0
  60. {dailybot_cli-3.13.0 → dailybot_cli-3.14.1}/dailybot_cli/tui/__init__.py +0 -0
  61. {dailybot_cli-3.13.0 → dailybot_cli-3.14.1}/dailybot_cli/tui/app.py +0 -0
  62. {dailybot_cli-3.13.0 → dailybot_cli-3.14.1}/dailybot_cli/tui/commands.py +0 -0
  63. {dailybot_cli-3.13.0 → dailybot_cli-3.14.1}/dailybot_cli/tui/conversation.py +0 -0
  64. {dailybot_cli-3.13.0 → dailybot_cli-3.14.1}/dailybot_cli/tui/intents.py +0 -0
  65. {dailybot_cli-3.13.0 → dailybot_cli-3.14.1}/dailybot_cli.egg-info/dependency_links.txt +0 -0
  66. {dailybot_cli-3.13.0 → dailybot_cli-3.14.1}/dailybot_cli.egg-info/entry_points.txt +0 -0
  67. {dailybot_cli-3.13.0 → dailybot_cli-3.14.1}/dailybot_cli.egg-info/requires.txt +0 -0
  68. {dailybot_cli-3.13.0 → dailybot_cli-3.14.1}/dailybot_cli.egg-info/top_level.txt +0 -0
  69. {dailybot_cli-3.13.0 → dailybot_cli-3.14.1}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: dailybot-cli
3
- Version: 3.13.0
3
+ Version: 3.14.1
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
@@ -900,58 +900,101 @@ Replies to agent emails land as messages retrievable via `dailybot agent message
900
900
 
901
901
  ### Tasks
902
902
 
903
+ > **Beta** — Tasks is in beta. Everything under `/tasks` in the web app, the CLI and agent skill commands for projects, goals, boards and tasks, and the `/v1/tasks/` public API may change before general availability. Want to try it with your team? Write to **support@dailybot.com**.
904
+
903
905
  Projects, boards and tasks. Two groups: **`dailybot tasks`** answers questions about the
904
906
  workspace, **`dailybot task`** reads or changes one task.
905
907
 
908
+ **Structure changes need a signed-in organization admin.** Creating, updating, archiving or
909
+ restoring boards, columns, projects and goals, board and project membership, and linking
910
+ goals to projects all need the `tasks:admin` scope, which an organization API key can never
911
+ hold. With only `DAILYBOT_API_KEY` those commands stop before sending anything; run
912
+ `dailybot login` first.
913
+
906
914
  The command an agent should reach for first is **`dailybot project update-post`** — it is
907
915
  how the team sees what was done. An agent that moves tasks silently is invisible to the
908
916
  humans who own them.
909
917
 
910
918
  | Command | Description |
911
919
  |---------|-------------|
912
- | `dailybot tasks status` | Workspace pulse — open / overdue / blocked counts in one request |
920
+ | `dailybot tasks status` | Workspace pulse in one request — counts, your unread inbox, projects, what needs attention, recent activity, goal progress |
913
921
  | `dailybot tasks entitlements` | What the plan allows (board limit, Labels); always answers 200 |
914
922
  | `dailybot tasks search -q <text>` | Search tasks, boards and projects |
915
- | `dailybot tasks activity` | Activity feed — the catch-up read after an absence |
923
+ | `dailybot tasks activity` | Activity feed, one page per call — filter by time (`--since`/`--until`, `--today`, `--last-week`) and `--type`, `--actor`, `--project`, `--board`, `--task` |
916
924
  | `dailybot tasks timeline` | Dated view of the workspace |
917
- | `dailybot tasks changes <board>` | What changed since a cursor. **One read per call**; exits 9 if the cursor expired (`--resync` re-snapshots) |
918
- | `dailybot tasks inbox` | Your Tasks notifications — **needs `dailybot login`** |
919
- | `dailybot tasks mine` | Tasks that are yours (`--scope`) — **needs `dailybot login`** |
925
+ | `dailybot tasks changes <board>` | What changed since a cursor (`--cursor`, or `--updated-since <iso>`). **One read per call**; exits 9 if the cursor expired (`--resync` re-snapshots) |
926
+ | `dailybot tasks inbox` | Your Tasks notifications (`--mentioned` for mentions only, `--type <event>`) — **needs `dailybot login`** |
927
+ | `dailybot tasks inbox-read <item>` · `inbox-read-all` · `inbox-unread` | Catch up on the inbox (reading an item also reads everything older). `inbox-unread` takes the same `--mentioned` / `--type` filters, so each badge matches its tab — **needs `dailybot login`** |
928
+ | `dailybot tasks cursor [--now \| --set <time>]` | Your "read up to here" mark for the activity feed — **needs `dailybot login`** |
929
+ | `dailybot tasks favorites` | Your pinned boards and saved views — **needs `dailybot login`** |
930
+ | `dailybot tasks view get\|update\|delete\|star\|unstar <view>` | One saved view by uuid: read, edit (`--view-mode`, `--group-by`, `--filters-file`…), delete, pin — **needs `dailybot login`** |
931
+ | `dailybot tasks mine` | Tasks that are yours (`--scope owned\|participating\|involved`) — **needs `dailybot login`** |
920
932
  | `dailybot tasks counts` | Your task counts by bucket — **needs `dailybot login`** |
921
- | `dailybot task list` | List tasks (`--board`, `--state`, `--assignee`, `--label`, `--has-dates`, `--include`) |
922
- | `dailybot task get <uuid>` | Show one task |
923
- | `dailybot task create --title <t>` | Create a task; sends an idempotency key so a retry cannot duplicate |
924
- | `dailybot task update <uuid>` | Change fields — partial update, never an overwrite |
925
- | `dailybot task move <uuid>` | Move to another column (`--state`) or board (`--board`) |
926
- | `dailybot task assign <uuid> --to <user>` | Assign a task |
933
+ | `dailybot task list` | List tasks (`--board`, `--state`, `--owner` — repeatable, `me` / `unowned`, `--label`, `--sort <field\|-field>`, `--has-dates`, `--include`) |
934
+ | `dailybot task get <task>` | Show one task — every `<task>` accepts a key (`ENG-142`) or a uuid |
935
+ | `dailybot task create --title <t>` | Create a task (`--owner <user\|me>`, `--priority 1-5`); sends an idempotency key so a retry cannot duplicate |
936
+ | `dailybot task update <task>` | Change fields — partial update, never an overwrite (`--priority` is 1 urgent … 5 none) |
937
+ | `dailybot task move <task>` | Move to another column (`--state` takes a name, a category like `done`, or a uuid) or board (`--board`) |
938
+ | `dailybot task set-owner <task> <user\|me>` | Set the task's owner — the accountable person (`task assign --to` still works, deprecated) |
927
939
  | `dailybot task comment <uuid> <body>` | Comment (`-` reads the body from stdin) |
928
940
  | `dailybot task comments <uuid>` | List a task's comments |
929
- | `dailybot task link <a> <b> --type <rel>` | Relate two tasks |
941
+ | `dailybot task link <a> <b> --type <rel>` | Relate two tasks (`blocks`, `relates_to`, `duplicates`) |
930
942
  | `dailybot task labels <uuid> --mode add\|remove\|replace` | Change a task's labels |
931
- | `dailybot task participants add <uuid> --user <u>` | Add a participant — **needs `dailybot login`** |
943
+ | `dailybot task participants add\|list\|remove <task>` | Who is on a task (`--role participant\|watcher`); add/remove **need `dailybot login`** |
944
+ | `dailybot task watch\|unwatch <task>` | Follow a task privately — **needs `dailybot login`** |
945
+ | `dailybot task mute\|unmute <task>` | Silence a task and stay on it (leaving is `participants remove`) — **needs `dailybot login`** |
946
+ | `dailybot task relations <task>` · `task unlink <task> <relation>` | List links (direction included) / remove one; `unlink` confirms and has `--dry-run` |
947
+ | `dailybot task comment-edit\|comment-delete <task> <comment>` | Edit (`-` reads stdin) or delete a comment; delete blanks the text and keeps the entry |
948
+ | `dailybot task children <task>` · `task events <task>` · `task activity <task>` | Sub-tasks, raw event history, and the readable activity feed (`--updated-since`, `--type`) |
949
+ | `dailybot task duplicate <task>` | Copy into the same column (`--include` picks fields); sends an idempotency key so a retry returns the same copy |
950
+ | `dailybot task attach <task> <file>` | Attach a file (≤25 MiB; `--caption` uses a single-request upload, ≤5 MiB). Credentials never go to the storage host |
951
+ | `dailybot task attachments <task>` · `task attachment get <task> <id> -o <path>` · `task attachment delete` | List, download (never overwrites without `--force`) or delete attachments |
952
+ | `dailybot task comment-attach <task> <comment> <file>` · `task comment-attachments` · `task comment-attachment get\|delete` | Files on a comment (≤5 MiB, one request). Only the comment's author can attach |
932
953
  | `dailybot task archive <uuid>` | Archive a task. Previews the consequence first; reversible |
933
954
  | `dailybot task delete <uuid>` | Alias of archive — nothing is destroyed |
934
955
  | `dailybot task restore <uuid>` | Restore an archived task |
935
- | `dailybot task bulk --operation <op> -f <file>` | One operation over many tasks. Max **100** items; no dry run |
956
+ | `dailybot task bulk --operation <op> -f <file>` | One operation over up to **100** tasks (`create` needs `--board`). `--dry-run` runs it on the server and rolls it back: real changes and refusals, nothing written |
936
957
  | `dailybot board list` | List boards |
937
958
  | `dailybot board get <uuid>` | Board metadata |
959
+ | `dailybot board tasks <uuid>` | The tasks on one board, one page per call |
960
+ | `dailybot board star\|unstar <uuid>` | Pin a board to your favorites (projects and goals cannot be pinned) — **needs `dailybot login`** |
961
+ | `dailybot board mentionables <uuid> [-q name]` | Who you can @mention, with the `<@DB@{uuid}>` token to write — **needs `dailybot login`** |
962
+ | `dailybot board states <uuid>` | The board's columns, left to right (`--include-archived` for retired ones) |
963
+ | `dailybot board members <uuid>` | Who can see the board, and their role |
964
+ | `dailybot board labels <uuid>` | Labels available on the board — **needs `dailybot login`** |
965
+ | `dailybot board views <uuid>` | Your saved views on the board, plus the ETag a save needs (`--etag` prints only that) |
966
+ | `dailybot board state create\|update\|archive\|restore\|reorder` | Manage columns. `archive` previews first and takes `--migrate-to <state>` to move the column's cards |
967
+ | `dailybot board member add <board> <user>` (or `--team <team>`) · `board member remove <board> <user>` | Who can see the board — **needs `dailybot login` as an admin**. A team grant follows the team live. There is no board role to edit |
968
+ | `dailybot board label create <board> -n <name>` | Create an organization label from the board — **needs `dailybot login`** |
969
+ | `dailybot board view save <board> -f views.json --if-match <etag>` | Replace your saved views (the whole list) — **needs `dailybot login`** |
938
970
  | `dailybot board snapshot <uuid>` | The whole board in one request; carries the `delta_cursor` that `tasks changes` consumes |
971
+ | `dailybot board update <uuid>` | Name, key (the old key stays reserved), visibility, estimate scale, auto-archive, project |
939
972
  | `dailybot board create --name <n>` | Create a board — **needs `dailybot login`** |
940
973
  | `dailybot board archive <uuid>` | Archive a board. **Cascade-archives its live tasks**, and restoring does not bring them back |
941
974
  | `dailybot board restore <uuid>` | Restore a board (cascaded tasks stay archived) |
942
975
  | `dailybot project list` | List projects (`--include progress`) |
943
976
  | `dailybot project get <uuid>` | Show one project |
944
- | `dailybot project updates` | Batched update digest — replaces one request per project |
945
- | `dailybot project update-post <uuid> <body>` | **Post a project update** — how the team sees what was done |
977
+ | `dailybot project updates [<project>]` | Batched update digest, or one project's feed |
978
+ | `dailybot project update-post <uuid> <body>` | **Post a project update** — how the team sees what was done (`--health`; sends an idempotency key) |
946
979
  | `dailybot project milestones [<uuid>]` | List milestones |
947
980
  | `dailybot project milestone-complete <p> <m>` | Complete a milestone. **Its open tasks stay open** |
948
981
  | `dailybot project milestone-reopen <p> <m>` | Reopen a milestone |
949
982
  | `dailybot project create --name <n>` | Create a project — **needs `dailybot login`** |
983
+ | `dailybot project update <uuid>` | Name, description, lead, health, dates, visibility |
984
+ | `dailybot project restore <uuid>` | Restore an archived project (its boards and tasks stay archived) |
985
+ | `dailybot project members <uuid>` · `project member add\|remove` | Who can see the project — people or whole teams (`--team`) — **needs `dailybot login`** |
986
+ | `dailybot project views <uuid>` · `project view save` | Your saved views; save replaces the list and requires the ETag — **needs `dailybot login`** |
987
+ | `dailybot project milestone-create\|milestone-update\|milestone-delete` | Dated milestones; delete retires it (tasks keep pointing at it) |
950
988
  | `dailybot project archive <uuid>` | Archive a project |
989
+ | `dailybot project attach <uuid> <file>` · `project attachments` · `project attachment get\|delete` | Files on a project (≤5 MiB, one request). Attaching and deleting need a signed-in admin |
951
990
  | `dailybot goal list` | List goals (`--include` is repeatable: `--include progress --include projects`) |
952
- | `dailybot goal get <uuid>` | Show one goal |
953
- | `dailybot goal create --name <n>` | Create a goal — **needs `dailybot login`** |
991
+ | `dailybot goal get <uuid>` | Show one goal, with its progress and linked projects (always included) |
992
+ | `dailybot goal create --name <n> --period-start <d> --period-end <d>` | Create a goal (a dated commitment) — **needs `dailybot login`** |
993
+ | `dailybot goal update <uuid>` | Name, period, owner, team, and the declared `--status` (not_started, on_track, at_risk, off_track, achieved, missed) |
994
+ | `dailybot goal restore <uuid>` | Restore an archived goal |
995
+ | `dailybot goal link\|unlink <goal> <project>` | Make a project count toward a goal (or stop it) |
954
996
  | `dailybot goal archive <uuid>` | Archive a goal (its projects are not archived) |
997
+ | `dailybot goal attach <uuid> <file>` · `goal attachments` · `goal attachment get\|delete` | Files on a goal (≤5 MiB, one request). Attaching and deleting need a signed-in admin |
955
998
 
956
999
  **Three things worth knowing before you script against this:**
957
1000
 
@@ -861,58 +861,101 @@ Replies to agent emails land as messages retrievable via `dailybot agent message
861
861
 
862
862
  ### Tasks
863
863
 
864
+ > **Beta** — Tasks is in beta. Everything under `/tasks` in the web app, the CLI and agent skill commands for projects, goals, boards and tasks, and the `/v1/tasks/` public API may change before general availability. Want to try it with your team? Write to **support@dailybot.com**.
865
+
864
866
  Projects, boards and tasks. Two groups: **`dailybot tasks`** answers questions about the
865
867
  workspace, **`dailybot task`** reads or changes one task.
866
868
 
869
+ **Structure changes need a signed-in organization admin.** Creating, updating, archiving or
870
+ restoring boards, columns, projects and goals, board and project membership, and linking
871
+ goals to projects all need the `tasks:admin` scope, which an organization API key can never
872
+ hold. With only `DAILYBOT_API_KEY` those commands stop before sending anything; run
873
+ `dailybot login` first.
874
+
867
875
  The command an agent should reach for first is **`dailybot project update-post`** — it is
868
876
  how the team sees what was done. An agent that moves tasks silently is invisible to the
869
877
  humans who own them.
870
878
 
871
879
  | Command | Description |
872
880
  |---------|-------------|
873
- | `dailybot tasks status` | Workspace pulse — open / overdue / blocked counts in one request |
881
+ | `dailybot tasks status` | Workspace pulse in one request — counts, your unread inbox, projects, what needs attention, recent activity, goal progress |
874
882
  | `dailybot tasks entitlements` | What the plan allows (board limit, Labels); always answers 200 |
875
883
  | `dailybot tasks search -q <text>` | Search tasks, boards and projects |
876
- | `dailybot tasks activity` | Activity feed — the catch-up read after an absence |
884
+ | `dailybot tasks activity` | Activity feed, one page per call — filter by time (`--since`/`--until`, `--today`, `--last-week`) and `--type`, `--actor`, `--project`, `--board`, `--task` |
877
885
  | `dailybot tasks timeline` | Dated view of the workspace |
878
- | `dailybot tasks changes <board>` | What changed since a cursor. **One read per call**; exits 9 if the cursor expired (`--resync` re-snapshots) |
879
- | `dailybot tasks inbox` | Your Tasks notifications — **needs `dailybot login`** |
880
- | `dailybot tasks mine` | Tasks that are yours (`--scope`) — **needs `dailybot login`** |
886
+ | `dailybot tasks changes <board>` | What changed since a cursor (`--cursor`, or `--updated-since <iso>`). **One read per call**; exits 9 if the cursor expired (`--resync` re-snapshots) |
887
+ | `dailybot tasks inbox` | Your Tasks notifications (`--mentioned` for mentions only, `--type <event>`) — **needs `dailybot login`** |
888
+ | `dailybot tasks inbox-read <item>` · `inbox-read-all` · `inbox-unread` | Catch up on the inbox (reading an item also reads everything older). `inbox-unread` takes the same `--mentioned` / `--type` filters, so each badge matches its tab — **needs `dailybot login`** |
889
+ | `dailybot tasks cursor [--now \| --set <time>]` | Your "read up to here" mark for the activity feed — **needs `dailybot login`** |
890
+ | `dailybot tasks favorites` | Your pinned boards and saved views — **needs `dailybot login`** |
891
+ | `dailybot tasks view get\|update\|delete\|star\|unstar <view>` | One saved view by uuid: read, edit (`--view-mode`, `--group-by`, `--filters-file`…), delete, pin — **needs `dailybot login`** |
892
+ | `dailybot tasks mine` | Tasks that are yours (`--scope owned\|participating\|involved`) — **needs `dailybot login`** |
881
893
  | `dailybot tasks counts` | Your task counts by bucket — **needs `dailybot login`** |
882
- | `dailybot task list` | List tasks (`--board`, `--state`, `--assignee`, `--label`, `--has-dates`, `--include`) |
883
- | `dailybot task get <uuid>` | Show one task |
884
- | `dailybot task create --title <t>` | Create a task; sends an idempotency key so a retry cannot duplicate |
885
- | `dailybot task update <uuid>` | Change fields — partial update, never an overwrite |
886
- | `dailybot task move <uuid>` | Move to another column (`--state`) or board (`--board`) |
887
- | `dailybot task assign <uuid> --to <user>` | Assign a task |
894
+ | `dailybot task list` | List tasks (`--board`, `--state`, `--owner` — repeatable, `me` / `unowned`, `--label`, `--sort <field\|-field>`, `--has-dates`, `--include`) |
895
+ | `dailybot task get <task>` | Show one task — every `<task>` accepts a key (`ENG-142`) or a uuid |
896
+ | `dailybot task create --title <t>` | Create a task (`--owner <user\|me>`, `--priority 1-5`); sends an idempotency key so a retry cannot duplicate |
897
+ | `dailybot task update <task>` | Change fields — partial update, never an overwrite (`--priority` is 1 urgent … 5 none) |
898
+ | `dailybot task move <task>` | Move to another column (`--state` takes a name, a category like `done`, or a uuid) or board (`--board`) |
899
+ | `dailybot task set-owner <task> <user\|me>` | Set the task's owner — the accountable person (`task assign --to` still works, deprecated) |
888
900
  | `dailybot task comment <uuid> <body>` | Comment (`-` reads the body from stdin) |
889
901
  | `dailybot task comments <uuid>` | List a task's comments |
890
- | `dailybot task link <a> <b> --type <rel>` | Relate two tasks |
902
+ | `dailybot task link <a> <b> --type <rel>` | Relate two tasks (`blocks`, `relates_to`, `duplicates`) |
891
903
  | `dailybot task labels <uuid> --mode add\|remove\|replace` | Change a task's labels |
892
- | `dailybot task participants add <uuid> --user <u>` | Add a participant — **needs `dailybot login`** |
904
+ | `dailybot task participants add\|list\|remove <task>` | Who is on a task (`--role participant\|watcher`); add/remove **need `dailybot login`** |
905
+ | `dailybot task watch\|unwatch <task>` | Follow a task privately — **needs `dailybot login`** |
906
+ | `dailybot task mute\|unmute <task>` | Silence a task and stay on it (leaving is `participants remove`) — **needs `dailybot login`** |
907
+ | `dailybot task relations <task>` · `task unlink <task> <relation>` | List links (direction included) / remove one; `unlink` confirms and has `--dry-run` |
908
+ | `dailybot task comment-edit\|comment-delete <task> <comment>` | Edit (`-` reads stdin) or delete a comment; delete blanks the text and keeps the entry |
909
+ | `dailybot task children <task>` · `task events <task>` · `task activity <task>` | Sub-tasks, raw event history, and the readable activity feed (`--updated-since`, `--type`) |
910
+ | `dailybot task duplicate <task>` | Copy into the same column (`--include` picks fields); sends an idempotency key so a retry returns the same copy |
911
+ | `dailybot task attach <task> <file>` | Attach a file (≤25 MiB; `--caption` uses a single-request upload, ≤5 MiB). Credentials never go to the storage host |
912
+ | `dailybot task attachments <task>` · `task attachment get <task> <id> -o <path>` · `task attachment delete` | List, download (never overwrites without `--force`) or delete attachments |
913
+ | `dailybot task comment-attach <task> <comment> <file>` · `task comment-attachments` · `task comment-attachment get\|delete` | Files on a comment (≤5 MiB, one request). Only the comment's author can attach |
893
914
  | `dailybot task archive <uuid>` | Archive a task. Previews the consequence first; reversible |
894
915
  | `dailybot task delete <uuid>` | Alias of archive — nothing is destroyed |
895
916
  | `dailybot task restore <uuid>` | Restore an archived task |
896
- | `dailybot task bulk --operation <op> -f <file>` | One operation over many tasks. Max **100** items; no dry run |
917
+ | `dailybot task bulk --operation <op> -f <file>` | One operation over up to **100** tasks (`create` needs `--board`). `--dry-run` runs it on the server and rolls it back: real changes and refusals, nothing written |
897
918
  | `dailybot board list` | List boards |
898
919
  | `dailybot board get <uuid>` | Board metadata |
920
+ | `dailybot board tasks <uuid>` | The tasks on one board, one page per call |
921
+ | `dailybot board star\|unstar <uuid>` | Pin a board to your favorites (projects and goals cannot be pinned) — **needs `dailybot login`** |
922
+ | `dailybot board mentionables <uuid> [-q name]` | Who you can @mention, with the `<@DB@{uuid}>` token to write — **needs `dailybot login`** |
923
+ | `dailybot board states <uuid>` | The board's columns, left to right (`--include-archived` for retired ones) |
924
+ | `dailybot board members <uuid>` | Who can see the board, and their role |
925
+ | `dailybot board labels <uuid>` | Labels available on the board — **needs `dailybot login`** |
926
+ | `dailybot board views <uuid>` | Your saved views on the board, plus the ETag a save needs (`--etag` prints only that) |
927
+ | `dailybot board state create\|update\|archive\|restore\|reorder` | Manage columns. `archive` previews first and takes `--migrate-to <state>` to move the column's cards |
928
+ | `dailybot board member add <board> <user>` (or `--team <team>`) · `board member remove <board> <user>` | Who can see the board — **needs `dailybot login` as an admin**. A team grant follows the team live. There is no board role to edit |
929
+ | `dailybot board label create <board> -n <name>` | Create an organization label from the board — **needs `dailybot login`** |
930
+ | `dailybot board view save <board> -f views.json --if-match <etag>` | Replace your saved views (the whole list) — **needs `dailybot login`** |
899
931
  | `dailybot board snapshot <uuid>` | The whole board in one request; carries the `delta_cursor` that `tasks changes` consumes |
932
+ | `dailybot board update <uuid>` | Name, key (the old key stays reserved), visibility, estimate scale, auto-archive, project |
900
933
  | `dailybot board create --name <n>` | Create a board — **needs `dailybot login`** |
901
934
  | `dailybot board archive <uuid>` | Archive a board. **Cascade-archives its live tasks**, and restoring does not bring them back |
902
935
  | `dailybot board restore <uuid>` | Restore a board (cascaded tasks stay archived) |
903
936
  | `dailybot project list` | List projects (`--include progress`) |
904
937
  | `dailybot project get <uuid>` | Show one project |
905
- | `dailybot project updates` | Batched update digest — replaces one request per project |
906
- | `dailybot project update-post <uuid> <body>` | **Post a project update** — how the team sees what was done |
938
+ | `dailybot project updates [<project>]` | Batched update digest, or one project's feed |
939
+ | `dailybot project update-post <uuid> <body>` | **Post a project update** — how the team sees what was done (`--health`; sends an idempotency key) |
907
940
  | `dailybot project milestones [<uuid>]` | List milestones |
908
941
  | `dailybot project milestone-complete <p> <m>` | Complete a milestone. **Its open tasks stay open** |
909
942
  | `dailybot project milestone-reopen <p> <m>` | Reopen a milestone |
910
943
  | `dailybot project create --name <n>` | Create a project — **needs `dailybot login`** |
944
+ | `dailybot project update <uuid>` | Name, description, lead, health, dates, visibility |
945
+ | `dailybot project restore <uuid>` | Restore an archived project (its boards and tasks stay archived) |
946
+ | `dailybot project members <uuid>` · `project member add\|remove` | Who can see the project — people or whole teams (`--team`) — **needs `dailybot login`** |
947
+ | `dailybot project views <uuid>` · `project view save` | Your saved views; save replaces the list and requires the ETag — **needs `dailybot login`** |
948
+ | `dailybot project milestone-create\|milestone-update\|milestone-delete` | Dated milestones; delete retires it (tasks keep pointing at it) |
911
949
  | `dailybot project archive <uuid>` | Archive a project |
950
+ | `dailybot project attach <uuid> <file>` · `project attachments` · `project attachment get\|delete` | Files on a project (≤5 MiB, one request). Attaching and deleting need a signed-in admin |
912
951
  | `dailybot goal list` | List goals (`--include` is repeatable: `--include progress --include projects`) |
913
- | `dailybot goal get <uuid>` | Show one goal |
914
- | `dailybot goal create --name <n>` | Create a goal — **needs `dailybot login`** |
952
+ | `dailybot goal get <uuid>` | Show one goal, with its progress and linked projects (always included) |
953
+ | `dailybot goal create --name <n> --period-start <d> --period-end <d>` | Create a goal (a dated commitment) — **needs `dailybot login`** |
954
+ | `dailybot goal update <uuid>` | Name, period, owner, team, and the declared `--status` (not_started, on_track, at_risk, off_track, achieved, missed) |
955
+ | `dailybot goal restore <uuid>` | Restore an archived goal |
956
+ | `dailybot goal link\|unlink <goal> <project>` | Make a project count toward a goal (or stop it) |
915
957
  | `dailybot goal archive <uuid>` | Archive a goal (its projects are not archived) |
958
+ | `dailybot goal attach <uuid> <file>` · `goal attachments` · `goal attachment get\|delete` | Files on a goal (≤5 MiB, one request). Attaching and deleting need a signed-in admin |
916
959
 
917
960
  **Three things worth knowing before you script against this:**
918
961