@togglhq/cli 1.11.65 → 1.11.66
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.
- package/README.md +1 -19
- package/build/cli.js +1 -1
- package/build/index.js +1 -1
- package/build/{program-C5GYCsU3.js → program-DfBQ3e83.js} +987 -960
- package/build/program.js +1 -1
- package/package.json +2 -2
- package/skills/toggl-cli/SKILL.md +2 -3
- package/skills/toggl-cli/reference/command-contract.md +1 -6
- package/skills/toggl-cli/reference/focus-concepts.md +1 -9
- package/skills/toggl-cli/reference/troubleshooting.md +1 -1
- package/skills/toggl-cli/workflows/common-workflows.md +0 -12
- package/skills/toggl-cli/reference/time-blocks.md +0 -43
package/build/program.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { t as createProgram } from "./program-
|
|
1
|
+
import { t as createProgram } from "./program-DfBQ3e83.js";
|
|
2
2
|
export { createProgram };
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@togglhq/cli",
|
|
3
|
-
"version": "1.11.
|
|
3
|
+
"version": "1.11.66",
|
|
4
4
|
"description": "Toggl CLI for Toggl 2.0 API operations.",
|
|
5
5
|
"license": "UNLICENSED",
|
|
6
6
|
"type": "module",
|
|
@@ -56,7 +56,7 @@
|
|
|
56
56
|
"devDependencies": {
|
|
57
57
|
"@toggl/cli-core": "workspace:^",
|
|
58
58
|
"@toggl/operations": "workspace:^",
|
|
59
|
-
"@toggl/queries": "2.2.
|
|
59
|
+
"@toggl/queries": "2.2.64",
|
|
60
60
|
"@types/node": "22.19.11",
|
|
61
61
|
"tsdown": "0.21.8",
|
|
62
62
|
"typescript": "5.9.3",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: toggl-cli
|
|
3
|
-
description: Use the Toggl CLI to work with Toggl 2.0 tasks, projects, time entries,
|
|
3
|
+
description: Use the Toggl CLI to work with Toggl 2.0 tasks, projects, time entries, workspaces, authentication, and CLI maintenance from an agent-friendly terminal workflow. Trigger when the user asks to inspect or modify Toggl 2.0 data through the terminal, authenticate Toggl, switch workspaces, install or refresh the Toggl agent skill, update the CLI, or automate Toggl 2.0 workflows.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# Toggl CLI
|
|
@@ -11,7 +11,7 @@ Use the `toggl` command when the user wants to inspect or modify Toggl 2.0 data
|
|
|
11
11
|
|
|
12
12
|
Use this skill when the task involves:
|
|
13
13
|
|
|
14
|
-
- Listing, reading, creating, updating, or deleting Toggl 2.0 tasks, projects,
|
|
14
|
+
- Listing, reading, creating, updating, or deleting Toggl 2.0 tasks, projects, or time entries.
|
|
15
15
|
- Managing saved views, custom fields (admin), and task/project attachments (including file upload and download).
|
|
16
16
|
- Finding workspace metadata such as statuses, users, and workspace IDs.
|
|
17
17
|
- Authenticating the Toggl CLI, switching saved profiles, or switching the active workspace.
|
|
@@ -49,7 +49,6 @@ Do not use this skill for Toggl Track APIs, raw Toggl 2.0 API calls, or MCP serv
|
|
|
49
49
|
- Tasks: `reference/tasks.md`
|
|
50
50
|
- Projects: `reference/projects.md`
|
|
51
51
|
- Time entries: `reference/time-entries.md`
|
|
52
|
-
- Time blocks: `reference/time-blocks.md`
|
|
53
52
|
- Rates and billables (Toggl 2.0 API vs Track): `reference/rates-and-billables.md`
|
|
54
53
|
- Statuses and users: `reference/statuses-users.md`
|
|
55
54
|
- Reports (`get-workload` vs `get-flexq-data`): `reference/reports.md`
|
|
@@ -31,7 +31,6 @@ Core resources and actions:
|
|
|
31
31
|
| -------------- | ----------------------------------------------------------------------------------- |
|
|
32
32
|
| `tasks` | `list`, `get`, `create`, `update`, `delete`, and **`bulk`** subcommands (see below) |
|
|
33
33
|
| `projects` | `list`, `get`, `create`, `update`, `delete`, and **`bulk`** subcommands |
|
|
34
|
-
| `time-blocks` | `list`, `get`, `create`, `update`, `delete`, and **`bulk`** subcommands |
|
|
35
34
|
| `time-entries` | `list`, `start`, `stop`, and **`bulk`** subcommands |
|
|
36
35
|
| `statuses` | `list` |
|
|
37
36
|
| `users` | `list` |
|
|
@@ -44,7 +43,6 @@ Bulk mutations use a nested command: **`toggl <resource> bulk <verb>`** (for exa
|
|
|
44
43
|
| -------------- | --------------------------------------------------------------------------- |
|
|
45
44
|
| `tasks` | `create`, `patch`, `delete`, `archive`, `restore`, `unarchive`, `duplicate` |
|
|
46
45
|
| `projects` | `patch`, `delete`, `archive`, `restore`, `unarchive` |
|
|
47
|
-
| `time-blocks` | `create`, `patch`, `delete` |
|
|
48
46
|
| `time-entries` | `create`, `patch`, `delete`, `restore` |
|
|
49
47
|
|
|
50
48
|
`list` commands also have the `ls` alias.
|
|
@@ -103,7 +101,6 @@ Bulk endpoints expect JSON via `--data` or `--data-file` (arrays for patch-style
|
|
|
103
101
|
```bash
|
|
104
102
|
toggl --json tasks bulk patch --dry-run --data '[{"id":111,"status_id":456789},{"id":222,"status_id":456789}]'
|
|
105
103
|
toggl --json projects bulk patch --data-file ./project-updates.json
|
|
106
|
-
toggl --json time-blocks bulk create --data '{"time_blocks":[{"task_id":12345,"start":"2026-04-01T09:00:00Z","duration":60}]}'
|
|
107
104
|
toggl --json time-entries bulk patch --data '[{"id":9001,"description":"Updated"}]'
|
|
108
105
|
toggl --json tasks bulk delete --data '{"ids":[111,222]}' --yes
|
|
109
106
|
```
|
|
@@ -125,10 +122,8 @@ Delete commands require `--yes`. Never add `--yes` unless the user clearly reque
|
|
|
125
122
|
```bash
|
|
126
123
|
toggl --json tasks delete --task-id 12345 --yes
|
|
127
124
|
toggl --json projects delete --project-id 123456 --yes
|
|
128
|
-
toggl --json time-blocks delete --task-id 12345 --time-block-id 67890 --yes
|
|
129
125
|
toggl --json tasks bulk delete --data '{"ids":[111,222]}' --yes
|
|
130
126
|
toggl --json projects bulk delete --data '{"ids":[123456,123457]}' --yes
|
|
131
|
-
toggl --json time-blocks bulk delete --data '{"ids":[101,102]}' --yes
|
|
132
127
|
```
|
|
133
128
|
|
|
134
129
|
## Dates
|
|
@@ -142,7 +137,7 @@ Examples:
|
|
|
142
137
|
|
|
143
138
|
```bash
|
|
144
139
|
toggl --json time-entries list --date-from 2026-04-01 --date-to 2026-04-07
|
|
145
|
-
toggl --json time-
|
|
140
|
+
toggl --json time-entries list --date-from 2026-04-01T08:00:00+03:00 --date-to 2026-04-01T17:00:00+03:00
|
|
146
141
|
```
|
|
147
142
|
|
|
148
143
|
## Discovery
|
|
@@ -11,7 +11,6 @@ Environment/Profile
|
|
|
11
11
|
-> Workspace
|
|
12
12
|
-> Projects
|
|
13
13
|
-> Tasks
|
|
14
|
-
-> Time blocks
|
|
15
14
|
-> Time entries
|
|
16
15
|
-> Statuses
|
|
17
16
|
-> Users
|
|
@@ -27,7 +26,7 @@ A profile stores credentials and the selected workspace. Use profiles when the u
|
|
|
27
26
|
|
|
28
27
|
### Workspace
|
|
29
28
|
|
|
30
|
-
A workspace is the top-level context for projects, tasks, statuses, users,
|
|
29
|
+
A workspace is the top-level context for projects, tasks, statuses, users, and time entries. Most IDs only make sense inside the active workspace.
|
|
31
30
|
|
|
32
31
|
Use workspace commands when the agent needs to list available workspaces, refresh workspace metadata, switch the default workspace, or override the workspace for one command.
|
|
33
32
|
|
|
@@ -59,12 +58,6 @@ A time entry represents actual tracked time. Starting a time entry begins the ru
|
|
|
59
58
|
|
|
60
59
|
Use time entries when the user wants to track work, start a break, stop tracking, or inspect actual logged time.
|
|
61
60
|
|
|
62
|
-
### Time Block
|
|
63
|
-
|
|
64
|
-
A time block represents scheduled or planned work. Time blocks usually belong to a task and have explicit start/end times.
|
|
65
|
-
|
|
66
|
-
Use time blocks when the user wants to schedule, plan, move, inspect, or delete calendar-like time blocks.
|
|
67
|
-
|
|
68
61
|
## Choosing the Right Command
|
|
69
62
|
|
|
70
63
|
If the user wants to:
|
|
@@ -74,7 +67,6 @@ If the user wants to:
|
|
|
74
67
|
- Move work through a workflow: resolve the task ID and status ID, then update the task.
|
|
75
68
|
- Track actual time: resolve the task ID, then start a time entry.
|
|
76
69
|
- Stop tracking: stop the current time entry.
|
|
77
|
-
- Schedule planned work: resolve the task ID, then create a time block.
|
|
78
70
|
- Find people: list users.
|
|
79
71
|
- Change workspace context: list or switch workspaces, or pass `--workspace-id`.
|
|
80
72
|
|
|
@@ -70,7 +70,7 @@ Use `YYYY-MM-DD` for full days or RFC 3339 for exact datetimes:
|
|
|
70
70
|
|
|
71
71
|
```bash
|
|
72
72
|
toggl --json time-entries list --date-from 2026-04-01 --date-to 2026-04-07
|
|
73
|
-
toggl --json time-
|
|
73
|
+
toggl --json time-entries list --date-from 2026-04-01T08:00:00+03:00 --date-to 2026-04-01T17:00:00+03:00
|
|
74
74
|
```
|
|
75
75
|
|
|
76
76
|
## Destructive Operation Blocked
|
|
@@ -75,18 +75,6 @@ Stop the running timer:
|
|
|
75
75
|
toggl --json time-entries stop
|
|
76
76
|
```
|
|
77
77
|
|
|
78
|
-
## Plan a Time Block
|
|
79
|
-
|
|
80
|
-
1. Resolve the task ID.
|
|
81
|
-
2. Convert user-provided times to RFC 3339 datetimes.
|
|
82
|
-
3. Dry-run when the time range was inferred.
|
|
83
|
-
4. Create the block.
|
|
84
|
-
|
|
85
|
-
```bash
|
|
86
|
-
toggl time-blocks create --data '{"task_id":12345,"payload":{"start":"2026-04-06T09:00:00+03:00","end":"2026-04-06T11:00:00+03:00"}}' --dry-run
|
|
87
|
-
toggl --json time-blocks create --data '{"task_id":12345,"payload":{"start":"2026-04-06T09:00:00+03:00","end":"2026-04-06T11:00:00+03:00"}}'
|
|
88
|
-
```
|
|
89
|
-
|
|
90
78
|
## Switch Workspace
|
|
91
79
|
|
|
92
80
|
List workspaces, refresh if needed, then switch:
|
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
# Time Blocks
|
|
2
|
-
|
|
3
|
-
Use time block commands to inspect, create, update, and delete scheduled time blocks.
|
|
4
|
-
|
|
5
|
-
## Commands
|
|
6
|
-
|
|
7
|
-
List time blocks for a date range:
|
|
8
|
-
|
|
9
|
-
```bash
|
|
10
|
-
toggl --json time-blocks list --date-from 2026-04-01 --date-to 2026-04-07
|
|
11
|
-
```
|
|
12
|
-
|
|
13
|
-
Get one time block:
|
|
14
|
-
|
|
15
|
-
```bash
|
|
16
|
-
toggl --json time-blocks get --task-id <task-id> --time-block-id <time-block-id>
|
|
17
|
-
```
|
|
18
|
-
|
|
19
|
-
Create a time block:
|
|
20
|
-
|
|
21
|
-
```bash
|
|
22
|
-
toggl --json time-blocks create --data '{"task_id":12345,"payload":{"start":"2026-04-06T09:00:00Z","end":"2026-04-06T11:00:00Z"}}'
|
|
23
|
-
```
|
|
24
|
-
|
|
25
|
-
Update a time block:
|
|
26
|
-
|
|
27
|
-
```bash
|
|
28
|
-
toggl --json time-blocks update --data '{"task_id":12345,"time_block_id":67890,"payload":{"start":"2026-04-06T10:00:00Z","end":"2026-04-06T12:00:00Z"}}'
|
|
29
|
-
```
|
|
30
|
-
|
|
31
|
-
Delete a time block only after explicit user confirmation:
|
|
32
|
-
|
|
33
|
-
```bash
|
|
34
|
-
toggl --json time-blocks delete --task-id <task-id> --time-block-id <time-block-id> --yes
|
|
35
|
-
```
|
|
36
|
-
|
|
37
|
-
## Agent Workflow
|
|
38
|
-
|
|
39
|
-
Use RFC 3339 timestamps for exact scheduled blocks. If the user gives local times, preserve the intended time zone offset when possible.
|
|
40
|
-
|
|
41
|
-
Time block commands usually need both `task_id` and `time_block_id`. Resolve both IDs with a list or get command before mutating.
|
|
42
|
-
|
|
43
|
-
Use `--dry-run` before creating or updating blocks when times were inferred from natural language.
|