@togglhq/cli 1.6.0 → 1.6.1

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/build/cli.js CHANGED
@@ -1,5 +1,5 @@
1
1
  #!/usr/bin/env node
2
- import { n as CommanderError, t as createProgram } from "./program-BCqI2fZI.js";
2
+ import { n as CommanderError, t as createProgram } from "./program-D1iMB9xT.js";
3
3
  //#region src/cli.ts
4
4
  try {
5
5
  await createProgram({ enableUpdateNotification: true }).parseAsync(process.argv);
package/build/index.js CHANGED
@@ -1,2 +1,2 @@
1
- import { t as createProgram } from "./program-BCqI2fZI.js";
1
+ import { t as createProgram } from "./program-D1iMB9xT.js";
2
2
  export { createProgram };
@@ -12477,7 +12477,7 @@ async function runSkillSetup(options) {
12477
12477
  });
12478
12478
  }
12479
12479
  //#endregion
12480
- //#region ../operations/build/safety-FZlH3SQa.js
12480
+ //#region ../operations/build/safety-nrboW9fu.js
12481
12481
  const optionalNumber = /* @__PURE__ */ optional$1(/* @__PURE__ */ number$2());
12482
12482
  const DATE_FIELD_RE = /^\d{4}-\d{2}-\d{2}(T\d{2}:\d{2}:\d{2}(\.\d+)?(Z|[+-]\d{2}:\d{2}))?$/;
12483
12483
  const dateField = (description) => /* @__PURE__ */ pipe$2(/* @__PURE__ */ string$1(), /* @__PURE__ */ regex(DATE_FIELD_RE, "must be YYYY-MM-DD or RFC3339 datetime (e.g. '2025-01-01' or '2025-01-01T00:00:00Z')"), /* @__PURE__ */ description$1(description));
@@ -12712,6 +12712,7 @@ const clientOverrides = { "focus.clients.list": {
12712
12712
  const compositeOverrides = {
12713
12713
  "focus.composite.create-project": {
12714
12714
  description: "Create a project with related data such as members, milestones, rates, and billable rates.",
12715
+ agentGuidance: "Follow the create action's privacy and billable guidance. Project fields go under payload.project.",
12715
12716
  cli: {
12716
12717
  group: ["projects"],
12717
12718
  command: "create-advanced",
@@ -13013,16 +13014,20 @@ const projectOverrides = {
13013
13014
  },
13014
13015
  "focus.projects.get": { agentGuidance: "Fetch a single project with aggregated task counts and time estimates." },
13015
13016
  "focus.projects.create": {
13016
- agentGuidance: "Required: name. Recommended: color (hex), billable (boolean). Associate with a client via client_id.",
13017
+ agentGuidance: "Required: name. Recommended: color (hex). The API defaults private and billable to false when omitted. Match the Toggl UI on privacy. If the user explicitly asks for a shared or public project, pass private=false; no permissions check is needed, because only private projects require an entitlement. Otherwise call workspace-settings get-user-permissions and pass private=true when permissions includes access_private_projects_tasks_feature. If that permission is absent, pass private=false and tell the user; if the user explicitly required a private project, do not create a shared one. Leave billable unset unless the user explicitly says the work is billable or provides a rate. Associate with a client via client_id.",
13017
13018
  examples: [{
13018
- description: "Create a project",
13019
- data: { name: "New feature" }
13019
+ description: "Create a private internal project",
13020
+ data: {
13021
+ name: "Internal research",
13022
+ private: true
13023
+ }
13020
13024
  }, {
13021
- description: "Create a billable project with color",
13025
+ description: "Create a private billable project when billing was requested",
13022
13026
  data: {
13023
13027
  name: "Client work",
13028
+ private: true,
13024
13029
  billable: true,
13025
- color: "#e44332"
13030
+ color: "#DD3919"
13026
13031
  }
13027
13032
  }]
13028
13033
  },
@@ -25059,4 +25064,4 @@ Common commands:
25059
25064
  //#endregion
25060
25065
  export { CommanderError as n, createProgram as t };
25061
25066
 
25062
- //# sourceMappingURL=program-BCqI2fZI.js.map
25067
+ //# sourceMappingURL=program-D1iMB9xT.js.map
package/build/program.js CHANGED
@@ -1,2 +1,2 @@
1
- import { t as createProgram } from "./program-BCqI2fZI.js";
1
+ import { t as createProgram } from "./program-D1iMB9xT.js";
2
2
  export { createProgram };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@togglhq/cli",
3
- "version": "1.6.0",
3
+ "version": "1.6.1",
4
4
  "description": "Toggl CLI for Toggl 2.0 API operations.",
5
5
  "license": "UNLICENSED",
6
6
  "type": "module",
@@ -19,9 +19,16 @@ toggl --json projects get --project-id <project-id>
19
19
  Create a project:
20
20
 
21
21
  ```bash
22
- toggl --json projects create --data '{"name":"Q3 Planning","workspace_id":789012}'
22
+ toggl --json projects create --data '{"name":"Q3 Planning","private":true}'
23
23
  ```
24
24
 
25
+ When targeting a specific workspace, run `toggl --json workspace switch <workspace-id>` before the permissions check and create command; the project payload does not select the workspace.
26
+ When the user explicitly asks for a shared or public project, use `private: false` and skip the permissions check — only private projects require an entitlement.
27
+ Otherwise, before defaulting to a private project, run `toggl --json workspace-settings get-user-permissions`.
28
+ Use `private: true` when `permissions` includes `access_private_projects_tasks_feature`;
29
+ otherwise use `private: false` and tell the user. If the user explicitly requires privacy, do not create a shared project.
30
+ Omit `billable` unless billing was requested.
31
+
25
32
  Rename a project:
26
33
 
27
34
  ```bash