@togglhq/cli 1.11.95 → 1.11.97

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 { a as CommanderError, i as shutdownCliTelemetry, n as captureCliException, r as initCliTelemetry, t as createProgram } from "./program-C_81aiOa.js";
2
+ import { a as CommanderError, i as shutdownCliTelemetry, n as captureCliException, r as initCliTelemetry, t as createProgram } from "./program-B3rn-Nub.js";
3
3
  import { readFileSync } from "node:fs";
4
4
  import { dirname, join } from "node:path";
5
5
  import { fileURLToPath } from "node:url";
package/build/index.js CHANGED
@@ -1,2 +1,2 @@
1
- import { t as createProgram } from "./program-C_81aiOa.js";
1
+ import { t as createProgram } from "./program-B3rn-Nub.js";
2
2
  export { createProgram };
@@ -5495,10 +5495,6 @@ function _joinExpects$1(values$1, separator) {
5495
5495
  */
5496
5496
  const ISO_DATE_REGEX$1 = /^\d{4}-(?:0[1-9]|1[0-2])-(?:[12]\d|0[1-9]|3[01])$/u;
5497
5497
  /**
5498
- * [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) date-time regex.
5499
- */
5500
- const ISO_DATE_TIME_REGEX$1 = /^\d{4}-(?:0[1-9]|1[0-2])-(?:[12]\d|0[1-9]|3[01])[T ](?:0\d|1\d|2[0-3]):[0-5]\d$/u;
5501
- /**
5502
5498
  * [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) timestamp regex. Allows a
5503
5499
  * space as a date/time separator and an optional space before the UTC offset.
5504
5500
  */
@@ -5552,22 +5548,6 @@ function isoDate$1(message$1) {
5552
5548
  };
5553
5549
  }
5554
5550
  /* @__NO_SIDE_EFFECTS__ */
5555
- function isoDateTime$1(message$1) {
5556
- return {
5557
- kind: "validation",
5558
- type: "iso_date_time",
5559
- reference: isoDateTime$1,
5560
- async: false,
5561
- expects: null,
5562
- requirement: ISO_DATE_TIME_REGEX$1,
5563
- message: message$1,
5564
- "~run"(dataset, config$1) {
5565
- if (dataset.typed && !this.requirement.test(dataset.value)) _addIssue$1(this, "date-time", dataset, config$1);
5566
- return dataset;
5567
- }
5568
- };
5569
- }
5570
- /* @__NO_SIDE_EFFECTS__ */
5571
5551
  function isoTimestamp(message$1) {
5572
5552
  return {
5573
5553
  kind: "validation",
@@ -7401,14 +7381,8 @@ const TaskWithParentAndAggregationsSchema = /* @__PURE__ */ object({
7401
7381
  sub_task_total_count: /* @__PURE__ */ number(),
7402
7382
  tag_ids: /* @__PURE__ */ array(/* @__PURE__ */ number()),
7403
7383
  tags: /* @__PURE__ */ array(TagLiteSchema),
7404
- time_block_completed_count: /* @__PURE__ */ number(),
7405
- time_block_scheduled_completed_count: /* @__PURE__ */ number(),
7406
- time_block_scheduled_total_count: /* @__PURE__ */ number(),
7407
- time_block_total_count: /* @__PURE__ */ number(),
7408
7384
  time_entry_total_count: /* @__PURE__ */ number(),
7409
7385
  toggl_user_id: /* @__PURE__ */ number(),
7410
- total_blocked_time: /* @__PURE__ */ number(),
7411
- total_scheduled_blocked_time: /* @__PURE__ */ number(),
7412
7386
  total_tracked_time: /* @__PURE__ */ number(),
7413
7387
  workspace_id: /* @__PURE__ */ number(),
7414
7388
  archived_at: /* @__PURE__ */ optional(/* @__PURE__ */ pipe(/* @__PURE__ */ string(), /* @__PURE__ */ isoDateTime())),
@@ -10873,7 +10847,7 @@ const PublicMeEntryRequestSchema = /* @__PURE__ */ object$2({
10873
10847
  ]))
10874
10848
  });
10875
10849
  //#endregion
10876
- //#region ../../node_modules/.pnpm/@toggl+queries@2.2.93_@tanstack+react-query@5.99.0_react@19.2.5__@toggl+sync@0.2.4_reac_8767c9c715db49250ef3e49c4f8630a0/node_modules/@toggl/queries/dist/org/invitation/requests.mjs
10850
+ //#region ../../node_modules/.pnpm/@toggl+queries@2.2.94_@tanstack+react-query@5.99.0_react@19.2.5__@toggl+sync@0.2.4_reac_68f18c971e8f60df53ae800c6addc338/node_modules/@toggl/queries/dist/org/invitation/requests.mjs
10877
10851
  async function getInvitations(httpClient, signal) {
10878
10852
  return (await httpClient.get(`invitations`, { signal })).json();
10879
10853
  }
@@ -10890,7 +10864,7 @@ async function resendInvitation(httpClient, organization_id, organization_user_i
10890
10864
  return (await httpClient.post(`organizations/${organization_id}/invitations/${organization_user_id}/resend`, { signal })).json();
10891
10865
  }
10892
10866
  //#endregion
10893
- //#region ../../node_modules/.pnpm/@toggl+queries@2.2.93_@tanstack+react-query@5.99.0_react@19.2.5__@toggl+sync@0.2.4_reac_8767c9c715db49250ef3e49c4f8630a0/node_modules/@toggl/queries/dist/org/utils/requests.mjs
10867
+ //#region ../../node_modules/.pnpm/@toggl+queries@2.2.94_@tanstack+react-query@5.99.0_react@19.2.5__@toggl+sync@0.2.4_reac_68f18c971e8f60df53ae800c6addc338/node_modules/@toggl/queries/dist/org/utils/requests.mjs
10894
10868
  function buildSearchParams(params, flattenArrays = false) {
10895
10869
  const searchParams = new URLSearchParams();
10896
10870
  Object.entries(params).forEach(([key, value]) => {
@@ -10902,7 +10876,7 @@ function buildSearchParams(params, flattenArrays = false) {
10902
10876
  return searchParams;
10903
10877
  }
10904
10878
  //#endregion
10905
- //#region ../../node_modules/.pnpm/@toggl+queries@2.2.93_@tanstack+react-query@5.99.0_react@19.2.5__@toggl+sync@0.2.4_reac_8767c9c715db49250ef3e49c4f8630a0/node_modules/@toggl/queries/dist/org/organization-user/requests.mjs
10879
+ //#region ../../node_modules/.pnpm/@toggl+queries@2.2.94_@tanstack+react-query@5.99.0_react@19.2.5__@toggl+sync@0.2.4_reac_68f18c971e8f60df53ae800c6addc338/node_modules/@toggl/queries/dist/org/organization-user/requests.mjs
10906
10880
  async function getOrganizationUser(httpClient, organization_id, organization_user_id, signal) {
10907
10881
  return (await httpClient.get(`organizations/${organization_id}/users/${organization_user_id}`, { signal })).json();
10908
10882
  }
@@ -10916,7 +10890,7 @@ async function patchOrganizationUserActive(httpClient, organization_id, organiza
10916
10890
  return (await httpClient.patch(`organizations/${organization_id}/users/${organization_user_id}/active_status/${status}`, { signal })).json();
10917
10891
  }
10918
10892
  //#endregion
10919
- //#region ../../node_modules/.pnpm/@toggl+queries@2.2.93_@tanstack+react-query@5.99.0_react@19.2.5__@toggl+sync@0.2.4_reac_8767c9c715db49250ef3e49c4f8630a0/node_modules/@toggl/queries/dist/org/workspace/requests.mjs
10893
+ //#region ../../node_modules/.pnpm/@toggl+queries@2.2.94_@tanstack+react-query@5.99.0_react@19.2.5__@toggl+sync@0.2.4_reac_68f18c971e8f60df53ae800c6addc338/node_modules/@toggl/queries/dist/org/workspace/requests.mjs
10920
10894
  async function getWorkspaces(httpClient, organization_id, signal) {
10921
10895
  return (await httpClient.get(`organizations/${organization_id}/workspaces`, { signal })).json();
10922
10896
  }
@@ -10925,7 +10899,7 @@ async function getWorkspaceUserMeRoles(httpClient, organization_id, workspace_id
10925
10899
  }
10926
10900
  const WorkingHoursCreateInputSchema = /* @__PURE__ */ object$2({
10927
10901
  working_hours: /* @__PURE__ */ pipe$2(/* @__PURE__ */ number$2(), /* @__PURE__ */ maxValue$1(168)),
10928
- starting_hours: /* @__PURE__ */ optional$1(/* @__PURE__ */ pipe$2(/* @__PURE__ */ number$2(), /* @__PURE__ */ minValue$1(0), /* @__PURE__ */ maxValue$1(24))),
10902
+ starting_hours: /* @__PURE__ */ optional$1(/* @__PURE__ */ pipe$2(/* @__PURE__ */ number$2(), /* @__PURE__ */ maxValue$1(24))),
10929
10903
  weekday: /* @__PURE__ */ optional$1(/* @__PURE__ */ pipe$2(/* @__PURE__ */ number$2(), /* @__PURE__ */ minValue$1(0), /* @__PURE__ */ maxValue$1(6)))
10930
10904
  });
10931
10905
  const WorkingHoursUpdateInputSchema = /* @__PURE__ */ object$2({
@@ -10936,7 +10910,7 @@ const WorkingHoursUpdateInputSchema = /* @__PURE__ */ object$2({
10936
10910
  });
10937
10911
  const StatusOKSchema = /* @__PURE__ */ object$2({ status: /* @__PURE__ */ string$1() });
10938
10912
  //#endregion
10939
- //#region ../../node_modules/.pnpm/@toggl+queries@2.2.93_@tanstack+react-query@5.99.0_react@19.2.5__@toggl+sync@0.2.4_reac_8767c9c715db49250ef3e49c4f8630a0/node_modules/@toggl/queries/dist/org/holiday-calendar/requests.mjs
10913
+ //#region ../../node_modules/.pnpm/@toggl+queries@2.2.94_@tanstack+react-query@5.99.0_react@19.2.5__@toggl+sync@0.2.4_reac_68f18c971e8f60df53ae800c6addc338/node_modules/@toggl/queries/dist/org/holiday-calendar/requests.mjs
10940
10914
  async function holidayListDates(httpClient, organization_id, { year, country }, signal) {
10941
10915
  return (await httpClient.get(`holidays/organizations/${organization_id}/calendar/dates`, {
10942
10916
  signal,
@@ -10947,12 +10921,12 @@ async function holidayListDates(httpClient, organization_id, { year, country },
10947
10921
  })).json();
10948
10922
  }
10949
10923
  //#endregion
10950
- //#region ../../node_modules/.pnpm/@toggl+queries@2.2.93_@tanstack+react-query@5.99.0_react@19.2.5__@toggl+sync@0.2.4_reac_8767c9c715db49250ef3e49c4f8630a0/node_modules/@toggl/queries/dist/shared-data/status/requests.mjs
10924
+ //#region ../../node_modules/.pnpm/@toggl+queries@2.2.94_@tanstack+react-query@5.99.0_react@19.2.5__@toggl+sync@0.2.4_reac_68f18c971e8f60df53ae800c6addc338/node_modules/@toggl/queries/dist/shared-data/status/requests.mjs
10951
10925
  async function getStatus(httpClient, signal) {
10952
10926
  return (await httpClient.get(`shared_data/api/status`, { signal })).json();
10953
10927
  }
10954
10928
  //#endregion
10955
- //#region ../../node_modules/.pnpm/@toggl+queries@2.2.93_@tanstack+react-query@5.99.0_react@19.2.5__@toggl+sync@0.2.4_reac_8767c9c715db49250ef3e49c4f8630a0/node_modules/@toggl/queries/dist/org/timeoff/requests.mjs
10929
+ //#region ../../node_modules/.pnpm/@toggl+queries@2.2.94_@tanstack+react-query@5.99.0_react@19.2.5__@toggl+sync@0.2.4_reac_68f18c971e8f60df53ae800c6addc338/node_modules/@toggl/queries/dist/org/timeoff/requests.mjs
10956
10930
  async function timeoffListMyEntries(httpClient, organization_id, { from, to }, signal) {
10957
10931
  return (await httpClient.get(`timeoff/organizations/${organization_id}/me`, {
10958
10932
  signal,
@@ -10980,7 +10954,7 @@ async function timeoffDeleteMyEntry(httpClient, organization_id, id, signal) {
10980
10954
  return response.json();
10981
10955
  }
10982
10956
  //#endregion
10983
- //#region ../../node_modules/.pnpm/@toggl+queries@2.2.93_@tanstack+react-query@5.99.0_react@19.2.5__@toggl+sync@0.2.4_reac_8767c9c715db49250ef3e49c4f8630a0/node_modules/@toggl/queries/dist/shared-data/working-hours/requests.mjs
10957
+ //#region ../../node_modules/.pnpm/@toggl+queries@2.2.94_@tanstack+react-query@5.99.0_react@19.2.5__@toggl+sync@0.2.4_reac_68f18c971e8f60df53ae800c6addc338/node_modules/@toggl/queries/dist/shared-data/working-hours/requests.mjs
10984
10958
  async function getMyWorkingHours(httpClient, organization_id, signal) {
10985
10959
  return (await httpClient.get(`shared_data/api/workinghours/${organization_id}/me`, { signal })).json();
10986
10960
  }
@@ -15716,12 +15690,111 @@ async function getTimeoffsByUserIds(httpClient, organization_id, { user_id, star
15716
15690
  })
15717
15691
  }).json();
15718
15692
  }
15693
+ async function getTimeoffBalances(httpClient, organization_id, { user_id, category_id, date } = {}, signal) {
15694
+ return await httpClient.get(`organizations/${organization_id}/timeoff/balances`, {
15695
+ signal,
15696
+ searchParams: buildSearchParams$2({
15697
+ user_id,
15698
+ category_id,
15699
+ date
15700
+ })
15701
+ }).json();
15702
+ }
15703
+ async function createTimeoffBalanceAdjustment(httpClient, organization_id, data, signal) {
15704
+ return await httpClient.post(`organizations/${organization_id}/timeoff/balances`, {
15705
+ signal,
15706
+ json: data
15707
+ }).json();
15708
+ }
15709
+ async function importTimeoffBalances(httpClient, organization_id, data, signal) {
15710
+ return await httpClient.post(`organizations/${organization_id}/timeoff/balances/bulk`, {
15711
+ signal,
15712
+ json: data
15713
+ }).json();
15714
+ }
15719
15715
  async function getTimeoffCategories(httpClient, organization_id, signal) {
15720
15716
  return await httpClient.get(`organizations/${organization_id}/timeoff/categories`, { signal }).json();
15721
15717
  }
15718
+ async function createTimeoffCategory(httpClient, organization_id, data, signal) {
15719
+ return await httpClient.post(`organizations/${organization_id}/timeoff/categories`, {
15720
+ signal,
15721
+ json: data
15722
+ }).json();
15723
+ }
15722
15724
  async function getTimeoffCategory(httpClient, organization_id, category_id, signal) {
15723
15725
  return await httpClient.get(`organizations/${organization_id}/timeoff/categories/${category_id}`, { signal }).json();
15724
15726
  }
15727
+ async function updateTimeoffCategory(httpClient, organization_id, category_id, data, signal) {
15728
+ return await httpClient.put(`organizations/${organization_id}/timeoff/categories/${category_id}`, {
15729
+ signal,
15730
+ json: data
15731
+ }).json();
15732
+ }
15733
+ async function deleteTimeoffCategory(httpClient, organization_id, category_id, signal) {
15734
+ return await httpClient.delete(`organizations/${organization_id}/timeoff/categories/${category_id}`, { signal }).json();
15735
+ }
15736
+ async function archiveTimeoffCategory(httpClient, organization_id, category_id, signal) {
15737
+ return await httpClient.post(`organizations/${organization_id}/timeoff/categories/${category_id}/archive`, { signal }).json();
15738
+ }
15739
+ async function restoreTimeoffCategory(httpClient, organization_id, category_id, signal) {
15740
+ return await httpClient.post(`organizations/${organization_id}/timeoff/categories/${category_id}/restore`, { signal }).json();
15741
+ }
15742
+ async function getTimeoffEntriesClassic(httpClient, organization_id, { user_id, team_id, category_id, status, from, to, page, rows } = {}, signal) {
15743
+ return await httpClient.get(`organizations/${organization_id}/timeoff/entries`, {
15744
+ signal,
15745
+ searchParams: buildSearchParams$2({
15746
+ user_id,
15747
+ team_id,
15748
+ category_id,
15749
+ status,
15750
+ from,
15751
+ to,
15752
+ page,
15753
+ rows
15754
+ })
15755
+ }).json();
15756
+ }
15757
+ async function getTimeoffEntry(httpClient, organization_id, entry_id, signal) {
15758
+ return await httpClient.get(`organizations/${organization_id}/timeoff/entries/${entry_id}`, { signal }).json();
15759
+ }
15760
+ async function approveTimeoffEntry(httpClient, organization_id, entry_id, signal) {
15761
+ return await httpClient.put(`organizations/${organization_id}/timeoff/entries/${entry_id}/approve`, { signal }).json();
15762
+ }
15763
+ async function cancelTimeoffEntry(httpClient, organization_id, entry_id, signal) {
15764
+ return await httpClient.put(`organizations/${organization_id}/timeoff/entries/${entry_id}/cancel`, { signal }).json();
15765
+ }
15766
+ async function rejectTimeoffEntry(httpClient, organization_id, entry_id, data, signal) {
15767
+ return await httpClient.put(`organizations/${organization_id}/timeoff/entries/${entry_id}/reject`, {
15768
+ signal,
15769
+ json: data
15770
+ }).json();
15771
+ }
15772
+ async function getTimeoffAbsenceReport(httpClient, organization_id, { start_date, end_date, user_id, team_id, category_id, include_pending }, signal) {
15773
+ return await httpClient.get(`organizations/${organization_id}/timeoff/reports/absence`, {
15774
+ signal,
15775
+ searchParams: buildSearchParams$2({
15776
+ start_date,
15777
+ end_date,
15778
+ user_id,
15779
+ team_id,
15780
+ category_id,
15781
+ include_pending
15782
+ })
15783
+ }).json();
15784
+ }
15785
+ async function getTimeoffTimeline(httpClient, organization_id, { user_id, team_id, category_id, status, from, to } = {}, signal) {
15786
+ return await httpClient.get(`organizations/${organization_id}/timeoff/timeline`, {
15787
+ signal,
15788
+ searchParams: buildSearchParams$2({
15789
+ user_id,
15790
+ team_id,
15791
+ category_id,
15792
+ status,
15793
+ from,
15794
+ to
15795
+ })
15796
+ }).json();
15797
+ }
15725
15798
  async function getTimeoffForUser(httpClient, organization_id, user_id, { from, to }, signal) {
15726
15799
  return await httpClient.get(`organizations/${organization_id}/timeoff/users/${user_id}`, {
15727
15800
  signal,
@@ -15769,6 +15842,15 @@ async function getTimeoffBalanceChangesForUserClassic(httpClient, organization_i
15769
15842
  })
15770
15843
  }).json();
15771
15844
  }
15845
+ async function getTimeoffWhosOut(httpClient, organization_id, { start_date, end_date }, signal) {
15846
+ return await httpClient.get(`organizations/${organization_id}/timeoff/whos-out`, {
15847
+ signal,
15848
+ searchParams: buildSearchParams$2({
15849
+ start_date,
15850
+ end_date
15851
+ })
15852
+ }).json();
15853
+ }
15772
15854
  //#endregion
15773
15855
  //#region ../focus-queries/dist/timesheet-setups/requests.ts
15774
15856
  async function getTimesheetSetups(httpClient, organization_id, workspace_id, { include_discontinued, user_account_id, approver_user_account_id } = {}, signal) {
@@ -25127,6 +25209,159 @@ const generatedFocusOperations = [
25127
25209
  ]));
25128
25210
  }
25129
25211
  },
25212
+ {
25213
+ id: "focus.time-off.approve-timeoff-entry",
25214
+ family: "focus",
25215
+ resource: "time-off",
25216
+ action: "approve-timeoff-entry",
25217
+ title: "Approve Timeoff Entry Time Off",
25218
+ description: "Approve Timeoff Entry Time Off.",
25219
+ safety: "update",
25220
+ destructive: false,
25221
+ cli: {
25222
+ group: ["time-off"],
25223
+ command: "approve-timeoff-entry",
25224
+ interactive: "default"
25225
+ },
25226
+ mcp: { entityTool: "time-off" },
25227
+ inputSchema: /* @__PURE__ */ looseObject({ entry_id: /* @__PURE__ */ number$2() }),
25228
+ execute: (input, { client }) => {
25229
+ const data = input;
25230
+ return client.runGeneratedRequest("approveTimeoffEntry", () => callGeneratedRequest(approveTimeoffEntry, [
25231
+ client.httpClient,
25232
+ client.organizationId,
25233
+ data.entry_id,
25234
+ void 0
25235
+ ]));
25236
+ }
25237
+ },
25238
+ {
25239
+ id: "focus.time-off.archive-timeoff-category",
25240
+ family: "focus",
25241
+ resource: "time-off",
25242
+ action: "archive-timeoff-category",
25243
+ title: "Archive Timeoff Category Time Off",
25244
+ description: "Archive Timeoff Category Time Off.",
25245
+ safety: "update",
25246
+ destructive: false,
25247
+ cli: {
25248
+ group: ["time-off"],
25249
+ command: "archive-timeoff-category",
25250
+ interactive: "default"
25251
+ },
25252
+ mcp: { entityTool: "time-off" },
25253
+ inputSchema: /* @__PURE__ */ looseObject({ category_id: /* @__PURE__ */ number$2() }),
25254
+ execute: (input, { client }) => {
25255
+ const data = input;
25256
+ return client.runGeneratedRequest("archiveTimeoffCategory", () => callGeneratedRequest(archiveTimeoffCategory, [
25257
+ client.httpClient,
25258
+ client.organizationId,
25259
+ data.category_id,
25260
+ void 0
25261
+ ]));
25262
+ }
25263
+ },
25264
+ {
25265
+ id: "focus.time-off.cancel-timeoff-entry",
25266
+ family: "focus",
25267
+ resource: "time-off",
25268
+ action: "cancel-timeoff-entry",
25269
+ title: "Cancel Timeoff Entry Time Off",
25270
+ description: "Cancel Timeoff Entry Time Off.",
25271
+ safety: "update",
25272
+ destructive: false,
25273
+ cli: {
25274
+ group: ["time-off"],
25275
+ command: "cancel-timeoff-entry",
25276
+ interactive: "default"
25277
+ },
25278
+ mcp: { entityTool: "time-off" },
25279
+ inputSchema: /* @__PURE__ */ looseObject({ entry_id: /* @__PURE__ */ number$2() }),
25280
+ execute: (input, { client }) => {
25281
+ const data = input;
25282
+ return client.runGeneratedRequest("cancelTimeoffEntry", () => callGeneratedRequest(cancelTimeoffEntry, [
25283
+ client.httpClient,
25284
+ client.organizationId,
25285
+ data.entry_id,
25286
+ void 0
25287
+ ]));
25288
+ }
25289
+ },
25290
+ {
25291
+ id: "focus.time-off.create-timeoff-balance-adjustment",
25292
+ family: "focus",
25293
+ resource: "time-off",
25294
+ action: "create-timeoff-balance-adjustment",
25295
+ title: "Create Timeoff Balance Adjustment Time Off",
25296
+ description: "Create Timeoff Balance Adjustment Time Off.",
25297
+ safety: "create",
25298
+ destructive: false,
25299
+ cli: {
25300
+ group: ["time-off"],
25301
+ command: "create-timeoff-balance-adjustment",
25302
+ interactive: "default"
25303
+ },
25304
+ mcp: { entityTool: "time-off" },
25305
+ inputSchema: /* @__PURE__ */ looseObject({ payload: /* @__PURE__ */ looseObject({
25306
+ amount: /* @__PURE__ */ number$2(),
25307
+ time_off_category_id: /* @__PURE__ */ number$2(),
25308
+ user_id: /* @__PURE__ */ number$2(),
25309
+ date: /* @__PURE__ */ optional$1(/* @__PURE__ */ pipe$2(/* @__PURE__ */ string$1(), /* @__PURE__ */ isoDate$1())),
25310
+ note: /* @__PURE__ */ optional$1(/* @__PURE__ */ string$1())
25311
+ }) }),
25312
+ execute: (input, { client }) => {
25313
+ const data = input;
25314
+ return client.runGeneratedRequest("createTimeoffBalanceAdjustment", () => callGeneratedRequest(createTimeoffBalanceAdjustment, [
25315
+ client.httpClient,
25316
+ client.organizationId,
25317
+ data.payload ?? data.data ?? data,
25318
+ void 0
25319
+ ]));
25320
+ }
25321
+ },
25322
+ {
25323
+ id: "focus.time-off.create-timeoff-category",
25324
+ family: "focus",
25325
+ resource: "time-off",
25326
+ action: "create-timeoff-category",
25327
+ title: "Create Timeoff Category Time Off",
25328
+ description: "Create Timeoff Category Time Off.",
25329
+ safety: "create",
25330
+ destructive: false,
25331
+ cli: {
25332
+ group: ["time-off"],
25333
+ command: "create-timeoff-category",
25334
+ interactive: "default"
25335
+ },
25336
+ mcp: { entityTool: "time-off" },
25337
+ inputSchema: /* @__PURE__ */ looseObject({ payload: /* @__PURE__ */ looseObject({
25338
+ allow_negative_balance: /* @__PURE__ */ boolean$1(),
25339
+ auto_approve_under_days: /* @__PURE__ */ number$2(),
25340
+ default_amount_per_year: /* @__PURE__ */ number$2(),
25341
+ description: /* @__PURE__ */ string$1(),
25342
+ emoji: /* @__PURE__ */ string$1(),
25343
+ max_carry_over_amount: /* @__PURE__ */ number$2(),
25344
+ name: /* @__PURE__ */ string$1(),
25345
+ prorate: /* @__PURE__ */ boolean$1(),
25346
+ accrual_frequency: /* @__PURE__ */ optional$1(/* @__PURE__ */ picklist$1([
25347
+ "yearly",
25348
+ "monthly",
25349
+ "one_off"
25350
+ ])),
25351
+ allowance_type: /* @__PURE__ */ optional$1(/* @__PURE__ */ picklist$1(["limited", "unlimited"])),
25352
+ carry_over_expiry_months: /* @__PURE__ */ optional$1(/* @__PURE__ */ number$2()),
25353
+ policy_link: /* @__PURE__ */ optional$1(/* @__PURE__ */ string$1())
25354
+ }) }),
25355
+ execute: (input, { client }) => {
25356
+ const data = input;
25357
+ return client.runGeneratedRequest("createTimeoffCategory", () => callGeneratedRequest(createTimeoffCategory, [
25358
+ client.httpClient,
25359
+ client.organizationId,
25360
+ data.payload ?? data.data ?? data,
25361
+ void 0
25362
+ ]));
25363
+ }
25364
+ },
25130
25365
  {
25131
25366
  id: "focus.time-off.create-timeoff-for-user",
25132
25367
  family: "focus",
@@ -25157,6 +25392,32 @@ const generatedFocusOperations = [
25157
25392
  ]));
25158
25393
  }
25159
25394
  },
25395
+ {
25396
+ id: "focus.time-off.delete-timeoff-category",
25397
+ family: "focus",
25398
+ resource: "time-off",
25399
+ action: "delete-timeoff-category",
25400
+ title: "Delete Timeoff Category Time Off",
25401
+ description: "Delete Timeoff Category Time Off.",
25402
+ safety: "delete",
25403
+ destructive: true,
25404
+ cli: {
25405
+ group: ["time-off"],
25406
+ command: "delete-timeoff-category",
25407
+ interactive: "default"
25408
+ },
25409
+ mcp: { entityTool: "time-off" },
25410
+ inputSchema: /* @__PURE__ */ looseObject({ category_id: /* @__PURE__ */ number$2() }),
25411
+ execute: (input, { client }) => {
25412
+ const data = input;
25413
+ return client.runGeneratedRequest("deleteTimeoffCategory", () => callGeneratedRequest(deleteTimeoffCategory, [
25414
+ client.httpClient,
25415
+ client.organizationId,
25416
+ data.category_id,
25417
+ void 0
25418
+ ]));
25419
+ }
25420
+ },
25160
25421
  {
25161
25422
  id: "focus.time-off.delete-timeoff-for-user",
25162
25423
  family: "focus",
@@ -25187,6 +25448,39 @@ const generatedFocusOperations = [
25187
25448
  ]));
25188
25449
  }
25189
25450
  },
25451
+ {
25452
+ id: "focus.time-off.get-timeoff-absence-report",
25453
+ family: "focus",
25454
+ resource: "time-off",
25455
+ action: "get-timeoff-absence-report",
25456
+ title: "Get Timeoff Absence Report Time Off",
25457
+ description: "Get Timeoff Absence Report Time Off.",
25458
+ safety: "read",
25459
+ destructive: false,
25460
+ cli: {
25461
+ group: ["time-off"],
25462
+ command: "get-timeoff-absence-report",
25463
+ interactive: "hidden"
25464
+ },
25465
+ mcp: { entityTool: "time-off" },
25466
+ inputSchema: /* @__PURE__ */ looseObject({
25467
+ category_id: /* @__PURE__ */ number$2(),
25468
+ end_date: /* @__PURE__ */ pipe$2(/* @__PURE__ */ string$1(), /* @__PURE__ */ isoDate$1()),
25469
+ include_pending: /* @__PURE__ */ unknown$1(),
25470
+ start_date: /* @__PURE__ */ pipe$2(/* @__PURE__ */ string$1(), /* @__PURE__ */ isoDate$1()),
25471
+ team_id: /* @__PURE__ */ number$2(),
25472
+ user_id: /* @__PURE__ */ number$2()
25473
+ }),
25474
+ execute: (input, { client }) => {
25475
+ const data = input;
25476
+ return client.runGeneratedRequest("getTimeoffAbsenceReport", () => callGeneratedRequest(getTimeoffAbsenceReport, [
25477
+ client.httpClient,
25478
+ client.organizationId,
25479
+ data,
25480
+ void 0
25481
+ ]));
25482
+ }
25483
+ },
25190
25484
  {
25191
25485
  id: "focus.time-off.get-timeoff-balance-changes-for-user",
25192
25486
  family: "focus",
@@ -25220,6 +25514,36 @@ const generatedFocusOperations = [
25220
25514
  ]));
25221
25515
  }
25222
25516
  },
25517
+ {
25518
+ id: "focus.time-off.get-timeoff-balances",
25519
+ family: "focus",
25520
+ resource: "time-off",
25521
+ action: "get-timeoff-balances",
25522
+ title: "Get Timeoff Balances Time Off",
25523
+ description: "Get Timeoff Balances Time Off.",
25524
+ safety: "read",
25525
+ destructive: false,
25526
+ cli: {
25527
+ group: ["time-off"],
25528
+ command: "get-timeoff-balances",
25529
+ interactive: "available"
25530
+ },
25531
+ mcp: { entityTool: "time-off" },
25532
+ inputSchema: /* @__PURE__ */ looseObject({
25533
+ category_id: /* @__PURE__ */ optional$1(/* @__PURE__ */ number$2()),
25534
+ date: /* @__PURE__ */ optional$1(/* @__PURE__ */ pipe$2(/* @__PURE__ */ string$1(), /* @__PURE__ */ isoDate$1())),
25535
+ user_id: /* @__PURE__ */ optional$1(/* @__PURE__ */ number$2())
25536
+ }),
25537
+ execute: (input, { client }) => {
25538
+ const data = input;
25539
+ return client.runGeneratedRequest("getTimeoffBalances", () => callGeneratedRequest(getTimeoffBalances, [
25540
+ client.httpClient,
25541
+ client.organizationId,
25542
+ data,
25543
+ void 0
25544
+ ]));
25545
+ }
25546
+ },
25223
25547
  {
25224
25548
  id: "focus.time-off.get-timeoff-balances-for-user",
25225
25549
  family: "focus",
@@ -25299,6 +25623,67 @@ const generatedFocusOperations = [
25299
25623
  ]));
25300
25624
  }
25301
25625
  },
25626
+ {
25627
+ id: "focus.time-off.get-timeoff-entries",
25628
+ family: "focus",
25629
+ resource: "time-off",
25630
+ action: "get-timeoff-entries",
25631
+ title: "Get Timeoff Entries Time Off",
25632
+ description: "Get Timeoff Entries Time Off.",
25633
+ safety: "read",
25634
+ destructive: false,
25635
+ cli: {
25636
+ group: ["time-off"],
25637
+ command: "get-timeoff-entries",
25638
+ interactive: "hidden"
25639
+ },
25640
+ mcp: { entityTool: "time-off" },
25641
+ inputSchema: /* @__PURE__ */ looseObject({
25642
+ category_id: /* @__PURE__ */ optional$1(/* @__PURE__ */ number$2()),
25643
+ from: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
25644
+ page: /* @__PURE__ */ optional$1(/* @__PURE__ */ number$2()),
25645
+ rows: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
25646
+ status: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
25647
+ team_id: /* @__PURE__ */ optional$1(/* @__PURE__ */ number$2()),
25648
+ to: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
25649
+ user_id: /* @__PURE__ */ optional$1(/* @__PURE__ */ number$2())
25650
+ }),
25651
+ execute: (input, { client }) => {
25652
+ const data = input;
25653
+ return client.runGeneratedRequest("getTimeoffEntriesClassic", () => callGeneratedRequest(getTimeoffEntriesClassic, [
25654
+ client.httpClient,
25655
+ client.organizationId,
25656
+ data,
25657
+ void 0
25658
+ ]));
25659
+ }
25660
+ },
25661
+ {
25662
+ id: "focus.time-off.get-timeoff-entry",
25663
+ family: "focus",
25664
+ resource: "time-off",
25665
+ action: "get-timeoff-entry",
25666
+ title: "Get Timeoff Entry Time Off",
25667
+ description: "Get Timeoff Entry Time Off.",
25668
+ safety: "read",
25669
+ destructive: false,
25670
+ cli: {
25671
+ group: ["time-off"],
25672
+ command: "get-timeoff-entry",
25673
+ interactive: "available"
25674
+ },
25675
+ mcp: { entityTool: "time-off" },
25676
+ inputSchema: /* @__PURE__ */ looseObject({ entry_id: /* @__PURE__ */ number$2() }),
25677
+ execute: (input, { client }) => {
25678
+ const data = input;
25679
+ return client.runGeneratedRequest("getTimeoffEntry", () => callGeneratedRequest(getTimeoffEntry, [
25680
+ client.httpClient,
25681
+ client.organizationId,
25682
+ data.entry_id,
25683
+ void 0
25684
+ ]));
25685
+ }
25686
+ },
25302
25687
  {
25303
25688
  id: "focus.time-off.get-timeoff-for-user",
25304
25689
  family: "focus",
@@ -25330,6 +25715,68 @@ const generatedFocusOperations = [
25330
25715
  ]));
25331
25716
  }
25332
25717
  },
25718
+ {
25719
+ id: "focus.time-off.get-timeoff-timeline",
25720
+ family: "focus",
25721
+ resource: "time-off",
25722
+ action: "get-timeoff-timeline",
25723
+ title: "Get Timeoff Timeline Time Off",
25724
+ description: "Get Timeoff Timeline Time Off.",
25725
+ safety: "read",
25726
+ destructive: false,
25727
+ cli: {
25728
+ group: ["time-off"],
25729
+ command: "get-timeoff-timeline",
25730
+ interactive: "hidden"
25731
+ },
25732
+ mcp: { entityTool: "time-off" },
25733
+ inputSchema: /* @__PURE__ */ looseObject({
25734
+ category_id: /* @__PURE__ */ optional$1(/* @__PURE__ */ number$2()),
25735
+ from: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
25736
+ status: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
25737
+ team_id: /* @__PURE__ */ optional$1(/* @__PURE__ */ number$2()),
25738
+ to: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
25739
+ user_id: /* @__PURE__ */ optional$1(/* @__PURE__ */ number$2())
25740
+ }),
25741
+ execute: (input, { client }) => {
25742
+ const data = input;
25743
+ return client.runGeneratedRequest("getTimeoffTimeline", () => callGeneratedRequest(getTimeoffTimeline, [
25744
+ client.httpClient,
25745
+ client.organizationId,
25746
+ data,
25747
+ void 0
25748
+ ]));
25749
+ }
25750
+ },
25751
+ {
25752
+ id: "focus.time-off.get-timeoff-whos-out",
25753
+ family: "focus",
25754
+ resource: "time-off",
25755
+ action: "get-timeoff-whos-out",
25756
+ title: "Get Timeoff Whos Out Time Off",
25757
+ description: "Get Timeoff Whos Out Time Off.",
25758
+ safety: "read",
25759
+ destructive: false,
25760
+ cli: {
25761
+ group: ["time-off"],
25762
+ command: "get-timeoff-whos-out",
25763
+ interactive: "available"
25764
+ },
25765
+ mcp: { entityTool: "time-off" },
25766
+ inputSchema: /* @__PURE__ */ looseObject({
25767
+ end_date: /* @__PURE__ */ pipe$2(/* @__PURE__ */ string$1(), /* @__PURE__ */ isoDate$1()),
25768
+ start_date: /* @__PURE__ */ pipe$2(/* @__PURE__ */ string$1(), /* @__PURE__ */ isoDate$1())
25769
+ }),
25770
+ execute: (input, { client }) => {
25771
+ const data = input;
25772
+ return client.runGeneratedRequest("getTimeoffWhosOut", () => callGeneratedRequest(getTimeoffWhosOut, [
25773
+ client.httpClient,
25774
+ client.organizationId,
25775
+ data,
25776
+ void 0
25777
+ ]));
25778
+ }
25779
+ },
25333
25780
  {
25334
25781
  id: "focus.time-off.get-timeoffs-by-user-ids",
25335
25782
  family: "focus",
@@ -25360,6 +25807,135 @@ const generatedFocusOperations = [
25360
25807
  ]));
25361
25808
  }
25362
25809
  },
25810
+ {
25811
+ id: "focus.time-off.import-timeoff-balances",
25812
+ family: "focus",
25813
+ resource: "time-off",
25814
+ action: "import-timeoff-balances",
25815
+ title: "Import Timeoff Balances Time Off",
25816
+ description: "Import Timeoff Balances Time Off.",
25817
+ safety: "update",
25818
+ destructive: false,
25819
+ cli: {
25820
+ group: ["time-off"],
25821
+ command: "import-timeoff-balances",
25822
+ interactive: "default"
25823
+ },
25824
+ mcp: { entityTool: "time-off" },
25825
+ inputSchema: /* @__PURE__ */ looseObject({ payload: /* @__PURE__ */ looseObject({
25826
+ category_id: /* @__PURE__ */ number$2(),
25827
+ rows: /* @__PURE__ */ array$1(/* @__PURE__ */ looseObject({
25828
+ amount: /* @__PURE__ */ number$2(),
25829
+ user_account_id: /* @__PURE__ */ number$2()
25830
+ }))
25831
+ }) }),
25832
+ execute: (input, { client }) => {
25833
+ const data = input;
25834
+ return client.runGeneratedRequest("importTimeoffBalances", () => callGeneratedRequest(importTimeoffBalances, [
25835
+ client.httpClient,
25836
+ client.organizationId,
25837
+ data.payload ?? data.data ?? data,
25838
+ void 0
25839
+ ]));
25840
+ }
25841
+ },
25842
+ {
25843
+ id: "focus.time-off.reject-timeoff-entry",
25844
+ family: "focus",
25845
+ resource: "time-off",
25846
+ action: "reject-timeoff-entry",
25847
+ title: "Reject Timeoff Entry Time Off",
25848
+ description: "Reject Timeoff Entry Time Off.",
25849
+ safety: "update",
25850
+ destructive: false,
25851
+ cli: {
25852
+ group: ["time-off"],
25853
+ command: "reject-timeoff-entry",
25854
+ interactive: "default"
25855
+ },
25856
+ mcp: { entityTool: "time-off" },
25857
+ inputSchema: /* @__PURE__ */ looseObject({
25858
+ entry_id: /* @__PURE__ */ number$2(),
25859
+ payload: /* @__PURE__ */ looseObject({ reason: /* @__PURE__ */ string$1() })
25860
+ }),
25861
+ execute: (input, { client }) => {
25862
+ const data = input;
25863
+ return client.runGeneratedRequest("rejectTimeoffEntry", () => callGeneratedRequest(rejectTimeoffEntry, [
25864
+ client.httpClient,
25865
+ client.organizationId,
25866
+ data.entry_id,
25867
+ data.payload ?? data.data ?? data,
25868
+ void 0
25869
+ ]));
25870
+ }
25871
+ },
25872
+ {
25873
+ id: "focus.time-off.restore-timeoff-category",
25874
+ family: "focus",
25875
+ resource: "time-off",
25876
+ action: "restore-timeoff-category",
25877
+ title: "Restore Timeoff Category Time Off",
25878
+ description: "Restore Timeoff Category Time Off.",
25879
+ safety: "update",
25880
+ destructive: false,
25881
+ cli: {
25882
+ group: ["time-off"],
25883
+ command: "restore-timeoff-category",
25884
+ interactive: "default"
25885
+ },
25886
+ mcp: { entityTool: "time-off" },
25887
+ inputSchema: /* @__PURE__ */ looseObject({ category_id: /* @__PURE__ */ number$2() }),
25888
+ execute: (input, { client }) => {
25889
+ const data = input;
25890
+ return client.runGeneratedRequest("restoreTimeoffCategory", () => callGeneratedRequest(restoreTimeoffCategory, [
25891
+ client.httpClient,
25892
+ client.organizationId,
25893
+ data.category_id,
25894
+ void 0
25895
+ ]));
25896
+ }
25897
+ },
25898
+ {
25899
+ id: "focus.time-off.update-timeoff-category",
25900
+ family: "focus",
25901
+ resource: "time-off",
25902
+ action: "update-timeoff-category",
25903
+ title: "Update Timeoff Category Time Off",
25904
+ description: "Update Timeoff Category Time Off.",
25905
+ safety: "update",
25906
+ destructive: false,
25907
+ cli: {
25908
+ group: ["time-off"],
25909
+ command: "update-timeoff-category",
25910
+ interactive: "default"
25911
+ },
25912
+ mcp: { entityTool: "time-off" },
25913
+ inputSchema: /* @__PURE__ */ looseObject({
25914
+ category_id: /* @__PURE__ */ number$2(),
25915
+ payload: /* @__PURE__ */ looseObject({
25916
+ allow_negative_balance: /* @__PURE__ */ boolean$1(),
25917
+ auto_approve_under_days: /* @__PURE__ */ number$2(),
25918
+ default_amount_per_year: /* @__PURE__ */ number$2(),
25919
+ description: /* @__PURE__ */ string$1(),
25920
+ emoji: /* @__PURE__ */ string$1(),
25921
+ max_carry_over_amount: /* @__PURE__ */ number$2(),
25922
+ name: /* @__PURE__ */ string$1(),
25923
+ prorate: /* @__PURE__ */ boolean$1(),
25924
+ carry_over_expiry_months: /* @__PURE__ */ optional$1(/* @__PURE__ */ number$2()),
25925
+ policy_link: /* @__PURE__ */ optional$1(/* @__PURE__ */ string$1())
25926
+ })
25927
+ }),
25928
+ execute: (input, { client }) => {
25929
+ const data = input;
25930
+ return client.runGeneratedRequest("updateTimeoffCategory", () => callGeneratedRequest(updateTimeoffCategory, [
25931
+ client.httpClient,
25932
+ client.organizationId,
25933
+ data.category_id,
25934
+ data.payload ?? data.data ?? data,
25935
+ void 0
25936
+ ]));
25937
+ }
25938
+ },
25363
25939
  {
25364
25940
  id: "focus.time-off.update-timeoff-for-user",
25365
25941
  family: "focus",
@@ -26465,7 +27041,6 @@ const generatedFocusOperations = [
26465
27041
  },
26466
27042
  mcp: { entityTool: "users" },
26467
27043
  inputSchema: /* @__PURE__ */ looseObject({ payload: /* @__PURE__ */ looseObject({
26468
- autocomplete_task_with_time_block: /* @__PURE__ */ optional$1(/* @__PURE__ */ boolean$1()),
26469
27044
  autolog_time: /* @__PURE__ */ optional$1(/* @__PURE__ */ boolean$1()),
26470
27045
  calendar_future_defaults_to_plan: /* @__PURE__ */ optional$1(/* @__PURE__ */ boolean$1()),
26471
27046
  calendar_project_suggestion_fallback: /* @__PURE__ */ optional$1(/* @__PURE__ */ boolean$1()),
@@ -28582,4 +29157,4 @@ Common commands:
28582
29157
  //#endregion
28583
29158
  export { CommanderError as a, shutdownCliTelemetry as i, captureCliException as n, initCliTelemetry as r, createProgram as t };
28584
29159
 
28585
- //# sourceMappingURL=program-C_81aiOa.js.map
29160
+ //# sourceMappingURL=program-B3rn-Nub.js.map
package/build/program.js CHANGED
@@ -1,2 +1,2 @@
1
- import { t as createProgram } from "./program-C_81aiOa.js";
1
+ import { t as createProgram } from "./program-B3rn-Nub.js";
2
2
  export { createProgram };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@togglhq/cli",
3
- "version": "1.11.95",
3
+ "version": "1.11.97",
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.93",
59
+ "@toggl/queries": "2.2.94",
60
60
  "@types/node": "22.19.11",
61
61
  "tsdown": "0.21.8",
62
62
  "typescript": "5.9.3",