@togglhq/mcp 1.9.0 → 1.10.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.
@@ -32773,6 +32773,10 @@ function _joinExpects$1(values$1, separator) {
32773
32773
  */
32774
32774
  const ISO_DATE_REGEX$1 = /^\d{4}-(?:0[1-9]|1[0-2])-(?:[12]\d|0[1-9]|3[01])$/u;
32775
32775
  /**
32776
+ * [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) date-time regex.
32777
+ */
32778
+ 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;
32779
+ /**
32776
32780
  * [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) timestamp regex. Allows a
32777
32781
  * space as a date/time separator and an optional space before the UTC offset.
32778
32782
  */
@@ -32826,6 +32830,22 @@ function isoDate$1(message$1) {
32826
32830
  };
32827
32831
  }
32828
32832
  /* @__NO_SIDE_EFFECTS__ */
32833
+ function isoDateTime$1(message$1) {
32834
+ return {
32835
+ kind: "validation",
32836
+ type: "iso_date_time",
32837
+ reference: isoDateTime$1,
32838
+ async: false,
32839
+ expects: null,
32840
+ requirement: ISO_DATE_TIME_REGEX$1,
32841
+ message: message$1,
32842
+ "~run"(dataset, config$1) {
32843
+ if (dataset.typed && !this.requirement.test(dataset.value)) _addIssue$1(this, "date-time", dataset, config$1);
32844
+ return dataset;
32845
+ }
32846
+ };
32847
+ }
32848
+ /* @__NO_SIDE_EFFECTS__ */
32829
32849
  function isoTimestamp(message$1) {
32830
32850
  return {
32831
32851
  kind: "validation",
@@ -35424,7 +35444,7 @@ function withResponseMeta$1(data, headers, status) {
35424
35444
  });
35425
35445
  return data;
35426
35446
  }
35427
- function buildSearchParams$3(params, flattenArrays = false) {
35447
+ function buildSearchParams$2(params, flattenArrays = false) {
35428
35448
  const searchParams = new URLSearchParams();
35429
35449
  Object.entries(params).forEach(([key, value]) => {
35430
35450
  if (value === void 0) return;
@@ -35456,7 +35476,7 @@ function toFormData(params) {
35456
35476
  async function getProjectAttachments(httpClient, organization_id, workspace_id, project_id, { order_by } = {}, signal) {
35457
35477
  return await httpClient.get(`organizations/${organization_id}/workspaces/${workspace_id}/projects/${project_id}/attachments`, {
35458
35478
  signal,
35459
- searchParams: buildSearchParams$3({ order_by })
35479
+ searchParams: buildSearchParams$2({ order_by })
35460
35480
  }).json();
35461
35481
  }
35462
35482
  async function createProjectAttachment(httpClient, organization_id, workspace_id, project_id, display_order, file, name, signal) {
@@ -35497,7 +35517,7 @@ async function viewProjectAttachment(httpClient, organization_id, workspace_id,
35497
35517
  async function getTaskAttachments(httpClient, organization_id, workspace_id, task_id, { order_by } = {}, signal) {
35498
35518
  return await httpClient.get(`organizations/${organization_id}/workspaces/${workspace_id}/tasks/${task_id}/attachments`, {
35499
35519
  signal,
35500
- searchParams: buildSearchParams$3({ order_by })
35520
+ searchParams: buildSearchParams$2({ order_by })
35501
35521
  }).json();
35502
35522
  }
35503
35523
  async function createTaskAttachment(httpClient, organization_id, workspace_id, task_id, display_order, file, name, signal) {
@@ -37285,7 +37305,7 @@ const TimeEntryStopTrackingPayloadSchema = /* @__PURE__ */ object({ end: /* @__P
37285
37305
  async function getClientsClassic(httpClient, workspace_id, { page, per_page, order_by, name } = {}, signal) {
37286
37306
  return await httpClient.get(`workspaces/${workspace_id}/clients`, {
37287
37307
  signal,
37288
- searchParams: buildSearchParams$3({
37308
+ searchParams: buildSearchParams$2({
37289
37309
  page,
37290
37310
  per_page,
37291
37311
  order_by,
@@ -37334,7 +37354,7 @@ async function updateOrganizationGroup(httpClient, organization_id, group_id, da
37334
37354
  async function deleteOrganizationGroup(httpClient, organization_id, group_id, workspace_id, signal) {
37335
37355
  return await httpClient.delete(`organizations/${organization_id}/groups/${group_id}`, {
37336
37356
  signal,
37337
- searchParams: buildSearchParams$3({ workspace_id })
37357
+ searchParams: buildSearchParams$2({ workspace_id })
37338
37358
  }).json();
37339
37359
  }
37340
37360
  async function updateOrganizationGroupUserRole(httpClient, organization_id, group_id, data, signal) {
@@ -37346,7 +37366,7 @@ async function updateOrganizationGroupUserRole(httpClient, organization_id, grou
37346
37366
  async function getOrganizationMemberTags(httpClient, organization_id, { workspace_id }, signal) {
37347
37367
  return await httpClient.get(`organizations/${organization_id}/member-tags`, {
37348
37368
  signal,
37349
- searchParams: buildSearchParams$3({ workspace_id })
37369
+ searchParams: buildSearchParams$2({ workspace_id })
37350
37370
  }).json();
37351
37371
  }
37352
37372
  async function getOrganizationRoles(httpClient, organization_id, signal) {
@@ -37355,7 +37375,7 @@ async function getOrganizationRoles(httpClient, organization_id, signal) {
37355
37375
  async function getOrganizationTeamsClassic(httpClient, organization_id, { workspace_id, page, per_page, sort_dir, filter, query, organization_user_id, group_ids, active_members_only }, signal) {
37356
37376
  return await httpClient.get(`organizations/${organization_id}/teams`, {
37357
37377
  signal,
37358
- searchParams: buildSearchParams$3({
37378
+ searchParams: buildSearchParams$2({
37359
37379
  workspace_id,
37360
37380
  page,
37361
37381
  per_page,
@@ -37371,7 +37391,7 @@ async function getOrganizationTeamsClassic(httpClient, organization_id, { worksp
37371
37391
  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) {
37372
37392
  const response = await httpClient.get(`organizations/${organization_id}/users`, {
37373
37393
  signal,
37374
- searchParams: buildSearchParams$3({
37394
+ searchParams: buildSearchParams$2({
37375
37395
  workspaces,
37376
37396
  user_account_ids,
37377
37397
  org_user_ids,
@@ -37398,7 +37418,7 @@ async function getOrganizationUsersClassic(httpClient, organization_id, { worksp
37398
37418
  }
37399
37419
  //#endregion
37400
37420
  //#region ../focus-queries/out/utils/requests.js
37401
- function buildSearchParams$2(params, flattenArrays = false) {
37421
+ function buildSearchParams$1(params, flattenArrays = false) {
37402
37422
  const searchParams = new URLSearchParams();
37403
37423
  Object.entries(params).forEach(([key, value]) => {
37404
37424
  if (value === void 0) return;
@@ -37413,7 +37433,7 @@ function buildSearchParams$2(params, flattenArrays = false) {
37413
37433
  async function getTagsClassic(httpClient, workspace_id, { name, page, per_page, order_by, tag_id, include_usage, include_archived, archived } = {}, signal) {
37414
37434
  return await httpClient.get(`workspaces/${workspace_id}/tags`, {
37415
37435
  signal,
37416
- searchParams: buildSearchParams$3({
37436
+ searchParams: buildSearchParams$2({
37417
37437
  name,
37418
37438
  page,
37419
37439
  per_page,
@@ -37440,7 +37460,7 @@ async function bulkCreateTags(httpClient, workspace_id, data, signal) {
37440
37460
  async function bulkDeleteTags(httpClient, workspace_id, ids, signal) {
37441
37461
  return await httpClient.delete(`workspaces/${workspace_id}/tags/bulk`, {
37442
37462
  signal,
37443
- searchParams: buildSearchParams$3({ ids })
37463
+ searchParams: buildSearchParams$2({ ids })
37444
37464
  }).json();
37445
37465
  }
37446
37466
  async function bulkArchiveTags(httpClient, workspace_id, data, signal) {
@@ -37493,7 +37513,7 @@ async function unarchiveTag(httpClient, workspace_id, tag_id, signal) {
37493
37513
  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) {
37494
37514
  return await httpClient.get(`organizations/${organization_id}/workspaces/${workspace_id}/projects`, {
37495
37515
  signal,
37496
- searchParams: buildSearchParams$3({
37516
+ searchParams: buildSearchParams$2({
37497
37517
  page,
37498
37518
  per_page,
37499
37519
  order_by,
@@ -37532,7 +37552,7 @@ async function createProject(httpClient, organization_id, workspace_id, data, si
37532
37552
  async function bulkDeleteProjects(httpClient, organization_id, workspace_id, ids, signal) {
37533
37553
  return await httpClient.delete(`organizations/${organization_id}/workspaces/${workspace_id}/projects/bulk`, {
37534
37554
  signal,
37535
- searchParams: buildSearchParams$3({ ids })
37555
+ searchParams: buildSearchParams$2({ ids })
37536
37556
  }).json();
37537
37557
  }
37538
37558
  async function bulkPartialUpdateProjects(httpClient, organization_id, workspace_id, data, signal) {
@@ -37562,13 +37582,13 @@ async function bulkUnarchiveProjects(httpClient, organization_id, workspace_id,
37562
37582
  async function getBatchProjectsMembers(httpClient, organization_id, workspace_id, { ids }, signal) {
37563
37583
  return await httpClient.get(`organizations/${organization_id}/workspaces/${workspace_id}/projects/members`, {
37564
37584
  signal,
37565
- searchParams: buildSearchParams$3({ ids })
37585
+ searchParams: buildSearchParams$2({ ids })
37566
37586
  }).json();
37567
37587
  }
37568
37588
  async function getProjectTemplatesClassic(httpClient, organization_id, workspace_id, { page, per_page, name, order_by, archived } = {}, signal) {
37569
37589
  return await httpClient.get(`organizations/${organization_id}/workspaces/${workspace_id}/projects/templates`, {
37570
37590
  signal,
37571
- searchParams: buildSearchParams$3({
37591
+ searchParams: buildSearchParams$2({
37572
37592
  page,
37573
37593
  per_page,
37574
37594
  name,
@@ -37601,7 +37621,7 @@ async function archiveProject(httpClient, organization_id, workspace_id, project
37601
37621
  async function getProjectWithChildrenClassic(httpClient, organization_id, workspace_id, project_id, { page, per_page, order_by } = {}, signal) {
37602
37622
  return await httpClient.get(`organizations/${organization_id}/workspaces/${workspace_id}/projects/${project_id}/children`, {
37603
37623
  signal,
37604
- searchParams: buildSearchParams$3({
37624
+ searchParams: buildSearchParams$2({
37605
37625
  page,
37606
37626
  per_page,
37607
37627
  order_by
@@ -37638,7 +37658,7 @@ async function duplicateTemplate(httpClient, organization_id, workspace_id, proj
37638
37658
  async function getRecurringProjectInstancesClassic(httpClient, organization_id, workspace_id, project_id, { page, per_page, order_by, start_date, end_date, include_rollover } = {}, signal) {
37639
37659
  return await httpClient.get(`organizations/${organization_id}/workspaces/${workspace_id}/projects/${project_id}/instances`, {
37640
37660
  signal,
37641
- searchParams: buildSearchParams$3({
37661
+ searchParams: buildSearchParams$2({
37642
37662
  page,
37643
37663
  per_page,
37644
37664
  order_by,
@@ -37684,7 +37704,7 @@ async function removeProjectMember(httpClient, organization_id, workspace_id, pr
37684
37704
  async function getProjectWithParentsClassic(httpClient, organization_id, workspace_id, project_id, { page, per_page, order_by } = {}, signal) {
37685
37705
  return await httpClient.get(`organizations/${organization_id}/workspaces/${workspace_id}/projects/${project_id}/parents`, {
37686
37706
  signal,
37687
- searchParams: buildSearchParams$3({
37707
+ searchParams: buildSearchParams$2({
37688
37708
  page,
37689
37709
  per_page,
37690
37710
  order_by
@@ -37711,7 +37731,7 @@ async function uncompleteProject(httpClient, organization_id, workspace_id, proj
37711
37731
  async function getStatusesClassic(httpClient, workspace_id, { name, type, page, per_page, order_by } = {}, signal) {
37712
37732
  return await httpClient.get(`workspaces/${workspace_id}/statuses`, {
37713
37733
  signal,
37714
- searchParams: buildSearchParams$3({
37734
+ searchParams: buildSearchParams$2({
37715
37735
  name,
37716
37736
  type,
37717
37737
  page,
@@ -37746,7 +37766,7 @@ async function restoreStatuses(httpClient, workspace_id, status_id, signal) {
37746
37766
  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) {
37747
37767
  return await httpClient.get(`organizations/${organization_id}/workspaces/${workspace_id}/tasks`, {
37748
37768
  signal,
37749
- searchParams: buildSearchParams$3({
37769
+ searchParams: buildSearchParams$2({
37750
37770
  page,
37751
37771
  per_page,
37752
37772
  with_entries,
@@ -37813,7 +37833,7 @@ async function bulkCreateTask(httpClient, organization_id, workspace_id, data, s
37813
37833
  async function bulkDeleteTask(httpClient, organization_id, workspace_id, ids, outbound_sync, signal) {
37814
37834
  return await httpClient.delete(`organizations/${organization_id}/workspaces/${workspace_id}/tasks/bulk`, {
37815
37835
  signal,
37816
- searchParams: buildSearchParams$3({
37836
+ searchParams: buildSearchParams$2({
37817
37837
  ids,
37818
37838
  outbound_sync
37819
37839
  })
@@ -37852,7 +37872,7 @@ async function bulkUnarchiveTask(httpClient, organization_id, workspace_id, data
37852
37872
  async function getTaskByExternalId(httpClient, organization_id, workspace_id, { source, ext_id }, signal) {
37853
37873
  return await httpClient.get(`organizations/${organization_id}/workspaces/${workspace_id}/tasks/by-external-id`, {
37854
37874
  signal,
37855
- searchParams: buildSearchParams$3({
37875
+ searchParams: buildSearchParams$2({
37856
37876
  source,
37857
37877
  ext_id
37858
37878
  })
@@ -37861,7 +37881,7 @@ async function getTaskByExternalId(httpClient, organization_id, workspace_id, {
37861
37881
  async function getTasksCalendarEvents(httpClient, organization_id, workspace_id, { date_from, date_to, calendar_event_id, hidden } = {}, signal) {
37862
37882
  return await httpClient.get(`organizations/${organization_id}/workspaces/${workspace_id}/tasks/calendar`, {
37863
37883
  signal,
37864
- searchParams: buildSearchParams$3({
37884
+ searchParams: buildSearchParams$2({
37865
37885
  date_from,
37866
37886
  date_to,
37867
37887
  calendar_event_id,
@@ -37869,19 +37889,20 @@ async function getTasksCalendarEvents(httpClient, organization_id, workspace_id,
37869
37889
  })
37870
37890
  }).json();
37871
37891
  }
37872
- async function putTasksCalendarRange(httpClient, organization_id, workspace_id, date_from, date_to, signal) {
37892
+ async function putTasksCalendarRange(httpClient, organization_id, workspace_id, date_from, date_to, skip_provider_refresh, signal) {
37873
37893
  return await httpClient.put(`organizations/${organization_id}/workspaces/${workspace_id}/tasks/calendar`, {
37874
37894
  signal,
37875
- searchParams: buildSearchParams$3({
37895
+ searchParams: buildSearchParams$2({
37876
37896
  date_from,
37877
- date_to
37897
+ date_to,
37898
+ skip_provider_refresh
37878
37899
  })
37879
37900
  }).json();
37880
37901
  }
37881
37902
  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) {
37882
37903
  return await httpClient.get(`organizations/${organization_id}/workspaces/${workspace_id}/tasks/recurring`, {
37883
37904
  signal,
37884
- searchParams: buildSearchParams$3({
37905
+ searchParams: buildSearchParams$2({
37885
37906
  page,
37886
37907
  per_page,
37887
37908
  archived,
@@ -37901,7 +37922,7 @@ async function getTasksRecurringInstancesClassic(httpClient, organization_id, wo
37901
37922
  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) {
37902
37923
  return await httpClient.get(`organizations/${organization_id}/workspaces/${workspace_id}/tasks/stream`, {
37903
37924
  signal,
37904
- searchParams: buildSearchParams$3({
37925
+ searchParams: buildSearchParams$2({
37905
37926
  with_entries,
37906
37927
  pinned,
37907
37928
  order_by,
@@ -37950,7 +37971,7 @@ async function getStreamTasks(httpClient, organization_id, workspace_id, { with_
37950
37971
  async function getTask(httpClient, organization_id, workspace_id, task_id, { include_assignees } = {}, signal) {
37951
37972
  return await httpClient.get(`organizations/${organization_id}/workspaces/${workspace_id}/tasks/${task_id}`, {
37952
37973
  signal,
37953
- searchParams: buildSearchParams$3({ include_assignees })
37974
+ searchParams: buildSearchParams$2({ include_assignees })
37954
37975
  }).json();
37955
37976
  }
37956
37977
  async function updateTask(httpClient, organization_id, workspace_id, task_id, data, signal) {
@@ -37962,7 +37983,7 @@ async function updateTask(httpClient, organization_id, workspace_id, task_id, da
37962
37983
  async function deleteTask(httpClient, organization_id, workspace_id, task_id, from_recurring_task_id, outbound_sync, signal) {
37963
37984
  return await httpClient.delete(`organizations/${organization_id}/workspaces/${workspace_id}/tasks/${task_id}`, {
37964
37985
  signal,
37965
- searchParams: buildSearchParams$3({
37986
+ searchParams: buildSearchParams$2({
37966
37987
  from_recurring_task_id,
37967
37988
  outbound_sync
37968
37989
  })
@@ -37972,19 +37993,19 @@ async function patchTask(httpClient, organization_id, workspace_id, task_id, dat
37972
37993
  return await httpClient.patch(`organizations/${organization_id}/workspaces/${workspace_id}/tasks/${task_id}`, {
37973
37994
  signal,
37974
37995
  json: data,
37975
- searchParams: buildSearchParams$3({ from_recurring_task_id })
37996
+ searchParams: buildSearchParams$2({ from_recurring_task_id })
37976
37997
  }).json();
37977
37998
  }
37978
37999
  async function archiveTask(httpClient, organization_id, workspace_id, task_id, from_recurring_task_id, signal) {
37979
38000
  return await httpClient.post(`organizations/${organization_id}/workspaces/${workspace_id}/tasks/${task_id}/archive`, {
37980
38001
  signal,
37981
- searchParams: buildSearchParams$3({ from_recurring_task_id })
38002
+ searchParams: buildSearchParams$2({ from_recurring_task_id })
37982
38003
  }).json();
37983
38004
  }
37984
38005
  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) {
37985
38006
  return await httpClient.get(`organizations/${organization_id}/workspaces/${workspace_id}/tasks/${task_id}/children`, {
37986
38007
  signal,
37987
- searchParams: buildSearchParams$3({
38008
+ searchParams: buildSearchParams$2({
37988
38009
  page,
37989
38010
  per_page,
37990
38011
  order_by,
@@ -38001,7 +38022,7 @@ async function getTaskWithChildrenClassic(httpClient, organization_id, workspace
38001
38022
  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) {
38002
38023
  return await httpClient.get(`organizations/${organization_id}/workspaces/${workspace_id}/tasks/${task_id}/parents`, {
38003
38024
  signal,
38004
- searchParams: buildSearchParams$3({
38025
+ searchParams: buildSearchParams$2({
38005
38026
  page,
38006
38027
  per_page,
38007
38028
  order_by,
@@ -38026,7 +38047,7 @@ async function unarchiveTask(httpClient, organization_id, workspace_id, task_id,
38026
38047
  async function getTaskTimeBlocksWithOrgClassic(httpClient, organization_id, workspace_id, task_id, { page, per_page, order_by, archived } = {}, signal) {
38027
38048
  return await httpClient.get(`organizations/${organization_id}/workspaces/${workspace_id}/tasks/${task_id}/time-blocks`, {
38028
38049
  signal,
38029
- searchParams: buildSearchParams$3({
38050
+ searchParams: buildSearchParams$2({
38030
38051
  page,
38031
38052
  per_page,
38032
38053
  order_by,
@@ -38052,7 +38073,7 @@ async function updateTimeBlockWithOrg(httpClient, organization_id, workspace_id,
38052
38073
  async function deleteTimeBlockWithOrg(httpClient, organization_id, workspace_id, task_id, time_block_id, outbound_sync, signal) {
38053
38074
  return await httpClient.delete(`organizations/${organization_id}/workspaces/${workspace_id}/tasks/${task_id}/time-blocks/${time_block_id}`, {
38054
38075
  signal,
38055
- searchParams: buildSearchParams$3({ outbound_sync })
38076
+ searchParams: buildSearchParams$2({ outbound_sync })
38056
38077
  }).json();
38057
38078
  }
38058
38079
  async function partialUpdateTimeBlockWithOrg(httpClient, organization_id, workspace_id, task_id, time_block_id, data, signal) {
@@ -38073,7 +38094,7 @@ async function unarchiveTimeBlockWithOrg(httpClient, organization_id, workspace_
38073
38094
  async function getTimeBlocksRangeWithOrgClassic(httpClient, organization_id, workspace_id, { date_from, date_to, task_id, status_id, page, per_page, archived, order_by }, signal) {
38074
38095
  return await httpClient.get(`organizations/${organization_id}/workspaces/${workspace_id}/time-blocks`, {
38075
38096
  signal,
38076
- searchParams: buildSearchParams$3({
38097
+ searchParams: buildSearchParams$2({
38077
38098
  date_from,
38078
38099
  date_to,
38079
38100
  task_id,
@@ -38094,7 +38115,7 @@ async function bulkCreateTimeBlockWithOrg(httpClient, organization_id, workspace
38094
38115
  async function bulkDeleteTimeBlockWithOrg(httpClient, organization_id, workspace_id, ids, outbound_sync, signal) {
38095
38116
  return await httpClient.delete(`organizations/${organization_id}/workspaces/${workspace_id}/time-blocks/bulk`, {
38096
38117
  signal,
38097
- searchParams: buildSearchParams$3({
38118
+ searchParams: buildSearchParams$2({
38098
38119
  ids,
38099
38120
  outbound_sync
38100
38121
  })
@@ -38109,7 +38130,7 @@ async function bulkPartialUpdateTimeBlockWithOrg(httpClient, organization_id, wo
38109
38130
  async function getTimeBlocksRangeStreamWithOrg(httpClient, organization_id, workspace_id, { date_from, date_to, task_id, status_id, archived, order_by }, signal) {
38110
38131
  return await httpClient.get(`organizations/${organization_id}/workspaces/${workspace_id}/time-blocks/stream`, {
38111
38132
  signal,
38112
- searchParams: buildSearchParams$3({
38133
+ searchParams: buildSearchParams$2({
38113
38134
  date_from,
38114
38135
  date_to,
38115
38136
  task_id,
@@ -38124,7 +38145,7 @@ async function getTimeBlocksRangeStreamWithOrg(httpClient, organization_id, work
38124
38145
  async function getTaskTimeEntriesWithOrgClassic(httpClient, organization_id, workspace_id, task_id, { page, per_page, order_by, type, archived, time_block_id } = {}, signal) {
38125
38146
  return await httpClient.get(`organizations/${organization_id}/workspaces/${workspace_id}/tasks/${task_id}/time-entries`, {
38126
38147
  signal,
38127
- searchParams: buildSearchParams$3({
38148
+ searchParams: buildSearchParams$2({
38128
38149
  page,
38129
38150
  per_page,
38130
38151
  order_by,
@@ -38149,7 +38170,7 @@ async function createTasklessTimeEntryWithOrg(httpClient, organization_id, works
38149
38170
  async function getBatchTimeEntriesWithOrg(httpClient, organization_id, workspace_id, { ids }, signal) {
38150
38171
  return await httpClient.get(`organizations/${organization_id}/workspaces/${workspace_id}/time-entries/batch`, {
38151
38172
  signal,
38152
- searchParams: buildSearchParams$3({ ids })
38173
+ searchParams: buildSearchParams$2({ ids })
38153
38174
  }).json();
38154
38175
  }
38155
38176
  async function bulkCreateTimeEntryWithOrg(httpClient, organization_id, workspace_id, data, signal) {
@@ -38161,7 +38182,7 @@ async function bulkCreateTimeEntryWithOrg(httpClient, organization_id, workspace
38161
38182
  async function bulkDeleteTimeEntryWithOrg(httpClient, organization_id, workspace_id, ids, signal) {
38162
38183
  return await httpClient.delete(`organizations/${organization_id}/workspaces/${workspace_id}/time-entries/bulk`, {
38163
38184
  signal,
38164
- searchParams: buildSearchParams$3({ ids })
38185
+ searchParams: buildSearchParams$2({ ids })
38165
38186
  }).json();
38166
38187
  }
38167
38188
  async function bulkPartialUpdateTimeEntryWithOrg(httpClient, organization_id, workspace_id, data, signal) {
@@ -38179,7 +38200,7 @@ async function bulkEditTimeEntriesWithOrg(httpClient, organization_id, workspace
38179
38200
  async function bulkRestoreTimeEntryWithOrg(httpClient, organization_id, workspace_id, ids, signal) {
38180
38201
  return await httpClient.patch(`organizations/${organization_id}/workspaces/${workspace_id}/time-entries/bulk/restore`, {
38181
38202
  signal,
38182
- searchParams: buildSearchParams$3({ ids })
38203
+ searchParams: buildSearchParams$2({ ids })
38183
38204
  }).json();
38184
38205
  }
38185
38206
  async function setDayDurationWithOrg(httpClient, organization_id, workspace_id, data, signal) {
@@ -38197,7 +38218,7 @@ async function bulkSetDayDurationWithOrg(httpClient, organization_id, workspace_
38197
38218
  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) {
38198
38219
  return await httpClient.get(`organizations/${organization_id}/workspaces/${workspace_id}/time-entries/stream`, {
38199
38220
  signal,
38200
- searchParams: buildSearchParams$3({
38221
+ searchParams: buildSearchParams$2({
38201
38222
  date_from,
38202
38223
  date_to,
38203
38224
  task_id,
@@ -38220,7 +38241,7 @@ async function syncTimeEntry(httpClient, organization_id, workspace_id, client_u
38220
38241
  async function getStreamTimeEntriesTimeBlockIdsWithOrg(httpClient, organization_id, workspace_id, { time_block_id }, signal) {
38221
38242
  return await httpClient.get(`organizations/${organization_id}/workspaces/${workspace_id}/time-entries/time-block-ids/stream`, {
38222
38243
  signal,
38223
- searchParams: buildSearchParams$3({ time_block_id })
38244
+ searchParams: buildSearchParams$2({ time_block_id })
38224
38245
  }).json();
38225
38246
  }
38226
38247
  async function getTimeEntryWithOrg(httpClient, organization_id, workspace_id, time_entry_id, signal) {
@@ -38353,7 +38374,7 @@ const PublicMeEntryRequestSchema = /* @__PURE__ */ object$2({
38353
38374
  ]))
38354
38375
  });
38355
38376
  //#endregion
38356
- //#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
38377
+ //#region ../../node_modules/.pnpm/@toggl+queries@2.2.9_@tanstack+react-query@5.99.0_react@19.2.5__@toggl+sync@0.2.4_react_7a21258a25d85bb9a42e25798d118502/node_modules/@toggl/queries/dist/org/invitation/requests.mjs
38357
38378
  async function getInvitations(httpClient, signal) {
38358
38379
  return (await httpClient.get(`invitations`, { signal })).json();
38359
38380
  }
@@ -38370,8 +38391,23 @@ async function resendInvitation(httpClient, organization_id, organization_user_i
38370
38391
  return (await httpClient.post(`organizations/${organization_id}/invitations/${organization_user_id}/resend`, { signal })).json();
38371
38392
  }
38372
38393
  //#endregion
38373
- //#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
38374
- function buildSearchParams$1(params, flattenArrays = false) {
38394
+ //#region ../../node_modules/.pnpm/@toggl+queries@2.2.9_@tanstack+react-query@5.99.0_react@19.2.5__@toggl+sync@0.2.4_react_7a21258a25d85bb9a42e25798d118502/node_modules/@toggl/queries/dist/org/utils/requests.mjs
38395
+ const META_SYMBOL = Symbol.for("querygen:response:meta");
38396
+ function withResponseMeta(data, headers, status) {
38397
+ if (!data) return data;
38398
+ const meta = {
38399
+ headers: Object.fromEntries(headers.entries()),
38400
+ status
38401
+ };
38402
+ if (typeof data === "object") Object.defineProperty(data, META_SYMBOL, {
38403
+ value: meta,
38404
+ enumerable: false,
38405
+ writable: false,
38406
+ configurable: false
38407
+ });
38408
+ return data;
38409
+ }
38410
+ function buildSearchParams(params, flattenArrays = false) {
38375
38411
  const searchParams = new URLSearchParams();
38376
38412
  Object.entries(params).forEach(([key, value]) => {
38377
38413
  if (value === void 0) return;
@@ -38382,7 +38418,7 @@ function buildSearchParams$1(params, flattenArrays = false) {
38382
38418
  return searchParams;
38383
38419
  }
38384
38420
  //#endregion
38385
- //#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
38421
+ //#region ../../node_modules/.pnpm/@toggl+queries@2.2.9_@tanstack+react-query@5.99.0_react@19.2.5__@toggl+sync@0.2.4_react_7a21258a25d85bb9a42e25798d118502/node_modules/@toggl/queries/dist/org/organization-user/requests.mjs
38386
38422
  async function getOrganizationUser(httpClient, organization_id, organization_user_id, signal) {
38387
38423
  return (await httpClient.get(`organizations/${organization_id}/users/${organization_user_id}`, { signal })).json();
38388
38424
  }
@@ -38396,7 +38432,7 @@ async function patchOrganizationUserActive(httpClient, organization_id, organiza
38396
38432
  return (await httpClient.patch(`organizations/${organization_id}/users/${organization_user_id}/active_status/${status}`, { signal })).json();
38397
38433
  }
38398
38434
  //#endregion
38399
- //#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
38435
+ //#region ../../node_modules/.pnpm/@toggl+queries@2.2.9_@tanstack+react-query@5.99.0_react@19.2.5__@toggl+sync@0.2.4_react_7a21258a25d85bb9a42e25798d118502/node_modules/@toggl/queries/dist/org/workspace/requests.mjs
38400
38436
  async function getWorkspaces(httpClient, organization_id, signal) {
38401
38437
  return (await httpClient.get(`organizations/${organization_id}/workspaces`, { signal })).json();
38402
38438
  }
@@ -38416,55 +38452,28 @@ const WorkingHoursUpdateInputSchema = /* @__PURE__ */ object$2({
38416
38452
  });
38417
38453
  const StatusOKSchema = /* @__PURE__ */ object$2({ status: /* @__PURE__ */ string$1() });
38418
38454
  //#endregion
38419
- //#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
38420
- const META_SYMBOL = Symbol.for("querygen:response:meta");
38421
- function withResponseMeta(data, headers, status) {
38422
- if (!data) return data;
38423
- const meta = {
38424
- headers: Object.fromEntries(headers.entries()),
38425
- status
38426
- };
38427
- if (typeof data === "object") Object.defineProperty(data, META_SYMBOL, {
38428
- value: meta,
38429
- enumerable: false,
38430
- writable: false,
38431
- configurable: false
38432
- });
38433
- return data;
38434
- }
38435
- function buildSearchParams(params, flattenArrays = false) {
38436
- const searchParams = new URLSearchParams();
38437
- Object.entries(params).forEach(([key, value]) => {
38438
- if (value === void 0) return;
38439
- if (Array.isArray(value)) if (flattenArrays) searchParams.set(key, value.join(","));
38440
- else for (const item of value) searchParams.append(key, item === null ? "" : String(item));
38441
- else searchParams.set(key, value === null ? "" : String(value));
38442
- });
38443
- return searchParams;
38444
- }
38445
- //#endregion
38446
- //#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
38447
- async function getPublicHolidays(httpClient, year, { country, organization_id } = {}, signal) {
38448
- const response = await httpClient.get(`shared_data/api/publicholidays/${year}`, {
38455
+ //#region ../../node_modules/.pnpm/@toggl+queries@2.2.9_@tanstack+react-query@5.99.0_react@19.2.5__@toggl+sync@0.2.4_react_7a21258a25d85bb9a42e25798d118502/node_modules/@toggl/queries/dist/org/public-holidays/requests.mjs
38456
+ async function getPublicHolidaysHolidayDomain(httpClient, year, { country, organization_id } = {}, signal) {
38457
+ const response = await httpClient.get(`holidays/publicholidays/${year}`, {
38449
38458
  signal,
38450
38459
  searchParams: buildSearchParams({
38451
38460
  country,
38452
38461
  organization_id
38453
- })
38462
+ }, true)
38454
38463
  });
38455
38464
  return withResponseMeta(await response.json(), response.headers, response.status);
38456
38465
  }
38457
38466
  //#endregion
38458
- //#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
38467
+ //#region ../../node_modules/.pnpm/@toggl+queries@2.2.9_@tanstack+react-query@5.99.0_react@19.2.5__@toggl+sync@0.2.4_react_7a21258a25d85bb9a42e25798d118502/node_modules/@toggl/queries/dist/shared-data/status/requests.mjs
38459
38468
  async function getStatus(httpClient, signal) {
38460
38469
  return (await httpClient.get(`shared_data/api/status`, { signal })).json();
38461
38470
  }
38462
38471
  //#endregion
38463
- //#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
38472
+ //#region ../../node_modules/.pnpm/@toggl+queries@2.2.9_@tanstack+react-query@5.99.0_react@19.2.5__@toggl+sync@0.2.4_react_7a21258a25d85bb9a42e25798d118502/node_modules/@toggl/queries/dist/org/timeoff/requests.mjs
38464
38473
  async function timeoffListMyEntries(httpClient, organization_id, { from, to }, signal) {
38465
38474
  return (await httpClient.get(`timeoff/organizations/${organization_id}/me`, {
38466
38475
  signal,
38467
- searchParams: buildSearchParams$1({
38476
+ searchParams: buildSearchParams({
38468
38477
  from,
38469
38478
  to
38470
38479
  }, true)
@@ -38488,7 +38497,7 @@ async function timeoffDeleteMyEntry(httpClient, organization_id, id, signal) {
38488
38497
  return response.json();
38489
38498
  }
38490
38499
  //#endregion
38491
- //#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
38500
+ //#region ../../node_modules/.pnpm/@toggl+queries@2.2.9_@tanstack+react-query@5.99.0_react@19.2.5__@toggl+sync@0.2.4_react_7a21258a25d85bb9a42e25798d118502/node_modules/@toggl/queries/dist/shared-data/working-hours/requests.mjs
38492
38501
  async function getMyWorkingHours(httpClient, organization_id, signal) {
38493
38502
  return (await httpClient.get(`shared_data/api/workinghours/${organization_id}/me`, { signal })).json();
38494
38503
  }
@@ -38513,13 +38522,24 @@ async function deleteMyWorkingHours(httpClient, organization_id, data, signal) {
38513
38522
  return response.json();
38514
38523
  }
38515
38524
  //#endregion
38516
- //#region ../cli-core/build/focus-client-D9oJPY4f.js
38525
+ //#region ../cli-core/build/focus-client-DXRYFor8.js
38517
38526
  /** Request header the API reads to attribute traffic to MCP or CLI. */
38518
38527
  const TOGGL_CLIENT_HEADER = "X-Toggl-Client";
38528
+ /** Header the Focus API reads for analytics and presence `platform_origin`. */
38529
+ const TOGGL_POSTHOG_DATA_HEADER = "X-Toggl-PostHog-Data";
38519
38530
  /** Headers that attribute a raw `fetch` to MCP or CLI (FocusClient sets these itself). */
38520
38531
  function togglClientHeaders(clientSurface) {
38521
38532
  return { [TOGGL_CLIENT_HEADER]: clientSurface };
38522
38533
  }
38534
+ /** JSON body for `X-Toggl-PostHog-Data`. Origin matches the client header. */
38535
+ function togglPostHogData(clientSurface) {
38536
+ return JSON.stringify({ platform_origin: clientSurface });
38537
+ }
38538
+ /** Apply MCP/CLI attribution on FocusClient (and other HTTP) requests. */
38539
+ function applyTogglAttributionHeaders(headers, clientSurface) {
38540
+ headers.set(TOGGL_CLIENT_HEADER, clientSurface);
38541
+ headers.set(TOGGL_POSTHOG_DATA_HEADER, togglPostHogData(clientSurface));
38542
+ }
38523
38543
  const customFieldValuesEntry = /* @__PURE__ */ optional$1(/* @__PURE__ */ nullable$1(/* @__PURE__ */ pipe$2(/* @__PURE__ */ record$1(/* @__PURE__ */ string$1(), /* @__PURE__ */ nullable$1(/* @__PURE__ */ union$1([
38524
38544
  /* @__PURE__ */ array$1(/* @__PURE__ */ number$2()),
38525
38545
  /* @__PURE__ */ string$1(),
@@ -38735,8 +38755,7 @@ var FocusClient = class {
38735
38755
  const token = await this.tokenProvider();
38736
38756
  request.headers.set("Authorization", `Bearer ${token}`);
38737
38757
  if (!request.headers.get("Content-Type")?.startsWith("multipart/form-data")) request.headers.set("Content-Type", "application/json");
38738
- request.headers.set("X-Toggl-PostHog-Data", JSON.stringify({ platform_origin: "web" }));
38739
- request.headers.set(TOGGL_CLIENT_HEADER, this.clientSurface);
38758
+ applyTogglAttributionHeaders(request.headers, this.clientSurface);
38740
38759
  }
38741
38760
  });
38742
38761
  const orgBase = accountsOrgApiBaseUrl(config.accountsApiUrl);
@@ -38747,8 +38766,7 @@ var FocusClient = class {
38747
38766
  const token = await this.tokenProvider();
38748
38767
  request.headers.set("Authorization", `Bearer ${token}`);
38749
38768
  request.headers.set("Content-Type", "application/json");
38750
- request.headers.set("X-Toggl-PostHog-Data", JSON.stringify({ platform_origin: "web" }));
38751
- request.headers.set(TOGGL_CLIENT_HEADER, this.clientSurface);
38769
+ applyTogglAttributionHeaders(request.headers, this.clientSurface);
38752
38770
  }
38753
38771
  });
38754
38772
  this.timeOffMeHttp = createHttpClient({
@@ -38759,8 +38777,7 @@ var FocusClient = class {
38759
38777
  request.headers.set("Authorization", `Bearer ${token}`);
38760
38778
  request.headers.set("Content-Type", "application/json");
38761
38779
  request.headers.set("X-Toggl-Product", "focus");
38762
- request.headers.set("X-Toggl-PostHog-Data", JSON.stringify({ platform_origin: "web" }));
38763
- request.headers.set(TOGGL_CLIENT_HEADER, this.clientSurface);
38780
+ applyTogglAttributionHeaders(request.headers, this.clientSurface);
38764
38781
  }
38765
38782
  });
38766
38783
  this.sharedDataHttp = createHttpClient({
@@ -38770,8 +38787,7 @@ var FocusClient = class {
38770
38787
  const token = await this.tokenProvider();
38771
38788
  request.headers.set("Authorization", `Bearer ${token}`);
38772
38789
  request.headers.set("Content-Type", "application/json");
38773
- request.headers.set("X-Toggl-PostHog-Data", JSON.stringify({ platform_origin: "web" }));
38774
- request.headers.set(TOGGL_CLIENT_HEADER, this.clientSurface);
38790
+ applyTogglAttributionHeaders(request.headers, this.clientSurface);
38775
38791
  }
38776
38792
  });
38777
38793
  }
@@ -39117,7 +39133,7 @@ var FocusClient = class {
39117
39133
  const time_block_id = parseOptionalInt(params.time_block_id);
39118
39134
  const requestedPage = parseOptionalInt(params.page) ?? 1;
39119
39135
  const requestedPerPage = parseOptionalInt(params.per_page);
39120
- const fetchPage = (page, per_page) => this.run("listTimeEntries", () => this.http.get(`organizations/${this.organizationIdNum}/workspaces/${this.workspaceIdNum}/time-entries`, { searchParams: buildSearchParams$2({
39136
+ const fetchPage = (page, per_page) => this.run("listTimeEntries", () => this.http.get(`organizations/${this.organizationIdNum}/workspaces/${this.workspaceIdNum}/time-entries`, { searchParams: buildSearchParams$1({
39121
39137
  date_from,
39122
39138
  date_to,
39123
39139
  task_id,
@@ -39245,7 +39261,7 @@ var FocusClient = class {
39245
39261
  });
39246
39262
  }
39247
39263
  async listAlerts(params = {}) {
39248
- const response = await this.run("listAlerts", () => this.http.get(`organizations/${this.organizationIdNum}/workspaces/${this.workspaceIdNum}/alerts`, { searchParams: buildSearchParams$2({
39264
+ const response = await this.run("listAlerts", () => this.http.get(`organizations/${this.organizationIdNum}/workspaces/${this.workspaceIdNum}/alerts`, { searchParams: buildSearchParams$1({
39249
39265
  rule_type: params.rule_type,
39250
39266
  project_id: params.project_id,
39251
39267
  scope: params.scope
@@ -39394,7 +39410,7 @@ var FocusClient = class {
39394
39410
  return this.softValidateResponse("getSharedDataStatus", StatusOKSchema, response);
39395
39411
  }
39396
39412
  async listPublicHolidays(year, country) {
39397
- const response = await this.run("listPublicHolidays", () => getPublicHolidays(this.sharedDataHttp, year, country === void 0 ? {} : { country }));
39413
+ const response = await this.run("listPublicHolidays", () => getPublicHolidaysHolidayDomain(this.orgHttp, year, country === void 0 ? {} : { country }));
39398
39414
  return response.ok ? {
39399
39415
  ok: true,
39400
39416
  data: response.data
@@ -40575,7 +40591,7 @@ function createAuthenticatedClientProxy() {
40575
40591
  } });
40576
40592
  }
40577
40593
  //#endregion
40578
- //#region ../operations/build/validation-BGSky2wE.js
40594
+ //#region ../operations/build/validation-BvUOg9Kw.js
40579
40595
  const optionalNumber = /* @__PURE__ */ optional$1(/* @__PURE__ */ number$2());
40580
40596
  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})`)));
40581
40597
  const perPageSchema = perPageField(100);
@@ -41605,6 +41621,35 @@ const timeEntryOverrides = {
41605
41621
  }
41606
41622
  ]
41607
41623
  },
41624
+ "focus.time-entries.create": {
41625
+ description: "Create a completed task time entry. payload.type defaults to 'activity' when omitted.",
41626
+ 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.",
41627
+ examples: [{
41628
+ description: "Log a completed activity",
41629
+ data: {
41630
+ task_id: 12345,
41631
+ payload: {
41632
+ start: "2025-01-15T09:00:00Z",
41633
+ duration: 3600,
41634
+ type: "activity"
41635
+ }
41636
+ }
41637
+ }, {
41638
+ description: "Log a completed break",
41639
+ data: {
41640
+ task_id: 12345,
41641
+ payload: {
41642
+ start: "2025-01-15T10:00:00Z",
41643
+ duration: 900,
41644
+ type: "break"
41645
+ }
41646
+ }
41647
+ }]
41648
+ },
41649
+ "focus.time-entries.create-taskless": {
41650
+ description: "Create a completed taskless time entry. payload.type defaults to 'activity' when omitted.",
41651
+ agentGuidance: "Logs a completed taskless time entry. payload.type defaults to 'activity' when omitted; pass 'break' explicitly for a break."
41652
+ },
41608
41653
  "focus.time-entries.start": {
41609
41654
  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.",
41610
41655
  examples: [{
@@ -42102,7 +42147,7 @@ async function getWorkspaceAttachmentStorage(httpClient, organization_id, worksp
42102
42147
  async function getOrganizationAuditLog(httpClient, organization_id, from, to, { workspace_id, entity_type, entity_id, action, user_id, page_size, page_number, export: export_ } = {}, signal) {
42103
42148
  return await httpClient.get(`organizations/${organization_id}/audit-log/${from}/${to}`, {
42104
42149
  signal,
42105
- searchParams: buildSearchParams$3({
42150
+ searchParams: buildSearchParams$2({
42106
42151
  workspace_id,
42107
42152
  entity_type,
42108
42153
  entity_id,
@@ -42117,7 +42162,7 @@ async function getOrganizationAuditLog(httpClient, organization_id, from, to, {
42117
42162
  async function getAuditLog(httpClient, organization_id, workspace_id, from, to, { entity_type, entity_id, action, user_id, page_size, page_number, export: export_ } = {}, signal) {
42118
42163
  return await httpClient.get(`organizations/${organization_id}/workspaces/${workspace_id}/audit-log/${from}/${to}`, {
42119
42164
  signal,
42120
- searchParams: buildSearchParams$3({
42165
+ searchParams: buildSearchParams$2({
42121
42166
  entity_type,
42122
42167
  entity_id,
42123
42168
  action,
@@ -42133,7 +42178,7 @@ async function getAuditLog(httpClient, organization_id, workspace_id, from, to,
42133
42178
  async function getProjectsBillableRates(httpClient, organization_id, workspace_id, { project_id, date }, signal) {
42134
42179
  return await httpClient.get(`organizations/${organization_id}/workspaces/${workspace_id}/billable-rates/projects/rates`, {
42135
42180
  signal,
42136
- searchParams: buildSearchParams$3({
42181
+ searchParams: buildSearchParams$2({
42137
42182
  project_id,
42138
42183
  date
42139
42184
  })
@@ -42142,7 +42187,7 @@ async function getProjectsBillableRates(httpClient, organization_id, workspace_i
42142
42187
  async function getAllProjectUserBillableRates(httpClient, organization_id, workspace_id, { project_id, user_id, date, order_by } = {}, signal) {
42143
42188
  return await httpClient.get(`organizations/${organization_id}/workspaces/${workspace_id}/billable-rates/projects/users/rates`, {
42144
42189
  signal,
42145
- searchParams: buildSearchParams$3({
42190
+ searchParams: buildSearchParams$2({
42146
42191
  project_id,
42147
42192
  user_id,
42148
42193
  date,
@@ -42153,7 +42198,7 @@ async function getAllProjectUserBillableRates(httpClient, organization_id, works
42153
42198
  async function getProjectBillableRates(httpClient, organization_id, workspace_id, project_id, { order_by } = {}, signal) {
42154
42199
  return await httpClient.get(`organizations/${organization_id}/workspaces/${workspace_id}/billable-rates/projects/${project_id}/rates`, {
42155
42200
  signal,
42156
- searchParams: buildSearchParams$3({ order_by })
42201
+ searchParams: buildSearchParams$2({ order_by })
42157
42202
  }).json();
42158
42203
  }
42159
42204
  async function upsertProjectBillableRate(httpClient, organization_id, workspace_id, project_id, data, signal) {
@@ -42165,7 +42210,7 @@ async function upsertProjectBillableRate(httpClient, organization_id, workspace_
42165
42210
  async function deleteProjectBillableRateRange(httpClient, organization_id, workspace_id, project_id, from, to, signal) {
42166
42211
  return await httpClient.delete(`organizations/${organization_id}/workspaces/${workspace_id}/billable-rates/projects/${project_id}/rates`, {
42167
42212
  signal,
42168
- searchParams: buildSearchParams$3({
42213
+ searchParams: buildSearchParams$2({
42169
42214
  from,
42170
42215
  to
42171
42216
  })
@@ -42180,7 +42225,7 @@ async function checkProjectBillableRateConflicts(httpClient, organization_id, wo
42180
42225
  async function getProjectUserBillableRates(httpClient, organization_id, workspace_id, project_id, user_id, { order_by } = {}, signal) {
42181
42226
  return await httpClient.get(`organizations/${organization_id}/workspaces/${workspace_id}/billable-rates/projects/${project_id}/users/${user_id}/rates`, {
42182
42227
  signal,
42183
- searchParams: buildSearchParams$3({ order_by })
42228
+ searchParams: buildSearchParams$2({ order_by })
42184
42229
  }).json();
42185
42230
  }
42186
42231
  async function upsertProjectUserBillableRate(httpClient, organization_id, workspace_id, project_id, user_id, data, signal) {
@@ -42192,7 +42237,7 @@ async function upsertProjectUserBillableRate(httpClient, organization_id, worksp
42192
42237
  async function deleteProjectUserBillableRateRange(httpClient, organization_id, workspace_id, project_id, user_id, from, to, signal) {
42193
42238
  return await httpClient.delete(`organizations/${organization_id}/workspaces/${workspace_id}/billable-rates/projects/${project_id}/users/${user_id}/rates`, {
42194
42239
  signal,
42195
- searchParams: buildSearchParams$3({
42240
+ searchParams: buildSearchParams$2({
42196
42241
  from,
42197
42242
  to
42198
42243
  })
@@ -42210,7 +42255,7 @@ async function deleteBillableRateById(httpClient, organization_id, workspace_id,
42210
42255
  async function getAllWorkspaceUserBillableRates(httpClient, organization_id, workspace_id, { user_id, order_by } = {}, signal) {
42211
42256
  return await httpClient.get(`organizations/${organization_id}/workspaces/${workspace_id}/billable-rates/users/rates`, {
42212
42257
  signal,
42213
- searchParams: buildSearchParams$3({
42258
+ searchParams: buildSearchParams$2({
42214
42259
  user_id,
42215
42260
  order_by
42216
42261
  })
@@ -42219,7 +42264,7 @@ async function getAllWorkspaceUserBillableRates(httpClient, organization_id, wor
42219
42264
  async function getWorkspaceUserBillableRates(httpClient, organization_id, workspace_id, user_id, { order_by } = {}, signal) {
42220
42265
  return await httpClient.get(`organizations/${organization_id}/workspaces/${workspace_id}/billable-rates/users/${user_id}/rates`, {
42221
42266
  signal,
42222
- searchParams: buildSearchParams$3({ order_by })
42267
+ searchParams: buildSearchParams$2({ order_by })
42223
42268
  }).json();
42224
42269
  }
42225
42270
  async function upsertWorkspaceUserBillableRate(httpClient, organization_id, workspace_id, user_id, data, signal) {
@@ -42231,7 +42276,7 @@ async function upsertWorkspaceUserBillableRate(httpClient, organization_id, work
42231
42276
  async function deleteWorkspaceUserBillableRateRange(httpClient, organization_id, workspace_id, user_id, from, to, signal) {
42232
42277
  return await httpClient.delete(`organizations/${organization_id}/workspaces/${workspace_id}/billable-rates/users/${user_id}/rates`, {
42233
42278
  signal,
42234
- searchParams: buildSearchParams$3({
42279
+ searchParams: buildSearchParams$2({
42235
42280
  from,
42236
42281
  to
42237
42282
  })
@@ -42246,7 +42291,7 @@ async function checkWorkspaceUserBillableRateConflicts(httpClient, organization_
42246
42291
  async function getWorkspaceBillableRates(httpClient, organization_id, workspace_id, { order_by } = {}, signal) {
42247
42292
  return await httpClient.get(`organizations/${organization_id}/workspaces/${workspace_id}/billable-rates/workspace/rates`, {
42248
42293
  signal,
42249
- searchParams: buildSearchParams$3({ order_by })
42294
+ searchParams: buildSearchParams$2({ order_by })
42250
42295
  }).json();
42251
42296
  }
42252
42297
  async function upsertWorkspaceBillableRate(httpClient, organization_id, workspace_id, data, signal) {
@@ -42258,7 +42303,7 @@ async function upsertWorkspaceBillableRate(httpClient, organization_id, workspac
42258
42303
  async function deleteWorkspaceBillableRateRange(httpClient, organization_id, workspace_id, from, to, signal) {
42259
42304
  return await httpClient.delete(`organizations/${organization_id}/workspaces/${workspace_id}/billable-rates/workspace/rates`, {
42260
42305
  signal,
42261
- searchParams: buildSearchParams$3({
42306
+ searchParams: buildSearchParams$2({
42262
42307
  from,
42263
42308
  to
42264
42309
  })
@@ -42272,13 +42317,14 @@ async function checkWorkspaceBillableRateConflicts(httpClient, organization_id,
42272
42317
  }
42273
42318
  //#endregion
42274
42319
  //#region ../focus-queries/dist/capacities/requests.ts
42275
- 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) {
42320
+ async function capacityGetComputations(httpClient, organization_id, workspace_id, group, { start_date, end_date, user_id, team_id, private: private_, task_source, unit, include_drafts, include_task_estimates }, signal) {
42276
42321
  return await httpClient.get(`organizations/${organization_id}/workspaces/${workspace_id}/capacities/${group}`, {
42277
42322
  signal,
42278
- searchParams: buildSearchParams$3({
42279
- user_id,
42323
+ searchParams: buildSearchParams$2({
42280
42324
  start_date,
42281
42325
  end_date,
42326
+ user_id,
42327
+ team_id,
42282
42328
  private: private_,
42283
42329
  task_source,
42284
42330
  unit,
@@ -42306,7 +42352,7 @@ async function compositeCreateTask(httpClient, organization_id, workspace_id, da
42306
42352
  async function getCustomFieldsClassic(httpClient, organization_id, workspace_id, { entity_type, page, per_page, order_by } = {}, signal) {
42307
42353
  return await httpClient.get(`organizations/${organization_id}/workspaces/${workspace_id}/custom-fields`, {
42308
42354
  signal,
42309
- searchParams: buildSearchParams$3({
42355
+ searchParams: buildSearchParams$2({
42310
42356
  entity_type,
42311
42357
  page,
42312
42358
  per_page,
@@ -42350,7 +42396,7 @@ async function replaceCustomFieldAllowedUsers(httpClient, organization_id, works
42350
42396
  async function getCustomFieldOptionsClassic(httpClient, organization_id, workspace_id, custom_field_id, { name, page, per_page, order_by } = {}, signal) {
42351
42397
  return await httpClient.get(`organizations/${organization_id}/workspaces/${workspace_id}/custom-fields/${custom_field_id}/options`, {
42352
42398
  signal,
42353
- searchParams: buildSearchParams$3({
42399
+ searchParams: buildSearchParams$2({
42354
42400
  name,
42355
42401
  page,
42356
42402
  per_page,
@@ -42425,7 +42471,7 @@ async function getGoals(httpClient, organization_id, workspace_id, signal) {
42425
42471
  async function getAllProjectUserLaborCostRates(httpClient, organization_id, workspace_id, { project_id, user_id, date, order_by } = {}, signal) {
42426
42472
  return await httpClient.get(`organizations/${organization_id}/workspaces/${workspace_id}/labor-costs/projects/users/rates`, {
42427
42473
  signal,
42428
- searchParams: buildSearchParams$3({
42474
+ searchParams: buildSearchParams$2({
42429
42475
  project_id,
42430
42476
  user_id,
42431
42477
  date,
@@ -42436,7 +42482,7 @@ async function getAllProjectUserLaborCostRates(httpClient, organization_id, work
42436
42482
  async function getProjectLaborCostRates(httpClient, organization_id, workspace_id, project_id, { order_by } = {}, signal) {
42437
42483
  return await httpClient.get(`organizations/${organization_id}/workspaces/${workspace_id}/labor-costs/projects/${project_id}/rates`, {
42438
42484
  signal,
42439
- searchParams: buildSearchParams$3({ order_by })
42485
+ searchParams: buildSearchParams$2({ order_by })
42440
42486
  }).json();
42441
42487
  }
42442
42488
  async function upsertProjectLaborCostRate(httpClient, organization_id, workspace_id, project_id, data, signal) {
@@ -42448,7 +42494,7 @@ async function upsertProjectLaborCostRate(httpClient, organization_id, workspace
42448
42494
  async function deleteProjectLaborCostRateRange(httpClient, organization_id, workspace_id, project_id, from, to, signal) {
42449
42495
  return await httpClient.delete(`organizations/${organization_id}/workspaces/${workspace_id}/labor-costs/projects/${project_id}/rates`, {
42450
42496
  signal,
42451
- searchParams: buildSearchParams$3({
42497
+ searchParams: buildSearchParams$2({
42452
42498
  from,
42453
42499
  to
42454
42500
  })
@@ -42463,7 +42509,7 @@ async function checkProjectLaborCostConflicts(httpClient, organization_id, works
42463
42509
  async function getProjectUserLaborCostRates(httpClient, organization_id, workspace_id, project_id, user_id, { order_by } = {}, signal) {
42464
42510
  return await httpClient.get(`organizations/${organization_id}/workspaces/${workspace_id}/labor-costs/projects/${project_id}/users/${user_id}/rates`, {
42465
42511
  signal,
42466
- searchParams: buildSearchParams$3({ order_by })
42512
+ searchParams: buildSearchParams$2({ order_by })
42467
42513
  }).json();
42468
42514
  }
42469
42515
  async function upsertProjectUserLaborCostRate(httpClient, organization_id, workspace_id, project_id, user_id, data, signal) {
@@ -42475,7 +42521,7 @@ async function upsertProjectUserLaborCostRate(httpClient, organization_id, works
42475
42521
  async function deleteProjectUserLaborCostRateRange(httpClient, organization_id, workspace_id, project_id, user_id, from, to, signal) {
42476
42522
  return await httpClient.delete(`organizations/${organization_id}/workspaces/${workspace_id}/labor-costs/projects/${project_id}/users/${user_id}/rates`, {
42477
42523
  signal,
42478
- searchParams: buildSearchParams$3({
42524
+ searchParams: buildSearchParams$2({
42479
42525
  from,
42480
42526
  to
42481
42527
  })
@@ -42493,7 +42539,7 @@ async function deleteLaborCostRateById(httpClient, organization_id, workspace_id
42493
42539
  async function getAllWorkspaceUserLaborCostRates(httpClient, organization_id, workspace_id, { user_id, order_by } = {}, signal) {
42494
42540
  return await httpClient.get(`organizations/${organization_id}/workspaces/${workspace_id}/labor-costs/users/rates`, {
42495
42541
  signal,
42496
- searchParams: buildSearchParams$3({
42542
+ searchParams: buildSearchParams$2({
42497
42543
  user_id,
42498
42544
  order_by
42499
42545
  })
@@ -42502,7 +42548,7 @@ async function getAllWorkspaceUserLaborCostRates(httpClient, organization_id, wo
42502
42548
  async function getWorkspaceUserLaborCostRates(httpClient, organization_id, workspace_id, user_id, { order_by } = {}, signal) {
42503
42549
  return await httpClient.get(`organizations/${organization_id}/workspaces/${workspace_id}/labor-costs/users/${user_id}/rates`, {
42504
42550
  signal,
42505
- searchParams: buildSearchParams$3({ order_by })
42551
+ searchParams: buildSearchParams$2({ order_by })
42506
42552
  }).json();
42507
42553
  }
42508
42554
  async function upsertWorkspaceUserLaborCostRate(httpClient, organization_id, workspace_id, user_id, data, signal) {
@@ -42514,7 +42560,7 @@ async function upsertWorkspaceUserLaborCostRate(httpClient, organization_id, wor
42514
42560
  async function deleteWorkspaceUserLaborCostRateRange(httpClient, organization_id, workspace_id, user_id, from, to, signal) {
42515
42561
  return await httpClient.delete(`organizations/${organization_id}/workspaces/${workspace_id}/labor-costs/users/${user_id}/rates`, {
42516
42562
  signal,
42517
- searchParams: buildSearchParams$3({
42563
+ searchParams: buildSearchParams$2({
42518
42564
  from,
42519
42565
  to
42520
42566
  })
@@ -42529,7 +42575,7 @@ async function checkWorkspaceUserLaborCostConflicts(httpClient, organization_id,
42529
42575
  async function getWorkspaceLaborCostRates(httpClient, organization_id, workspace_id, { order_by } = {}, signal) {
42530
42576
  return await httpClient.get(`organizations/${organization_id}/workspaces/${workspace_id}/labor-costs/workspace/rates`, {
42531
42577
  signal,
42532
- searchParams: buildSearchParams$3({ order_by })
42578
+ searchParams: buildSearchParams$2({ order_by })
42533
42579
  }).json();
42534
42580
  }
42535
42581
  async function upsertWorkspaceLaborCostRate(httpClient, organization_id, workspace_id, data, signal) {
@@ -42541,7 +42587,7 @@ async function upsertWorkspaceLaborCostRate(httpClient, organization_id, workspa
42541
42587
  async function deleteWorkspaceLaborCostRateRange(httpClient, organization_id, workspace_id, from, to, signal) {
42542
42588
  return await httpClient.delete(`organizations/${organization_id}/workspaces/${workspace_id}/labor-costs/workspace/rates`, {
42543
42589
  signal,
42544
- searchParams: buildSearchParams$3({
42590
+ searchParams: buildSearchParams$2({
42545
42591
  from,
42546
42592
  to
42547
42593
  })
@@ -42558,7 +42604,7 @@ async function checkWorkspaceLaborCostConflicts(httpClient, organization_id, wor
42558
42604
  async function getMilestonesClassic(httpClient, workspace_id, { page, per_page, order_by, due_date_from, due_date_to, project_id, team_id } = {}, signal) {
42559
42605
  return await httpClient.get(`workspaces/${workspace_id}/milestones`, {
42560
42606
  signal,
42561
- searchParams: buildSearchParams$3({
42607
+ searchParams: buildSearchParams$2({
42562
42608
  page,
42563
42609
  per_page,
42564
42610
  order_by,
@@ -42578,7 +42624,7 @@ async function createMilestone(httpClient, workspace_id, data, signal) {
42578
42624
  async function getMilestonesStream(httpClient, workspace_id, { order_by, due_date_from, due_date_to, project_id, team_id } = {}, signal) {
42579
42625
  return await httpClient.get(`workspaces/${workspace_id}/milestones/stream`, {
42580
42626
  signal,
42581
- searchParams: buildSearchParams$3({
42627
+ searchParams: buildSearchParams$2({
42582
42628
  order_by,
42583
42629
  due_date_from,
42584
42630
  due_date_to,
@@ -42613,7 +42659,7 @@ async function restoreMilestone(httpClient, workspace_id, milestone_id, signal)
42613
42659
  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) {
42614
42660
  return await httpClient.get(`organizations/${organization_id}/workspaces/${workspace_id}/projects/groups/${group}`, {
42615
42661
  signal,
42616
- searchParams: buildSearchParams$3({
42662
+ searchParams: buildSearchParams$2({
42617
42663
  page,
42618
42664
  per_page,
42619
42665
  order_by,
@@ -42654,9 +42700,6 @@ async function setWorkspaceProjectMarginTarget(httpClient, organization_id, work
42654
42700
  json: data
42655
42701
  }).json();
42656
42702
  }
42657
- async function clearWorkspaceProjectMarginTarget(httpClient, organization_id, workspace_id, signal) {
42658
- return await httpClient.delete(`organizations/${organization_id}/workspaces/${workspace_id}/project-margin-targets/workspace`, { signal }).json();
42659
- }
42660
42703
  async function getProjectMarginTarget(httpClient, organization_id, workspace_id, project_id, signal) {
42661
42704
  return await httpClient.get(`organizations/${organization_id}/workspaces/${workspace_id}/project-margin-targets/${project_id}`, { signal }).json();
42662
42705
  }
@@ -42674,7 +42717,7 @@ async function clearProjectMarginTarget(httpClient, organization_id, workspace_i
42674
42717
  async function getPublicHolidaysByUserIds(httpClient, organization_id, { user_id, start_date, end_date }, signal) {
42675
42718
  return await httpClient.get(`organizations/${organization_id}/public-holidays`, {
42676
42719
  signal,
42677
- searchParams: buildSearchParams$3({
42720
+ searchParams: buildSearchParams$2({
42678
42721
  user_id,
42679
42722
  start_date,
42680
42723
  end_date
@@ -42686,7 +42729,7 @@ async function getPublicHolidaysByUserIds(httpClient, organization_id, { user_id
42686
42729
  async function getProjectRatesSummary(httpClient, organization_id, workspace_id, { page, rows, order_by, search } = {}, signal) {
42687
42730
  const response = await httpClient.get(`organizations/${organization_id}/workspaces/${workspace_id}/projects/rates`, {
42688
42731
  signal,
42689
- searchParams: buildSearchParams$3({
42732
+ searchParams: buildSearchParams$2({
42690
42733
  page,
42691
42734
  rows,
42692
42735
  order_by,
@@ -42698,7 +42741,7 @@ async function getProjectRatesSummary(httpClient, organization_id, workspace_id,
42698
42741
  async function getProjectRates(httpClient, organization_id, workspace_id, project_id, { order_by } = {}, signal) {
42699
42742
  return await httpClient.get(`organizations/${organization_id}/workspaces/${workspace_id}/projects/${project_id}/rates`, {
42700
42743
  signal,
42701
- searchParams: buildSearchParams$3({ order_by })
42744
+ searchParams: buildSearchParams$2({ order_by })
42702
42745
  }).json();
42703
42746
  }
42704
42747
  async function createProjectRate(httpClient, organization_id, workspace_id, project_id, data, signal) {
@@ -42710,7 +42753,7 @@ async function createProjectRate(httpClient, organization_id, workspace_id, proj
42710
42753
  async function deleteProjectRate(httpClient, organization_id, workspace_id, project_id, from, to, signal) {
42711
42754
  return await httpClient.delete(`organizations/${organization_id}/workspaces/${workspace_id}/projects/${project_id}/rates`, {
42712
42755
  signal,
42713
- searchParams: buildSearchParams$3({
42756
+ searchParams: buildSearchParams$2({
42714
42757
  from,
42715
42758
  to
42716
42759
  })
@@ -42730,7 +42773,7 @@ async function createTaskRate(httpClient, organization_id, workspace_id, task_id
42730
42773
  async function getRecurringProjectBudgetSuggestion(httpClient, organization_id, workspace_id, project_id, { target_period_start }, signal) {
42731
42774
  return await httpClient.get(`organizations/${organization_id}/workspaces/${workspace_id}/recurring-budget-suggestions/${project_id}`, {
42732
42775
  signal,
42733
- searchParams: buildSearchParams$3({ target_period_start })
42776
+ searchParams: buildSearchParams$2({ target_period_start })
42734
42777
  }).json();
42735
42778
  }
42736
42779
  async function acceptARecurringProjectBudgetSuggestion(httpClient, organization_id, workspace_id, project_id, signal) {
@@ -42758,7 +42801,7 @@ async function getProfitabilityReport(httpClient, workspace_id, data, response_f
42758
42801
  signal,
42759
42802
  json: data,
42760
42803
  headers: { "X-Toggl-Report-Export": xTogglReportExport },
42761
- searchParams: buildSearchParams$3({
42804
+ searchParams: buildSearchParams$2({
42762
42805
  response_format,
42763
42806
  include_dicts
42764
42807
  })
@@ -42769,7 +42812,7 @@ async function getFlexqData(httpClient, workspace_id, data, { response_format, i
42769
42812
  signal,
42770
42813
  json: data,
42771
42814
  headers: { "X-Toggl-Report-Export": xTogglReportExport },
42772
- searchParams: buildSearchParams$3({
42815
+ searchParams: buildSearchParams$2({
42773
42816
  response_format,
42774
42817
  include_dicts
42775
42818
  })
@@ -42816,7 +42859,7 @@ async function deleteSharedReportSchedule(httpClient, workspace_id, id, signal)
42816
42859
  async function getSavedViews(httpClient, workspace_id, { name, type, order_by } = {}, signal) {
42817
42860
  return await httpClient.get(`workspaces/${workspace_id}/saved-views`, {
42818
42861
  signal,
42819
- searchParams: buildSearchParams$3({
42862
+ searchParams: buildSearchParams$2({
42820
42863
  name,
42821
42864
  type,
42822
42865
  order_by
@@ -42846,7 +42889,7 @@ async function updateASavedView(httpClient, workspace_id, id, data, signal) {
42846
42889
  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) {
42847
42890
  return await httpClient.get(`organizations/${organization_id}/workspaces/${workspace_id}/search`, {
42848
42891
  signal,
42849
- searchParams: buildSearchParams$3({
42892
+ searchParams: buildSearchParams$2({
42850
42893
  keyword,
42851
42894
  per_group,
42852
42895
  assignee_user_id,
@@ -42863,7 +42906,7 @@ async function search(httpClient, organization_id, workspace_id, { keyword, per_
42863
42906
  async function searchMentions(httpClient, organization_id, workspace_id, { keyword, per_group } = {}, signal) {
42864
42907
  return await httpClient.get(`organizations/${organization_id}/workspaces/${workspace_id}/search/mentions`, {
42865
42908
  signal,
42866
- searchParams: buildSearchParams$3({
42909
+ searchParams: buildSearchParams$2({
42867
42910
  keyword,
42868
42911
  per_group
42869
42912
  })
@@ -42949,7 +42992,7 @@ async function createTaskEstimateAllocations(httpClient, organization_id, worksp
42949
42992
  async function deleteTaskEstimateAllocations(httpClient, organization_id, workspace_id, task_id, id, signal) {
42950
42993
  return await httpClient.delete(`organizations/${organization_id}/workspaces/${workspace_id}/tasks/${task_id}/allocations`, {
42951
42994
  signal,
42952
- searchParams: buildSearchParams$3({ id })
42995
+ searchParams: buildSearchParams$2({ id })
42953
42996
  }).json();
42954
42997
  }
42955
42998
  async function updateTaskEstimateAllocations(httpClient, organization_id, workspace_id, task_id, data, signal) {
@@ -42960,10 +43003,11 @@ async function updateTaskEstimateAllocations(httpClient, organization_id, worksp
42960
43003
  }
42961
43004
  //#endregion
42962
43005
  //#region ../focus-queries/dist/task-groups/requests.ts
42963
- 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) {
43006
+ 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, xTimelineFetchTrigger }, signal) {
42964
43007
  return await httpClient.get(`organizations/${organization_id}/workspaces/${workspace_id}/tasks/groups/users/by-project`, {
42965
43008
  signal,
42966
- searchParams: buildSearchParams$3({
43009
+ headers: { "X-Timeline-Fetch-Trigger": xTimelineFetchTrigger },
43010
+ searchParams: buildSearchParams$2({
42967
43011
  project_id,
42968
43012
  source,
42969
43013
  priority,
@@ -42995,10 +43039,11 @@ async function getUserTaskGroupsByProject(httpClient, organization_id, workspace
42995
43039
  })
42996
43040
  }).json();
42997
43041
  }
42998
- 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) {
43042
+ 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, xTimelineFetchTrigger } = {}, signal) {
42999
43043
  return await httpClient.get(`organizations/${organization_id}/workspaces/${workspace_id}/tasks/groups/users/by-team`, {
43000
43044
  signal,
43001
- searchParams: buildSearchParams$3({
43045
+ headers: { "X-Timeline-Fetch-Trigger": xTimelineFetchTrigger },
43046
+ searchParams: buildSearchParams$2({
43002
43047
  team_id,
43003
43048
  project_id,
43004
43049
  source,
@@ -43030,10 +43075,11 @@ async function getUserTaskGroupsByTeam(httpClient, organization_id, workspace_id
43030
43075
  })
43031
43076
  }).json();
43032
43077
  }
43033
- 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) {
43078
+ 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, xTimelineFetchTrigger } = {}, signal) {
43034
43079
  return await httpClient.get(`organizations/${organization_id}/workspaces/${workspace_id}/tasks/groups/${group}`, {
43035
43080
  signal,
43036
- searchParams: buildSearchParams$3({
43081
+ headers: { "X-Timeline-Fetch-Trigger": xTimelineFetchTrigger },
43082
+ searchParams: buildSearchParams$2({
43037
43083
  source,
43038
43084
  priority,
43039
43085
  status_id,
@@ -43104,7 +43150,7 @@ async function upsertTimeEntryConstraints(httpClient, workspace_id, data, signal
43104
43150
  async function getTimeEntryGroupsUsersClassic(httpClient, organization_id, workspace_id, { start_date, end_date, user_id, page, per_page, order_by }, signal) {
43105
43151
  return await httpClient.get(`organizations/${organization_id}/workspaces/${workspace_id}/time-entries/groups/users`, {
43106
43152
  signal,
43107
- searchParams: buildSearchParams$3({
43153
+ searchParams: buildSearchParams$2({
43108
43154
  start_date,
43109
43155
  end_date,
43110
43156
  user_id,
@@ -43119,7 +43165,7 @@ async function getTimeEntryGroupsUsersClassic(httpClient, organization_id, works
43119
43165
  async function getTimeoffsByUserIds(httpClient, organization_id, { user_id, start_date, end_date }, signal) {
43120
43166
  return await httpClient.get(`organizations/${organization_id}/timeoff`, {
43121
43167
  signal,
43122
- searchParams: buildSearchParams$3({
43168
+ searchParams: buildSearchParams$2({
43123
43169
  user_id,
43124
43170
  start_date,
43125
43171
  end_date
@@ -43129,7 +43175,7 @@ async function getTimeoffsByUserIds(httpClient, organization_id, { user_id, star
43129
43175
  async function getTimeoffForUser(httpClient, organization_id, user_id, { from, to }, signal) {
43130
43176
  return await httpClient.get(`organizations/${organization_id}/timeoff/users/${user_id}`, {
43131
43177
  signal,
43132
- searchParams: buildSearchParams$3({
43178
+ searchParams: buildSearchParams$2({
43133
43179
  from,
43134
43180
  to
43135
43181
  })
@@ -43158,7 +43204,7 @@ async function deleteTimeoffForUser(httpClient, organization_id, user_id, data,
43158
43204
  async function getTimesheetSetups(httpClient, organization_id, workspace_id, { include_discontinued, user_account_id, approver_user_account_id } = {}, signal) {
43159
43205
  return await httpClient.get(`organizations/${organization_id}/workspaces/${workspace_id}/timesheet-setups`, {
43160
43206
  signal,
43161
- searchParams: buildSearchParams$3({
43207
+ searchParams: buildSearchParams$2({
43162
43208
  include_discontinued,
43163
43209
  user_account_id,
43164
43210
  approver_user_account_id
@@ -43195,7 +43241,7 @@ async function discontinueTimesheetSetup(httpClient, organization_id, workspace_
43195
43241
  async function getTimesheetSetupMembers(httpClient, organization_id, workspace_id, setup_id, { include_discontinued } = {}, signal) {
43196
43242
  return await httpClient.get(`organizations/${organization_id}/workspaces/${workspace_id}/timesheet-setups/${setup_id}/members`, {
43197
43243
  signal,
43198
- searchParams: buildSearchParams$3({ include_discontinued })
43244
+ searchParams: buildSearchParams$2({ include_discontinued })
43199
43245
  }).json();
43200
43246
  }
43201
43247
  async function addTimesheetSetupMember(httpClient, organization_id, workspace_id, setup_id, user_account_id, signal) {
@@ -43218,7 +43264,7 @@ async function reactivateTimesheetSetupMember(httpClient, organization_id, works
43218
43264
  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) {
43219
43265
  return await httpClient.get(`organizations/${organization_id}/workspaces/${workspace_id}/timesheets`, {
43220
43266
  signal,
43221
- searchParams: buildSearchParams$3({
43267
+ searchParams: buildSearchParams$2({
43222
43268
  date_from,
43223
43269
  date_to,
43224
43270
  setup_id,
@@ -43622,6 +43668,7 @@ const generatedFocusOperations = [
43622
43668
  private_: /* @__PURE__ */ unknown$1(),
43623
43669
  start_date: /* @__PURE__ */ pipe$2(/* @__PURE__ */ string$1(), /* @__PURE__ */ isoDate$1()),
43624
43670
  task_source: /* @__PURE__ */ unknown$1(),
43671
+ team_id: /* @__PURE__ */ number$2(),
43625
43672
  unit: /* @__PURE__ */ unknown$1(),
43626
43673
  user_id: /* @__PURE__ */ number$2()
43627
43674
  }),
@@ -43930,6 +43977,7 @@ const generatedFocusOperations = [
43930
43977
  outbound_sync: /* @__PURE__ */ optional$1(/* @__PURE__ */ boolean$1())
43931
43978
  }))),
43932
43979
  time_entry: /* @__PURE__ */ optional$1(/* @__PURE__ */ looseObject({
43980
+ type: /* @__PURE__ */ picklist$1(["activity", "break"]),
43933
43981
  calendar_event_id: /* @__PURE__ */ optional$1(/* @__PURE__ */ number$2()),
43934
43982
  description: /* @__PURE__ */ optional$1(/* @__PURE__ */ string$1()),
43935
43983
  duration: /* @__PURE__ */ optional$1(/* @__PURE__ */ number$2()),
@@ -45545,9 +45593,17 @@ const generatedFocusOperations = [
45545
45593
  mcp: { entityTool: "projects" },
45546
45594
  inputSchema: /* @__PURE__ */ looseObject({
45547
45595
  payload: /* @__PURE__ */ looseObject({
45596
+ auto_compute_estimates: /* @__PURE__ */ optional$1(/* @__PURE__ */ boolean$1()),
45597
+ completion_mode: /* @__PURE__ */ optional$1(/* @__PURE__ */ picklist$1(["manual", "automatic"])),
45548
45598
  end_date: /* @__PURE__ */ optional$1(/* @__PURE__ */ pipe$2(/* @__PURE__ */ string$1(), /* @__PURE__ */ isoDate$1())),
45549
45599
  name: /* @__PURE__ */ optional$1(/* @__PURE__ */ string$1()),
45550
45600
  pinned: /* @__PURE__ */ optional$1(/* @__PURE__ */ boolean$1()),
45601
+ rollover_mode: /* @__PURE__ */ optional$1(/* @__PURE__ */ picklist$1([
45602
+ "expire",
45603
+ "carry_all",
45604
+ "carry_over"
45605
+ ])),
45606
+ rrule: /* @__PURE__ */ optional$1(/* @__PURE__ */ string$1()),
45551
45607
  start_date: /* @__PURE__ */ optional$1(/* @__PURE__ */ pipe$2(/* @__PURE__ */ string$1(), /* @__PURE__ */ isoDate$1()))
45552
45608
  }),
45553
45609
  project_id: /* @__PURE__ */ number$2()
@@ -46093,29 +46149,6 @@ const generatedFocusOperations = [
46093
46149
  ]));
46094
46150
  }
46095
46151
  },
46096
- {
46097
- id: "focus.projects.margin-targets-clear-workspace",
46098
- family: "focus",
46099
- resource: "projects",
46100
- action: "margin-targets-clear-workspace",
46101
- title: "Margin Targets Clear Workspace Projects",
46102
- description: "Margin Targets Clear Workspace Projects.",
46103
- safety: "delete",
46104
- destructive: true,
46105
- cli: {
46106
- group: ["projects", "margin-targets"],
46107
- command: "clear-workspace",
46108
- interactive: "default"
46109
- },
46110
- mcp: { entityTool: "projects" },
46111
- inputSchema: /* @__PURE__ */ looseObject({}),
46112
- execute: (_input, { client }) => client.runGeneratedRequest("clearWorkspaceProjectMarginTarget", () => callGeneratedRequest(clearWorkspaceProjectMarginTarget, [
46113
- client.httpClient,
46114
- client.organizationId,
46115
- client.workspaceIdNumber,
46116
- void 0
46117
- ]))
46118
- },
46119
46152
  {
46120
46153
  id: "focus.projects.margin-targets-get",
46121
46154
  family: "focus",
@@ -48516,8 +48549,15 @@ const generatedFocusOperations = [
48516
48549
  inputSchema: /* @__PURE__ */ looseObject({
48517
48550
  id: /* @__PURE__ */ unknown$1(),
48518
48551
  payload: /* @__PURE__ */ looseObject({
48552
+ cadence: /* @__PURE__ */ picklist$1([
48553
+ "daily",
48554
+ "weekly",
48555
+ "monthly"
48556
+ ]),
48557
+ charts: /* @__PURE__ */ unknown$1(),
48519
48558
  time: /* @__PURE__ */ string$1(),
48520
48559
  day: /* @__PURE__ */ optional$1(/* @__PURE__ */ number$2()),
48560
+ period: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
48521
48561
  recipient_team_ids: /* @__PURE__ */ optional$1(/* @__PURE__ */ array$1(/* @__PURE__ */ number$2())),
48522
48562
  recipient_user_ids: /* @__PURE__ */ optional$1(/* @__PURE__ */ array$1(/* @__PURE__ */ number$2())),
48523
48563
  recipient_workspace_ids: /* @__PURE__ */ optional$1(/* @__PURE__ */ array$1(/* @__PURE__ */ number$2()))
@@ -48552,6 +48592,11 @@ const generatedFocusOperations = [
48552
48592
  inputSchema: /* @__PURE__ */ looseObject({
48553
48593
  id: /* @__PURE__ */ unknown$1(),
48554
48594
  payload: /* @__PURE__ */ looseObject({
48595
+ cadence: /* @__PURE__ */ picklist$1([
48596
+ "daily",
48597
+ "weekly",
48598
+ "monthly"
48599
+ ]),
48555
48600
  time: /* @__PURE__ */ string$1(),
48556
48601
  day: /* @__PURE__ */ optional$1(/* @__PURE__ */ number$2()),
48557
48602
  recipient_team_ids: /* @__PURE__ */ optional$1(/* @__PURE__ */ array$1(/* @__PURE__ */ number$2())),
@@ -50019,12 +50064,16 @@ const generatedFocusOperations = [
50019
50064
  cli: {
50020
50065
  group: ["tasks", "constraints"],
50021
50066
  command: "upsert",
50022
- interactive: "hidden"
50067
+ interactive: "default"
50023
50068
  },
50024
50069
  mcp: { entityTool: "tasks" },
50025
50070
  inputSchema: /* @__PURE__ */ looseObject({ payload: /* @__PURE__ */ looseObject({
50026
50071
  enabled: /* @__PURE__ */ boolean$1(),
50027
- required_fields: /* @__PURE__ */ array$1(/* @__PURE__ */ unknown$1())
50072
+ required_fields: /* @__PURE__ */ array$1(/* @__PURE__ */ looseObject({ kind: /* @__PURE__ */ picklist$1([
50073
+ "project",
50074
+ "description",
50075
+ "tags"
50076
+ ]) }))
50028
50077
  }) }),
50029
50078
  execute: (input, { client }) => {
50030
50079
  const data = input;
@@ -50519,7 +50568,8 @@ const generatedFocusOperations = [
50519
50568
  tag_id: /* @__PURE__ */ optional$1(tagIdFilterSchema),
50520
50569
  team_id: /* @__PURE__ */ optional$1(/* @__PURE__ */ number$2()),
50521
50570
  user_cf_filter: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
50522
- user_tag_id: /* @__PURE__ */ optional$1(/* @__PURE__ */ number$2())
50571
+ user_tag_id: /* @__PURE__ */ optional$1(/* @__PURE__ */ number$2()),
50572
+ xTimelineFetchTrigger: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1())
50523
50573
  }),
50524
50574
  execute: (input, { client }) => {
50525
50575
  const data = input;
@@ -50576,7 +50626,8 @@ const generatedFocusOperations = [
50576
50626
  tag_id: /* @__PURE__ */ number$2(),
50577
50627
  team_id: /* @__PURE__ */ number$2(),
50578
50628
  user_cf_filter: /* @__PURE__ */ unknown$1(),
50579
- user_tag_id: /* @__PURE__ */ number$2()
50629
+ user_tag_id: /* @__PURE__ */ number$2(),
50630
+ xTimelineFetchTrigger: /* @__PURE__ */ unknown$1()
50580
50631
  }),
50581
50632
  execute: (input, { client }) => {
50582
50633
  const data = input;
@@ -50632,7 +50683,8 @@ const generatedFocusOperations = [
50632
50683
  tag_id: /* @__PURE__ */ optional$1(/* @__PURE__ */ number$2()),
50633
50684
  team_id: /* @__PURE__ */ optional$1(/* @__PURE__ */ number$2()),
50634
50685
  user_cf_filter: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
50635
- user_tag_id: /* @__PURE__ */ optional$1(/* @__PURE__ */ number$2())
50686
+ user_tag_id: /* @__PURE__ */ optional$1(/* @__PURE__ */ number$2()),
50687
+ xTimelineFetchTrigger: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1())
50636
50688
  }),
50637
50689
  execute: (input, { client }) => {
50638
50690
  const data = input;
@@ -50899,7 +50951,8 @@ const generatedFocusOperations = [
50899
50951
  mcp: { entityTool: "tasks" },
50900
50952
  inputSchema: /* @__PURE__ */ looseObject({
50901
50953
  date_from: /* @__PURE__ */ unknown$1(),
50902
- date_to: /* @__PURE__ */ unknown$1()
50954
+ date_to: /* @__PURE__ */ unknown$1(),
50955
+ skip_provider_refresh: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1())
50903
50956
  }),
50904
50957
  execute: (input, { client }) => {
50905
50958
  const data = input;
@@ -50909,6 +50962,7 @@ const generatedFocusOperations = [
50909
50962
  client.workspaceIdNumber,
50910
50963
  data.date_from,
50911
50964
  data.date_to,
50965
+ data.skip_provider_refresh,
50912
50966
  void 0
50913
50967
  ]));
50914
50968
  }
@@ -51487,12 +51541,17 @@ const generatedFocusOperations = [
51487
51541
  cli: {
51488
51542
  group: ["time-entries", "constraints"],
51489
51543
  command: "upsert",
51490
- interactive: "hidden"
51544
+ interactive: "default"
51491
51545
  },
51492
51546
  mcp: { entityTool: "time-entries" },
51493
51547
  inputSchema: /* @__PURE__ */ looseObject({ payload: /* @__PURE__ */ looseObject({
51494
51548
  enabled: /* @__PURE__ */ boolean$1(),
51495
- required_fields: /* @__PURE__ */ array$1(/* @__PURE__ */ unknown$1()),
51549
+ required_fields: /* @__PURE__ */ array$1(/* @__PURE__ */ looseObject({ kind: /* @__PURE__ */ picklist$1([
51550
+ "project",
51551
+ "task",
51552
+ "description",
51553
+ "tags"
51554
+ ]) })),
51496
51555
  disallow_billable_override: /* @__PURE__ */ optional$1(/* @__PURE__ */ boolean$1())
51497
51556
  }) }),
51498
51557
  execute: (input, { client }) => {
@@ -51522,6 +51581,7 @@ const generatedFocusOperations = [
51522
51581
  mcp: { entityTool: "time-entries" },
51523
51582
  inputSchema: /* @__PURE__ */ looseObject({
51524
51583
  payload: /* @__PURE__ */ looseObject({
51584
+ type: /* @__PURE__ */ optional$1(/* @__PURE__ */ picklist$1(["activity", "break"]), "activity"),
51525
51585
  billable: /* @__PURE__ */ optional$1(/* @__PURE__ */ boolean$1()),
51526
51586
  calendar_event_id: /* @__PURE__ */ optional$1(/* @__PURE__ */ number$2()),
51527
51587
  description: /* @__PURE__ */ optional$1(/* @__PURE__ */ string$1()),
@@ -51565,6 +51625,7 @@ const generatedFocusOperations = [
51565
51625
  },
51566
51626
  mcp: { entityTool: "time-entries" },
51567
51627
  inputSchema: /* @__PURE__ */ looseObject({ payload: /* @__PURE__ */ looseObject({
51628
+ type: /* @__PURE__ */ optional$1(/* @__PURE__ */ picklist$1(["activity", "break"]), "activity"),
51568
51629
  billable: /* @__PURE__ */ optional$1(/* @__PURE__ */ boolean$1()),
51569
51630
  calendar_event_id: /* @__PURE__ */ optional$1(/* @__PURE__ */ number$2()),
51570
51631
  description: /* @__PURE__ */ optional$1(/* @__PURE__ */ string$1()),
@@ -52007,7 +52068,9 @@ const generatedFocusOperations = [
52007
52068
  inputSchema: /* @__PURE__ */ looseObject({
52008
52069
  client_uuid: /* @__PURE__ */ unknown$1(),
52009
52070
  payload: /* @__PURE__ */ looseObject({
52071
+ billable_source: /* @__PURE__ */ picklist$1(["manual", "task_default"]),
52010
52072
  client_updated_at: apiDateTimeString,
52073
+ type: /* @__PURE__ */ picklist$1(["activity", "break"]),
52011
52074
  billable: /* @__PURE__ */ optional$1(/* @__PURE__ */ boolean$1())
52012
52075
  })
52013
52076
  }),
@@ -52064,6 +52127,7 @@ const generatedFocusOperations = [
52064
52127
  inputSchema: /* @__PURE__ */ looseObject({ payload: /* @__PURE__ */ looseObject({
52065
52128
  extension_source: /* @__PURE__ */ string$1(),
52066
52129
  name: /* @__PURE__ */ string$1(),
52130
+ type: /* @__PURE__ */ picklist$1(["activity", "break"]),
52067
52131
  billable: /* @__PURE__ */ optional$1(/* @__PURE__ */ boolean$1()),
52068
52132
  create_project_if_not_found: /* @__PURE__ */ optional$1(/* @__PURE__ */ boolean$1()),
52069
52133
  create_tags_if_not_found: /* @__PURE__ */ optional$1(/* @__PURE__ */ boolean$1()),
@@ -52140,6 +52204,7 @@ const generatedFocusOperations = [
52140
52204
  mcp: { entityTool: "time-entries" },
52141
52205
  inputSchema: /* @__PURE__ */ looseObject({
52142
52206
  payload: /* @__PURE__ */ looseObject({
52207
+ type: /* @__PURE__ */ picklist$1(["activity", "break"]),
52143
52208
  calendar_event_id: /* @__PURE__ */ optional$1(/* @__PURE__ */ number$2()),
52144
52209
  description: /* @__PURE__ */ optional$1(/* @__PURE__ */ string$1()),
52145
52210
  duration: /* @__PURE__ */ optional$1(/* @__PURE__ */ number$2()),
@@ -52824,6 +52889,11 @@ const generatedFocusOperations = [
52824
52889
  user_account_ids: /* @__PURE__ */ array$1(/* @__PURE__ */ number$2())
52825
52890
  })),
52826
52891
  member_user_account_ids: /* @__PURE__ */ array$1(/* @__PURE__ */ number$2()),
52892
+ periodicity: /* @__PURE__ */ picklist$1([
52893
+ "weekly",
52894
+ "monthly",
52895
+ "days"
52896
+ ]),
52827
52897
  start_date: /* @__PURE__ */ pipe$2(/* @__PURE__ */ string$1(), /* @__PURE__ */ isoDate$1()),
52828
52898
  email_reminder_enabled: /* @__PURE__ */ optional$1(/* @__PURE__ */ boolean$1()),
52829
52899
  period_days: /* @__PURE__ */ optional$1(/* @__PURE__ */ number$2()),
@@ -54847,7 +54917,7 @@ function registerWorkspaceTools(server) {
54847
54917
  //#region src/package-version.ts
54848
54918
  function mcpPackageVersion() {
54849
54919
  try {
54850
- return "1.9.0";
54920
+ return "1.10.0";
54851
54921
  } catch {
54852
54922
  return "unknown";
54853
54923
  }
@@ -55022,7 +55092,7 @@ import_main.default.config({
55022
55092
  quiet: true,
55023
55093
  ignore: ["MISSING_ENV_FILE"]
55024
55094
  });
55025
- const packageVersion = "1.9.0";
55095
+ const packageVersion = "1.10.0";
55026
55096
  function resolvePublicUrls() {
55027
55097
  return {
55028
55098
  focusApiUrl: process.env.TOGGL_FOCUS_API_URL ?? "https://focus.toggl.com",
@@ -55087,4 +55157,4 @@ function bootstrapServer(options = {}) {
55087
55157
  //#endregion
55088
55158
  export { initProductAnalytics as a, shutdownProductAnalytics as c, getProductAnalyticsDistinctId as i, runMcpCli as n, redactUnsafeSentryMessages as o, captureToolInvocation as r, resolveProductAnalyticsDistinctId as s, bootstrapServer as t };
55089
55159
 
55090
- //# sourceMappingURL=src-BPDrK4ao.js.map
55160
+ //# sourceMappingURL=src-DKb3gN0f.js.map