@togglhq/cli 1.9.0 → 1.11.0

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.
@@ -5495,6 +5495,10 @@ 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
+ /**
5498
5502
  * [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) timestamp regex. Allows a
5499
5503
  * space as a date/time separator and an optional space before the UTC offset.
5500
5504
  */
@@ -5548,6 +5552,22 @@ function isoDate$1(message$1) {
5548
5552
  };
5549
5553
  }
5550
5554
  /* @__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__ */
5551
5571
  function isoTimestamp(message$1) {
5552
5572
  return {
5553
5573
  kind: "validation",
@@ -8146,7 +8166,7 @@ function withResponseMeta$1(data, headers, status) {
8146
8166
  });
8147
8167
  return data;
8148
8168
  }
8149
- function buildSearchParams$3(params, flattenArrays = false) {
8169
+ function buildSearchParams$2(params, flattenArrays = false) {
8150
8170
  const searchParams = new URLSearchParams();
8151
8171
  Object.entries(params).forEach(([key, value]) => {
8152
8172
  if (value === void 0) return;
@@ -8178,7 +8198,7 @@ function toFormData(params) {
8178
8198
  async function getProjectAttachments(httpClient, organization_id, workspace_id, project_id, { order_by } = {}, signal) {
8179
8199
  return await httpClient.get(`organizations/${organization_id}/workspaces/${workspace_id}/projects/${project_id}/attachments`, {
8180
8200
  signal,
8181
- searchParams: buildSearchParams$3({ order_by })
8201
+ searchParams: buildSearchParams$2({ order_by })
8182
8202
  }).json();
8183
8203
  }
8184
8204
  async function createProjectAttachment(httpClient, organization_id, workspace_id, project_id, display_order, file, name, signal) {
@@ -8219,7 +8239,7 @@ async function viewProjectAttachment(httpClient, organization_id, workspace_id,
8219
8239
  async function getTaskAttachments(httpClient, organization_id, workspace_id, task_id, { order_by } = {}, signal) {
8220
8240
  return await httpClient.get(`organizations/${organization_id}/workspaces/${workspace_id}/tasks/${task_id}/attachments`, {
8221
8241
  signal,
8222
- searchParams: buildSearchParams$3({ order_by })
8242
+ searchParams: buildSearchParams$2({ order_by })
8223
8243
  }).json();
8224
8244
  }
8225
8245
  async function createTaskAttachment(httpClient, organization_id, workspace_id, task_id, display_order, file, name, signal) {
@@ -9876,7 +9896,7 @@ const TimeEntryStopTrackingPayloadSchema = /* @__PURE__ */ object({ end: /* @__P
9876
9896
  async function getClientsClassic(httpClient, workspace_id, { page, per_page, order_by, name } = {}, signal) {
9877
9897
  return await httpClient.get(`workspaces/${workspace_id}/clients`, {
9878
9898
  signal,
9879
- searchParams: buildSearchParams$3({
9899
+ searchParams: buildSearchParams$2({
9880
9900
  page,
9881
9901
  per_page,
9882
9902
  order_by,
@@ -9925,7 +9945,7 @@ async function updateOrganizationGroup(httpClient, organization_id, group_id, da
9925
9945
  async function deleteOrganizationGroup(httpClient, organization_id, group_id, workspace_id, signal) {
9926
9946
  return await httpClient.delete(`organizations/${organization_id}/groups/${group_id}`, {
9927
9947
  signal,
9928
- searchParams: buildSearchParams$3({ workspace_id })
9948
+ searchParams: buildSearchParams$2({ workspace_id })
9929
9949
  }).json();
9930
9950
  }
9931
9951
  async function updateOrganizationGroupUserRole(httpClient, organization_id, group_id, data, signal) {
@@ -9937,7 +9957,7 @@ async function updateOrganizationGroupUserRole(httpClient, organization_id, grou
9937
9957
  async function getOrganizationMemberTags(httpClient, organization_id, { workspace_id }, signal) {
9938
9958
  return await httpClient.get(`organizations/${organization_id}/member-tags`, {
9939
9959
  signal,
9940
- searchParams: buildSearchParams$3({ workspace_id })
9960
+ searchParams: buildSearchParams$2({ workspace_id })
9941
9961
  }).json();
9942
9962
  }
9943
9963
  async function getOrganizationRoles(httpClient, organization_id, signal) {
@@ -9946,7 +9966,7 @@ async function getOrganizationRoles(httpClient, organization_id, signal) {
9946
9966
  async function getOrganizationTeamsClassic(httpClient, organization_id, { workspace_id, page, per_page, sort_dir, filter, query, organization_user_id, group_ids, active_members_only }, signal) {
9947
9967
  return await httpClient.get(`organizations/${organization_id}/teams`, {
9948
9968
  signal,
9949
- searchParams: buildSearchParams$3({
9969
+ searchParams: buildSearchParams$2({
9950
9970
  workspace_id,
9951
9971
  page,
9952
9972
  per_page,
@@ -9962,7 +9982,7 @@ async function getOrganizationTeamsClassic(httpClient, organization_id, { worksp
9962
9982
  async function getOrganizationUsersClassic(httpClient, organization_id, { workspaces, user_account_ids, org_user_ids, groups, toggl_products, active_status, roles, only_admins, filter, sort_dir, page, per_page, tag_ids, include_working_hours, include_rates, pinned_ids, has_group, cf_filter, include_custom_fields, include_calendar_integration } = {}, signal) {
9963
9983
  const response = await httpClient.get(`organizations/${organization_id}/users`, {
9964
9984
  signal,
9965
- searchParams: buildSearchParams$3({
9985
+ searchParams: buildSearchParams$2({
9966
9986
  workspaces,
9967
9987
  user_account_ids,
9968
9988
  org_user_ids,
@@ -9989,7 +10009,7 @@ async function getOrganizationUsersClassic(httpClient, organization_id, { worksp
9989
10009
  }
9990
10010
  //#endregion
9991
10011
  //#region ../focus-queries/out/utils/requests.js
9992
- function buildSearchParams$2(params, flattenArrays = false) {
10012
+ function buildSearchParams$1(params, flattenArrays = false) {
9993
10013
  const searchParams = new URLSearchParams();
9994
10014
  Object.entries(params).forEach(([key, value]) => {
9995
10015
  if (value === void 0) return;
@@ -10004,7 +10024,7 @@ function buildSearchParams$2(params, flattenArrays = false) {
10004
10024
  async function getTagsClassic(httpClient, workspace_id, { name, page, per_page, order_by, tag_id, include_usage, include_archived, archived } = {}, signal) {
10005
10025
  return await httpClient.get(`workspaces/${workspace_id}/tags`, {
10006
10026
  signal,
10007
- searchParams: buildSearchParams$3({
10027
+ searchParams: buildSearchParams$2({
10008
10028
  name,
10009
10029
  page,
10010
10030
  per_page,
@@ -10031,7 +10051,7 @@ async function bulkCreateTags(httpClient, workspace_id, data, signal) {
10031
10051
  async function bulkDeleteTags(httpClient, workspace_id, ids, signal) {
10032
10052
  return await httpClient.delete(`workspaces/${workspace_id}/tags/bulk`, {
10033
10053
  signal,
10034
- searchParams: buildSearchParams$3({ ids })
10054
+ searchParams: buildSearchParams$2({ ids })
10035
10055
  }).json();
10036
10056
  }
10037
10057
  async function bulkArchiveTags(httpClient, workspace_id, data, signal) {
@@ -10084,7 +10104,7 @@ async function unarchiveTag(httpClient, workspace_id, tag_id, signal) {
10084
10104
  async function getProjectsClassic(httpClient, organization_id, workspace_id, { page, per_page, order_by, pinned, archived, completed, private: private_, name, client_id, creator_id, tag_id, assignee_user_id, project_id, user_id, only_me, include_rates, include_rollover, include_idle_recurring_templates, collapse_recurring, include_drafts, include_locked_private, start_date, end_date, date_overlap_start, date_overlap_end, cf_filter } = {}, signal) {
10085
10105
  return await httpClient.get(`organizations/${organization_id}/workspaces/${workspace_id}/projects`, {
10086
10106
  signal,
10087
- searchParams: buildSearchParams$3({
10107
+ searchParams: buildSearchParams$2({
10088
10108
  page,
10089
10109
  per_page,
10090
10110
  order_by,
@@ -10123,7 +10143,7 @@ async function createProject(httpClient, organization_id, workspace_id, data, si
10123
10143
  async function bulkDeleteProjects(httpClient, organization_id, workspace_id, ids, signal) {
10124
10144
  return await httpClient.delete(`organizations/${organization_id}/workspaces/${workspace_id}/projects/bulk`, {
10125
10145
  signal,
10126
- searchParams: buildSearchParams$3({ ids })
10146
+ searchParams: buildSearchParams$2({ ids })
10127
10147
  }).json();
10128
10148
  }
10129
10149
  async function bulkPartialUpdateProjects(httpClient, organization_id, workspace_id, data, signal) {
@@ -10153,13 +10173,13 @@ async function bulkUnarchiveProjects(httpClient, organization_id, workspace_id,
10153
10173
  async function getBatchProjectsMembers(httpClient, organization_id, workspace_id, { ids }, signal) {
10154
10174
  return await httpClient.get(`organizations/${organization_id}/workspaces/${workspace_id}/projects/members`, {
10155
10175
  signal,
10156
- searchParams: buildSearchParams$3({ ids })
10176
+ searchParams: buildSearchParams$2({ ids })
10157
10177
  }).json();
10158
10178
  }
10159
10179
  async function getProjectTemplatesClassic(httpClient, organization_id, workspace_id, { page, per_page, name, order_by, archived } = {}, signal) {
10160
10180
  return await httpClient.get(`organizations/${organization_id}/workspaces/${workspace_id}/projects/templates`, {
10161
10181
  signal,
10162
- searchParams: buildSearchParams$3({
10182
+ searchParams: buildSearchParams$2({
10163
10183
  page,
10164
10184
  per_page,
10165
10185
  name,
@@ -10192,7 +10212,7 @@ async function archiveProject(httpClient, organization_id, workspace_id, project
10192
10212
  async function getProjectWithChildrenClassic(httpClient, organization_id, workspace_id, project_id, { page, per_page, order_by } = {}, signal) {
10193
10213
  return await httpClient.get(`organizations/${organization_id}/workspaces/${workspace_id}/projects/${project_id}/children`, {
10194
10214
  signal,
10195
- searchParams: buildSearchParams$3({
10215
+ searchParams: buildSearchParams$2({
10196
10216
  page,
10197
10217
  per_page,
10198
10218
  order_by
@@ -10229,7 +10249,7 @@ async function duplicateTemplate(httpClient, organization_id, workspace_id, proj
10229
10249
  async function getRecurringProjectInstancesClassic(httpClient, organization_id, workspace_id, project_id, { page, per_page, order_by, start_date, end_date, include_rollover } = {}, signal) {
10230
10250
  return await httpClient.get(`organizations/${organization_id}/workspaces/${workspace_id}/projects/${project_id}/instances`, {
10231
10251
  signal,
10232
- searchParams: buildSearchParams$3({
10252
+ searchParams: buildSearchParams$2({
10233
10253
  page,
10234
10254
  per_page,
10235
10255
  order_by,
@@ -10275,7 +10295,7 @@ async function removeProjectMember(httpClient, organization_id, workspace_id, pr
10275
10295
  async function getProjectWithParentsClassic(httpClient, organization_id, workspace_id, project_id, { page, per_page, order_by } = {}, signal) {
10276
10296
  return await httpClient.get(`organizations/${organization_id}/workspaces/${workspace_id}/projects/${project_id}/parents`, {
10277
10297
  signal,
10278
- searchParams: buildSearchParams$3({
10298
+ searchParams: buildSearchParams$2({
10279
10299
  page,
10280
10300
  per_page,
10281
10301
  order_by
@@ -10302,7 +10322,7 @@ async function uncompleteProject(httpClient, organization_id, workspace_id, proj
10302
10322
  async function getStatusesClassic(httpClient, workspace_id, { name, type, page, per_page, order_by } = {}, signal) {
10303
10323
  return await httpClient.get(`workspaces/${workspace_id}/statuses`, {
10304
10324
  signal,
10305
- searchParams: buildSearchParams$3({
10325
+ searchParams: buildSearchParams$2({
10306
10326
  name,
10307
10327
  type,
10308
10328
  page,
@@ -10337,7 +10357,7 @@ async function restoreStatuses(httpClient, workspace_id, status_id, signal) {
10337
10357
  async function getTasksClassic(httpClient, organization_id, workspace_id, { page, per_page, with_entries, pinned, order_by, status_id, toggl_user_id, name, has_time_entries, has_time_blocks, has_dates, private: private_, archived, include_project_completed, include_drafts, project_id, parent_task_id, start_date, end_date, active_by_date, start_date_from, start_date_to, end_date_from, end_date_to, dates_overlap_start, dates_overlap_end, estimated_mins_min, estimated_mins_max, source, priority, is_priority, state, timeblock_start_from, timeblock_start_until, time_block_id, time_block_completed, team_id, assignee_team_id, assignee_user_id, tag_id, recurring, recurring_task_ids, client_id, include_rates, include_assignees, include_parent_matches, disable_aggregations, cf_filter } = {}, signal) {
10338
10358
  return await httpClient.get(`organizations/${organization_id}/workspaces/${workspace_id}/tasks`, {
10339
10359
  signal,
10340
- searchParams: buildSearchParams$3({
10360
+ searchParams: buildSearchParams$2({
10341
10361
  page,
10342
10362
  per_page,
10343
10363
  with_entries,
@@ -10404,7 +10424,7 @@ async function bulkCreateTask(httpClient, organization_id, workspace_id, data, s
10404
10424
  async function bulkDeleteTask(httpClient, organization_id, workspace_id, ids, outbound_sync, signal) {
10405
10425
  return await httpClient.delete(`organizations/${organization_id}/workspaces/${workspace_id}/tasks/bulk`, {
10406
10426
  signal,
10407
- searchParams: buildSearchParams$3({
10427
+ searchParams: buildSearchParams$2({
10408
10428
  ids,
10409
10429
  outbound_sync
10410
10430
  })
@@ -10443,7 +10463,7 @@ async function bulkUnarchiveTask(httpClient, organization_id, workspace_id, data
10443
10463
  async function getTaskByExternalId(httpClient, organization_id, workspace_id, { source, ext_id }, signal) {
10444
10464
  return await httpClient.get(`organizations/${organization_id}/workspaces/${workspace_id}/tasks/by-external-id`, {
10445
10465
  signal,
10446
- searchParams: buildSearchParams$3({
10466
+ searchParams: buildSearchParams$2({
10447
10467
  source,
10448
10468
  ext_id
10449
10469
  })
@@ -10452,7 +10472,7 @@ async function getTaskByExternalId(httpClient, organization_id, workspace_id, {
10452
10472
  async function getTasksCalendarEvents(httpClient, organization_id, workspace_id, { date_from, date_to, calendar_event_id, hidden } = {}, signal) {
10453
10473
  return await httpClient.get(`organizations/${organization_id}/workspaces/${workspace_id}/tasks/calendar`, {
10454
10474
  signal,
10455
- searchParams: buildSearchParams$3({
10475
+ searchParams: buildSearchParams$2({
10456
10476
  date_from,
10457
10477
  date_to,
10458
10478
  calendar_event_id,
@@ -10463,7 +10483,7 @@ async function getTasksCalendarEvents(httpClient, organization_id, workspace_id,
10463
10483
  async function putTasksCalendarRange(httpClient, organization_id, workspace_id, date_from, date_to, signal) {
10464
10484
  return await httpClient.put(`organizations/${organization_id}/workspaces/${workspace_id}/tasks/calendar`, {
10465
10485
  signal,
10466
- searchParams: buildSearchParams$3({
10486
+ searchParams: buildSearchParams$2({
10467
10487
  date_from,
10468
10488
  date_to
10469
10489
  })
@@ -10472,7 +10492,7 @@ async function putTasksCalendarRange(httpClient, organization_id, workspace_id,
10472
10492
  async function getTasksRecurringInstancesClassic(httpClient, organization_id, workspace_id, { page, per_page, archived, start_date, end_date, dates_overlap_start, dates_overlap_end, recurring_task_ids, team_id, assignee_team_id, assignee_user_id, tag_id, include_assignees } = {}, signal) {
10473
10493
  return await httpClient.get(`organizations/${organization_id}/workspaces/${workspace_id}/tasks/recurring`, {
10474
10494
  signal,
10475
- searchParams: buildSearchParams$3({
10495
+ searchParams: buildSearchParams$2({
10476
10496
  page,
10477
10497
  per_page,
10478
10498
  archived,
@@ -10492,7 +10512,7 @@ async function getTasksRecurringInstancesClassic(httpClient, organization_id, wo
10492
10512
  async function getStreamTasks(httpClient, organization_id, workspace_id, { with_entries, pinned, order_by, status_id, toggl_user_id, name, include_parent_matches, has_time_entries, has_time_blocks, has_dates, private: private_, archived, include_project_completed, include_drafts, project_id, parent_task_id, start_date, end_date, active_by_date, start_date_from, start_date_to, end_date_from, end_date_to, dates_overlap_start, dates_overlap_end, estimated_mins_min, estimated_mins_max, source, priority, is_priority, state, time_block_id, time_block_completed, team_id, assignee_team_id, assignee_user_id, tag_id, recurring, recurring_task_ids, client_id, include_assignees, cf_filter } = {}, signal) {
10493
10513
  return await httpClient.get(`organizations/${organization_id}/workspaces/${workspace_id}/tasks/stream`, {
10494
10514
  signal,
10495
- searchParams: buildSearchParams$3({
10515
+ searchParams: buildSearchParams$2({
10496
10516
  with_entries,
10497
10517
  pinned,
10498
10518
  order_by,
@@ -10541,7 +10561,7 @@ async function getStreamTasks(httpClient, organization_id, workspace_id, { with_
10541
10561
  async function getTask(httpClient, organization_id, workspace_id, task_id, { include_assignees } = {}, signal) {
10542
10562
  return await httpClient.get(`organizations/${organization_id}/workspaces/${workspace_id}/tasks/${task_id}`, {
10543
10563
  signal,
10544
- searchParams: buildSearchParams$3({ include_assignees })
10564
+ searchParams: buildSearchParams$2({ include_assignees })
10545
10565
  }).json();
10546
10566
  }
10547
10567
  async function updateTask(httpClient, organization_id, workspace_id, task_id, data, signal) {
@@ -10553,7 +10573,7 @@ async function updateTask(httpClient, organization_id, workspace_id, task_id, da
10553
10573
  async function deleteTask(httpClient, organization_id, workspace_id, task_id, from_recurring_task_id, outbound_sync, signal) {
10554
10574
  return await httpClient.delete(`organizations/${organization_id}/workspaces/${workspace_id}/tasks/${task_id}`, {
10555
10575
  signal,
10556
- searchParams: buildSearchParams$3({
10576
+ searchParams: buildSearchParams$2({
10557
10577
  from_recurring_task_id,
10558
10578
  outbound_sync
10559
10579
  })
@@ -10563,19 +10583,19 @@ async function patchTask(httpClient, organization_id, workspace_id, task_id, dat
10563
10583
  return await httpClient.patch(`organizations/${organization_id}/workspaces/${workspace_id}/tasks/${task_id}`, {
10564
10584
  signal,
10565
10585
  json: data,
10566
- searchParams: buildSearchParams$3({ from_recurring_task_id })
10586
+ searchParams: buildSearchParams$2({ from_recurring_task_id })
10567
10587
  }).json();
10568
10588
  }
10569
10589
  async function archiveTask(httpClient, organization_id, workspace_id, task_id, from_recurring_task_id, signal) {
10570
10590
  return await httpClient.post(`organizations/${organization_id}/workspaces/${workspace_id}/tasks/${task_id}/archive`, {
10571
10591
  signal,
10572
- searchParams: buildSearchParams$3({ from_recurring_task_id })
10592
+ searchParams: buildSearchParams$2({ from_recurring_task_id })
10573
10593
  }).json();
10574
10594
  }
10575
10595
  async function getTaskWithChildrenClassic(httpClient, organization_id, workspace_id, task_id, { page, per_page, order_by, status_id, archived, source, team_id, assignee_user_id, tag_id, include_assignees } = {}, signal) {
10576
10596
  return await httpClient.get(`organizations/${organization_id}/workspaces/${workspace_id}/tasks/${task_id}/children`, {
10577
10597
  signal,
10578
- searchParams: buildSearchParams$3({
10598
+ searchParams: buildSearchParams$2({
10579
10599
  page,
10580
10600
  per_page,
10581
10601
  order_by,
@@ -10592,7 +10612,7 @@ async function getTaskWithChildrenClassic(httpClient, organization_id, workspace
10592
10612
  async function getTaskWithParentsClassic(httpClient, organization_id, workspace_id, task_id, { page, per_page, order_by, status_id, archived, source, team_id, assignee_user_id, tag_id, include_assignees } = {}, signal) {
10593
10613
  return await httpClient.get(`organizations/${organization_id}/workspaces/${workspace_id}/tasks/${task_id}/parents`, {
10594
10614
  signal,
10595
- searchParams: buildSearchParams$3({
10615
+ searchParams: buildSearchParams$2({
10596
10616
  page,
10597
10617
  per_page,
10598
10618
  order_by,
@@ -10617,7 +10637,7 @@ async function unarchiveTask(httpClient, organization_id, workspace_id, task_id,
10617
10637
  async function getTaskTimeBlocksWithOrgClassic(httpClient, organization_id, workspace_id, task_id, { page, per_page, order_by, archived } = {}, signal) {
10618
10638
  return await httpClient.get(`organizations/${organization_id}/workspaces/${workspace_id}/tasks/${task_id}/time-blocks`, {
10619
10639
  signal,
10620
- searchParams: buildSearchParams$3({
10640
+ searchParams: buildSearchParams$2({
10621
10641
  page,
10622
10642
  per_page,
10623
10643
  order_by,
@@ -10643,7 +10663,7 @@ async function updateTimeBlockWithOrg(httpClient, organization_id, workspace_id,
10643
10663
  async function deleteTimeBlockWithOrg(httpClient, organization_id, workspace_id, task_id, time_block_id, outbound_sync, signal) {
10644
10664
  return await httpClient.delete(`organizations/${organization_id}/workspaces/${workspace_id}/tasks/${task_id}/time-blocks/${time_block_id}`, {
10645
10665
  signal,
10646
- searchParams: buildSearchParams$3({ outbound_sync })
10666
+ searchParams: buildSearchParams$2({ outbound_sync })
10647
10667
  }).json();
10648
10668
  }
10649
10669
  async function partialUpdateTimeBlockWithOrg(httpClient, organization_id, workspace_id, task_id, time_block_id, data, signal) {
@@ -10664,7 +10684,7 @@ async function unarchiveTimeBlockWithOrg(httpClient, organization_id, workspace_
10664
10684
  async function getTimeBlocksRangeWithOrgClassic(httpClient, organization_id, workspace_id, { date_from, date_to, task_id, status_id, page, per_page, archived, order_by }, signal) {
10665
10685
  return await httpClient.get(`organizations/${organization_id}/workspaces/${workspace_id}/time-blocks`, {
10666
10686
  signal,
10667
- searchParams: buildSearchParams$3({
10687
+ searchParams: buildSearchParams$2({
10668
10688
  date_from,
10669
10689
  date_to,
10670
10690
  task_id,
@@ -10685,7 +10705,7 @@ async function bulkCreateTimeBlockWithOrg(httpClient, organization_id, workspace
10685
10705
  async function bulkDeleteTimeBlockWithOrg(httpClient, organization_id, workspace_id, ids, outbound_sync, signal) {
10686
10706
  return await httpClient.delete(`organizations/${organization_id}/workspaces/${workspace_id}/time-blocks/bulk`, {
10687
10707
  signal,
10688
- searchParams: buildSearchParams$3({
10708
+ searchParams: buildSearchParams$2({
10689
10709
  ids,
10690
10710
  outbound_sync
10691
10711
  })
@@ -10700,7 +10720,7 @@ async function bulkPartialUpdateTimeBlockWithOrg(httpClient, organization_id, wo
10700
10720
  async function getTimeBlocksRangeStreamWithOrg(httpClient, organization_id, workspace_id, { date_from, date_to, task_id, status_id, archived, order_by }, signal) {
10701
10721
  return await httpClient.get(`organizations/${organization_id}/workspaces/${workspace_id}/time-blocks/stream`, {
10702
10722
  signal,
10703
- searchParams: buildSearchParams$3({
10723
+ searchParams: buildSearchParams$2({
10704
10724
  date_from,
10705
10725
  date_to,
10706
10726
  task_id,
@@ -10715,7 +10735,7 @@ async function getTimeBlocksRangeStreamWithOrg(httpClient, organization_id, work
10715
10735
  async function getTaskTimeEntriesWithOrgClassic(httpClient, organization_id, workspace_id, task_id, { page, per_page, order_by, type, archived, time_block_id } = {}, signal) {
10716
10736
  return await httpClient.get(`organizations/${organization_id}/workspaces/${workspace_id}/tasks/${task_id}/time-entries`, {
10717
10737
  signal,
10718
- searchParams: buildSearchParams$3({
10738
+ searchParams: buildSearchParams$2({
10719
10739
  page,
10720
10740
  per_page,
10721
10741
  order_by,
@@ -10740,7 +10760,7 @@ async function createTasklessTimeEntryWithOrg(httpClient, organization_id, works
10740
10760
  async function getBatchTimeEntriesWithOrg(httpClient, organization_id, workspace_id, { ids }, signal) {
10741
10761
  return await httpClient.get(`organizations/${organization_id}/workspaces/${workspace_id}/time-entries/batch`, {
10742
10762
  signal,
10743
- searchParams: buildSearchParams$3({ ids })
10763
+ searchParams: buildSearchParams$2({ ids })
10744
10764
  }).json();
10745
10765
  }
10746
10766
  async function bulkCreateTimeEntryWithOrg(httpClient, organization_id, workspace_id, data, signal) {
@@ -10752,7 +10772,7 @@ async function bulkCreateTimeEntryWithOrg(httpClient, organization_id, workspace
10752
10772
  async function bulkDeleteTimeEntryWithOrg(httpClient, organization_id, workspace_id, ids, signal) {
10753
10773
  return await httpClient.delete(`organizations/${organization_id}/workspaces/${workspace_id}/time-entries/bulk`, {
10754
10774
  signal,
10755
- searchParams: buildSearchParams$3({ ids })
10775
+ searchParams: buildSearchParams$2({ ids })
10756
10776
  }).json();
10757
10777
  }
10758
10778
  async function bulkPartialUpdateTimeEntryWithOrg(httpClient, organization_id, workspace_id, data, signal) {
@@ -10770,7 +10790,7 @@ async function bulkEditTimeEntriesWithOrg(httpClient, organization_id, workspace
10770
10790
  async function bulkRestoreTimeEntryWithOrg(httpClient, organization_id, workspace_id, ids, signal) {
10771
10791
  return await httpClient.patch(`organizations/${organization_id}/workspaces/${workspace_id}/time-entries/bulk/restore`, {
10772
10792
  signal,
10773
- searchParams: buildSearchParams$3({ ids })
10793
+ searchParams: buildSearchParams$2({ ids })
10774
10794
  }).json();
10775
10795
  }
10776
10796
  async function setDayDurationWithOrg(httpClient, organization_id, workspace_id, data, signal) {
@@ -10785,15 +10805,14 @@ async function bulkSetDayDurationWithOrg(httpClient, organization_id, workspace_
10785
10805
  json: data
10786
10806
  }).json();
10787
10807
  }
10788
- async function getStreamTimeEntriesRangeWithOrg(httpClient, organization_id, workspace_id, { date_from, date_to, task_id, status_id, project_id, type, order_by, archived, include_taskless, expand_calendar_event }, signal) {
10808
+ async function getStreamTimeEntriesRangeWithOrg(httpClient, organization_id, workspace_id, { date_from, date_to, task_id, status_id, type, order_by, archived, include_taskless, expand_calendar_event }, signal) {
10789
10809
  return await httpClient.get(`organizations/${organization_id}/workspaces/${workspace_id}/time-entries/stream`, {
10790
10810
  signal,
10791
- searchParams: buildSearchParams$3({
10811
+ searchParams: buildSearchParams$2({
10792
10812
  date_from,
10793
10813
  date_to,
10794
10814
  task_id,
10795
10815
  status_id,
10796
- project_id,
10797
10816
  type,
10798
10817
  order_by,
10799
10818
  archived,
@@ -10811,7 +10830,7 @@ async function syncTimeEntry(httpClient, organization_id, workspace_id, client_u
10811
10830
  async function getStreamTimeEntriesTimeBlockIdsWithOrg(httpClient, organization_id, workspace_id, { time_block_id }, signal) {
10812
10831
  return await httpClient.get(`organizations/${organization_id}/workspaces/${workspace_id}/time-entries/time-block-ids/stream`, {
10813
10832
  signal,
10814
- searchParams: buildSearchParams$3({ time_block_id })
10833
+ searchParams: buildSearchParams$2({ time_block_id })
10815
10834
  }).json();
10816
10835
  }
10817
10836
  async function getTimeEntryWithOrg(httpClient, organization_id, workspace_id, time_entry_id, signal) {
@@ -10944,7 +10963,7 @@ const PublicMeEntryRequestSchema = /* @__PURE__ */ object$2({
10944
10963
  ]))
10945
10964
  });
10946
10965
  //#endregion
10947
- //#region ../../node_modules/.pnpm/@toggl+queries@2.1.248_@tanstack+react-query@5.99.0_react@19.2.5__@toggl+sync@0.2.4_rea_51816df5dcd067b35c73e200ad09ed53/node_modules/@toggl/queries/dist/org/invitation/requests.mjs
10966
+ //#region ../../node_modules/.pnpm/@toggl+queries@2.2.14_@tanstack+react-query@5.99.0_react@19.2.5__@toggl+sync@0.2.4_reac_dee793081b6caaac32bda8ea5bb68b8d/node_modules/@toggl/queries/dist/org/invitation/requests.mjs
10948
10967
  async function getInvitations(httpClient, signal) {
10949
10968
  return (await httpClient.get(`invitations`, { signal })).json();
10950
10969
  }
@@ -10961,8 +10980,23 @@ async function resendInvitation(httpClient, organization_id, organization_user_i
10961
10980
  return (await httpClient.post(`organizations/${organization_id}/invitations/${organization_user_id}/resend`, { signal })).json();
10962
10981
  }
10963
10982
  //#endregion
10964
- //#region ../../node_modules/.pnpm/@toggl+queries@2.1.248_@tanstack+react-query@5.99.0_react@19.2.5__@toggl+sync@0.2.4_rea_51816df5dcd067b35c73e200ad09ed53/node_modules/@toggl/queries/dist/org/utils/requests.mjs
10965
- function buildSearchParams$1(params, flattenArrays = false) {
10983
+ //#region ../../node_modules/.pnpm/@toggl+queries@2.2.14_@tanstack+react-query@5.99.0_react@19.2.5__@toggl+sync@0.2.4_reac_dee793081b6caaac32bda8ea5bb68b8d/node_modules/@toggl/queries/dist/org/utils/requests.mjs
10984
+ const META_SYMBOL = Symbol.for("querygen:response:meta");
10985
+ function withResponseMeta(data, headers, status) {
10986
+ if (!data) return data;
10987
+ const meta = {
10988
+ headers: Object.fromEntries(headers.entries()),
10989
+ status
10990
+ };
10991
+ if (typeof data === "object") Object.defineProperty(data, META_SYMBOL, {
10992
+ value: meta,
10993
+ enumerable: false,
10994
+ writable: false,
10995
+ configurable: false
10996
+ });
10997
+ return data;
10998
+ }
10999
+ function buildSearchParams(params, flattenArrays = false) {
10966
11000
  const searchParams = new URLSearchParams();
10967
11001
  Object.entries(params).forEach(([key, value]) => {
10968
11002
  if (value === void 0) return;
@@ -10973,7 +11007,7 @@ function buildSearchParams$1(params, flattenArrays = false) {
10973
11007
  return searchParams;
10974
11008
  }
10975
11009
  //#endregion
10976
- //#region ../../node_modules/.pnpm/@toggl+queries@2.1.248_@tanstack+react-query@5.99.0_react@19.2.5__@toggl+sync@0.2.4_rea_51816df5dcd067b35c73e200ad09ed53/node_modules/@toggl/queries/dist/org/organization-user/requests.mjs
11010
+ //#region ../../node_modules/.pnpm/@toggl+queries@2.2.14_@tanstack+react-query@5.99.0_react@19.2.5__@toggl+sync@0.2.4_reac_dee793081b6caaac32bda8ea5bb68b8d/node_modules/@toggl/queries/dist/org/organization-user/requests.mjs
10977
11011
  async function getOrganizationUser(httpClient, organization_id, organization_user_id, signal) {
10978
11012
  return (await httpClient.get(`organizations/${organization_id}/users/${organization_user_id}`, { signal })).json();
10979
11013
  }
@@ -10987,7 +11021,7 @@ async function patchOrganizationUserActive(httpClient, organization_id, organiza
10987
11021
  return (await httpClient.patch(`organizations/${organization_id}/users/${organization_user_id}/active_status/${status}`, { signal })).json();
10988
11022
  }
10989
11023
  //#endregion
10990
- //#region ../../node_modules/.pnpm/@toggl+queries@2.1.248_@tanstack+react-query@5.99.0_react@19.2.5__@toggl+sync@0.2.4_rea_51816df5dcd067b35c73e200ad09ed53/node_modules/@toggl/queries/dist/org/workspace/requests.mjs
11024
+ //#region ../../node_modules/.pnpm/@toggl+queries@2.2.14_@tanstack+react-query@5.99.0_react@19.2.5__@toggl+sync@0.2.4_reac_dee793081b6caaac32bda8ea5bb68b8d/node_modules/@toggl/queries/dist/org/workspace/requests.mjs
10991
11025
  async function getWorkspaces(httpClient, organization_id, signal) {
10992
11026
  return (await httpClient.get(`organizations/${organization_id}/workspaces`, { signal })).json();
10993
11027
  }
@@ -11007,55 +11041,28 @@ const WorkingHoursUpdateInputSchema = /* @__PURE__ */ object$2({
11007
11041
  });
11008
11042
  const StatusOKSchema = /* @__PURE__ */ object$2({ status: /* @__PURE__ */ string$1() });
11009
11043
  //#endregion
11010
- //#region ../../node_modules/.pnpm/@toggl+queries@2.1.248_@tanstack+react-query@5.99.0_react@19.2.5__@toggl+sync@0.2.4_rea_51816df5dcd067b35c73e200ad09ed53/node_modules/@toggl/queries/dist/shared-data/utils/requests.mjs
11011
- const META_SYMBOL = Symbol.for("querygen:response:meta");
11012
- function withResponseMeta(data, headers, status) {
11013
- if (!data) return data;
11014
- const meta = {
11015
- headers: Object.fromEntries(headers.entries()),
11016
- status
11017
- };
11018
- if (typeof data === "object") Object.defineProperty(data, META_SYMBOL, {
11019
- value: meta,
11020
- enumerable: false,
11021
- writable: false,
11022
- configurable: false
11023
- });
11024
- return data;
11025
- }
11026
- function buildSearchParams(params, flattenArrays = false) {
11027
- const searchParams = new URLSearchParams();
11028
- Object.entries(params).forEach(([key, value]) => {
11029
- if (value === void 0) return;
11030
- if (Array.isArray(value)) if (flattenArrays) searchParams.set(key, value.join(","));
11031
- else for (const item of value) searchParams.append(key, item === null ? "" : String(item));
11032
- else searchParams.set(key, value === null ? "" : String(value));
11033
- });
11034
- return searchParams;
11035
- }
11036
- //#endregion
11037
- //#region ../../node_modules/.pnpm/@toggl+queries@2.1.248_@tanstack+react-query@5.99.0_react@19.2.5__@toggl+sync@0.2.4_rea_51816df5dcd067b35c73e200ad09ed53/node_modules/@toggl/queries/dist/shared-data/public-holidays/requests.mjs
11038
- async function getPublicHolidays(httpClient, year, { country, organization_id } = {}, signal) {
11039
- const response = await httpClient.get(`shared_data/api/publicholidays/${year}`, {
11044
+ //#region ../../node_modules/.pnpm/@toggl+queries@2.2.14_@tanstack+react-query@5.99.0_react@19.2.5__@toggl+sync@0.2.4_reac_dee793081b6caaac32bda8ea5bb68b8d/node_modules/@toggl/queries/dist/org/public-holidays/requests.mjs
11045
+ async function getPublicHolidaysHolidayDomain(httpClient, year, { country, organization_id } = {}, signal) {
11046
+ const response = await httpClient.get(`holidays/publicholidays/${year}`, {
11040
11047
  signal,
11041
11048
  searchParams: buildSearchParams({
11042
11049
  country,
11043
11050
  organization_id
11044
- })
11051
+ }, true)
11045
11052
  });
11046
11053
  return withResponseMeta(await response.json(), response.headers, response.status);
11047
11054
  }
11048
11055
  //#endregion
11049
- //#region ../../node_modules/.pnpm/@toggl+queries@2.1.248_@tanstack+react-query@5.99.0_react@19.2.5__@toggl+sync@0.2.4_rea_51816df5dcd067b35c73e200ad09ed53/node_modules/@toggl/queries/dist/shared-data/status/requests.mjs
11056
+ //#region ../../node_modules/.pnpm/@toggl+queries@2.2.14_@tanstack+react-query@5.99.0_react@19.2.5__@toggl+sync@0.2.4_reac_dee793081b6caaac32bda8ea5bb68b8d/node_modules/@toggl/queries/dist/shared-data/status/requests.mjs
11050
11057
  async function getStatus(httpClient, signal) {
11051
11058
  return (await httpClient.get(`shared_data/api/status`, { signal })).json();
11052
11059
  }
11053
11060
  //#endregion
11054
- //#region ../../node_modules/.pnpm/@toggl+queries@2.1.248_@tanstack+react-query@5.99.0_react@19.2.5__@toggl+sync@0.2.4_rea_51816df5dcd067b35c73e200ad09ed53/node_modules/@toggl/queries/dist/org/timeoff/requests.mjs
11061
+ //#region ../../node_modules/.pnpm/@toggl+queries@2.2.14_@tanstack+react-query@5.99.0_react@19.2.5__@toggl+sync@0.2.4_reac_dee793081b6caaac32bda8ea5bb68b8d/node_modules/@toggl/queries/dist/org/timeoff/requests.mjs
11055
11062
  async function timeoffListMyEntries(httpClient, organization_id, { from, to }, signal) {
11056
11063
  return (await httpClient.get(`timeoff/organizations/${organization_id}/me`, {
11057
11064
  signal,
11058
- searchParams: buildSearchParams$1({
11065
+ searchParams: buildSearchParams({
11059
11066
  from,
11060
11067
  to
11061
11068
  }, true)
@@ -11079,7 +11086,7 @@ async function timeoffDeleteMyEntry(httpClient, organization_id, id, signal) {
11079
11086
  return response.json();
11080
11087
  }
11081
11088
  //#endregion
11082
- //#region ../../node_modules/.pnpm/@toggl+queries@2.1.248_@tanstack+react-query@5.99.0_react@19.2.5__@toggl+sync@0.2.4_rea_51816df5dcd067b35c73e200ad09ed53/node_modules/@toggl/queries/dist/shared-data/working-hours/requests.mjs
11089
+ //#region ../../node_modules/.pnpm/@toggl+queries@2.2.14_@tanstack+react-query@5.99.0_react@19.2.5__@toggl+sync@0.2.4_reac_dee793081b6caaac32bda8ea5bb68b8d/node_modules/@toggl/queries/dist/shared-data/working-hours/requests.mjs
11083
11090
  async function getMyWorkingHours(httpClient, organization_id, signal) {
11084
11091
  return (await httpClient.get(`shared_data/api/workinghours/${organization_id}/me`, { signal })).json();
11085
11092
  }
@@ -11104,13 +11111,24 @@ async function deleteMyWorkingHours(httpClient, organization_id, data, signal) {
11104
11111
  return response.json();
11105
11112
  }
11106
11113
  //#endregion
11107
- //#region ../cli-core/build/focus-client-D9oJPY4f.js
11114
+ //#region ../cli-core/build/focus-client-DXRYFor8.js
11108
11115
  /** Request header the API reads to attribute traffic to MCP or CLI. */
11109
11116
  const TOGGL_CLIENT_HEADER = "X-Toggl-Client";
11117
+ /** Header the Focus API reads for analytics and presence `platform_origin`. */
11118
+ const TOGGL_POSTHOG_DATA_HEADER = "X-Toggl-PostHog-Data";
11110
11119
  /** Headers that attribute a raw `fetch` to MCP or CLI (FocusClient sets these itself). */
11111
11120
  function togglClientHeaders(clientSurface) {
11112
11121
  return { [TOGGL_CLIENT_HEADER]: clientSurface };
11113
11122
  }
11123
+ /** JSON body for `X-Toggl-PostHog-Data`. Origin matches the client header. */
11124
+ function togglPostHogData(clientSurface) {
11125
+ return JSON.stringify({ platform_origin: clientSurface });
11126
+ }
11127
+ /** Apply MCP/CLI attribution on FocusClient (and other HTTP) requests. */
11128
+ function applyTogglAttributionHeaders(headers, clientSurface) {
11129
+ headers.set(TOGGL_CLIENT_HEADER, clientSurface);
11130
+ headers.set(TOGGL_POSTHOG_DATA_HEADER, togglPostHogData(clientSurface));
11131
+ }
11114
11132
  const customFieldValuesEntry = /* @__PURE__ */ optional$1(/* @__PURE__ */ nullable$1(/* @__PURE__ */ pipe$2(/* @__PURE__ */ record$1(/* @__PURE__ */ string$1(), /* @__PURE__ */ nullable$1(/* @__PURE__ */ union([
11115
11133
  /* @__PURE__ */ array$1(/* @__PURE__ */ number$2()),
11116
11134
  /* @__PURE__ */ string$1(),
@@ -11326,8 +11344,7 @@ var FocusClient = class {
11326
11344
  const token = await this.tokenProvider();
11327
11345
  request.headers.set("Authorization", `Bearer ${token}`);
11328
11346
  if (!request.headers.get("Content-Type")?.startsWith("multipart/form-data")) request.headers.set("Content-Type", "application/json");
11329
- request.headers.set("X-Toggl-PostHog-Data", JSON.stringify({ platform_origin: "web" }));
11330
- request.headers.set(TOGGL_CLIENT_HEADER, this.clientSurface);
11347
+ applyTogglAttributionHeaders(request.headers, this.clientSurface);
11331
11348
  }
11332
11349
  });
11333
11350
  const orgBase = accountsOrgApiBaseUrl(config.accountsApiUrl);
@@ -11338,8 +11355,7 @@ var FocusClient = class {
11338
11355
  const token = await this.tokenProvider();
11339
11356
  request.headers.set("Authorization", `Bearer ${token}`);
11340
11357
  request.headers.set("Content-Type", "application/json");
11341
- request.headers.set("X-Toggl-PostHog-Data", JSON.stringify({ platform_origin: "web" }));
11342
- request.headers.set(TOGGL_CLIENT_HEADER, this.clientSurface);
11358
+ applyTogglAttributionHeaders(request.headers, this.clientSurface);
11343
11359
  }
11344
11360
  });
11345
11361
  this.timeOffMeHttp = createHttpClient({
@@ -11350,8 +11366,7 @@ var FocusClient = class {
11350
11366
  request.headers.set("Authorization", `Bearer ${token}`);
11351
11367
  request.headers.set("Content-Type", "application/json");
11352
11368
  request.headers.set("X-Toggl-Product", "focus");
11353
- request.headers.set("X-Toggl-PostHog-Data", JSON.stringify({ platform_origin: "web" }));
11354
- request.headers.set(TOGGL_CLIENT_HEADER, this.clientSurface);
11369
+ applyTogglAttributionHeaders(request.headers, this.clientSurface);
11355
11370
  }
11356
11371
  });
11357
11372
  this.sharedDataHttp = createHttpClient({
@@ -11361,8 +11376,7 @@ var FocusClient = class {
11361
11376
  const token = await this.tokenProvider();
11362
11377
  request.headers.set("Authorization", `Bearer ${token}`);
11363
11378
  request.headers.set("Content-Type", "application/json");
11364
- request.headers.set("X-Toggl-PostHog-Data", JSON.stringify({ platform_origin: "web" }));
11365
- request.headers.set(TOGGL_CLIENT_HEADER, this.clientSurface);
11379
+ applyTogglAttributionHeaders(request.headers, this.clientSurface);
11366
11380
  }
11367
11381
  });
11368
11382
  }
@@ -11708,7 +11722,7 @@ var FocusClient = class {
11708
11722
  const time_block_id = parseOptionalInt(params.time_block_id);
11709
11723
  const requestedPage = parseOptionalInt(params.page) ?? 1;
11710
11724
  const requestedPerPage = parseOptionalInt(params.per_page);
11711
- const fetchPage = (page, per_page) => this.run("listTimeEntries", () => this.http.get(`organizations/${this.organizationIdNum}/workspaces/${this.workspaceIdNum}/time-entries`, { searchParams: buildSearchParams$2({
11725
+ const fetchPage = (page, per_page) => this.run("listTimeEntries", () => this.http.get(`organizations/${this.organizationIdNum}/workspaces/${this.workspaceIdNum}/time-entries`, { searchParams: buildSearchParams$1({
11712
11726
  date_from,
11713
11727
  date_to,
11714
11728
  task_id,
@@ -11836,7 +11850,7 @@ var FocusClient = class {
11836
11850
  });
11837
11851
  }
11838
11852
  async listAlerts(params = {}) {
11839
- const response = await this.run("listAlerts", () => this.http.get(`organizations/${this.organizationIdNum}/workspaces/${this.workspaceIdNum}/alerts`, { searchParams: buildSearchParams$2({
11853
+ const response = await this.run("listAlerts", () => this.http.get(`organizations/${this.organizationIdNum}/workspaces/${this.workspaceIdNum}/alerts`, { searchParams: buildSearchParams$1({
11840
11854
  rule_type: params.rule_type,
11841
11855
  project_id: params.project_id,
11842
11856
  scope: params.scope
@@ -11985,7 +11999,7 @@ var FocusClient = class {
11985
11999
  return this.softValidateResponse("getSharedDataStatus", StatusOKSchema, response);
11986
12000
  }
11987
12001
  async listPublicHolidays(year, country) {
11988
- const response = await this.run("listPublicHolidays", () => getPublicHolidays(this.sharedDataHttp, year, country === void 0 ? {} : { country }));
12002
+ const response = await this.run("listPublicHolidays", () => getPublicHolidaysHolidayDomain(this.orgHttp, year, country === void 0 ? {} : { country }));
11989
12003
  return response.ok ? {
11990
12004
  ok: true,
11991
12005
  data: response.data
@@ -13139,7 +13153,7 @@ async function runSkillSetup(options) {
13139
13153
  });
13140
13154
  }
13141
13155
  //#endregion
13142
- //#region ../operations/build/validation-BGSky2wE.js
13156
+ //#region ../operations/build/validation-BvUOg9Kw.js
13143
13157
  const optionalNumber = /* @__PURE__ */ optional$1(/* @__PURE__ */ number$2());
13144
13158
  const perPageField = (max) => /* @__PURE__ */ optional$1(/* @__PURE__ */ pipe$2(/* @__PURE__ */ number$2(), /* @__PURE__ */ integer(), /* @__PURE__ */ minValue$1(1), /* @__PURE__ */ maxValue$1(max), /* @__PURE__ */ description$1(`Results per page (1-${max})`)));
13145
13159
  const perPageSchema = perPageField(100);
@@ -14169,6 +14183,35 @@ const timeEntryOverrides = {
14169
14183
  }
14170
14184
  ]
14171
14185
  },
14186
+ "focus.time-entries.create": {
14187
+ description: "Create a completed task time entry. payload.type defaults to 'activity' when omitted.",
14188
+ agentGuidance: "Logs a completed task time entry. payload.type defaults to 'activity' when omitted; pass 'break' explicitly for a break. provide payload.start and payload.duration for completed tracked time.",
14189
+ examples: [{
14190
+ description: "Log a completed activity",
14191
+ data: {
14192
+ task_id: 12345,
14193
+ payload: {
14194
+ start: "2025-01-15T09:00:00Z",
14195
+ duration: 3600,
14196
+ type: "activity"
14197
+ }
14198
+ }
14199
+ }, {
14200
+ description: "Log a completed break",
14201
+ data: {
14202
+ task_id: 12345,
14203
+ payload: {
14204
+ start: "2025-01-15T10:00:00Z",
14205
+ duration: 900,
14206
+ type: "break"
14207
+ }
14208
+ }
14209
+ }]
14210
+ },
14211
+ "focus.time-entries.create-taskless": {
14212
+ description: "Create a completed taskless time entry. payload.type defaults to 'activity' when omitted.",
14213
+ agentGuidance: "Logs a completed taskless time entry. payload.type defaults to 'activity' when omitted; pass 'break' explicitly for a break."
14214
+ },
14172
14215
  "focus.time-entries.start": {
14173
14216
  agentGuidance: "type defaults to 'activity' if omitted; pass type:'break' to start a break. Optionally provide task_id, project_id, description, and time_block_id. Only one timer can be active at a time — stops the current one if running.",
14174
14217
  examples: [{
@@ -14666,7 +14709,7 @@ async function getWorkspaceAttachmentStorage(httpClient, organization_id, worksp
14666
14709
  async function getOrganizationAuditLog(httpClient, organization_id, from, to, { workspace_id, entity_type, entity_id, action, user_id, page_size, page_number, export: export_ } = {}, signal) {
14667
14710
  return await httpClient.get(`organizations/${organization_id}/audit-log/${from}/${to}`, {
14668
14711
  signal,
14669
- searchParams: buildSearchParams$3({
14712
+ searchParams: buildSearchParams$2({
14670
14713
  workspace_id,
14671
14714
  entity_type,
14672
14715
  entity_id,
@@ -14681,7 +14724,7 @@ async function getOrganizationAuditLog(httpClient, organization_id, from, to, {
14681
14724
  async function getAuditLog(httpClient, organization_id, workspace_id, from, to, { entity_type, entity_id, action, user_id, page_size, page_number, export: export_ } = {}, signal) {
14682
14725
  return await httpClient.get(`organizations/${organization_id}/workspaces/${workspace_id}/audit-log/${from}/${to}`, {
14683
14726
  signal,
14684
- searchParams: buildSearchParams$3({
14727
+ searchParams: buildSearchParams$2({
14685
14728
  entity_type,
14686
14729
  entity_id,
14687
14730
  action,
@@ -14697,7 +14740,7 @@ async function getAuditLog(httpClient, organization_id, workspace_id, from, to,
14697
14740
  async function getProjectsBillableRates(httpClient, organization_id, workspace_id, { project_id, date }, signal) {
14698
14741
  return await httpClient.get(`organizations/${organization_id}/workspaces/${workspace_id}/billable-rates/projects/rates`, {
14699
14742
  signal,
14700
- searchParams: buildSearchParams$3({
14743
+ searchParams: buildSearchParams$2({
14701
14744
  project_id,
14702
14745
  date
14703
14746
  })
@@ -14706,7 +14749,7 @@ async function getProjectsBillableRates(httpClient, organization_id, workspace_i
14706
14749
  async function getAllProjectUserBillableRates(httpClient, organization_id, workspace_id, { project_id, user_id, date, order_by } = {}, signal) {
14707
14750
  return await httpClient.get(`organizations/${organization_id}/workspaces/${workspace_id}/billable-rates/projects/users/rates`, {
14708
14751
  signal,
14709
- searchParams: buildSearchParams$3({
14752
+ searchParams: buildSearchParams$2({
14710
14753
  project_id,
14711
14754
  user_id,
14712
14755
  date,
@@ -14717,7 +14760,7 @@ async function getAllProjectUserBillableRates(httpClient, organization_id, works
14717
14760
  async function getProjectBillableRates(httpClient, organization_id, workspace_id, project_id, { order_by } = {}, signal) {
14718
14761
  return await httpClient.get(`organizations/${organization_id}/workspaces/${workspace_id}/billable-rates/projects/${project_id}/rates`, {
14719
14762
  signal,
14720
- searchParams: buildSearchParams$3({ order_by })
14763
+ searchParams: buildSearchParams$2({ order_by })
14721
14764
  }).json();
14722
14765
  }
14723
14766
  async function upsertProjectBillableRate(httpClient, organization_id, workspace_id, project_id, data, signal) {
@@ -14729,7 +14772,7 @@ async function upsertProjectBillableRate(httpClient, organization_id, workspace_
14729
14772
  async function deleteProjectBillableRateRange(httpClient, organization_id, workspace_id, project_id, from, to, signal) {
14730
14773
  return await httpClient.delete(`organizations/${organization_id}/workspaces/${workspace_id}/billable-rates/projects/${project_id}/rates`, {
14731
14774
  signal,
14732
- searchParams: buildSearchParams$3({
14775
+ searchParams: buildSearchParams$2({
14733
14776
  from,
14734
14777
  to
14735
14778
  })
@@ -14744,7 +14787,7 @@ async function checkProjectBillableRateConflicts(httpClient, organization_id, wo
14744
14787
  async function getProjectUserBillableRates(httpClient, organization_id, workspace_id, project_id, user_id, { order_by } = {}, signal) {
14745
14788
  return await httpClient.get(`organizations/${organization_id}/workspaces/${workspace_id}/billable-rates/projects/${project_id}/users/${user_id}/rates`, {
14746
14789
  signal,
14747
- searchParams: buildSearchParams$3({ order_by })
14790
+ searchParams: buildSearchParams$2({ order_by })
14748
14791
  }).json();
14749
14792
  }
14750
14793
  async function upsertProjectUserBillableRate(httpClient, organization_id, workspace_id, project_id, user_id, data, signal) {
@@ -14756,7 +14799,7 @@ async function upsertProjectUserBillableRate(httpClient, organization_id, worksp
14756
14799
  async function deleteProjectUserBillableRateRange(httpClient, organization_id, workspace_id, project_id, user_id, from, to, signal) {
14757
14800
  return await httpClient.delete(`organizations/${organization_id}/workspaces/${workspace_id}/billable-rates/projects/${project_id}/users/${user_id}/rates`, {
14758
14801
  signal,
14759
- searchParams: buildSearchParams$3({
14802
+ searchParams: buildSearchParams$2({
14760
14803
  from,
14761
14804
  to
14762
14805
  })
@@ -14774,7 +14817,7 @@ async function deleteBillableRateById(httpClient, organization_id, workspace_id,
14774
14817
  async function getAllWorkspaceUserBillableRates(httpClient, organization_id, workspace_id, { user_id, order_by } = {}, signal) {
14775
14818
  return await httpClient.get(`organizations/${organization_id}/workspaces/${workspace_id}/billable-rates/users/rates`, {
14776
14819
  signal,
14777
- searchParams: buildSearchParams$3({
14820
+ searchParams: buildSearchParams$2({
14778
14821
  user_id,
14779
14822
  order_by
14780
14823
  })
@@ -14783,7 +14826,7 @@ async function getAllWorkspaceUserBillableRates(httpClient, organization_id, wor
14783
14826
  async function getWorkspaceUserBillableRates(httpClient, organization_id, workspace_id, user_id, { order_by } = {}, signal) {
14784
14827
  return await httpClient.get(`organizations/${organization_id}/workspaces/${workspace_id}/billable-rates/users/${user_id}/rates`, {
14785
14828
  signal,
14786
- searchParams: buildSearchParams$3({ order_by })
14829
+ searchParams: buildSearchParams$2({ order_by })
14787
14830
  }).json();
14788
14831
  }
14789
14832
  async function upsertWorkspaceUserBillableRate(httpClient, organization_id, workspace_id, user_id, data, signal) {
@@ -14795,7 +14838,7 @@ async function upsertWorkspaceUserBillableRate(httpClient, organization_id, work
14795
14838
  async function deleteWorkspaceUserBillableRateRange(httpClient, organization_id, workspace_id, user_id, from, to, signal) {
14796
14839
  return await httpClient.delete(`organizations/${organization_id}/workspaces/${workspace_id}/billable-rates/users/${user_id}/rates`, {
14797
14840
  signal,
14798
- searchParams: buildSearchParams$3({
14841
+ searchParams: buildSearchParams$2({
14799
14842
  from,
14800
14843
  to
14801
14844
  })
@@ -14810,7 +14853,7 @@ async function checkWorkspaceUserBillableRateConflicts(httpClient, organization_
14810
14853
  async function getWorkspaceBillableRates(httpClient, organization_id, workspace_id, { order_by } = {}, signal) {
14811
14854
  return await httpClient.get(`organizations/${organization_id}/workspaces/${workspace_id}/billable-rates/workspace/rates`, {
14812
14855
  signal,
14813
- searchParams: buildSearchParams$3({ order_by })
14856
+ searchParams: buildSearchParams$2({ order_by })
14814
14857
  }).json();
14815
14858
  }
14816
14859
  async function upsertWorkspaceBillableRate(httpClient, organization_id, workspace_id, data, signal) {
@@ -14822,7 +14865,7 @@ async function upsertWorkspaceBillableRate(httpClient, organization_id, workspac
14822
14865
  async function deleteWorkspaceBillableRateRange(httpClient, organization_id, workspace_id, from, to, signal) {
14823
14866
  return await httpClient.delete(`organizations/${organization_id}/workspaces/${workspace_id}/billable-rates/workspace/rates`, {
14824
14867
  signal,
14825
- searchParams: buildSearchParams$3({
14868
+ searchParams: buildSearchParams$2({
14826
14869
  from,
14827
14870
  to
14828
14871
  })
@@ -14839,7 +14882,7 @@ async function checkWorkspaceBillableRateConflicts(httpClient, organization_id,
14839
14882
  async function capacityGetComputations(httpClient, organization_id, workspace_id, group, { user_id, start_date, end_date, private: private_, task_source, unit, include_drafts, include_task_estimates }, signal) {
14840
14883
  return await httpClient.get(`organizations/${organization_id}/workspaces/${workspace_id}/capacities/${group}`, {
14841
14884
  signal,
14842
- searchParams: buildSearchParams$3({
14885
+ searchParams: buildSearchParams$2({
14843
14886
  user_id,
14844
14887
  start_date,
14845
14888
  end_date,
@@ -14870,7 +14913,7 @@ async function compositeCreateTask(httpClient, organization_id, workspace_id, da
14870
14913
  async function getCustomFieldsClassic(httpClient, organization_id, workspace_id, { entity_type, page, per_page, order_by } = {}, signal) {
14871
14914
  return await httpClient.get(`organizations/${organization_id}/workspaces/${workspace_id}/custom-fields`, {
14872
14915
  signal,
14873
- searchParams: buildSearchParams$3({
14916
+ searchParams: buildSearchParams$2({
14874
14917
  entity_type,
14875
14918
  page,
14876
14919
  per_page,
@@ -14902,19 +14945,10 @@ async function updateCustomField(httpClient, organization_id, workspace_id, cust
14902
14945
  async function deleteCustomField(httpClient, organization_id, workspace_id, custom_field_id, signal) {
14903
14946
  return await httpClient.delete(`organizations/${organization_id}/workspaces/${workspace_id}/custom-fields/${custom_field_id}`, { signal }).json();
14904
14947
  }
14905
- async function getCustomFieldAllowedUsers(httpClient, organization_id, workspace_id, custom_field_id, signal) {
14906
- return await httpClient.get(`organizations/${organization_id}/workspaces/${workspace_id}/custom-fields/${custom_field_id}/allowed-users`, { signal }).json();
14907
- }
14908
- async function replaceCustomFieldAllowedUsers(httpClient, organization_id, workspace_id, custom_field_id, data, signal) {
14909
- return await httpClient.put(`organizations/${organization_id}/workspaces/${workspace_id}/custom-fields/${custom_field_id}/allowed-users`, {
14910
- signal,
14911
- json: data
14912
- }).json();
14913
- }
14914
14948
  async function getCustomFieldOptionsClassic(httpClient, organization_id, workspace_id, custom_field_id, { name, page, per_page, order_by } = {}, signal) {
14915
14949
  return await httpClient.get(`organizations/${organization_id}/workspaces/${workspace_id}/custom-fields/${custom_field_id}/options`, {
14916
14950
  signal,
14917
- searchParams: buildSearchParams$3({
14951
+ searchParams: buildSearchParams$2({
14918
14952
  name,
14919
14953
  page,
14920
14954
  per_page,
@@ -14989,7 +15023,7 @@ async function getGoals(httpClient, organization_id, workspace_id, signal) {
14989
15023
  async function getAllProjectUserLaborCostRates(httpClient, organization_id, workspace_id, { project_id, user_id, date, order_by } = {}, signal) {
14990
15024
  return await httpClient.get(`organizations/${organization_id}/workspaces/${workspace_id}/labor-costs/projects/users/rates`, {
14991
15025
  signal,
14992
- searchParams: buildSearchParams$3({
15026
+ searchParams: buildSearchParams$2({
14993
15027
  project_id,
14994
15028
  user_id,
14995
15029
  date,
@@ -15000,7 +15034,7 @@ async function getAllProjectUserLaborCostRates(httpClient, organization_id, work
15000
15034
  async function getProjectLaborCostRates(httpClient, organization_id, workspace_id, project_id, { order_by } = {}, signal) {
15001
15035
  return await httpClient.get(`organizations/${organization_id}/workspaces/${workspace_id}/labor-costs/projects/${project_id}/rates`, {
15002
15036
  signal,
15003
- searchParams: buildSearchParams$3({ order_by })
15037
+ searchParams: buildSearchParams$2({ order_by })
15004
15038
  }).json();
15005
15039
  }
15006
15040
  async function upsertProjectLaborCostRate(httpClient, organization_id, workspace_id, project_id, data, signal) {
@@ -15012,7 +15046,7 @@ async function upsertProjectLaborCostRate(httpClient, organization_id, workspace
15012
15046
  async function deleteProjectLaborCostRateRange(httpClient, organization_id, workspace_id, project_id, from, to, signal) {
15013
15047
  return await httpClient.delete(`organizations/${organization_id}/workspaces/${workspace_id}/labor-costs/projects/${project_id}/rates`, {
15014
15048
  signal,
15015
- searchParams: buildSearchParams$3({
15049
+ searchParams: buildSearchParams$2({
15016
15050
  from,
15017
15051
  to
15018
15052
  })
@@ -15027,7 +15061,7 @@ async function checkProjectLaborCostConflicts(httpClient, organization_id, works
15027
15061
  async function getProjectUserLaborCostRates(httpClient, organization_id, workspace_id, project_id, user_id, { order_by } = {}, signal) {
15028
15062
  return await httpClient.get(`organizations/${organization_id}/workspaces/${workspace_id}/labor-costs/projects/${project_id}/users/${user_id}/rates`, {
15029
15063
  signal,
15030
- searchParams: buildSearchParams$3({ order_by })
15064
+ searchParams: buildSearchParams$2({ order_by })
15031
15065
  }).json();
15032
15066
  }
15033
15067
  async function upsertProjectUserLaborCostRate(httpClient, organization_id, workspace_id, project_id, user_id, data, signal) {
@@ -15039,7 +15073,7 @@ async function upsertProjectUserLaborCostRate(httpClient, organization_id, works
15039
15073
  async function deleteProjectUserLaborCostRateRange(httpClient, organization_id, workspace_id, project_id, user_id, from, to, signal) {
15040
15074
  return await httpClient.delete(`organizations/${organization_id}/workspaces/${workspace_id}/labor-costs/projects/${project_id}/users/${user_id}/rates`, {
15041
15075
  signal,
15042
- searchParams: buildSearchParams$3({
15076
+ searchParams: buildSearchParams$2({
15043
15077
  from,
15044
15078
  to
15045
15079
  })
@@ -15057,7 +15091,7 @@ async function deleteLaborCostRateById(httpClient, organization_id, workspace_id
15057
15091
  async function getAllWorkspaceUserLaborCostRates(httpClient, organization_id, workspace_id, { user_id, order_by } = {}, signal) {
15058
15092
  return await httpClient.get(`organizations/${organization_id}/workspaces/${workspace_id}/labor-costs/users/rates`, {
15059
15093
  signal,
15060
- searchParams: buildSearchParams$3({
15094
+ searchParams: buildSearchParams$2({
15061
15095
  user_id,
15062
15096
  order_by
15063
15097
  })
@@ -15066,7 +15100,7 @@ async function getAllWorkspaceUserLaborCostRates(httpClient, organization_id, wo
15066
15100
  async function getWorkspaceUserLaborCostRates(httpClient, organization_id, workspace_id, user_id, { order_by } = {}, signal) {
15067
15101
  return await httpClient.get(`organizations/${organization_id}/workspaces/${workspace_id}/labor-costs/users/${user_id}/rates`, {
15068
15102
  signal,
15069
- searchParams: buildSearchParams$3({ order_by })
15103
+ searchParams: buildSearchParams$2({ order_by })
15070
15104
  }).json();
15071
15105
  }
15072
15106
  async function upsertWorkspaceUserLaborCostRate(httpClient, organization_id, workspace_id, user_id, data, signal) {
@@ -15078,7 +15112,7 @@ async function upsertWorkspaceUserLaborCostRate(httpClient, organization_id, wor
15078
15112
  async function deleteWorkspaceUserLaborCostRateRange(httpClient, organization_id, workspace_id, user_id, from, to, signal) {
15079
15113
  return await httpClient.delete(`organizations/${organization_id}/workspaces/${workspace_id}/labor-costs/users/${user_id}/rates`, {
15080
15114
  signal,
15081
- searchParams: buildSearchParams$3({
15115
+ searchParams: buildSearchParams$2({
15082
15116
  from,
15083
15117
  to
15084
15118
  })
@@ -15093,7 +15127,7 @@ async function checkWorkspaceUserLaborCostConflicts(httpClient, organization_id,
15093
15127
  async function getWorkspaceLaborCostRates(httpClient, organization_id, workspace_id, { order_by } = {}, signal) {
15094
15128
  return await httpClient.get(`organizations/${organization_id}/workspaces/${workspace_id}/labor-costs/workspace/rates`, {
15095
15129
  signal,
15096
- searchParams: buildSearchParams$3({ order_by })
15130
+ searchParams: buildSearchParams$2({ order_by })
15097
15131
  }).json();
15098
15132
  }
15099
15133
  async function upsertWorkspaceLaborCostRate(httpClient, organization_id, workspace_id, data, signal) {
@@ -15105,7 +15139,7 @@ async function upsertWorkspaceLaborCostRate(httpClient, organization_id, workspa
15105
15139
  async function deleteWorkspaceLaborCostRateRange(httpClient, organization_id, workspace_id, from, to, signal) {
15106
15140
  return await httpClient.delete(`organizations/${organization_id}/workspaces/${workspace_id}/labor-costs/workspace/rates`, {
15107
15141
  signal,
15108
- searchParams: buildSearchParams$3({
15142
+ searchParams: buildSearchParams$2({
15109
15143
  from,
15110
15144
  to
15111
15145
  })
@@ -15122,7 +15156,7 @@ async function checkWorkspaceLaborCostConflicts(httpClient, organization_id, wor
15122
15156
  async function getMilestonesClassic(httpClient, workspace_id, { page, per_page, order_by, due_date_from, due_date_to, project_id, team_id } = {}, signal) {
15123
15157
  return await httpClient.get(`workspaces/${workspace_id}/milestones`, {
15124
15158
  signal,
15125
- searchParams: buildSearchParams$3({
15159
+ searchParams: buildSearchParams$2({
15126
15160
  page,
15127
15161
  per_page,
15128
15162
  order_by,
@@ -15142,7 +15176,7 @@ async function createMilestone(httpClient, workspace_id, data, signal) {
15142
15176
  async function getMilestonesStream(httpClient, workspace_id, { order_by, due_date_from, due_date_to, project_id, team_id } = {}, signal) {
15143
15177
  return await httpClient.get(`workspaces/${workspace_id}/milestones/stream`, {
15144
15178
  signal,
15145
- searchParams: buildSearchParams$3({
15179
+ searchParams: buildSearchParams$2({
15146
15180
  order_by,
15147
15181
  due_date_from,
15148
15182
  due_date_to,
@@ -15177,7 +15211,7 @@ async function restoreMilestone(httpClient, workspace_id, milestone_id, signal)
15177
15211
  async function getProjectGroupsClassic(httpClient, organization_id, workspace_id, group, { page, per_page, order_by, project_order_by, projects_per_group, include_group_totals, include_unassigned, archived, completed, private: private_, name, client_id, creator_id, tag_id, parent_project_id, assignee_user_id, project_id, start_date, end_date, user_id, only_me, include_drafts, cf_filter } = {}, signal) {
15178
15212
  return await httpClient.get(`organizations/${organization_id}/workspaces/${workspace_id}/projects/groups/${group}`, {
15179
15213
  signal,
15180
- searchParams: buildSearchParams$3({
15214
+ searchParams: buildSearchParams$2({
15181
15215
  page,
15182
15216
  per_page,
15183
15217
  order_by,
@@ -15238,7 +15272,7 @@ async function clearProjectMarginTarget(httpClient, organization_id, workspace_i
15238
15272
  async function getPublicHolidaysByUserIds(httpClient, organization_id, { user_id, start_date, end_date }, signal) {
15239
15273
  return await httpClient.get(`organizations/${organization_id}/public-holidays`, {
15240
15274
  signal,
15241
- searchParams: buildSearchParams$3({
15275
+ searchParams: buildSearchParams$2({
15242
15276
  user_id,
15243
15277
  start_date,
15244
15278
  end_date
@@ -15250,7 +15284,7 @@ async function getPublicHolidaysByUserIds(httpClient, organization_id, { user_id
15250
15284
  async function getProjectRatesSummary(httpClient, organization_id, workspace_id, { page, rows, order_by, search } = {}, signal) {
15251
15285
  const response = await httpClient.get(`organizations/${organization_id}/workspaces/${workspace_id}/projects/rates`, {
15252
15286
  signal,
15253
- searchParams: buildSearchParams$3({
15287
+ searchParams: buildSearchParams$2({
15254
15288
  page,
15255
15289
  rows,
15256
15290
  order_by,
@@ -15262,7 +15296,7 @@ async function getProjectRatesSummary(httpClient, organization_id, workspace_id,
15262
15296
  async function getProjectRates(httpClient, organization_id, workspace_id, project_id, { order_by } = {}, signal) {
15263
15297
  return await httpClient.get(`organizations/${organization_id}/workspaces/${workspace_id}/projects/${project_id}/rates`, {
15264
15298
  signal,
15265
- searchParams: buildSearchParams$3({ order_by })
15299
+ searchParams: buildSearchParams$2({ order_by })
15266
15300
  }).json();
15267
15301
  }
15268
15302
  async function createProjectRate(httpClient, organization_id, workspace_id, project_id, data, signal) {
@@ -15274,7 +15308,7 @@ async function createProjectRate(httpClient, organization_id, workspace_id, proj
15274
15308
  async function deleteProjectRate(httpClient, organization_id, workspace_id, project_id, from, to, signal) {
15275
15309
  return await httpClient.delete(`organizations/${organization_id}/workspaces/${workspace_id}/projects/${project_id}/rates`, {
15276
15310
  signal,
15277
- searchParams: buildSearchParams$3({
15311
+ searchParams: buildSearchParams$2({
15278
15312
  from,
15279
15313
  to
15280
15314
  })
@@ -15294,7 +15328,7 @@ async function createTaskRate(httpClient, organization_id, workspace_id, task_id
15294
15328
  async function getRecurringProjectBudgetSuggestion(httpClient, organization_id, workspace_id, project_id, { target_period_start }, signal) {
15295
15329
  return await httpClient.get(`organizations/${organization_id}/workspaces/${workspace_id}/recurring-budget-suggestions/${project_id}`, {
15296
15330
  signal,
15297
- searchParams: buildSearchParams$3({ target_period_start })
15331
+ searchParams: buildSearchParams$2({ target_period_start })
15298
15332
  }).json();
15299
15333
  }
15300
15334
  async function acceptARecurringProjectBudgetSuggestion(httpClient, organization_id, workspace_id, project_id, signal) {
@@ -15322,7 +15356,7 @@ async function getProfitabilityReport(httpClient, workspace_id, data, response_f
15322
15356
  signal,
15323
15357
  json: data,
15324
15358
  headers: { "X-Toggl-Report-Export": xTogglReportExport },
15325
- searchParams: buildSearchParams$3({
15359
+ searchParams: buildSearchParams$2({
15326
15360
  response_format,
15327
15361
  include_dicts
15328
15362
  })
@@ -15333,7 +15367,7 @@ async function getFlexqData(httpClient, workspace_id, data, { response_format, i
15333
15367
  signal,
15334
15368
  json: data,
15335
15369
  headers: { "X-Toggl-Report-Export": xTogglReportExport },
15336
- searchParams: buildSearchParams$3({
15370
+ searchParams: buildSearchParams$2({
15337
15371
  response_format,
15338
15372
  include_dicts
15339
15373
  })
@@ -15380,7 +15414,7 @@ async function deleteSharedReportSchedule(httpClient, workspace_id, id, signal)
15380
15414
  async function getSavedViews(httpClient, workspace_id, { name, type, order_by } = {}, signal) {
15381
15415
  return await httpClient.get(`workspaces/${workspace_id}/saved-views`, {
15382
15416
  signal,
15383
- searchParams: buildSearchParams$3({
15417
+ searchParams: buildSearchParams$2({
15384
15418
  name,
15385
15419
  type,
15386
15420
  order_by
@@ -15410,7 +15444,7 @@ async function updateASavedView(httpClient, workspace_id, id, data, signal) {
15410
15444
  async function search(httpClient, organization_id, workspace_id, { keyword, per_group, assignee_user_id, assignee_team_id, project_id, task_id, include_drafts, exclude_calendar_events, group_by_tags, only_me }, signal) {
15411
15445
  return await httpClient.get(`organizations/${organization_id}/workspaces/${workspace_id}/search`, {
15412
15446
  signal,
15413
- searchParams: buildSearchParams$3({
15447
+ searchParams: buildSearchParams$2({
15414
15448
  keyword,
15415
15449
  per_group,
15416
15450
  assignee_user_id,
@@ -15427,7 +15461,7 @@ async function search(httpClient, organization_id, workspace_id, { keyword, per_
15427
15461
  async function searchMentions(httpClient, organization_id, workspace_id, { keyword, per_group } = {}, signal) {
15428
15462
  return await httpClient.get(`organizations/${organization_id}/workspaces/${workspace_id}/search/mentions`, {
15429
15463
  signal,
15430
- searchParams: buildSearchParams$3({
15464
+ searchParams: buildSearchParams$2({
15431
15465
  keyword,
15432
15466
  per_group
15433
15467
  })
@@ -15513,7 +15547,7 @@ async function createTaskEstimateAllocations(httpClient, organization_id, worksp
15513
15547
  async function deleteTaskEstimateAllocations(httpClient, organization_id, workspace_id, task_id, id, signal) {
15514
15548
  return await httpClient.delete(`organizations/${organization_id}/workspaces/${workspace_id}/tasks/${task_id}/allocations`, {
15515
15549
  signal,
15516
- searchParams: buildSearchParams$3({ id })
15550
+ searchParams: buildSearchParams$2({ id })
15517
15551
  }).json();
15518
15552
  }
15519
15553
  async function updateTaskEstimateAllocations(httpClient, organization_id, workspace_id, task_id, data, signal) {
@@ -15527,7 +15561,7 @@ async function updateTaskEstimateAllocations(httpClient, organization_id, worksp
15527
15561
  async function getUserTaskGroupsByProject(httpClient, organization_id, workspace_id, { project_id, source, priority, status_id, client_id, assignee_user_id, tag_id, team_id, user_tag_id, group_id, creator_id, name, start_date, end_date, start_date_from, start_date_to, end_date_from, end_date_to, private: private_, exclude_empty, include_unassigned, include_unmaterialized, collapse_recurring, include_assignees, min_days, include_drafts, cf_filter, user_cf_filter }, signal) {
15528
15562
  return await httpClient.get(`organizations/${organization_id}/workspaces/${workspace_id}/tasks/groups/users/by-project`, {
15529
15563
  signal,
15530
- searchParams: buildSearchParams$3({
15564
+ searchParams: buildSearchParams$2({
15531
15565
  project_id,
15532
15566
  source,
15533
15567
  priority,
@@ -15562,7 +15596,7 @@ async function getUserTaskGroupsByProject(httpClient, organization_id, workspace
15562
15596
  async function getUserTaskGroupsByTeam(httpClient, organization_id, workspace_id, { team_id, project_id, source, priority, status_id, client_id, assignee_user_id, tag_id, user_tag_id, group_id, creator_id, name, start_date, end_date, start_date_from, start_date_to, end_date_from, end_date_to, private: private_, exclude_empty, include_unassigned, include_unmaterialized, collapse_recurring, include_assignees, min_days, include_drafts, cf_filter, user_cf_filter } = {}, signal) {
15563
15597
  return await httpClient.get(`organizations/${organization_id}/workspaces/${workspace_id}/tasks/groups/users/by-team`, {
15564
15598
  signal,
15565
- searchParams: buildSearchParams$3({
15599
+ searchParams: buildSearchParams$2({
15566
15600
  team_id,
15567
15601
  project_id,
15568
15602
  source,
@@ -15597,7 +15631,7 @@ async function getUserTaskGroupsByTeam(httpClient, organization_id, workspace_id
15597
15631
  async function getTaskGroupsClassic(httpClient, organization_id, workspace_id, group, { source, priority, status_id, project_id, client_id, assignee_user_id, tag_id, team_id, user_tag_id, group_id, creator_id, name, start_date, end_date, start_date_from, start_date_to, end_date_from, end_date_to, private: private_, exclude_empty, include_unassigned, include_unmaterialized, collapse_recurring, include_assignees, min_days, include_drafts, cf_filter, user_cf_filter, page, per_page, order_by } = {}, signal) {
15598
15632
  return await httpClient.get(`organizations/${organization_id}/workspaces/${workspace_id}/tasks/groups/${group}`, {
15599
15633
  signal,
15600
- searchParams: buildSearchParams$3({
15634
+ searchParams: buildSearchParams$2({
15601
15635
  source,
15602
15636
  priority,
15603
15637
  status_id,
@@ -15668,7 +15702,7 @@ async function upsertTimeEntryConstraints(httpClient, workspace_id, data, signal
15668
15702
  async function getTimeEntryGroupsUsersClassic(httpClient, organization_id, workspace_id, { start_date, end_date, user_id, page, per_page, order_by }, signal) {
15669
15703
  return await httpClient.get(`organizations/${organization_id}/workspaces/${workspace_id}/time-entries/groups/users`, {
15670
15704
  signal,
15671
- searchParams: buildSearchParams$3({
15705
+ searchParams: buildSearchParams$2({
15672
15706
  start_date,
15673
15707
  end_date,
15674
15708
  user_id,
@@ -15683,7 +15717,7 @@ async function getTimeEntryGroupsUsersClassic(httpClient, organization_id, works
15683
15717
  async function getTimeoffsByUserIds(httpClient, organization_id, { user_id, start_date, end_date }, signal) {
15684
15718
  return await httpClient.get(`organizations/${organization_id}/timeoff`, {
15685
15719
  signal,
15686
- searchParams: buildSearchParams$3({
15720
+ searchParams: buildSearchParams$2({
15687
15721
  user_id,
15688
15722
  start_date,
15689
15723
  end_date
@@ -15693,7 +15727,7 @@ async function getTimeoffsByUserIds(httpClient, organization_id, { user_id, star
15693
15727
  async function getTimeoffForUser(httpClient, organization_id, user_id, { from, to }, signal) {
15694
15728
  return await httpClient.get(`organizations/${organization_id}/timeoff/users/${user_id}`, {
15695
15729
  signal,
15696
- searchParams: buildSearchParams$3({
15730
+ searchParams: buildSearchParams$2({
15697
15731
  from,
15698
15732
  to
15699
15733
  })
@@ -15722,7 +15756,7 @@ async function deleteTimeoffForUser(httpClient, organization_id, user_id, data,
15722
15756
  async function getTimesheetSetups(httpClient, organization_id, workspace_id, { include_discontinued, user_account_id, approver_user_account_id } = {}, signal) {
15723
15757
  return await httpClient.get(`organizations/${organization_id}/workspaces/${workspace_id}/timesheet-setups`, {
15724
15758
  signal,
15725
- searchParams: buildSearchParams$3({
15759
+ searchParams: buildSearchParams$2({
15726
15760
  include_discontinued,
15727
15761
  user_account_id,
15728
15762
  approver_user_account_id
@@ -15759,7 +15793,7 @@ async function discontinueTimesheetSetup(httpClient, organization_id, workspace_
15759
15793
  async function getTimesheetSetupMembers(httpClient, organization_id, workspace_id, setup_id, { include_discontinued } = {}, signal) {
15760
15794
  return await httpClient.get(`organizations/${organization_id}/workspaces/${workspace_id}/timesheet-setups/${setup_id}/members`, {
15761
15795
  signal,
15762
- searchParams: buildSearchParams$3({ include_discontinued })
15796
+ searchParams: buildSearchParams$2({ include_discontinued })
15763
15797
  }).json();
15764
15798
  }
15765
15799
  async function addTimesheetSetupMember(httpClient, organization_id, workspace_id, setup_id, user_account_id, signal) {
@@ -15782,7 +15816,7 @@ async function reactivateTimesheetSetupMember(httpClient, organization_id, works
15782
15816
  async function getTimesheetsClassic(httpClient, organization_id, workspace_id, { date_from, date_to, setup_id, user_account_ids, approver_user_account_ids, team_ids, current_layer_approver_user_account_id, statuses, page, per_page }, signal) {
15783
15817
  return await httpClient.get(`organizations/${organization_id}/workspaces/${workspace_id}/timesheets`, {
15784
15818
  signal,
15785
- searchParams: buildSearchParams$3({
15819
+ searchParams: buildSearchParams$2({
15786
15820
  date_from,
15787
15821
  date_to,
15788
15822
  setup_id,
@@ -16494,6 +16528,7 @@ const generatedFocusOperations = [
16494
16528
  outbound_sync: /* @__PURE__ */ optional$1(/* @__PURE__ */ boolean$1())
16495
16529
  }))),
16496
16530
  time_entry: /* @__PURE__ */ optional$1(/* @__PURE__ */ looseObject({
16531
+ type: /* @__PURE__ */ picklist$1(["activity", "break"]),
16497
16532
  calendar_event_id: /* @__PURE__ */ optional$1(/* @__PURE__ */ number$2()),
16498
16533
  description: /* @__PURE__ */ optional$1(/* @__PURE__ */ string$1()),
16499
16534
  duration: /* @__PURE__ */ optional$1(/* @__PURE__ */ number$2()),
@@ -16625,33 +16660,6 @@ const generatedFocusOperations = [
16625
16660
  ]));
16626
16661
  }
16627
16662
  },
16628
- {
16629
- id: "focus.custom-fields.get-allowed-users",
16630
- family: "focus",
16631
- resource: "custom-fields",
16632
- action: "get-allowed-users",
16633
- title: "Get Allowed Users Custom Fields",
16634
- description: "Get Allowed Users Custom Fields.",
16635
- safety: "read",
16636
- destructive: false,
16637
- cli: {
16638
- group: ["custom-fields"],
16639
- command: "get-allowed-users",
16640
- interactive: "available"
16641
- },
16642
- mcp: { entityTool: "custom-fields" },
16643
- inputSchema: /* @__PURE__ */ looseObject({ custom_field_id: /* @__PURE__ */ number$2() }),
16644
- execute: (input, { client }) => {
16645
- const data = input;
16646
- return client.runGeneratedRequest("getCustomFieldAllowedUsers", () => callGeneratedRequest(getCustomFieldAllowedUsers, [
16647
- client.httpClient,
16648
- client.organizationId,
16649
- client.workspaceIdNumber,
16650
- data.custom_field_id,
16651
- void 0
16652
- ]));
16653
- }
16654
- },
16655
16663
  {
16656
16664
  id: "focus.custom-fields.list",
16657
16665
  family: "focus",
@@ -16821,37 +16829,6 @@ const generatedFocusOperations = [
16821
16829
  ]));
16822
16830
  }
16823
16831
  },
16824
- {
16825
- id: "focus.custom-fields.replace-custom-field-allowed-users",
16826
- family: "focus",
16827
- resource: "custom-fields",
16828
- action: "replace-custom-field-allowed-users",
16829
- title: "Replace Custom Field Allowed Users Custom Fields",
16830
- description: "Replace Custom Field Allowed Users Custom Fields.",
16831
- safety: "update",
16832
- destructive: false,
16833
- cli: {
16834
- group: ["custom-fields"],
16835
- command: "replace-custom-field-allowed-users",
16836
- interactive: "default"
16837
- },
16838
- mcp: { entityTool: "custom-fields" },
16839
- inputSchema: /* @__PURE__ */ looseObject({
16840
- custom_field_id: /* @__PURE__ */ number$2(),
16841
- payload: /* @__PURE__ */ looseObject({ user_ids: /* @__PURE__ */ array$1(/* @__PURE__ */ number$2()) })
16842
- }),
16843
- execute: (input, { client }) => {
16844
- const data = input;
16845
- return client.runGeneratedRequest("replaceCustomFieldAllowedUsers", () => callGeneratedRequest(replaceCustomFieldAllowedUsers, [
16846
- client.httpClient,
16847
- client.organizationId,
16848
- client.workspaceIdNumber,
16849
- data.custom_field_id,
16850
- data.payload ?? data.data ?? data,
16851
- void 0
16852
- ]));
16853
- }
16854
- },
16855
16832
  {
16856
16833
  id: "focus.custom-fields.update",
16857
16834
  family: "focus",
@@ -16998,7 +16975,13 @@ const generatedFocusOperations = [
16998
16975
  },
16999
16976
  mcp: { entityTool: "goals" },
17000
16977
  inputSchema: /* @__PURE__ */ looseObject({ payload: /* @__PURE__ */ looseObject({
16978
+ billable: /* @__PURE__ */ boolean$1(),
17001
16979
  comparison: /* @__PURE__ */ picklist$1(["more_than", "less_than"]),
16980
+ end_date: /* @__PURE__ */ pipe$2(/* @__PURE__ */ string$1(), /* @__PURE__ */ isoDate$1()),
16981
+ icon: /* @__PURE__ */ string$1(),
16982
+ monthly_anchor: /* @__PURE__ */ picklist$1(["calendar", "first_workday"]),
16983
+ name: /* @__PURE__ */ string$1(),
16984
+ project_ids: /* @__PURE__ */ array$1(/* @__PURE__ */ number$2()),
17002
16985
  recurrence: /* @__PURE__ */ picklist$1([
17003
16986
  "daily",
17004
16987
  "weekly",
@@ -17006,18 +16989,12 @@ const generatedFocusOperations = [
17006
16989
  "monthly"
17007
16990
  ]),
17008
16991
  start_date: /* @__PURE__ */ pipe$2(/* @__PURE__ */ string$1(), /* @__PURE__ */ isoDate$1()),
16992
+ tag_ids: /* @__PURE__ */ array$1(/* @__PURE__ */ number$2()),
17009
16993
  target_seconds: /* @__PURE__ */ number$2(),
17010
- billable: /* @__PURE__ */ optional$1(/* @__PURE__ */ boolean$1()),
16994
+ task_ids: /* @__PURE__ */ array$1(/* @__PURE__ */ number$2()),
16995
+ weekdays: /* @__PURE__ */ array$1(/* @__PURE__ */ number$2()),
17011
16996
  client_ids: /* @__PURE__ */ optional$1(/* @__PURE__ */ array$1(/* @__PURE__ */ number$2())),
17012
- description: /* @__PURE__ */ optional$1(/* @__PURE__ */ string$1()),
17013
- end_date: /* @__PURE__ */ optional$1(/* @__PURE__ */ pipe$2(/* @__PURE__ */ string$1(), /* @__PURE__ */ isoDate$1())),
17014
- icon: /* @__PURE__ */ optional$1(/* @__PURE__ */ string$1()),
17015
- monthly_anchor: /* @__PURE__ */ optional$1(/* @__PURE__ */ picklist$1(["calendar", "first_workday"])),
17016
- name: /* @__PURE__ */ optional$1(/* @__PURE__ */ string$1()),
17017
- project_ids: /* @__PURE__ */ optional$1(/* @__PURE__ */ array$1(/* @__PURE__ */ number$2())),
17018
- tag_ids: /* @__PURE__ */ optional$1(/* @__PURE__ */ array$1(/* @__PURE__ */ number$2())),
17019
- task_ids: /* @__PURE__ */ optional$1(/* @__PURE__ */ array$1(/* @__PURE__ */ number$2())),
17020
- weekdays: /* @__PURE__ */ optional$1(/* @__PURE__ */ array$1(/* @__PURE__ */ number$2()))
16997
+ description: /* @__PURE__ */ optional$1(/* @__PURE__ */ string$1())
17021
16998
  }) }),
17022
16999
  execute: (input, { client }) => {
17023
17000
  const data = input;
@@ -17123,6 +17100,13 @@ const generatedFocusOperations = [
17123
17100
  },
17124
17101
  mcp: { entityTool: "goals" },
17125
17102
  inputSchema: /* @__PURE__ */ looseObject({ payload: /* @__PURE__ */ looseObject({
17103
+ billable: /* @__PURE__ */ boolean$1(),
17104
+ comparison: /* @__PURE__ */ picklist$1(["more_than", "less_than"]),
17105
+ end_date: /* @__PURE__ */ pipe$2(/* @__PURE__ */ string$1(), /* @__PURE__ */ isoDate$1()),
17106
+ icon: /* @__PURE__ */ string$1(),
17107
+ monthly_anchor: /* @__PURE__ */ picklist$1(["calendar", "first_workday"]),
17108
+ name: /* @__PURE__ */ string$1(),
17109
+ project_ids: /* @__PURE__ */ array$1(/* @__PURE__ */ number$2()),
17126
17110
  recurrence: /* @__PURE__ */ picklist$1([
17127
17111
  "daily",
17128
17112
  "weekly",
@@ -17130,19 +17114,12 @@ const generatedFocusOperations = [
17130
17114
  "monthly"
17131
17115
  ]),
17132
17116
  start_date: /* @__PURE__ */ pipe$2(/* @__PURE__ */ string$1(), /* @__PURE__ */ isoDate$1()),
17133
- billable: /* @__PURE__ */ optional$1(/* @__PURE__ */ boolean$1()),
17117
+ tag_ids: /* @__PURE__ */ array$1(/* @__PURE__ */ number$2()),
17118
+ target_seconds: /* @__PURE__ */ number$2(),
17119
+ task_ids: /* @__PURE__ */ array$1(/* @__PURE__ */ number$2()),
17120
+ weekdays: /* @__PURE__ */ array$1(/* @__PURE__ */ number$2()),
17134
17121
  client_ids: /* @__PURE__ */ optional$1(/* @__PURE__ */ array$1(/* @__PURE__ */ number$2())),
17135
- comparison: /* @__PURE__ */ optional$1(/* @__PURE__ */ picklist$1(["more_than", "less_than"])),
17136
- description: /* @__PURE__ */ optional$1(/* @__PURE__ */ string$1()),
17137
- end_date: /* @__PURE__ */ optional$1(/* @__PURE__ */ pipe$2(/* @__PURE__ */ string$1(), /* @__PURE__ */ isoDate$1())),
17138
- icon: /* @__PURE__ */ optional$1(/* @__PURE__ */ string$1()),
17139
- monthly_anchor: /* @__PURE__ */ optional$1(/* @__PURE__ */ picklist$1(["calendar", "first_workday"])),
17140
- name: /* @__PURE__ */ optional$1(/* @__PURE__ */ string$1()),
17141
- project_ids: /* @__PURE__ */ optional$1(/* @__PURE__ */ array$1(/* @__PURE__ */ number$2())),
17142
- tag_ids: /* @__PURE__ */ optional$1(/* @__PURE__ */ array$1(/* @__PURE__ */ number$2())),
17143
- target_seconds: /* @__PURE__ */ optional$1(/* @__PURE__ */ number$2()),
17144
- task_ids: /* @__PURE__ */ optional$1(/* @__PURE__ */ array$1(/* @__PURE__ */ number$2())),
17145
- weekdays: /* @__PURE__ */ optional$1(/* @__PURE__ */ array$1(/* @__PURE__ */ number$2()))
17122
+ description: /* @__PURE__ */ optional$1(/* @__PURE__ */ string$1())
17146
17123
  }) }),
17147
17124
  execute: (input, { client }) => {
17148
17125
  const data = input;
@@ -21080,6 +21057,11 @@ const generatedFocusOperations = [
21080
21057
  inputSchema: /* @__PURE__ */ looseObject({
21081
21058
  id: /* @__PURE__ */ unknown$1(),
21082
21059
  payload: /* @__PURE__ */ looseObject({
21060
+ cadence: /* @__PURE__ */ picklist$1([
21061
+ "daily",
21062
+ "weekly",
21063
+ "monthly"
21064
+ ]),
21083
21065
  time: /* @__PURE__ */ string$1(),
21084
21066
  day: /* @__PURE__ */ optional$1(/* @__PURE__ */ number$2()),
21085
21067
  recipient_team_ids: /* @__PURE__ */ optional$1(/* @__PURE__ */ array$1(/* @__PURE__ */ number$2())),
@@ -21116,6 +21098,11 @@ const generatedFocusOperations = [
21116
21098
  inputSchema: /* @__PURE__ */ looseObject({
21117
21099
  id: /* @__PURE__ */ unknown$1(),
21118
21100
  payload: /* @__PURE__ */ looseObject({
21101
+ cadence: /* @__PURE__ */ picklist$1([
21102
+ "daily",
21103
+ "weekly",
21104
+ "monthly"
21105
+ ]),
21119
21106
  time: /* @__PURE__ */ string$1(),
21120
21107
  day: /* @__PURE__ */ optional$1(/* @__PURE__ */ number$2()),
21121
21108
  recipient_team_ids: /* @__PURE__ */ optional$1(/* @__PURE__ */ array$1(/* @__PURE__ */ number$2())),
@@ -22583,12 +22570,16 @@ const generatedFocusOperations = [
22583
22570
  cli: {
22584
22571
  group: ["tasks", "constraints"],
22585
22572
  command: "upsert",
22586
- interactive: "hidden"
22573
+ interactive: "default"
22587
22574
  },
22588
22575
  mcp: { entityTool: "tasks" },
22589
22576
  inputSchema: /* @__PURE__ */ looseObject({ payload: /* @__PURE__ */ looseObject({
22590
22577
  enabled: /* @__PURE__ */ boolean$1(),
22591
- required_fields: /* @__PURE__ */ array$1(/* @__PURE__ */ unknown$1())
22578
+ required_fields: /* @__PURE__ */ array$1(/* @__PURE__ */ looseObject({ kind: /* @__PURE__ */ picklist$1([
22579
+ "project",
22580
+ "description",
22581
+ "tags"
22582
+ ]) }))
22592
22583
  }) }),
22593
22584
  execute: (input, { client }) => {
22594
22585
  const data = input;
@@ -24051,12 +24042,16 @@ const generatedFocusOperations = [
24051
24042
  cli: {
24052
24043
  group: ["time-entries", "constraints"],
24053
24044
  command: "upsert",
24054
- interactive: "hidden"
24045
+ interactive: "default"
24055
24046
  },
24056
24047
  mcp: { entityTool: "time-entries" },
24057
24048
  inputSchema: /* @__PURE__ */ looseObject({ payload: /* @__PURE__ */ looseObject({
24058
24049
  enabled: /* @__PURE__ */ boolean$1(),
24059
- required_fields: /* @__PURE__ */ array$1(/* @__PURE__ */ unknown$1()),
24050
+ required_fields: /* @__PURE__ */ array$1(/* @__PURE__ */ looseObject({ kind: /* @__PURE__ */ picklist$1([
24051
+ "project",
24052
+ "task",
24053
+ "description"
24054
+ ]) })),
24060
24055
  disallow_billable_override: /* @__PURE__ */ optional$1(/* @__PURE__ */ boolean$1())
24061
24056
  }) }),
24062
24057
  execute: (input, { client }) => {
@@ -24086,6 +24081,7 @@ const generatedFocusOperations = [
24086
24081
  mcp: { entityTool: "time-entries" },
24087
24082
  inputSchema: /* @__PURE__ */ looseObject({
24088
24083
  payload: /* @__PURE__ */ looseObject({
24084
+ type: /* @__PURE__ */ optional$1(/* @__PURE__ */ picklist$1(["activity", "break"]), "activity"),
24089
24085
  billable: /* @__PURE__ */ optional$1(/* @__PURE__ */ boolean$1()),
24090
24086
  calendar_event_id: /* @__PURE__ */ optional$1(/* @__PURE__ */ number$2()),
24091
24087
  description: /* @__PURE__ */ optional$1(/* @__PURE__ */ string$1()),
@@ -24129,6 +24125,7 @@ const generatedFocusOperations = [
24129
24125
  },
24130
24126
  mcp: { entityTool: "time-entries" },
24131
24127
  inputSchema: /* @__PURE__ */ looseObject({ payload: /* @__PURE__ */ looseObject({
24128
+ type: /* @__PURE__ */ optional$1(/* @__PURE__ */ picklist$1(["activity", "break"]), "activity"),
24132
24129
  billable: /* @__PURE__ */ optional$1(/* @__PURE__ */ boolean$1()),
24133
24130
  calendar_event_id: /* @__PURE__ */ optional$1(/* @__PURE__ */ number$2()),
24134
24131
  description: /* @__PURE__ */ optional$1(/* @__PURE__ */ string$1()),
@@ -24256,7 +24253,6 @@ const generatedFocusOperations = [
24256
24253
  expand_calendar_event: /* @__PURE__ */ unknown$1(),
24257
24254
  include_taskless: /* @__PURE__ */ unknown$1(),
24258
24255
  order_by: /* @__PURE__ */ unknown$1(),
24259
- project_id: /* @__PURE__ */ number$2(),
24260
24256
  status_id: /* @__PURE__ */ number$2(),
24261
24257
  task_id: /* @__PURE__ */ number$2(),
24262
24258
  type: /* @__PURE__ */ unknown$1()
@@ -24571,7 +24567,9 @@ const generatedFocusOperations = [
24571
24567
  inputSchema: /* @__PURE__ */ looseObject({
24572
24568
  client_uuid: /* @__PURE__ */ unknown$1(),
24573
24569
  payload: /* @__PURE__ */ looseObject({
24570
+ billable_source: /* @__PURE__ */ picklist$1(["manual", "task_default"]),
24574
24571
  client_updated_at: apiDateTimeString,
24572
+ type: /* @__PURE__ */ picklist$1(["activity", "break"]),
24575
24573
  billable: /* @__PURE__ */ optional$1(/* @__PURE__ */ boolean$1())
24576
24574
  })
24577
24575
  }),
@@ -24628,6 +24626,7 @@ const generatedFocusOperations = [
24628
24626
  inputSchema: /* @__PURE__ */ looseObject({ payload: /* @__PURE__ */ looseObject({
24629
24627
  extension_source: /* @__PURE__ */ string$1(),
24630
24628
  name: /* @__PURE__ */ string$1(),
24629
+ type: /* @__PURE__ */ picklist$1(["activity", "break"]),
24631
24630
  billable: /* @__PURE__ */ optional$1(/* @__PURE__ */ boolean$1()),
24632
24631
  create_project_if_not_found: /* @__PURE__ */ optional$1(/* @__PURE__ */ boolean$1()),
24633
24632
  create_tags_if_not_found: /* @__PURE__ */ optional$1(/* @__PURE__ */ boolean$1()),
@@ -24704,6 +24703,7 @@ const generatedFocusOperations = [
24704
24703
  mcp: { entityTool: "time-entries" },
24705
24704
  inputSchema: /* @__PURE__ */ looseObject({
24706
24705
  payload: /* @__PURE__ */ looseObject({
24706
+ type: /* @__PURE__ */ picklist$1(["activity", "break"]),
24707
24707
  calendar_event_id: /* @__PURE__ */ optional$1(/* @__PURE__ */ number$2()),
24708
24708
  description: /* @__PURE__ */ optional$1(/* @__PURE__ */ string$1()),
24709
24709
  duration: /* @__PURE__ */ optional$1(/* @__PURE__ */ number$2()),
@@ -25388,6 +25388,11 @@ const generatedFocusOperations = [
25388
25388
  user_account_ids: /* @__PURE__ */ array$1(/* @__PURE__ */ number$2())
25389
25389
  })),
25390
25390
  member_user_account_ids: /* @__PURE__ */ array$1(/* @__PURE__ */ number$2()),
25391
+ periodicity: /* @__PURE__ */ picklist$1([
25392
+ "weekly",
25393
+ "monthly",
25394
+ "days"
25395
+ ]),
25391
25396
  start_date: /* @__PURE__ */ pipe$2(/* @__PURE__ */ string$1(), /* @__PURE__ */ isoDate$1()),
25392
25397
  email_reminder_enabled: /* @__PURE__ */ optional$1(/* @__PURE__ */ boolean$1()),
25393
25398
  period_days: /* @__PURE__ */ optional$1(/* @__PURE__ */ number$2()),
@@ -25865,9 +25870,6 @@ const generatedFocusOperations = [
25865
25870
  has_reached_task_threshold: /* @__PURE__ */ optional$1(/* @__PURE__ */ boolean$1()),
25866
25871
  import_data_banner_dismissed: /* @__PURE__ */ optional$1(/* @__PURE__ */ boolean$1()),
25867
25872
  new_users_trial_dismissed: /* @__PURE__ */ optional$1(/* @__PURE__ */ boolean$1()),
25868
- notify_project_alerts: /* @__PURE__ */ optional$1(/* @__PURE__ */ boolean$1()),
25869
- notify_project_member_added: /* @__PURE__ */ optional$1(/* @__PURE__ */ boolean$1()),
25870
- notify_task_assigned: /* @__PURE__ */ optional$1(/* @__PURE__ */ boolean$1()),
25871
25873
  onboarding_checklist_dismissed: /* @__PURE__ */ optional$1(/* @__PURE__ */ boolean$1()),
25872
25874
  onboarding_flow_dismissed: /* @__PURE__ */ optional$1(/* @__PURE__ */ boolean$1()),
25873
25875
  onboarding_multi_day_task_created: /* @__PURE__ */ optional$1(/* @__PURE__ */ boolean$1()),
@@ -27914,4 +27916,4 @@ Common commands:
27914
27916
  //#endregion
27915
27917
  export { CommanderError as a, shutdownCliTelemetry as i, captureCliException as n, initCliTelemetry as r, createProgram as t };
27916
27918
 
27917
- //# sourceMappingURL=program-CK3hbOIx.js.map
27919
+ //# sourceMappingURL=program-DUDSQVrm.js.map