@togglhq/mcp 1.11.27 → 1.11.29

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/build/cli.js CHANGED
@@ -1,5 +1,5 @@
1
1
  #!/usr/bin/env node
2
- import { a as initProductAnalytics, c as shutdownProductAnalytics, i as getProductAnalyticsDistinctId, n as runMcpCli, o as redactUnsafeSentryMessages, r as captureToolInvocation, s as resolveProductAnalyticsDistinctId } from "./src-CuXxZWE_.js";
2
+ import { a as initProductAnalytics, c as shutdownProductAnalytics, i as getProductAnalyticsDistinctId, n as runMcpCli, o as redactUnsafeSentryMessages, r as captureToolInvocation, s as resolveProductAnalyticsDistinctId } from "./src-CqyetBcp.js";
3
3
  import * as Sentry from "@sentry/node";
4
4
  //#region src/analytics-tool-metadata.ts
5
5
  /**
@@ -165,7 +165,7 @@ function wrapServerWithProductAnalytics(server) {
165
165
  }
166
166
  //#endregion
167
167
  //#region src/cli.ts
168
- const packageVersion = "1.11.27";
168
+ const packageVersion = "1.11.29";
169
169
  let sentryEnabled = false;
170
170
  let productAnalyticsEnabled = false;
171
171
  runMcpCli({
package/build/index.js CHANGED
@@ -1,3 +1,3 @@
1
1
  #!/usr/bin/env node
2
- import { n as runMcpCli, t as bootstrapServer } from "./src-CuXxZWE_.js";
2
+ import { n as runMcpCli, t as bootstrapServer } from "./src-CqyetBcp.js";
3
3
  export { bootstrapServer, runMcpCli };
@@ -36552,6 +36552,7 @@ const TaskSchema = /* @__PURE__ */ object({
36552
36552
  description: /* @__PURE__ */ optional(/* @__PURE__ */ string()),
36553
36553
  end_date: /* @__PURE__ */ optional(/* @__PURE__ */ pipe(/* @__PURE__ */ string(), /* @__PURE__ */ isoDate())),
36554
36554
  estimated_mins: /* @__PURE__ */ optional(/* @__PURE__ */ number()),
36555
+ is_recurring_series: /* @__PURE__ */ optional(/* @__PURE__ */ pipe(/* @__PURE__ */ boolean(), /* @__PURE__ */ description("IsRecurringSeries marks a canonical series root (S). Server-owned and read-only: no current API path can set it, and the response only exposes the marker while series behavior stays disabled."))),
36555
36556
  metadata: /* @__PURE__ */ optional(TaskMetadataSchema),
36556
36557
  notes: /* @__PURE__ */ optional(/* @__PURE__ */ string()),
36557
36558
  parent_task_id: /* @__PURE__ */ optional(/* @__PURE__ */ number()),
@@ -36613,6 +36614,7 @@ const TaskWithParentAndAggregationsSchema = /* @__PURE__ */ object({
36613
36614
  description: /* @__PURE__ */ optional(/* @__PURE__ */ string()),
36614
36615
  end_date: /* @__PURE__ */ optional(/* @__PURE__ */ pipe(/* @__PURE__ */ string(), /* @__PURE__ */ isoDate())),
36615
36616
  estimated_mins: /* @__PURE__ */ optional(/* @__PURE__ */ number()),
36617
+ is_recurring_series: /* @__PURE__ */ optional(/* @__PURE__ */ pipe(/* @__PURE__ */ boolean(), /* @__PURE__ */ description("IsRecurringSeries marks a canonical series root (S). Server-owned and read-only: no current API path can set it, and the response only exposes the marker while series behavior stays disabled."))),
36616
36618
  metadata: /* @__PURE__ */ optional(TaskMetadataSchema),
36617
36619
  notes: /* @__PURE__ */ optional(/* @__PURE__ */ string()),
36618
36620
  parent: /* @__PURE__ */ optional(TaskSchema),
@@ -36795,6 +36797,8 @@ const TimeEntrySchema = /* @__PURE__ */ object({
36795
36797
  deleted_at: /* @__PURE__ */ optional(/* @__PURE__ */ pipe(/* @__PURE__ */ string(), /* @__PURE__ */ isoDateTime())),
36796
36798
  description: /* @__PURE__ */ optional(/* @__PURE__ */ string()),
36797
36799
  duration: /* @__PURE__ */ optional(/* @__PURE__ */ number()),
36800
+ pattern_generated: /* @__PURE__ */ optional(/* @__PURE__ */ pipe(/* @__PURE__ */ boolean(), /* @__PURE__ */ description("PatternGenerated is the response-facing derivative of GeneratedByTaskID: true when the entry was materialized by a series pattern."))),
36801
+ pattern_managed: /* @__PURE__ */ optional(/* @__PURE__ */ pipe(/* @__PURE__ */ boolean(), /* @__PURE__ */ description("PatternManaged reports that the pattern engine owns this entry. Server-owned; present in responses, never bindable from a payload."))),
36798
36802
  planned_at: /* @__PURE__ */ optional(/* @__PURE__ */ pipe(/* @__PURE__ */ string(), /* @__PURE__ */ isoDateTime())),
36799
36803
  planned_duration: /* @__PURE__ */ optional(/* @__PURE__ */ number()),
36800
36804
  planned_start: /* @__PURE__ */ optional(/* @__PURE__ */ pipe(/* @__PURE__ */ string(), /* @__PURE__ */ isoDateTime())),
@@ -36880,6 +36884,7 @@ const ProjectWithAggregationsSchema = /* @__PURE__ */ object({
36880
36884
  description: /* @__PURE__ */ optional(/* @__PURE__ */ string()),
36881
36885
  end_date: /* @__PURE__ */ optional(/* @__PURE__ */ pipe(/* @__PURE__ */ string(), /* @__PURE__ */ isoDate())),
36882
36886
  estimated_mins: /* @__PURE__ */ optional(/* @__PURE__ */ number()),
36887
+ filtered_task_count: /* @__PURE__ */ optional(/* @__PURE__ */ number()),
36883
36888
  fixed_fee: /* @__PURE__ */ optional(ProjectFixedFeeSchema),
36884
36889
  parent_project_id: /* @__PURE__ */ optional(/* @__PURE__ */ number()),
36885
36890
  rate: /* @__PURE__ */ optional(EffectiveProjectRatesSummarySchema),
@@ -36959,6 +36964,8 @@ const PaginatedTimeEntryWithTasksSchema = /* @__PURE__ */ object({
36959
36964
  deleted_at: /* @__PURE__ */ optional(/* @__PURE__ */ pipe(/* @__PURE__ */ string(), /* @__PURE__ */ isoDateTime())),
36960
36965
  description: /* @__PURE__ */ optional(/* @__PURE__ */ string()),
36961
36966
  duration: /* @__PURE__ */ optional(/* @__PURE__ */ number()),
36967
+ pattern_generated: /* @__PURE__ */ optional(/* @__PURE__ */ pipe(/* @__PURE__ */ boolean(), /* @__PURE__ */ description("PatternGenerated is the response-facing derivative of GeneratedByTaskID: true when the entry was materialized by a series pattern."))),
36968
+ pattern_managed: /* @__PURE__ */ optional(/* @__PURE__ */ pipe(/* @__PURE__ */ boolean(), /* @__PURE__ */ description("PatternManaged reports that the pattern engine owns this entry. Server-owned; present in responses, never bindable from a payload."))),
36962
36969
  planned_at: /* @__PURE__ */ optional(/* @__PURE__ */ pipe(/* @__PURE__ */ string(), /* @__PURE__ */ isoDateTime())),
36963
36970
  planned_duration: /* @__PURE__ */ optional(/* @__PURE__ */ number()),
36964
36971
  planned_start: /* @__PURE__ */ optional(/* @__PURE__ */ pipe(/* @__PURE__ */ string(), /* @__PURE__ */ isoDateTime())),
@@ -37189,6 +37196,7 @@ const TaskPartialUpdatePayloadSchema = /* @__PURE__ */ object({
37189
37196
  private: /* @__PURE__ */ optional(/* @__PURE__ */ boolean()),
37190
37197
  project_id: /* @__PURE__ */ optional(/* @__PURE__ */ nullable(/* @__PURE__ */ number())),
37191
37198
  recurring_task_id: /* @__PURE__ */ optional(/* @__PURE__ */ nullable(/* @__PURE__ */ number())),
37199
+ repeat_planned_time_entry_id: /* @__PURE__ */ optional(/* @__PURE__ */ pipe(/* @__PURE__ */ nullable(/* @__PURE__ */ number()), /* @__PURE__ */ description("RepeatPlannedTimeEntryID is the declared initial-selection input that will start a series from an existing planned entry (PR 11). Any supplied value — an ID or JSON null — is rejected until then; the contract is declared in docs/recurring-pr2a-additive-schema.md. json.RawMessage keeps absent distinguishable from explicit null on decode and is omitted on marshal when never set."))),
37192
37200
  rollup_enabled: /* @__PURE__ */ optional(/* @__PURE__ */ boolean()),
37193
37201
  rrule: /* @__PURE__ */ optional(/* @__PURE__ */ nullable(/* @__PURE__ */ string())),
37194
37202
  start_date: /* @__PURE__ */ optional(/* @__PURE__ */ nullable(/* @__PURE__ */ pipe(/* @__PURE__ */ string(), /* @__PURE__ */ isoDate()))),
@@ -37225,6 +37233,7 @@ const TaskPartialUpdatePayloadWithIDSchema = /* @__PURE__ */ object({
37225
37233
  private: /* @__PURE__ */ optional(/* @__PURE__ */ boolean()),
37226
37234
  project_id: /* @__PURE__ */ optional(/* @__PURE__ */ nullable(/* @__PURE__ */ number())),
37227
37235
  recurring_task_id: /* @__PURE__ */ optional(/* @__PURE__ */ nullable(/* @__PURE__ */ number())),
37236
+ repeat_planned_time_entry_id: /* @__PURE__ */ optional(/* @__PURE__ */ pipe(/* @__PURE__ */ nullable(/* @__PURE__ */ number()), /* @__PURE__ */ description("RepeatPlannedTimeEntryID is the declared initial-selection input that will start a series from an existing planned entry (PR 11). Any supplied value — an ID or JSON null — is rejected until then; the contract is declared in docs/recurring-pr2a-additive-schema.md. json.RawMessage keeps absent distinguishable from explicit null on decode and is omitted on marshal when never set."))),
37228
37237
  rollup_enabled: /* @__PURE__ */ optional(/* @__PURE__ */ boolean()),
37229
37238
  rrule: /* @__PURE__ */ optional(/* @__PURE__ */ nullable(/* @__PURE__ */ string())),
37230
37239
  start_date: /* @__PURE__ */ optional(/* @__PURE__ */ nullable(/* @__PURE__ */ pipe(/* @__PURE__ */ string(), /* @__PURE__ */ isoDate()))),
@@ -37510,10 +37519,18 @@ async function unarchiveTag(httpClient, workspace_id, tag_id, signal) {
37510
37519
  }
37511
37520
  //#endregion
37512
37521
  //#region ../focus-queries/dist/projects/requests.ts
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) {
37522
+ async function getProjectsClassic(httpClient, organization_id, workspace_id, { include_task_counts, task_archived, task_recurring, task_state, task_source, task_assignee_user_id, task_assignee_team_id, task_name, 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) {
37514
37523
  return await httpClient.get(`organizations/${organization_id}/workspaces/${workspace_id}/projects`, {
37515
37524
  signal,
37516
37525
  searchParams: buildSearchParams$2({
37526
+ include_task_counts,
37527
+ task_archived,
37528
+ task_recurring,
37529
+ task_state,
37530
+ task_source,
37531
+ task_assignee_user_id,
37532
+ task_assignee_team_id,
37533
+ task_name,
37517
37534
  page,
37518
37535
  per_page,
37519
37536
  order_by,
@@ -37763,7 +37780,7 @@ async function restoreStatuses(httpClient, workspace_id, status_id, signal) {
37763
37780
  }
37764
37781
  //#endregion
37765
37782
  //#region ../focus-queries/dist/tasks/requests.ts
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) {
37783
+ 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, recurring_occurrences_after, max_recurring_occurrences_after, recurring_task_read, include_projected_occurrences } = {}, signal) {
37767
37784
  return await httpClient.get(`organizations/${organization_id}/workspaces/${workspace_id}/tasks`, {
37768
37785
  signal,
37769
37786
  searchParams: buildSearchParams$2({
@@ -37814,7 +37831,11 @@ async function getTasksClassic(httpClient, organization_id, workspace_id, { page
37814
37831
  include_assignees,
37815
37832
  include_parent_matches,
37816
37833
  disable_aggregations,
37817
- cf_filter
37834
+ cf_filter,
37835
+ recurring_occurrences_after,
37836
+ max_recurring_occurrences_after,
37837
+ recurring_task_read,
37838
+ include_projected_occurrences
37818
37839
  })
37819
37840
  }).json();
37820
37841
  }
@@ -37889,16 +37910,17 @@ async function getTasksCalendarEvents(httpClient, organization_id, workspace_id,
37889
37910
  })
37890
37911
  }).json();
37891
37912
  }
37892
- async function putTasksCalendarRange(httpClient, organization_id, workspace_id, date_from, date_to, signal) {
37913
+ async function putTasksCalendarRange(httpClient, organization_id, workspace_id, date_from, date_to, skip_provider_refresh, signal) {
37893
37914
  return await httpClient.put(`organizations/${organization_id}/workspaces/${workspace_id}/tasks/calendar`, {
37894
37915
  signal,
37895
37916
  searchParams: buildSearchParams$2({
37896
37917
  date_from,
37897
- date_to
37918
+ date_to,
37919
+ skip_provider_refresh
37898
37920
  })
37899
37921
  }).json();
37900
37922
  }
37901
- 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) {
37923
+ 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, recurring_occurrences_after, max_recurring_occurrences_after, recurring_task_read, include_projected_occurrences } = {}, signal) {
37902
37924
  return await httpClient.get(`organizations/${organization_id}/workspaces/${workspace_id}/tasks/recurring`, {
37903
37925
  signal,
37904
37926
  searchParams: buildSearchParams$2({
@@ -37914,11 +37936,15 @@ async function getTasksRecurringInstancesClassic(httpClient, organization_id, wo
37914
37936
  assignee_team_id,
37915
37937
  assignee_user_id,
37916
37938
  tag_id,
37917
- include_assignees
37939
+ include_assignees,
37940
+ recurring_occurrences_after,
37941
+ max_recurring_occurrences_after,
37942
+ recurring_task_read,
37943
+ include_projected_occurrences
37918
37944
  })
37919
37945
  }).json();
37920
37946
  }
37921
- 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) {
37947
+ 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, recurring_occurrences_after, max_recurring_occurrences_after, recurring_task_read, include_projected_occurrences } = {}, signal) {
37922
37948
  return await httpClient.get(`organizations/${organization_id}/workspaces/${workspace_id}/tasks/stream`, {
37923
37949
  signal,
37924
37950
  searchParams: buildSearchParams$2({
@@ -37963,7 +37989,11 @@ async function getStreamTasks(httpClient, organization_id, workspace_id, { with_
37963
37989
  recurring_task_ids,
37964
37990
  client_id,
37965
37991
  include_assignees,
37966
- cf_filter
37992
+ cf_filter,
37993
+ recurring_occurrences_after,
37994
+ max_recurring_occurrences_after,
37995
+ recurring_task_read,
37996
+ include_projected_occurrences
37967
37997
  })
37968
37998
  }).json();
37969
37999
  }
@@ -38018,6 +38048,12 @@ async function getTaskWithChildrenClassic(httpClient, organization_id, workspace
38018
38048
  })
38019
38049
  }).json();
38020
38050
  }
38051
+ async function createRecurringOccurrence(httpClient, organization_id, workspace_id, task_id, return_occurrence, signal) {
38052
+ return await httpClient.post(`organizations/${organization_id}/workspaces/${workspace_id}/tasks/${task_id}/occurrences`, {
38053
+ signal,
38054
+ searchParams: buildSearchParams$2({ return_occurrence })
38055
+ }).json();
38056
+ }
38021
38057
  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) {
38022
38058
  return await httpClient.get(`organizations/${organization_id}/workspaces/${workspace_id}/tasks/${task_id}/parents`, {
38023
38059
  signal,
@@ -38154,16 +38190,24 @@ async function getTaskTimeEntriesWithOrgClassic(httpClient, organization_id, wor
38154
38190
  })
38155
38191
  }).json();
38156
38192
  }
38157
- async function createTimeEntryWithOrg(httpClient, organization_id, workspace_id, task_id, data, signal) {
38193
+ async function createTimeEntryWithOrg(httpClient, organization_id, workspace_id, task_id, data, from_recurring_task_id, return_occurrence, signal) {
38158
38194
  return await httpClient.post(`organizations/${organization_id}/workspaces/${workspace_id}/tasks/${task_id}/time-entries`, {
38159
38195
  signal,
38160
- json: data
38196
+ json: data,
38197
+ searchParams: buildSearchParams$2({
38198
+ from_recurring_task_id,
38199
+ return_occurrence
38200
+ })
38161
38201
  }).json();
38162
38202
  }
38163
- async function createTasklessTimeEntryWithOrg(httpClient, organization_id, workspace_id, data, signal) {
38203
+ async function createTasklessTimeEntryWithOrg(httpClient, organization_id, workspace_id, data, from_recurring_task_id, return_occurrence, signal) {
38164
38204
  return await httpClient.post(`organizations/${organization_id}/workspaces/${workspace_id}/time-entries`, {
38165
38205
  signal,
38166
- json: data
38206
+ json: data,
38207
+ searchParams: buildSearchParams$2({
38208
+ from_recurring_task_id,
38209
+ return_occurrence
38210
+ })
38167
38211
  }).json();
38168
38212
  }
38169
38213
  async function getBatchTimeEntriesWithOrg(httpClient, organization_id, workspace_id, { ids }, signal) {
@@ -38214,7 +38258,7 @@ async function bulkSetDayDurationWithOrg(httpClient, organization_id, workspace_
38214
38258
  json: data
38215
38259
  }).json();
38216
38260
  }
38217
- async function getStreamTimeEntriesRangeWithOrg(httpClient, organization_id, workspace_id, { date_from, date_to, task_id, status_id, type, order_by, archived, include_taskless, expand_calendar_event }, signal) {
38261
+ 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) {
38218
38262
  return await httpClient.get(`organizations/${organization_id}/workspaces/${workspace_id}/time-entries/stream`, {
38219
38263
  signal,
38220
38264
  searchParams: buildSearchParams$2({
@@ -38222,6 +38266,7 @@ async function getStreamTimeEntriesRangeWithOrg(httpClient, organization_id, wor
38222
38266
  date_to,
38223
38267
  task_id,
38224
38268
  status_id,
38269
+ project_id,
38225
38270
  type,
38226
38271
  order_by,
38227
38272
  archived,
@@ -38245,19 +38290,33 @@ async function getStreamTimeEntriesTimeBlockIdsWithOrg(httpClient, organization_
38245
38290
  async function getTimeEntryWithOrg(httpClient, organization_id, workspace_id, time_entry_id, signal) {
38246
38291
  return await httpClient.get(`organizations/${organization_id}/workspaces/${workspace_id}/time-entries/${time_entry_id}`, { signal }).json();
38247
38292
  }
38248
- async function updateTimeEntryWithOrg(httpClient, organization_id, workspace_id, time_entry_id, data, signal) {
38293
+ async function updateTimeEntryWithOrg(httpClient, organization_id, workspace_id, time_entry_id, data, from_recurring_task_id, return_occurrence, signal) {
38249
38294
  return await httpClient.put(`organizations/${organization_id}/workspaces/${workspace_id}/time-entries/${time_entry_id}`, {
38250
38295
  signal,
38251
- json: data
38296
+ json: data,
38297
+ searchParams: buildSearchParams$2({
38298
+ from_recurring_task_id,
38299
+ return_occurrence
38300
+ })
38252
38301
  }).json();
38253
38302
  }
38254
- async function deleteTimeEntryWithOrg(httpClient, organization_id, workspace_id, time_entry_id, signal) {
38255
- return await httpClient.delete(`organizations/${organization_id}/workspaces/${workspace_id}/time-entries/${time_entry_id}`, { signal }).json();
38303
+ async function deleteTimeEntryWithOrg(httpClient, organization_id, workspace_id, time_entry_id, from_recurring_task_id, return_occurrence, signal) {
38304
+ return await httpClient.delete(`organizations/${organization_id}/workspaces/${workspace_id}/time-entries/${time_entry_id}`, {
38305
+ signal,
38306
+ searchParams: buildSearchParams$2({
38307
+ from_recurring_task_id,
38308
+ return_occurrence
38309
+ })
38310
+ }).json();
38256
38311
  }
38257
- async function partialUpdateTimeEntryWithOrg(httpClient, organization_id, workspace_id, time_entry_id, data, signal) {
38312
+ async function partialUpdateTimeEntryWithOrg(httpClient, organization_id, workspace_id, time_entry_id, data, from_recurring_task_id, return_occurrence, signal) {
38258
38313
  return await httpClient.patch(`organizations/${organization_id}/workspaces/${workspace_id}/time-entries/${time_entry_id}`, {
38259
38314
  signal,
38260
- json: data
38315
+ json: data,
38316
+ searchParams: buildSearchParams$2({
38317
+ from_recurring_task_id,
38318
+ return_occurrence
38319
+ })
38261
38320
  }).json();
38262
38321
  }
38263
38322
  async function archiveTimeEntryWithOrg(httpClient, organization_id, workspace_id, time_entry_id, signal) {
@@ -38372,7 +38431,7 @@ const PublicMeEntryRequestSchema = /* @__PURE__ */ object$2({
38372
38431
  ]))
38373
38432
  });
38374
38433
  //#endregion
38375
- //#region ../../node_modules/.pnpm/@toggl+queries@2.2.39_@tanstack+react-query@5.99.0_react@19.2.5__@toggl+sync@0.2.4_reac_60e9ea7b26106374bb9319309dc72bc8/node_modules/@toggl/queries/dist/org/invitation/requests.mjs
38434
+ //#region ../../node_modules/.pnpm/@toggl+queries@2.2.40_@tanstack+react-query@5.99.0_react@19.2.5__@toggl+sync@0.2.4_reac_808568d6d7f6bd297a549bede60d08d3/node_modules/@toggl/queries/dist/org/invitation/requests.mjs
38376
38435
  async function getInvitations(httpClient, signal) {
38377
38436
  return (await httpClient.get(`invitations`, { signal })).json();
38378
38437
  }
@@ -38389,7 +38448,7 @@ async function resendInvitation(httpClient, organization_id, organization_user_i
38389
38448
  return (await httpClient.post(`organizations/${organization_id}/invitations/${organization_user_id}/resend`, { signal })).json();
38390
38449
  }
38391
38450
  //#endregion
38392
- //#region ../../node_modules/.pnpm/@toggl+queries@2.2.39_@tanstack+react-query@5.99.0_react@19.2.5__@toggl+sync@0.2.4_reac_60e9ea7b26106374bb9319309dc72bc8/node_modules/@toggl/queries/dist/org/utils/requests.mjs
38451
+ //#region ../../node_modules/.pnpm/@toggl+queries@2.2.40_@tanstack+react-query@5.99.0_react@19.2.5__@toggl+sync@0.2.4_reac_808568d6d7f6bd297a549bede60d08d3/node_modules/@toggl/queries/dist/org/utils/requests.mjs
38393
38452
  function buildSearchParams(params, flattenArrays = false) {
38394
38453
  const searchParams = new URLSearchParams();
38395
38454
  Object.entries(params).forEach(([key, value]) => {
@@ -38401,7 +38460,7 @@ function buildSearchParams(params, flattenArrays = false) {
38401
38460
  return searchParams;
38402
38461
  }
38403
38462
  //#endregion
38404
- //#region ../../node_modules/.pnpm/@toggl+queries@2.2.39_@tanstack+react-query@5.99.0_react@19.2.5__@toggl+sync@0.2.4_reac_60e9ea7b26106374bb9319309dc72bc8/node_modules/@toggl/queries/dist/org/organization-user/requests.mjs
38463
+ //#region ../../node_modules/.pnpm/@toggl+queries@2.2.40_@tanstack+react-query@5.99.0_react@19.2.5__@toggl+sync@0.2.4_reac_808568d6d7f6bd297a549bede60d08d3/node_modules/@toggl/queries/dist/org/organization-user/requests.mjs
38405
38464
  async function getOrganizationUser(httpClient, organization_id, organization_user_id, signal) {
38406
38465
  return (await httpClient.get(`organizations/${organization_id}/users/${organization_user_id}`, { signal })).json();
38407
38466
  }
@@ -38415,7 +38474,7 @@ async function patchOrganizationUserActive(httpClient, organization_id, organiza
38415
38474
  return (await httpClient.patch(`organizations/${organization_id}/users/${organization_user_id}/active_status/${status}`, { signal })).json();
38416
38475
  }
38417
38476
  //#endregion
38418
- //#region ../../node_modules/.pnpm/@toggl+queries@2.2.39_@tanstack+react-query@5.99.0_react@19.2.5__@toggl+sync@0.2.4_reac_60e9ea7b26106374bb9319309dc72bc8/node_modules/@toggl/queries/dist/org/workspace/requests.mjs
38477
+ //#region ../../node_modules/.pnpm/@toggl+queries@2.2.40_@tanstack+react-query@5.99.0_react@19.2.5__@toggl+sync@0.2.4_reac_808568d6d7f6bd297a549bede60d08d3/node_modules/@toggl/queries/dist/org/workspace/requests.mjs
38419
38478
  async function getWorkspaces(httpClient, organization_id, signal) {
38420
38479
  return (await httpClient.get(`organizations/${organization_id}/workspaces`, { signal })).json();
38421
38480
  }
@@ -38435,7 +38494,7 @@ const WorkingHoursUpdateInputSchema = /* @__PURE__ */ object$2({
38435
38494
  });
38436
38495
  const StatusOKSchema = /* @__PURE__ */ object$2({ status: /* @__PURE__ */ string$1() });
38437
38496
  //#endregion
38438
- //#region ../../node_modules/.pnpm/@toggl+queries@2.2.39_@tanstack+react-query@5.99.0_react@19.2.5__@toggl+sync@0.2.4_reac_60e9ea7b26106374bb9319309dc72bc8/node_modules/@toggl/queries/dist/org/holiday-calendar/requests.mjs
38497
+ //#region ../../node_modules/.pnpm/@toggl+queries@2.2.40_@tanstack+react-query@5.99.0_react@19.2.5__@toggl+sync@0.2.4_reac_808568d6d7f6bd297a549bede60d08d3/node_modules/@toggl/queries/dist/org/holiday-calendar/requests.mjs
38439
38498
  async function holidayListDates(httpClient, organization_id, { year, country }, signal) {
38440
38499
  return (await httpClient.get(`holidays/organizations/${organization_id}/calendar/dates`, {
38441
38500
  signal,
@@ -38446,12 +38505,12 @@ async function holidayListDates(httpClient, organization_id, { year, country },
38446
38505
  })).json();
38447
38506
  }
38448
38507
  //#endregion
38449
- //#region ../../node_modules/.pnpm/@toggl+queries@2.2.39_@tanstack+react-query@5.99.0_react@19.2.5__@toggl+sync@0.2.4_reac_60e9ea7b26106374bb9319309dc72bc8/node_modules/@toggl/queries/dist/shared-data/status/requests.mjs
38508
+ //#region ../../node_modules/.pnpm/@toggl+queries@2.2.40_@tanstack+react-query@5.99.0_react@19.2.5__@toggl+sync@0.2.4_reac_808568d6d7f6bd297a549bede60d08d3/node_modules/@toggl/queries/dist/shared-data/status/requests.mjs
38450
38509
  async function getStatus(httpClient, signal) {
38451
38510
  return (await httpClient.get(`shared_data/api/status`, { signal })).json();
38452
38511
  }
38453
38512
  //#endregion
38454
- //#region ../../node_modules/.pnpm/@toggl+queries@2.2.39_@tanstack+react-query@5.99.0_react@19.2.5__@toggl+sync@0.2.4_reac_60e9ea7b26106374bb9319309dc72bc8/node_modules/@toggl/queries/dist/org/timeoff/requests.mjs
38513
+ //#region ../../node_modules/.pnpm/@toggl+queries@2.2.40_@tanstack+react-query@5.99.0_react@19.2.5__@toggl+sync@0.2.4_reac_808568d6d7f6bd297a549bede60d08d3/node_modules/@toggl/queries/dist/org/timeoff/requests.mjs
38455
38514
  async function timeoffListMyEntries(httpClient, organization_id, { from, to }, signal) {
38456
38515
  return (await httpClient.get(`timeoff/organizations/${organization_id}/me`, {
38457
38516
  signal,
@@ -38479,7 +38538,7 @@ async function timeoffDeleteMyEntry(httpClient, organization_id, id, signal) {
38479
38538
  return response.json();
38480
38539
  }
38481
38540
  //#endregion
38482
- //#region ../../node_modules/.pnpm/@toggl+queries@2.2.39_@tanstack+react-query@5.99.0_react@19.2.5__@toggl+sync@0.2.4_reac_60e9ea7b26106374bb9319309dc72bc8/node_modules/@toggl/queries/dist/shared-data/working-hours/requests.mjs
38541
+ //#region ../../node_modules/.pnpm/@toggl+queries@2.2.40_@tanstack+react-query@5.99.0_react@19.2.5__@toggl+sync@0.2.4_reac_808568d6d7f6bd297a549bede60d08d3/node_modules/@toggl/queries/dist/shared-data/working-hours/requests.mjs
38483
38542
  async function getMyWorkingHours(httpClient, organization_id, signal) {
38484
38543
  return (await httpClient.get(`shared_data/api/workinghours/${organization_id}/me`, { signal })).json();
38485
38544
  }
@@ -42130,13 +42189,15 @@ async function getWorkspaceAttachmentStorage(httpClient, organization_id, worksp
42130
42189
  }
42131
42190
  //#endregion
42132
42191
  //#region ../focus-queries/dist/audit-log/requests.ts
42133
- async function getOrganizationAuditLog(httpClient, organization_id, from, to, { workspace_id, entity_type, entity_id, action, user_id, page_size, page_number, export: export_ } = {}, signal) {
42192
+ async function getOrganizationAuditLog(httpClient, organization_id, from, to, { workspace_id, entity_type, entity_id, project_id, custom_field_id, action, user_id, page_size, page_number, export: export_ } = {}, signal) {
42134
42193
  return await httpClient.get(`organizations/${organization_id}/audit-log/${from}/${to}`, {
42135
42194
  signal,
42136
42195
  searchParams: buildSearchParams$2({
42137
42196
  workspace_id,
42138
42197
  entity_type,
42139
42198
  entity_id,
42199
+ project_id,
42200
+ custom_field_id,
42140
42201
  action,
42141
42202
  user_id,
42142
42203
  page_size,
@@ -42145,12 +42206,14 @@ async function getOrganizationAuditLog(httpClient, organization_id, from, to, {
42145
42206
  })
42146
42207
  }).json();
42147
42208
  }
42148
- async function getAuditLog(httpClient, organization_id, workspace_id, from, to, { entity_type, entity_id, action, user_id, page_size, page_number, export: export_ } = {}, signal) {
42209
+ async function getAuditLog(httpClient, organization_id, workspace_id, from, to, { entity_type, entity_id, project_id, custom_field_id, action, user_id, page_size, page_number, export: export_ } = {}, signal) {
42149
42210
  return await httpClient.get(`organizations/${organization_id}/workspaces/${workspace_id}/audit-log/${from}/${to}`, {
42150
42211
  signal,
42151
42212
  searchParams: buildSearchParams$2({
42152
42213
  entity_type,
42153
42214
  entity_id,
42215
+ project_id,
42216
+ custom_field_id,
42154
42217
  action,
42155
42218
  user_id,
42156
42219
  page_size,
@@ -42303,13 +42366,14 @@ async function checkWorkspaceBillableRateConflicts(httpClient, organization_id,
42303
42366
  }
42304
42367
  //#endregion
42305
42368
  //#region ../focus-queries/dist/capacities/requests.ts
42306
- 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) {
42369
+ 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) {
42307
42370
  return await httpClient.get(`organizations/${organization_id}/workspaces/${workspace_id}/capacities/${group}`, {
42308
42371
  signal,
42309
42372
  searchParams: buildSearchParams$2({
42310
- user_id,
42311
42373
  start_date,
42312
42374
  end_date,
42375
+ user_id,
42376
+ team_id,
42313
42377
  private: private_,
42314
42378
  task_source,
42315
42379
  unit,
@@ -42369,6 +42433,15 @@ async function updateCustomField(httpClient, organization_id, workspace_id, cust
42369
42433
  async function deleteCustomField(httpClient, organization_id, workspace_id, custom_field_id, signal) {
42370
42434
  return await httpClient.delete(`organizations/${organization_id}/workspaces/${workspace_id}/custom-fields/${custom_field_id}`, { signal }).json();
42371
42435
  }
42436
+ async function getCustomFieldAllowedUsers(httpClient, organization_id, workspace_id, custom_field_id, signal) {
42437
+ return await httpClient.get(`organizations/${organization_id}/workspaces/${workspace_id}/custom-fields/${custom_field_id}/allowed-users`, { signal }).json();
42438
+ }
42439
+ async function replaceCustomFieldAllowedUsers(httpClient, organization_id, workspace_id, custom_field_id, data, signal) {
42440
+ return await httpClient.put(`organizations/${organization_id}/workspaces/${workspace_id}/custom-fields/${custom_field_id}/allowed-users`, {
42441
+ signal,
42442
+ json: data
42443
+ }).json();
42444
+ }
42372
42445
  async function getCustomFieldOptionsClassic(httpClient, organization_id, workspace_id, custom_field_id, { name, page, per_page, order_by } = {}, signal) {
42373
42446
  return await httpClient.get(`organizations/${organization_id}/workspaces/${workspace_id}/custom-fields/${custom_field_id}/options`, {
42374
42447
  signal,
@@ -42676,9 +42749,6 @@ async function setWorkspaceProjectMarginTarget(httpClient, organization_id, work
42676
42749
  json: data
42677
42750
  }).json();
42678
42751
  }
42679
- async function clearWorkspaceProjectMarginTarget(httpClient, organization_id, workspace_id, signal) {
42680
- return await httpClient.delete(`organizations/${organization_id}/workspaces/${workspace_id}/project-margin-targets/workspace`, { signal }).json();
42681
- }
42682
42752
  async function getProjectMarginTarget(httpClient, organization_id, workspace_id, project_id, signal) {
42683
42753
  return await httpClient.get(`organizations/${organization_id}/workspaces/${workspace_id}/project-margin-targets/${project_id}`, { signal }).json();
42684
42754
  }
@@ -42982,9 +43052,10 @@ async function updateTaskEstimateAllocations(httpClient, organization_id, worksp
42982
43052
  }
42983
43053
  //#endregion
42984
43054
  //#region ../focus-queries/dist/task-groups/requests.ts
42985
- 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) {
43055
+ 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, recurring_occurrences_after, max_recurring_occurrences_after, recurring_task_read, include_projected_occurrences, xTimelineFetchTrigger }, signal) {
42986
43056
  return await httpClient.get(`organizations/${organization_id}/workspaces/${workspace_id}/tasks/groups/users/by-project`, {
42987
43057
  signal,
43058
+ headers: { "X-Timeline-Fetch-Trigger": xTimelineFetchTrigger },
42988
43059
  searchParams: buildSearchParams$2({
42989
43060
  project_id,
42990
43061
  source,
@@ -43013,13 +43084,18 @@ async function getUserTaskGroupsByProject(httpClient, organization_id, workspace
43013
43084
  min_days,
43014
43085
  include_drafts,
43015
43086
  cf_filter,
43016
- user_cf_filter
43087
+ user_cf_filter,
43088
+ recurring_occurrences_after,
43089
+ max_recurring_occurrences_after,
43090
+ recurring_task_read,
43091
+ include_projected_occurrences
43017
43092
  })
43018
43093
  }).json();
43019
43094
  }
43020
- 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) {
43095
+ 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, recurring_occurrences_after, max_recurring_occurrences_after, recurring_task_read, include_projected_occurrences, xTimelineFetchTrigger } = {}, signal) {
43021
43096
  return await httpClient.get(`organizations/${organization_id}/workspaces/${workspace_id}/tasks/groups/users/by-team`, {
43022
43097
  signal,
43098
+ headers: { "X-Timeline-Fetch-Trigger": xTimelineFetchTrigger },
43023
43099
  searchParams: buildSearchParams$2({
43024
43100
  team_id,
43025
43101
  project_id,
@@ -43048,13 +43124,18 @@ async function getUserTaskGroupsByTeam(httpClient, organization_id, workspace_id
43048
43124
  min_days,
43049
43125
  include_drafts,
43050
43126
  cf_filter,
43051
- user_cf_filter
43127
+ user_cf_filter,
43128
+ recurring_occurrences_after,
43129
+ max_recurring_occurrences_after,
43130
+ recurring_task_read,
43131
+ include_projected_occurrences
43052
43132
  })
43053
43133
  }).json();
43054
43134
  }
43055
- 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) {
43135
+ 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, recurring_occurrences_after, max_recurring_occurrences_after, recurring_task_read, include_projected_occurrences, page, per_page, order_by, xTimelineFetchTrigger } = {}, signal) {
43056
43136
  return await httpClient.get(`organizations/${organization_id}/workspaces/${workspace_id}/tasks/groups/${group}`, {
43057
43137
  signal,
43138
+ headers: { "X-Timeline-Fetch-Trigger": xTimelineFetchTrigger },
43058
43139
  searchParams: buildSearchParams$2({
43059
43140
  source,
43060
43141
  priority,
@@ -43084,6 +43165,10 @@ async function getTaskGroupsClassic(httpClient, organization_id, workspace_id, g
43084
43165
  include_drafts,
43085
43166
  cf_filter,
43086
43167
  user_cf_filter,
43168
+ recurring_occurrences_after,
43169
+ max_recurring_occurrences_after,
43170
+ recurring_task_read,
43171
+ include_projected_occurrences,
43087
43172
  page,
43088
43173
  per_page,
43089
43174
  order_by
@@ -43319,6 +43404,12 @@ async function withdrawTimesheet(httpClient, organization_id, workspace_id, setu
43319
43404
  }
43320
43405
  //#endregion
43321
43406
  //#region ../focus-queries/dist/user-settings/requests.ts
43407
+ async function emailUnsubscribePage(httpClient, token, signal) {
43408
+ return await httpClient.get(`email/unsubscribe/${token}`, { signal }).json();
43409
+ }
43410
+ async function emailUnsubscribe(httpClient, token, signal) {
43411
+ return await httpClient.post(`email/unsubscribe/${token}`, { signal }).json();
43412
+ }
43322
43413
  async function getUserSettings(httpClient, signal) {
43323
43414
  return await httpClient.get(`users/me/settings`, { signal }).json();
43324
43415
  }
@@ -43558,6 +43649,7 @@ const generatedFocusOperations = [
43558
43649
  mcp: { entityTool: "audit-log" },
43559
43650
  inputSchema: /* @__PURE__ */ looseObject({
43560
43651
  action: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
43652
+ custom_field_id: /* @__PURE__ */ optional$1(/* @__PURE__ */ number$2()),
43561
43653
  entity_id: /* @__PURE__ */ optional$1(/* @__PURE__ */ number$2()),
43562
43654
  entity_type: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
43563
43655
  export: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
@@ -43565,6 +43657,7 @@ const generatedFocusOperations = [
43565
43657
  from: /* @__PURE__ */ string$1(),
43566
43658
  page_number: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
43567
43659
  page_size: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
43660
+ project_id: /* @__PURE__ */ optional$1(/* @__PURE__ */ number$2()),
43568
43661
  to: /* @__PURE__ */ string$1(),
43569
43662
  user_id: /* @__PURE__ */ optional$1(/* @__PURE__ */ number$2()),
43570
43663
  workspace_id: /* @__PURE__ */ optional$1(/* @__PURE__ */ number$2())
@@ -43598,6 +43691,7 @@ const generatedFocusOperations = [
43598
43691
  mcp: { entityTool: "audit-log" },
43599
43692
  inputSchema: /* @__PURE__ */ looseObject({
43600
43693
  action: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
43694
+ custom_field_id: /* @__PURE__ */ optional$1(/* @__PURE__ */ number$2()),
43601
43695
  entity_id: /* @__PURE__ */ optional$1(/* @__PURE__ */ number$2()),
43602
43696
  entity_type: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
43603
43697
  export: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
@@ -43605,6 +43699,7 @@ const generatedFocusOperations = [
43605
43699
  from: /* @__PURE__ */ string$1(),
43606
43700
  page_number: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
43607
43701
  page_size: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
43702
+ project_id: /* @__PURE__ */ optional$1(/* @__PURE__ */ number$2()),
43608
43703
  to: /* @__PURE__ */ string$1(),
43609
43704
  user_id: /* @__PURE__ */ optional$1(/* @__PURE__ */ number$2())
43610
43705
  }),
@@ -43644,6 +43739,7 @@ const generatedFocusOperations = [
43644
43739
  private_: /* @__PURE__ */ unknown$1(),
43645
43740
  start_date: /* @__PURE__ */ pipe$2(/* @__PURE__ */ string$1(), /* @__PURE__ */ isoDate$1()),
43646
43741
  task_source: /* @__PURE__ */ unknown$1(),
43742
+ team_id: /* @__PURE__ */ number$2(),
43647
43743
  unit: /* @__PURE__ */ unknown$1(),
43648
43744
  user_id: /* @__PURE__ */ number$2()
43649
43745
  }),
@@ -44084,6 +44180,33 @@ const generatedFocusOperations = [
44084
44180
  ]));
44085
44181
  }
44086
44182
  },
44183
+ {
44184
+ id: "focus.custom-fields.get-allowed-users",
44185
+ family: "focus",
44186
+ resource: "custom-fields",
44187
+ action: "get-allowed-users",
44188
+ title: "Get Allowed Users Custom Fields",
44189
+ description: "Get Allowed Users Custom Fields.",
44190
+ safety: "read",
44191
+ destructive: false,
44192
+ cli: {
44193
+ group: ["custom-fields"],
44194
+ command: "get-allowed-users",
44195
+ interactive: "available"
44196
+ },
44197
+ mcp: { entityTool: "custom-fields" },
44198
+ inputSchema: /* @__PURE__ */ looseObject({ custom_field_id: /* @__PURE__ */ number$2() }),
44199
+ execute: (input, { client }) => {
44200
+ const data = input;
44201
+ return client.runGeneratedRequest("getCustomFieldAllowedUsers", () => callGeneratedRequest(getCustomFieldAllowedUsers, [
44202
+ client.httpClient,
44203
+ client.organizationId,
44204
+ client.workspaceIdNumber,
44205
+ data.custom_field_id,
44206
+ void 0
44207
+ ]));
44208
+ }
44209
+ },
44087
44210
  {
44088
44211
  id: "focus.custom-fields.list",
44089
44212
  family: "focus",
@@ -44253,6 +44376,37 @@ const generatedFocusOperations = [
44253
44376
  ]));
44254
44377
  }
44255
44378
  },
44379
+ {
44380
+ id: "focus.custom-fields.replace-custom-field-allowed-users",
44381
+ family: "focus",
44382
+ resource: "custom-fields",
44383
+ action: "replace-custom-field-allowed-users",
44384
+ title: "Replace Custom Field Allowed Users Custom Fields",
44385
+ description: "Replace Custom Field Allowed Users Custom Fields.",
44386
+ safety: "update",
44387
+ destructive: false,
44388
+ cli: {
44389
+ group: ["custom-fields"],
44390
+ command: "replace-custom-field-allowed-users",
44391
+ interactive: "default"
44392
+ },
44393
+ mcp: { entityTool: "custom-fields" },
44394
+ inputSchema: /* @__PURE__ */ looseObject({
44395
+ custom_field_id: /* @__PURE__ */ number$2(),
44396
+ payload: /* @__PURE__ */ looseObject({ user_ids: /* @__PURE__ */ array$1(/* @__PURE__ */ number$2()) })
44397
+ }),
44398
+ execute: (input, { client }) => {
44399
+ const data = input;
44400
+ return client.runGeneratedRequest("replaceCustomFieldAllowedUsers", () => callGeneratedRequest(replaceCustomFieldAllowedUsers, [
44401
+ client.httpClient,
44402
+ client.organizationId,
44403
+ client.workspaceIdNumber,
44404
+ data.custom_field_id,
44405
+ data.payload ?? data.data ?? data,
44406
+ void 0
44407
+ ]));
44408
+ }
44409
+ },
44256
44410
  {
44257
44411
  id: "focus.custom-fields.update",
44258
44412
  family: "focus",
@@ -44399,13 +44553,7 @@ const generatedFocusOperations = [
44399
44553
  },
44400
44554
  mcp: { entityTool: "goals" },
44401
44555
  inputSchema: /* @__PURE__ */ looseObject({ payload: /* @__PURE__ */ looseObject({
44402
- billable: /* @__PURE__ */ boolean$1(),
44403
44556
  comparison: /* @__PURE__ */ picklist$1(["more_than", "less_than"]),
44404
- end_date: /* @__PURE__ */ pipe$2(/* @__PURE__ */ string$1(), /* @__PURE__ */ isoDate$1()),
44405
- icon: /* @__PURE__ */ string$1(),
44406
- monthly_anchor: /* @__PURE__ */ picklist$1(["calendar", "first_workday"]),
44407
- name: /* @__PURE__ */ string$1(),
44408
- project_ids: /* @__PURE__ */ array$1(/* @__PURE__ */ number$2()),
44409
44557
  recurrence: /* @__PURE__ */ picklist$1([
44410
44558
  "daily",
44411
44559
  "weekly",
@@ -44413,12 +44561,18 @@ const generatedFocusOperations = [
44413
44561
  "monthly"
44414
44562
  ]),
44415
44563
  start_date: /* @__PURE__ */ pipe$2(/* @__PURE__ */ string$1(), /* @__PURE__ */ isoDate$1()),
44416
- tag_ids: /* @__PURE__ */ array$1(/* @__PURE__ */ number$2()),
44417
44564
  target_seconds: /* @__PURE__ */ number$2(),
44418
- task_ids: /* @__PURE__ */ array$1(/* @__PURE__ */ number$2()),
44419
- weekdays: /* @__PURE__ */ array$1(/* @__PURE__ */ number$2()),
44565
+ billable: /* @__PURE__ */ optional$1(/* @__PURE__ */ boolean$1()),
44420
44566
  client_ids: /* @__PURE__ */ optional$1(/* @__PURE__ */ array$1(/* @__PURE__ */ number$2())),
44421
- description: /* @__PURE__ */ optional$1(/* @__PURE__ */ string$1())
44567
+ description: /* @__PURE__ */ optional$1(/* @__PURE__ */ string$1()),
44568
+ end_date: /* @__PURE__ */ optional$1(/* @__PURE__ */ pipe$2(/* @__PURE__ */ string$1(), /* @__PURE__ */ isoDate$1())),
44569
+ icon: /* @__PURE__ */ optional$1(/* @__PURE__ */ string$1()),
44570
+ monthly_anchor: /* @__PURE__ */ optional$1(/* @__PURE__ */ picklist$1(["calendar", "first_workday"])),
44571
+ name: /* @__PURE__ */ optional$1(/* @__PURE__ */ string$1()),
44572
+ project_ids: /* @__PURE__ */ optional$1(/* @__PURE__ */ array$1(/* @__PURE__ */ number$2())),
44573
+ tag_ids: /* @__PURE__ */ optional$1(/* @__PURE__ */ array$1(/* @__PURE__ */ number$2())),
44574
+ task_ids: /* @__PURE__ */ optional$1(/* @__PURE__ */ array$1(/* @__PURE__ */ number$2())),
44575
+ weekdays: /* @__PURE__ */ optional$1(/* @__PURE__ */ array$1(/* @__PURE__ */ number$2()))
44422
44576
  }) }),
44423
44577
  execute: (input, { client }) => {
44424
44578
  const data = input;
@@ -44524,13 +44678,6 @@ const generatedFocusOperations = [
44524
44678
  },
44525
44679
  mcp: { entityTool: "goals" },
44526
44680
  inputSchema: /* @__PURE__ */ looseObject({ payload: /* @__PURE__ */ looseObject({
44527
- billable: /* @__PURE__ */ boolean$1(),
44528
- comparison: /* @__PURE__ */ picklist$1(["more_than", "less_than"]),
44529
- end_date: /* @__PURE__ */ pipe$2(/* @__PURE__ */ string$1(), /* @__PURE__ */ isoDate$1()),
44530
- icon: /* @__PURE__ */ string$1(),
44531
- monthly_anchor: /* @__PURE__ */ picklist$1(["calendar", "first_workday"]),
44532
- name: /* @__PURE__ */ string$1(),
44533
- project_ids: /* @__PURE__ */ array$1(/* @__PURE__ */ number$2()),
44534
44681
  recurrence: /* @__PURE__ */ picklist$1([
44535
44682
  "daily",
44536
44683
  "weekly",
@@ -44538,12 +44685,19 @@ const generatedFocusOperations = [
44538
44685
  "monthly"
44539
44686
  ]),
44540
44687
  start_date: /* @__PURE__ */ pipe$2(/* @__PURE__ */ string$1(), /* @__PURE__ */ isoDate$1()),
44541
- tag_ids: /* @__PURE__ */ array$1(/* @__PURE__ */ number$2()),
44542
- target_seconds: /* @__PURE__ */ number$2(),
44543
- task_ids: /* @__PURE__ */ array$1(/* @__PURE__ */ number$2()),
44544
- weekdays: /* @__PURE__ */ array$1(/* @__PURE__ */ number$2()),
44688
+ billable: /* @__PURE__ */ optional$1(/* @__PURE__ */ boolean$1()),
44545
44689
  client_ids: /* @__PURE__ */ optional$1(/* @__PURE__ */ array$1(/* @__PURE__ */ number$2())),
44546
- description: /* @__PURE__ */ optional$1(/* @__PURE__ */ string$1())
44690
+ comparison: /* @__PURE__ */ optional$1(/* @__PURE__ */ picklist$1(["more_than", "less_than"])),
44691
+ description: /* @__PURE__ */ optional$1(/* @__PURE__ */ string$1()),
44692
+ end_date: /* @__PURE__ */ optional$1(/* @__PURE__ */ pipe$2(/* @__PURE__ */ string$1(), /* @__PURE__ */ isoDate$1())),
44693
+ icon: /* @__PURE__ */ optional$1(/* @__PURE__ */ string$1()),
44694
+ monthly_anchor: /* @__PURE__ */ optional$1(/* @__PURE__ */ picklist$1(["calendar", "first_workday"])),
44695
+ name: /* @__PURE__ */ optional$1(/* @__PURE__ */ string$1()),
44696
+ project_ids: /* @__PURE__ */ optional$1(/* @__PURE__ */ array$1(/* @__PURE__ */ number$2())),
44697
+ tag_ids: /* @__PURE__ */ optional$1(/* @__PURE__ */ array$1(/* @__PURE__ */ number$2())),
44698
+ target_seconds: /* @__PURE__ */ optional$1(/* @__PURE__ */ number$2()),
44699
+ task_ids: /* @__PURE__ */ optional$1(/* @__PURE__ */ array$1(/* @__PURE__ */ number$2())),
44700
+ weekdays: /* @__PURE__ */ optional$1(/* @__PURE__ */ array$1(/* @__PURE__ */ number$2()))
44547
44701
  }) }),
44548
44702
  execute: (input, { client }) => {
44549
44703
  const data = input;
@@ -45510,9 +45664,17 @@ const generatedFocusOperations = [
45510
45664
  mcp: { entityTool: "projects" },
45511
45665
  inputSchema: /* @__PURE__ */ looseObject({
45512
45666
  payload: /* @__PURE__ */ looseObject({
45667
+ auto_compute_estimates: /* @__PURE__ */ optional$1(/* @__PURE__ */ boolean$1()),
45668
+ completion_mode: /* @__PURE__ */ optional$1(/* @__PURE__ */ picklist$1(["manual", "automatic"])),
45513
45669
  end_date: /* @__PURE__ */ optional$1(/* @__PURE__ */ pipe$2(/* @__PURE__ */ string$1(), /* @__PURE__ */ isoDate$1())),
45514
45670
  name: /* @__PURE__ */ optional$1(/* @__PURE__ */ string$1()),
45515
45671
  pinned: /* @__PURE__ */ optional$1(/* @__PURE__ */ boolean$1()),
45672
+ rollover_mode: /* @__PURE__ */ optional$1(/* @__PURE__ */ picklist$1([
45673
+ "expire",
45674
+ "carry_all",
45675
+ "carry_over"
45676
+ ])),
45677
+ rrule: /* @__PURE__ */ optional$1(/* @__PURE__ */ string$1()),
45516
45678
  start_date: /* @__PURE__ */ optional$1(/* @__PURE__ */ pipe$2(/* @__PURE__ */ string$1(), /* @__PURE__ */ isoDate$1()))
45517
45679
  }),
45518
45680
  project_id: /* @__PURE__ */ number$2()
@@ -46058,29 +46220,6 @@ const generatedFocusOperations = [
46058
46220
  ]));
46059
46221
  }
46060
46222
  },
46061
- {
46062
- id: "focus.projects.margin-targets-clear-workspace",
46063
- family: "focus",
46064
- resource: "projects",
46065
- action: "margin-targets-clear-workspace",
46066
- title: "Margin Targets Clear Workspace Projects",
46067
- description: "Margin Targets Clear Workspace Projects.",
46068
- safety: "delete",
46069
- destructive: true,
46070
- cli: {
46071
- group: ["projects", "margin-targets"],
46072
- command: "clear-workspace",
46073
- interactive: "default"
46074
- },
46075
- mcp: { entityTool: "projects" },
46076
- inputSchema: /* @__PURE__ */ looseObject({}),
46077
- execute: (_input, { client }) => client.runGeneratedRequest("clearWorkspaceProjectMarginTarget", () => callGeneratedRequest(clearWorkspaceProjectMarginTarget, [
46078
- client.httpClient,
46079
- client.organizationId,
46080
- client.workspaceIdNumber,
46081
- void 0
46082
- ]))
46083
- },
46084
46223
  {
46085
46224
  id: "focus.projects.margin-targets-get",
46086
46225
  family: "focus",
@@ -48483,7 +48622,7 @@ const generatedFocusOperations = [
48483
48622
  cli: {
48484
48623
  group: ["reportschedules"],
48485
48624
  command: "upsert-saved-view-schedule",
48486
- interactive: "default"
48625
+ interactive: "hidden"
48487
48626
  },
48488
48627
  mcp: { entityTool: "reportschedules" },
48489
48628
  inputSchema: /* @__PURE__ */ looseObject({
@@ -48494,8 +48633,10 @@ const generatedFocusOperations = [
48494
48633
  "weekly",
48495
48634
  "monthly"
48496
48635
  ]),
48636
+ charts: /* @__PURE__ */ unknown$1(),
48497
48637
  time: /* @__PURE__ */ string$1(),
48498
48638
  day: /* @__PURE__ */ optional$1(/* @__PURE__ */ number$2()),
48639
+ period: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
48499
48640
  recipient_team_ids: /* @__PURE__ */ optional$1(/* @__PURE__ */ array$1(/* @__PURE__ */ number$2())),
48500
48641
  recipient_user_ids: /* @__PURE__ */ optional$1(/* @__PURE__ */ array$1(/* @__PURE__ */ number$2())),
48501
48642
  recipient_workspace_ids: /* @__PURE__ */ optional$1(/* @__PURE__ */ array$1(/* @__PURE__ */ number$2()))
@@ -50044,6 +50185,37 @@ const generatedFocusOperations = [
50044
50185
  return client.createTask(data);
50045
50186
  }
50046
50187
  },
50188
+ {
50189
+ id: "focus.tasks.create-recurring-occurrence",
50190
+ family: "focus",
50191
+ resource: "tasks",
50192
+ action: "create-recurring-occurrence",
50193
+ title: "Create Recurring Occurrence Tasks",
50194
+ description: "Create Recurring Occurrence Tasks.",
50195
+ safety: "create",
50196
+ destructive: false,
50197
+ cli: {
50198
+ group: ["tasks"],
50199
+ command: "create-recurring-occurrence",
50200
+ interactive: "default"
50201
+ },
50202
+ mcp: { entityTool: "tasks" },
50203
+ inputSchema: /* @__PURE__ */ looseObject({
50204
+ return_occurrence: /* @__PURE__ */ optional$1(/* @__PURE__ */ boolean$1()),
50205
+ task_id: /* @__PURE__ */ number$2()
50206
+ }),
50207
+ execute: (input, { client }) => {
50208
+ const data = input;
50209
+ return client.runGeneratedRequest("createRecurringOccurrence", () => callGeneratedRequest(createRecurringOccurrence, [
50210
+ client.httpClient,
50211
+ client.organizationId,
50212
+ client.workspaceIdNumber,
50213
+ data.task_id,
50214
+ data.return_occurrence,
50215
+ void 0
50216
+ ]));
50217
+ }
50218
+ },
50047
50219
  {
50048
50220
  id: "focus.tasks.delete",
50049
50221
  family: "focus",
@@ -50291,9 +50463,13 @@ const generatedFocusOperations = [
50291
50463
  dates_overlap_start: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
50292
50464
  end_date: /* @__PURE__ */ optional$1(/* @__PURE__ */ pipe$2(/* @__PURE__ */ string$1(), /* @__PURE__ */ isoDate$1())),
50293
50465
  include_assignees: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
50466
+ include_projected_occurrences: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
50467
+ max_recurring_occurrences_after: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
50294
50468
  page: /* @__PURE__ */ optional$1(/* @__PURE__ */ number$2()),
50295
50469
  per_page: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
50470
+ recurring_occurrences_after: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
50296
50471
  recurring_task_ids: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
50472
+ recurring_task_read: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
50297
50473
  start_date: /* @__PURE__ */ optional$1(/* @__PURE__ */ pipe$2(/* @__PURE__ */ string$1(), /* @__PURE__ */ isoDate$1())),
50298
50474
  tag_id: /* @__PURE__ */ optional$1(tagIdFilterSchema),
50299
50475
  team_id: /* @__PURE__ */ optional$1(/* @__PURE__ */ number$2())
@@ -50345,7 +50521,9 @@ const generatedFocusOperations = [
50345
50521
  include_drafts: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
50346
50522
  include_parent_matches: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
50347
50523
  include_project_completed: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
50524
+ include_projected_occurrences: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
50348
50525
  is_priority: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
50526
+ max_recurring_occurrences_after: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
50349
50527
  name: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
50350
50528
  order_by: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
50351
50529
  parent_task_id: /* @__PURE__ */ optional$1(/* @__PURE__ */ number$2()),
@@ -50354,7 +50532,9 @@ const generatedFocusOperations = [
50354
50532
  private_: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
50355
50533
  project_id: /* @__PURE__ */ optional$1(/* @__PURE__ */ number$2()),
50356
50534
  recurring: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
50535
+ recurring_occurrences_after: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
50357
50536
  recurring_task_ids: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
50537
+ recurring_task_read: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
50358
50538
  source: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
50359
50539
  start_date: /* @__PURE__ */ optional$1(/* @__PURE__ */ pipe$2(/* @__PURE__ */ string$1(), /* @__PURE__ */ isoDate$1())),
50360
50540
  start_date_from: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
@@ -50492,8 +50672,10 @@ const generatedFocusOperations = [
50492
50672
  group_id: /* @__PURE__ */ optional$1(/* @__PURE__ */ number$2()),
50493
50673
  include_assignees: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
50494
50674
  include_drafts: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
50675
+ include_projected_occurrences: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
50495
50676
  include_unassigned: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
50496
50677
  include_unmaterialized: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
50678
+ max_recurring_occurrences_after: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
50497
50679
  min_days: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
50498
50680
  name: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
50499
50681
  order_by: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
@@ -50502,6 +50684,8 @@ const generatedFocusOperations = [
50502
50684
  priority: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
50503
50685
  private_: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
50504
50686
  project_id: /* @__PURE__ */ optional$1(/* @__PURE__ */ number$2()),
50687
+ recurring_occurrences_after: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
50688
+ recurring_task_read: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
50505
50689
  source: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
50506
50690
  start_date: /* @__PURE__ */ optional$1(/* @__PURE__ */ pipe$2(/* @__PURE__ */ string$1(), /* @__PURE__ */ isoDate$1())),
50507
50691
  start_date_from: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
@@ -50510,7 +50694,8 @@ const generatedFocusOperations = [
50510
50694
  tag_id: /* @__PURE__ */ optional$1(tagIdFilterSchema),
50511
50695
  team_id: /* @__PURE__ */ optional$1(/* @__PURE__ */ number$2()),
50512
50696
  user_cf_filter: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
50513
- user_tag_id: /* @__PURE__ */ optional$1(/* @__PURE__ */ number$2())
50697
+ user_tag_id: /* @__PURE__ */ optional$1(/* @__PURE__ */ number$2()),
50698
+ xTimelineFetchTrigger: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1())
50514
50699
  }),
50515
50700
  execute: (input, { client }) => {
50516
50701
  const data = input;
@@ -50552,13 +50737,17 @@ const generatedFocusOperations = [
50552
50737
  group_id: /* @__PURE__ */ number$2(),
50553
50738
  include_assignees: /* @__PURE__ */ unknown$1(),
50554
50739
  include_drafts: /* @__PURE__ */ unknown$1(),
50740
+ include_projected_occurrences: /* @__PURE__ */ unknown$1(),
50555
50741
  include_unassigned: /* @__PURE__ */ unknown$1(),
50556
50742
  include_unmaterialized: /* @__PURE__ */ unknown$1(),
50743
+ max_recurring_occurrences_after: /* @__PURE__ */ unknown$1(),
50557
50744
  min_days: /* @__PURE__ */ unknown$1(),
50558
50745
  name: /* @__PURE__ */ unknown$1(),
50559
50746
  priority: /* @__PURE__ */ unknown$1(),
50560
50747
  private_: /* @__PURE__ */ unknown$1(),
50561
50748
  project_id: /* @__PURE__ */ number$2(),
50749
+ recurring_occurrences_after: /* @__PURE__ */ unknown$1(),
50750
+ recurring_task_read: /* @__PURE__ */ unknown$1(),
50562
50751
  source: /* @__PURE__ */ unknown$1(),
50563
50752
  start_date: /* @__PURE__ */ pipe$2(/* @__PURE__ */ string$1(), /* @__PURE__ */ isoDate$1()),
50564
50753
  start_date_from: /* @__PURE__ */ unknown$1(),
@@ -50567,7 +50756,8 @@ const generatedFocusOperations = [
50567
50756
  tag_id: /* @__PURE__ */ number$2(),
50568
50757
  team_id: /* @__PURE__ */ number$2(),
50569
50758
  user_cf_filter: /* @__PURE__ */ unknown$1(),
50570
- user_tag_id: /* @__PURE__ */ number$2()
50759
+ user_tag_id: /* @__PURE__ */ number$2(),
50760
+ xTimelineFetchTrigger: /* @__PURE__ */ unknown$1()
50571
50761
  }),
50572
50762
  execute: (input, { client }) => {
50573
50763
  const data = input;
@@ -50608,13 +50798,17 @@ const generatedFocusOperations = [
50608
50798
  group_id: /* @__PURE__ */ optional$1(/* @__PURE__ */ number$2()),
50609
50799
  include_assignees: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
50610
50800
  include_drafts: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
50801
+ include_projected_occurrences: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
50611
50802
  include_unassigned: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
50612
50803
  include_unmaterialized: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
50804
+ max_recurring_occurrences_after: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
50613
50805
  min_days: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
50614
50806
  name: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
50615
50807
  priority: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
50616
50808
  private_: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
50617
50809
  project_id: /* @__PURE__ */ optional$1(/* @__PURE__ */ number$2()),
50810
+ recurring_occurrences_after: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
50811
+ recurring_task_read: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
50618
50812
  source: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
50619
50813
  start_date: /* @__PURE__ */ optional$1(/* @__PURE__ */ pipe$2(/* @__PURE__ */ string$1(), /* @__PURE__ */ isoDate$1())),
50620
50814
  start_date_from: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
@@ -50623,7 +50817,8 @@ const generatedFocusOperations = [
50623
50817
  tag_id: /* @__PURE__ */ optional$1(/* @__PURE__ */ number$2()),
50624
50818
  team_id: /* @__PURE__ */ optional$1(/* @__PURE__ */ number$2()),
50625
50819
  user_cf_filter: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
50626
- user_tag_id: /* @__PURE__ */ optional$1(/* @__PURE__ */ number$2())
50820
+ user_tag_id: /* @__PURE__ */ optional$1(/* @__PURE__ */ number$2()),
50821
+ xTimelineFetchTrigger: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1())
50627
50822
  }),
50628
50823
  execute: (input, { client }) => {
50629
50824
  const data = input;
@@ -50894,7 +51089,8 @@ const generatedFocusOperations = [
50894
51089
  mcp: { entityTool: "tasks" },
50895
51090
  inputSchema: /* @__PURE__ */ looseObject({
50896
51091
  date_from: /* @__PURE__ */ string$1(),
50897
- date_to: /* @__PURE__ */ string$1()
51092
+ date_to: /* @__PURE__ */ string$1(),
51093
+ skip_provider_refresh: /* @__PURE__ */ optional$1(/* @__PURE__ */ boolean$1())
50898
51094
  }),
50899
51095
  execute: (input, { client }) => {
50900
51096
  const data = input;
@@ -50904,6 +51100,7 @@ const generatedFocusOperations = [
50904
51100
  client.workspaceIdNumber,
50905
51101
  data.date_from,
50906
51102
  data.date_to,
51103
+ data.skip_provider_refresh,
50907
51104
  void 0
50908
51105
  ]));
50909
51106
  }
@@ -51490,7 +51687,8 @@ const generatedFocusOperations = [
51490
51687
  required_fields: /* @__PURE__ */ array$1(/* @__PURE__ */ looseObject({ kind: /* @__PURE__ */ picklist$1([
51491
51688
  "project",
51492
51689
  "task",
51493
- "description"
51690
+ "description",
51691
+ "tags"
51494
51692
  ]) })),
51495
51693
  disallow_billable_override: /* @__PURE__ */ optional$1(/* @__PURE__ */ boolean$1())
51496
51694
  }) }),
@@ -51520,6 +51718,7 @@ const generatedFocusOperations = [
51520
51718
  },
51521
51719
  mcp: { entityTool: "time-entries" },
51522
51720
  inputSchema: /* @__PURE__ */ looseObject({
51721
+ from_recurring_task_id: /* @__PURE__ */ optional$1(/* @__PURE__ */ number$2()),
51523
51722
  payload: /* @__PURE__ */ looseObject({
51524
51723
  type: /* @__PURE__ */ optional$1(/* @__PURE__ */ picklist$1(["activity", "break"]), "activity"),
51525
51724
  billable: /* @__PURE__ */ optional$1(/* @__PURE__ */ boolean$1()),
@@ -51530,11 +51729,13 @@ const generatedFocusOperations = [
51530
51729
  planned_duration: /* @__PURE__ */ optional$1(/* @__PURE__ */ number$2()),
51531
51730
  planned_start: /* @__PURE__ */ optional$1(/* @__PURE__ */ string$1()),
51532
51731
  project_id: /* @__PURE__ */ optional$1(/* @__PURE__ */ number$2()),
51732
+ repeat_time_entry: /* @__PURE__ */ optional$1(/* @__PURE__ */ boolean$1()),
51533
51733
  start: /* @__PURE__ */ optional$1(apiDateTimeString),
51534
51734
  time_block_id: /* @__PURE__ */ optional$1(/* @__PURE__ */ number$2()),
51535
51735
  tracked_at: /* @__PURE__ */ optional$1(apiDateTimeString),
51536
51736
  user_id: /* @__PURE__ */ optional$1(/* @__PURE__ */ number$2())
51537
51737
  }),
51738
+ return_occurrence: /* @__PURE__ */ optional$1(/* @__PURE__ */ boolean$1()),
51538
51739
  task_id: /* @__PURE__ */ number$2()
51539
51740
  }),
51540
51741
  execute: (input, { client }) => {
@@ -51545,6 +51746,8 @@ const generatedFocusOperations = [
51545
51746
  client.workspaceIdNumber,
51546
51747
  data.task_id,
51547
51748
  data.payload ?? data.data ?? data,
51749
+ data.from_recurring_task_id,
51750
+ data.return_occurrence,
51548
51751
  void 0
51549
51752
  ]));
51550
51753
  }
@@ -51564,21 +51767,26 @@ const generatedFocusOperations = [
51564
51767
  interactive: "default"
51565
51768
  },
51566
51769
  mcp: { entityTool: "time-entries" },
51567
- inputSchema: /* @__PURE__ */ looseObject({ payload: /* @__PURE__ */ looseObject({
51568
- type: /* @__PURE__ */ optional$1(/* @__PURE__ */ picklist$1(["activity", "break"]), "activity"),
51569
- billable: /* @__PURE__ */ optional$1(/* @__PURE__ */ boolean$1()),
51570
- calendar_event_id: /* @__PURE__ */ optional$1(/* @__PURE__ */ number$2()),
51571
- description: /* @__PURE__ */ optional$1(/* @__PURE__ */ string$1()),
51572
- duration: /* @__PURE__ */ optional$1(/* @__PURE__ */ number$2()),
51573
- planned_at: /* @__PURE__ */ optional$1(apiDateTimeString),
51574
- planned_duration: /* @__PURE__ */ optional$1(/* @__PURE__ */ number$2()),
51575
- planned_start: /* @__PURE__ */ optional$1(/* @__PURE__ */ string$1()),
51576
- project_id: /* @__PURE__ */ optional$1(/* @__PURE__ */ number$2()),
51577
- start: /* @__PURE__ */ optional$1(apiDateTimeString),
51578
- time_block_id: /* @__PURE__ */ optional$1(/* @__PURE__ */ number$2()),
51579
- tracked_at: /* @__PURE__ */ optional$1(apiDateTimeString),
51580
- user_id: /* @__PURE__ */ optional$1(/* @__PURE__ */ number$2())
51581
- }) }),
51770
+ inputSchema: /* @__PURE__ */ looseObject({
51771
+ from_recurring_task_id: /* @__PURE__ */ optional$1(/* @__PURE__ */ number$2()),
51772
+ payload: /* @__PURE__ */ looseObject({
51773
+ type: /* @__PURE__ */ optional$1(/* @__PURE__ */ picklist$1(["activity", "break"]), "activity"),
51774
+ billable: /* @__PURE__ */ optional$1(/* @__PURE__ */ boolean$1()),
51775
+ calendar_event_id: /* @__PURE__ */ optional$1(/* @__PURE__ */ number$2()),
51776
+ description: /* @__PURE__ */ optional$1(/* @__PURE__ */ string$1()),
51777
+ duration: /* @__PURE__ */ optional$1(/* @__PURE__ */ number$2()),
51778
+ planned_at: /* @__PURE__ */ optional$1(apiDateTimeString),
51779
+ planned_duration: /* @__PURE__ */ optional$1(/* @__PURE__ */ number$2()),
51780
+ planned_start: /* @__PURE__ */ optional$1(/* @__PURE__ */ string$1()),
51781
+ project_id: /* @__PURE__ */ optional$1(/* @__PURE__ */ number$2()),
51782
+ repeat_time_entry: /* @__PURE__ */ optional$1(/* @__PURE__ */ boolean$1()),
51783
+ start: /* @__PURE__ */ optional$1(apiDateTimeString),
51784
+ time_block_id: /* @__PURE__ */ optional$1(/* @__PURE__ */ number$2()),
51785
+ tracked_at: /* @__PURE__ */ optional$1(apiDateTimeString),
51786
+ user_id: /* @__PURE__ */ optional$1(/* @__PURE__ */ number$2())
51787
+ }),
51788
+ return_occurrence: /* @__PURE__ */ optional$1(/* @__PURE__ */ boolean$1())
51789
+ }),
51582
51790
  execute: (input, { client }) => {
51583
51791
  const data = input;
51584
51792
  return client.runGeneratedRequest("createTasklessTimeEntryWithOrg", () => callGeneratedRequest(createTasklessTimeEntryWithOrg, [
@@ -51586,6 +51794,8 @@ const generatedFocusOperations = [
51586
51794
  client.organizationId,
51587
51795
  client.workspaceIdNumber,
51588
51796
  data.payload ?? data.data ?? data,
51797
+ data.from_recurring_task_id,
51798
+ data.return_occurrence,
51589
51799
  void 0
51590
51800
  ]));
51591
51801
  }
@@ -51605,7 +51815,11 @@ const generatedFocusOperations = [
51605
51815
  interactive: "default"
51606
51816
  },
51607
51817
  mcp: { entityTool: "time-entries" },
51608
- inputSchema: /* @__PURE__ */ looseObject({ time_entry_id: /* @__PURE__ */ number$2() }),
51818
+ inputSchema: /* @__PURE__ */ looseObject({
51819
+ from_recurring_task_id: /* @__PURE__ */ optional$1(/* @__PURE__ */ number$2()),
51820
+ return_occurrence: /* @__PURE__ */ optional$1(/* @__PURE__ */ boolean$1()),
51821
+ time_entry_id: /* @__PURE__ */ number$2()
51822
+ }),
51609
51823
  execute: (input, { client }) => {
51610
51824
  const data = input;
51611
51825
  return client.runGeneratedRequest("deleteTimeEntryWithOrg", () => callGeneratedRequest(deleteTimeEntryWithOrg, [
@@ -51613,6 +51827,8 @@ const generatedFocusOperations = [
51613
51827
  client.organizationId,
51614
51828
  client.workspaceIdNumber,
51615
51829
  data.time_entry_id,
51830
+ data.from_recurring_task_id,
51831
+ data.return_occurrence,
51616
51832
  void 0
51617
51833
  ]));
51618
51834
  }
@@ -51693,6 +51909,7 @@ const generatedFocusOperations = [
51693
51909
  expand_calendar_event: /* @__PURE__ */ unknown$1(),
51694
51910
  include_taskless: /* @__PURE__ */ unknown$1(),
51695
51911
  order_by: /* @__PURE__ */ unknown$1(),
51912
+ project_id: /* @__PURE__ */ number$2(),
51696
51913
  status_id: /* @__PURE__ */ number$2(),
51697
51914
  task_id: /* @__PURE__ */ number$2(),
51698
51915
  type: /* @__PURE__ */ unknown$1()
@@ -51869,12 +52086,14 @@ const generatedFocusOperations = [
51869
52086
  },
51870
52087
  mcp: { entityTool: "time-entries" },
51871
52088
  inputSchema: /* @__PURE__ */ looseObject({
52089
+ from_recurring_task_id: /* @__PURE__ */ optional$1(/* @__PURE__ */ number$2()),
51872
52090
  payload: /* @__PURE__ */ looseObject({
51873
52091
  billable: /* @__PURE__ */ optional$1(/* @__PURE__ */ boolean$1()),
51874
52092
  duration: /* @__PURE__ */ optional$1(/* @__PURE__ */ number$2()),
51875
52093
  reset_billable_to_default: /* @__PURE__ */ optional$1(/* @__PURE__ */ boolean$1()),
51876
52094
  type: /* @__PURE__ */ optional$1(/* @__PURE__ */ picklist$1(["activity", "break"]))
51877
52095
  }),
52096
+ return_occurrence: /* @__PURE__ */ optional$1(/* @__PURE__ */ boolean$1()),
51878
52097
  time_entry_id: /* @__PURE__ */ number$2()
51879
52098
  }),
51880
52099
  execute: (input, { client }) => {
@@ -51885,6 +52104,8 @@ const generatedFocusOperations = [
51885
52104
  client.workspaceIdNumber,
51886
52105
  data.time_entry_id,
51887
52106
  data.payload ?? data.data ?? data,
52107
+ data.from_recurring_task_id,
52108
+ data.return_occurrence,
51888
52109
  void 0
51889
52110
  ]));
51890
52111
  }
@@ -52142,6 +52363,7 @@ const generatedFocusOperations = [
52142
52363
  },
52143
52364
  mcp: { entityTool: "time-entries" },
52144
52365
  inputSchema: /* @__PURE__ */ looseObject({
52366
+ from_recurring_task_id: /* @__PURE__ */ optional$1(/* @__PURE__ */ number$2()),
52145
52367
  payload: /* @__PURE__ */ looseObject({
52146
52368
  type: /* @__PURE__ */ picklist$1(["activity", "break"]),
52147
52369
  calendar_event_id: /* @__PURE__ */ optional$1(/* @__PURE__ */ number$2()),
@@ -52154,6 +52376,7 @@ const generatedFocusOperations = [
52154
52376
  time_block_id: /* @__PURE__ */ optional$1(/* @__PURE__ */ number$2()),
52155
52377
  tracked_at: /* @__PURE__ */ optional$1(apiDateTimeString)
52156
52378
  }),
52379
+ return_occurrence: /* @__PURE__ */ optional$1(/* @__PURE__ */ boolean$1()),
52157
52380
  time_entry_id: /* @__PURE__ */ number$2()
52158
52381
  }),
52159
52382
  execute: (input, { client }) => {
@@ -52164,6 +52387,8 @@ const generatedFocusOperations = [
52164
52387
  client.workspaceIdNumber,
52165
52388
  data.time_entry_id,
52166
52389
  data.payload ?? data.data ?? data,
52390
+ data.from_recurring_task_id,
52391
+ data.return_occurrence,
52167
52392
  void 0
52168
52393
  ]));
52169
52394
  }
@@ -53249,6 +53474,56 @@ const generatedFocusOperations = [
53249
53474
  return client.listOrgUsers(data);
53250
53475
  }
53251
53476
  },
53477
+ {
53478
+ id: "focus.users.settings-email-unsubscribe",
53479
+ family: "focus",
53480
+ resource: "users",
53481
+ action: "settings-email-unsubscribe",
53482
+ title: "Settings Email Unsubscribe Users",
53483
+ description: "Settings Email Unsubscribe Users.",
53484
+ safety: "update",
53485
+ destructive: false,
53486
+ cli: {
53487
+ group: ["users", "settings"],
53488
+ command: "email-unsubscribe",
53489
+ interactive: "default"
53490
+ },
53491
+ mcp: { entityTool: "users" },
53492
+ inputSchema: /* @__PURE__ */ looseObject({ token: /* @__PURE__ */ string$1() }),
53493
+ execute: (input, { client }) => {
53494
+ const data = input;
53495
+ return client.runGeneratedRequest("emailUnsubscribe", () => callGeneratedRequest(emailUnsubscribe, [
53496
+ client.httpClient,
53497
+ data.token,
53498
+ void 0
53499
+ ]));
53500
+ }
53501
+ },
53502
+ {
53503
+ id: "focus.users.settings-email-unsubscribe-page",
53504
+ family: "focus",
53505
+ resource: "users",
53506
+ action: "settings-email-unsubscribe-page",
53507
+ title: "Settings Email Unsubscribe Page Users",
53508
+ description: "Settings Email Unsubscribe Page Users.",
53509
+ safety: "read",
53510
+ destructive: false,
53511
+ cli: {
53512
+ group: ["users", "settings"],
53513
+ command: "email-unsubscribe-page",
53514
+ interactive: "available"
53515
+ },
53516
+ mcp: { entityTool: "users" },
53517
+ inputSchema: /* @__PURE__ */ looseObject({ token: /* @__PURE__ */ string$1() }),
53518
+ execute: (input, { client }) => {
53519
+ const data = input;
53520
+ return client.runGeneratedRequest("emailUnsubscribePage", () => callGeneratedRequest(emailUnsubscribePage, [
53521
+ client.httpClient,
53522
+ data.token,
53523
+ void 0
53524
+ ]));
53525
+ }
53526
+ },
53252
53527
  {
53253
53528
  id: "focus.users.settings-list",
53254
53529
  family: "focus",
@@ -53310,6 +53585,9 @@ const generatedFocusOperations = [
53310
53585
  has_reached_task_threshold: /* @__PURE__ */ optional$1(/* @__PURE__ */ boolean$1()),
53311
53586
  import_data_banner_dismissed: /* @__PURE__ */ optional$1(/* @__PURE__ */ boolean$1()),
53312
53587
  new_users_trial_dismissed: /* @__PURE__ */ optional$1(/* @__PURE__ */ boolean$1()),
53588
+ notify_project_alerts: /* @__PURE__ */ optional$1(/* @__PURE__ */ boolean$1()),
53589
+ notify_project_member_added: /* @__PURE__ */ optional$1(/* @__PURE__ */ boolean$1()),
53590
+ notify_task_assigned: /* @__PURE__ */ optional$1(/* @__PURE__ */ boolean$1()),
53313
53591
  onboarding_checklist_dismissed: /* @__PURE__ */ optional$1(/* @__PURE__ */ boolean$1()),
53314
53592
  onboarding_flow_dismissed: /* @__PURE__ */ optional$1(/* @__PURE__ */ boolean$1()),
53315
53593
  onboarding_multi_day_task_created: /* @__PURE__ */ optional$1(/* @__PURE__ */ boolean$1()),
@@ -54853,7 +55131,7 @@ function registerWorkspaceTools(server) {
54853
55131
  //#region src/package-version.ts
54854
55132
  function mcpPackageVersion() {
54855
55133
  try {
54856
- return "1.11.27";
55134
+ return "1.11.29";
54857
55135
  } catch {
54858
55136
  return "unknown";
54859
55137
  }
@@ -55028,7 +55306,7 @@ import_main.default.config({
55028
55306
  quiet: true,
55029
55307
  ignore: ["MISSING_ENV_FILE"]
55030
55308
  });
55031
- const packageVersion = "1.11.27";
55309
+ const packageVersion = "1.11.29";
55032
55310
  function resolvePublicUrls() {
55033
55311
  return {
55034
55312
  focusApiUrl: process.env.TOGGL_FOCUS_API_URL ?? "https://focus.toggl.com",
@@ -55093,4 +55371,4 @@ function bootstrapServer(options = {}) {
55093
55371
  //#endregion
55094
55372
  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 };
55095
55373
 
55096
- //# sourceMappingURL=src-CuXxZWE_.js.map
55374
+ //# sourceMappingURL=src-CqyetBcp.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@togglhq/mcp",
3
- "version": "1.11.27",
3
+ "version": "1.11.29",
4
4
  "description": "Toggl 2.0 MCP server for Claude Code, Claude Desktop, and other MCP clients.",
5
5
  "license": "UNLICENSED",
6
6
  "type": "module",