@togglhq/mcp 1.11.42 → 1.11.43

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-Vmeai4eP.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-DhKcyQiT.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.42";
168
+ const packageVersion = "1.11.43";
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-Vmeai4eP.js";
2
+ import { n as runMcpCli, t as bootstrapServer } from "./src-DhKcyQiT.js";
3
3
  export { bootstrapServer, runMcpCli };
@@ -34769,6 +34769,7 @@ const TaskSchema = /* @__PURE__ */ object({
34769
34769
  description: /* @__PURE__ */ optional(/* @__PURE__ */ string()),
34770
34770
  end_date: /* @__PURE__ */ optional(/* @__PURE__ */ pipe(/* @__PURE__ */ string(), /* @__PURE__ */ isoDate())),
34771
34771
  estimated_mins: /* @__PURE__ */ optional(/* @__PURE__ */ number()),
34772
+ 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."))),
34772
34773
  metadata: /* @__PURE__ */ optional(TaskMetadataSchema),
34773
34774
  notes: /* @__PURE__ */ optional(/* @__PURE__ */ string()),
34774
34775
  parent_task_id: /* @__PURE__ */ optional(/* @__PURE__ */ number()),
@@ -34830,6 +34831,7 @@ const TaskWithParentAndAggregationsSchema = /* @__PURE__ */ object({
34830
34831
  description: /* @__PURE__ */ optional(/* @__PURE__ */ string()),
34831
34832
  end_date: /* @__PURE__ */ optional(/* @__PURE__ */ pipe(/* @__PURE__ */ string(), /* @__PURE__ */ isoDate())),
34832
34833
  estimated_mins: /* @__PURE__ */ optional(/* @__PURE__ */ number()),
34834
+ 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."))),
34833
34835
  metadata: /* @__PURE__ */ optional(TaskMetadataSchema),
34834
34836
  notes: /* @__PURE__ */ optional(/* @__PURE__ */ string()),
34835
34837
  parent: /* @__PURE__ */ optional(TaskSchema),
@@ -35012,6 +35014,8 @@ const TimeEntrySchema = /* @__PURE__ */ object({
35012
35014
  deleted_at: /* @__PURE__ */ optional(/* @__PURE__ */ pipe(/* @__PURE__ */ string(), /* @__PURE__ */ isoDateTime())),
35013
35015
  description: /* @__PURE__ */ optional(/* @__PURE__ */ string()),
35014
35016
  duration: /* @__PURE__ */ optional(/* @__PURE__ */ number()),
35017
+ 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."))),
35018
+ 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."))),
35015
35019
  planned_at: /* @__PURE__ */ optional(/* @__PURE__ */ pipe(/* @__PURE__ */ string(), /* @__PURE__ */ isoDateTime())),
35016
35020
  planned_duration: /* @__PURE__ */ optional(/* @__PURE__ */ number()),
35017
35021
  planned_start: /* @__PURE__ */ optional(/* @__PURE__ */ pipe(/* @__PURE__ */ string(), /* @__PURE__ */ isoDateTime())),
@@ -35097,6 +35101,7 @@ const ProjectWithAggregationsSchema = /* @__PURE__ */ object({
35097
35101
  description: /* @__PURE__ */ optional(/* @__PURE__ */ string()),
35098
35102
  end_date: /* @__PURE__ */ optional(/* @__PURE__ */ pipe(/* @__PURE__ */ string(), /* @__PURE__ */ isoDate())),
35099
35103
  estimated_mins: /* @__PURE__ */ optional(/* @__PURE__ */ number()),
35104
+ filtered_task_count: /* @__PURE__ */ optional(/* @__PURE__ */ number()),
35100
35105
  fixed_fee: /* @__PURE__ */ optional(ProjectFixedFeeSchema),
35101
35106
  parent_project_id: /* @__PURE__ */ optional(/* @__PURE__ */ number()),
35102
35107
  rate: /* @__PURE__ */ optional(EffectiveProjectRatesSummarySchema),
@@ -35176,6 +35181,8 @@ const PaginatedTimeEntryWithTasksSchema = /* @__PURE__ */ object({
35176
35181
  deleted_at: /* @__PURE__ */ optional(/* @__PURE__ */ pipe(/* @__PURE__ */ string(), /* @__PURE__ */ isoDateTime())),
35177
35182
  description: /* @__PURE__ */ optional(/* @__PURE__ */ string()),
35178
35183
  duration: /* @__PURE__ */ optional(/* @__PURE__ */ number()),
35184
+ 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."))),
35185
+ 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."))),
35179
35186
  planned_at: /* @__PURE__ */ optional(/* @__PURE__ */ pipe(/* @__PURE__ */ string(), /* @__PURE__ */ isoDateTime())),
35180
35187
  planned_duration: /* @__PURE__ */ optional(/* @__PURE__ */ number()),
35181
35188
  planned_start: /* @__PURE__ */ optional(/* @__PURE__ */ pipe(/* @__PURE__ */ string(), /* @__PURE__ */ isoDateTime())),
@@ -35406,6 +35413,7 @@ const TaskPartialUpdatePayloadSchema = /* @__PURE__ */ object({
35406
35413
  private: /* @__PURE__ */ optional(/* @__PURE__ */ boolean()),
35407
35414
  project_id: /* @__PURE__ */ optional(/* @__PURE__ */ nullable(/* @__PURE__ */ number())),
35408
35415
  recurring_task_id: /* @__PURE__ */ optional(/* @__PURE__ */ nullable(/* @__PURE__ */ number())),
35416
+ 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."))),
35409
35417
  rollup_enabled: /* @__PURE__ */ optional(/* @__PURE__ */ boolean()),
35410
35418
  rrule: /* @__PURE__ */ optional(/* @__PURE__ */ nullable(/* @__PURE__ */ string())),
35411
35419
  start_date: /* @__PURE__ */ optional(/* @__PURE__ */ nullable(/* @__PURE__ */ pipe(/* @__PURE__ */ string(), /* @__PURE__ */ isoDate()))),
@@ -35442,6 +35450,7 @@ const TaskPartialUpdatePayloadWithIDSchema = /* @__PURE__ */ object({
35442
35450
  private: /* @__PURE__ */ optional(/* @__PURE__ */ boolean()),
35443
35451
  project_id: /* @__PURE__ */ optional(/* @__PURE__ */ nullable(/* @__PURE__ */ number())),
35444
35452
  recurring_task_id: /* @__PURE__ */ optional(/* @__PURE__ */ nullable(/* @__PURE__ */ number())),
35453
+ 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."))),
35445
35454
  rollup_enabled: /* @__PURE__ */ optional(/* @__PURE__ */ boolean()),
35446
35455
  rrule: /* @__PURE__ */ optional(/* @__PURE__ */ nullable(/* @__PURE__ */ string())),
35447
35456
  start_date: /* @__PURE__ */ optional(/* @__PURE__ */ nullable(/* @__PURE__ */ pipe(/* @__PURE__ */ string(), /* @__PURE__ */ isoDate()))),
@@ -37388,7 +37397,7 @@ async function getOrganizationTeamsClassic(httpClient, organization_id, { worksp
37388
37397
  })
37389
37398
  }).json();
37390
37399
  }
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) {
37400
+ 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, track_without_focus, cf_filter, include_custom_fields, include_calendar_integration } = {}, signal) {
37392
37401
  const response = await httpClient.get(`organizations/${organization_id}/users`, {
37393
37402
  signal,
37394
37403
  searchParams: buildSearchParams$2({
@@ -37409,6 +37418,7 @@ async function getOrganizationUsersClassic(httpClient, organization_id, { worksp
37409
37418
  include_rates,
37410
37419
  pinned_ids,
37411
37420
  has_group,
37421
+ track_without_focus,
37412
37422
  cf_filter,
37413
37423
  include_custom_fields,
37414
37424
  include_calendar_integration
@@ -37510,10 +37520,18 @@ async function unarchiveTag(httpClient, workspace_id, tag_id, signal) {
37510
37520
  }
37511
37521
  //#endregion
37512
37522
  //#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) {
37523
+ 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
37524
  return await httpClient.get(`organizations/${organization_id}/workspaces/${workspace_id}/projects`, {
37515
37525
  signal,
37516
37526
  searchParams: buildSearchParams$2({
37527
+ include_task_counts,
37528
+ task_archived,
37529
+ task_recurring,
37530
+ task_state,
37531
+ task_source,
37532
+ task_assignee_user_id,
37533
+ task_assignee_team_id,
37534
+ task_name,
37517
37535
  page,
37518
37536
  per_page,
37519
37537
  order_by,
@@ -37763,7 +37781,7 @@ async function restoreStatuses(httpClient, workspace_id, status_id, signal) {
37763
37781
  }
37764
37782
  //#endregion
37765
37783
  //#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) {
37784
+ 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
37785
  return await httpClient.get(`organizations/${organization_id}/workspaces/${workspace_id}/tasks`, {
37768
37786
  signal,
37769
37787
  searchParams: buildSearchParams$2({
@@ -37814,7 +37832,11 @@ async function getTasksClassic(httpClient, organization_id, workspace_id, { page
37814
37832
  include_assignees,
37815
37833
  include_parent_matches,
37816
37834
  disable_aggregations,
37817
- cf_filter
37835
+ cf_filter,
37836
+ recurring_occurrences_after,
37837
+ max_recurring_occurrences_after,
37838
+ recurring_task_read,
37839
+ include_projected_occurrences
37818
37840
  })
37819
37841
  }).json();
37820
37842
  }
@@ -37889,16 +37911,17 @@ async function getTasksCalendarEvents(httpClient, organization_id, workspace_id,
37889
37911
  })
37890
37912
  }).json();
37891
37913
  }
37892
- async function putTasksCalendarRange(httpClient, organization_id, workspace_id, date_from, date_to, signal) {
37914
+ async function putTasksCalendarRange(httpClient, organization_id, workspace_id, date_from, date_to, skip_provider_refresh, signal) {
37893
37915
  return await httpClient.put(`organizations/${organization_id}/workspaces/${workspace_id}/tasks/calendar`, {
37894
37916
  signal,
37895
37917
  searchParams: buildSearchParams$2({
37896
37918
  date_from,
37897
- date_to
37919
+ date_to,
37920
+ skip_provider_refresh
37898
37921
  })
37899
37922
  }).json();
37900
37923
  }
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) {
37924
+ 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
37925
  return await httpClient.get(`organizations/${organization_id}/workspaces/${workspace_id}/tasks/recurring`, {
37903
37926
  signal,
37904
37927
  searchParams: buildSearchParams$2({
@@ -37914,11 +37937,15 @@ async function getTasksRecurringInstancesClassic(httpClient, organization_id, wo
37914
37937
  assignee_team_id,
37915
37938
  assignee_user_id,
37916
37939
  tag_id,
37917
- include_assignees
37940
+ include_assignees,
37941
+ recurring_occurrences_after,
37942
+ max_recurring_occurrences_after,
37943
+ recurring_task_read,
37944
+ include_projected_occurrences
37918
37945
  })
37919
37946
  }).json();
37920
37947
  }
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) {
37948
+ 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
37949
  return await httpClient.get(`organizations/${organization_id}/workspaces/${workspace_id}/tasks/stream`, {
37923
37950
  signal,
37924
37951
  searchParams: buildSearchParams$2({
@@ -37963,7 +37990,11 @@ async function getStreamTasks(httpClient, organization_id, workspace_id, { with_
37963
37990
  recurring_task_ids,
37964
37991
  client_id,
37965
37992
  include_assignees,
37966
- cf_filter
37993
+ cf_filter,
37994
+ recurring_occurrences_after,
37995
+ max_recurring_occurrences_after,
37996
+ recurring_task_read,
37997
+ include_projected_occurrences
37967
37998
  })
37968
37999
  }).json();
37969
38000
  }
@@ -38018,6 +38049,12 @@ async function getTaskWithChildrenClassic(httpClient, organization_id, workspace
38018
38049
  })
38019
38050
  }).json();
38020
38051
  }
38052
+ async function createRecurringOccurrence(httpClient, organization_id, workspace_id, task_id, return_occurrence, signal) {
38053
+ return await httpClient.post(`organizations/${organization_id}/workspaces/${workspace_id}/tasks/${task_id}/occurrences`, {
38054
+ signal,
38055
+ searchParams: buildSearchParams$2({ return_occurrence })
38056
+ }).json();
38057
+ }
38021
38058
  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
38059
  return await httpClient.get(`organizations/${organization_id}/workspaces/${workspace_id}/tasks/${task_id}/parents`, {
38023
38060
  signal,
@@ -38154,16 +38191,24 @@ async function getTaskTimeEntriesWithOrgClassic(httpClient, organization_id, wor
38154
38191
  })
38155
38192
  }).json();
38156
38193
  }
38157
- async function createTimeEntryWithOrg(httpClient, organization_id, workspace_id, task_id, data, signal) {
38194
+ async function createTimeEntryWithOrg(httpClient, organization_id, workspace_id, task_id, data, from_recurring_task_id, return_occurrence, signal) {
38158
38195
  return await httpClient.post(`organizations/${organization_id}/workspaces/${workspace_id}/tasks/${task_id}/time-entries`, {
38159
38196
  signal,
38160
- json: data
38197
+ json: data,
38198
+ searchParams: buildSearchParams$2({
38199
+ from_recurring_task_id,
38200
+ return_occurrence
38201
+ })
38161
38202
  }).json();
38162
38203
  }
38163
- async function createTasklessTimeEntryWithOrg(httpClient, organization_id, workspace_id, data, signal) {
38204
+ async function createTasklessTimeEntryWithOrg(httpClient, organization_id, workspace_id, data, from_recurring_task_id, return_occurrence, signal) {
38164
38205
  return await httpClient.post(`organizations/${organization_id}/workspaces/${workspace_id}/time-entries`, {
38165
38206
  signal,
38166
- json: data
38207
+ json: data,
38208
+ searchParams: buildSearchParams$2({
38209
+ from_recurring_task_id,
38210
+ return_occurrence
38211
+ })
38167
38212
  }).json();
38168
38213
  }
38169
38214
  async function getBatchTimeEntriesWithOrg(httpClient, organization_id, workspace_id, { ids }, signal) {
@@ -38214,7 +38259,7 @@ async function bulkSetDayDurationWithOrg(httpClient, organization_id, workspace_
38214
38259
  json: data
38215
38260
  }).json();
38216
38261
  }
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) {
38262
+ 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
38263
  return await httpClient.get(`organizations/${organization_id}/workspaces/${workspace_id}/time-entries/stream`, {
38219
38264
  signal,
38220
38265
  searchParams: buildSearchParams$2({
@@ -38222,6 +38267,7 @@ async function getStreamTimeEntriesRangeWithOrg(httpClient, organization_id, wor
38222
38267
  date_to,
38223
38268
  task_id,
38224
38269
  status_id,
38270
+ project_id,
38225
38271
  type,
38226
38272
  order_by,
38227
38273
  archived,
@@ -38245,19 +38291,33 @@ async function getStreamTimeEntriesTimeBlockIdsWithOrg(httpClient, organization_
38245
38291
  async function getTimeEntryWithOrg(httpClient, organization_id, workspace_id, time_entry_id, signal) {
38246
38292
  return await httpClient.get(`organizations/${organization_id}/workspaces/${workspace_id}/time-entries/${time_entry_id}`, { signal }).json();
38247
38293
  }
38248
- async function updateTimeEntryWithOrg(httpClient, organization_id, workspace_id, time_entry_id, data, signal) {
38294
+ async function updateTimeEntryWithOrg(httpClient, organization_id, workspace_id, time_entry_id, data, from_recurring_task_id, return_occurrence, signal) {
38249
38295
  return await httpClient.put(`organizations/${organization_id}/workspaces/${workspace_id}/time-entries/${time_entry_id}`, {
38250
38296
  signal,
38251
- json: data
38297
+ json: data,
38298
+ searchParams: buildSearchParams$2({
38299
+ from_recurring_task_id,
38300
+ return_occurrence
38301
+ })
38252
38302
  }).json();
38253
38303
  }
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();
38304
+ async function deleteTimeEntryWithOrg(httpClient, organization_id, workspace_id, time_entry_id, from_recurring_task_id, return_occurrence, signal) {
38305
+ return await httpClient.delete(`organizations/${organization_id}/workspaces/${workspace_id}/time-entries/${time_entry_id}`, {
38306
+ signal,
38307
+ searchParams: buildSearchParams$2({
38308
+ from_recurring_task_id,
38309
+ return_occurrence
38310
+ })
38311
+ }).json();
38256
38312
  }
38257
- async function partialUpdateTimeEntryWithOrg(httpClient, organization_id, workspace_id, time_entry_id, data, signal) {
38313
+ async function partialUpdateTimeEntryWithOrg(httpClient, organization_id, workspace_id, time_entry_id, data, from_recurring_task_id, return_occurrence, signal) {
38258
38314
  return await httpClient.patch(`organizations/${organization_id}/workspaces/${workspace_id}/time-entries/${time_entry_id}`, {
38259
38315
  signal,
38260
- json: data
38316
+ json: data,
38317
+ searchParams: buildSearchParams$2({
38318
+ from_recurring_task_id,
38319
+ return_occurrence
38320
+ })
38261
38321
  }).json();
38262
38322
  }
38263
38323
  async function archiveTimeEntryWithOrg(httpClient, organization_id, workspace_id, time_entry_id, signal) {
@@ -42154,13 +42214,15 @@ async function getWorkspaceAttachmentStorage(httpClient, organization_id, worksp
42154
42214
  }
42155
42215
  //#endregion
42156
42216
  //#region ../focus-queries/dist/audit-log/requests.ts
42157
- async function getOrganizationAuditLog(httpClient, organization_id, from, to, { workspace_id, entity_type, entity_id, action, user_id, page_size, page_number, export: export_ } = {}, signal) {
42217
+ 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) {
42158
42218
  return await httpClient.get(`organizations/${organization_id}/audit-log/${from}/${to}`, {
42159
42219
  signal,
42160
42220
  searchParams: buildSearchParams$2({
42161
42221
  workspace_id,
42162
42222
  entity_type,
42163
42223
  entity_id,
42224
+ project_id,
42225
+ custom_field_id,
42164
42226
  action,
42165
42227
  user_id,
42166
42228
  page_size,
@@ -42169,12 +42231,14 @@ async function getOrganizationAuditLog(httpClient, organization_id, from, to, {
42169
42231
  })
42170
42232
  }).json();
42171
42233
  }
42172
- async function getAuditLog(httpClient, organization_id, workspace_id, from, to, { entity_type, entity_id, action, user_id, page_size, page_number, export: export_ } = {}, signal) {
42234
+ 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) {
42173
42235
  return await httpClient.get(`organizations/${organization_id}/workspaces/${workspace_id}/audit-log/${from}/${to}`, {
42174
42236
  signal,
42175
42237
  searchParams: buildSearchParams$2({
42176
42238
  entity_type,
42177
42239
  entity_id,
42240
+ project_id,
42241
+ custom_field_id,
42178
42242
  action,
42179
42243
  user_id,
42180
42244
  page_size,
@@ -42327,13 +42391,14 @@ async function checkWorkspaceBillableRateConflicts(httpClient, organization_id,
42327
42391
  }
42328
42392
  //#endregion
42329
42393
  //#region ../focus-queries/dist/capacities/requests.ts
42330
- 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) {
42394
+ 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) {
42331
42395
  return await httpClient.get(`organizations/${organization_id}/workspaces/${workspace_id}/capacities/${group}`, {
42332
42396
  signal,
42333
42397
  searchParams: buildSearchParams$2({
42334
- user_id,
42335
42398
  start_date,
42336
42399
  end_date,
42400
+ user_id,
42401
+ team_id,
42337
42402
  private: private_,
42338
42403
  task_source,
42339
42404
  unit,
@@ -42393,6 +42458,15 @@ async function updateCustomField(httpClient, organization_id, workspace_id, cust
42393
42458
  async function deleteCustomField(httpClient, organization_id, workspace_id, custom_field_id, signal) {
42394
42459
  return await httpClient.delete(`organizations/${organization_id}/workspaces/${workspace_id}/custom-fields/${custom_field_id}`, { signal }).json();
42395
42460
  }
42461
+ async function getCustomFieldAllowedUsers(httpClient, organization_id, workspace_id, custom_field_id, signal) {
42462
+ return await httpClient.get(`organizations/${organization_id}/workspaces/${workspace_id}/custom-fields/${custom_field_id}/allowed-users`, { signal }).json();
42463
+ }
42464
+ async function replaceCustomFieldAllowedUsers(httpClient, organization_id, workspace_id, custom_field_id, data, signal) {
42465
+ return await httpClient.put(`organizations/${organization_id}/workspaces/${workspace_id}/custom-fields/${custom_field_id}/allowed-users`, {
42466
+ signal,
42467
+ json: data
42468
+ }).json();
42469
+ }
42396
42470
  async function getCustomFieldOptionsClassic(httpClient, organization_id, workspace_id, custom_field_id, { name, page, per_page, order_by } = {}, signal) {
42397
42471
  return await httpClient.get(`organizations/${organization_id}/workspaces/${workspace_id}/custom-fields/${custom_field_id}/options`, {
42398
42472
  signal,
@@ -42656,7 +42730,7 @@ async function restoreMilestone(httpClient, workspace_id, milestone_id, signal)
42656
42730
  }
42657
42731
  //#endregion
42658
42732
  //#region ../focus-queries/dist/project-groups/requests.ts
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) {
42733
+ 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, include_recurring_series, cf_filter } = {}, signal) {
42660
42734
  return await httpClient.get(`organizations/${organization_id}/workspaces/${workspace_id}/projects/groups/${group}`, {
42661
42735
  signal,
42662
42736
  searchParams: buildSearchParams$2({
@@ -42682,6 +42756,7 @@ async function getProjectGroupsClassic(httpClient, organization_id, workspace_id
42682
42756
  user_id,
42683
42757
  only_me,
42684
42758
  include_drafts,
42759
+ include_recurring_series,
42685
42760
  cf_filter
42686
42761
  })
42687
42762
  }).json();
@@ -42700,9 +42775,6 @@ async function setWorkspaceProjectMarginTarget(httpClient, organization_id, work
42700
42775
  json: data
42701
42776
  }).json();
42702
42777
  }
42703
- async function clearWorkspaceProjectMarginTarget(httpClient, organization_id, workspace_id, signal) {
42704
- return await httpClient.delete(`organizations/${organization_id}/workspaces/${workspace_id}/project-margin-targets/workspace`, { signal }).json();
42705
- }
42706
42778
  async function getProjectMarginTarget(httpClient, organization_id, workspace_id, project_id, signal) {
42707
42779
  return await httpClient.get(`organizations/${organization_id}/workspaces/${workspace_id}/project-margin-targets/${project_id}`, { signal }).json();
42708
42780
  }
@@ -43006,9 +43078,10 @@ async function updateTaskEstimateAllocations(httpClient, organization_id, worksp
43006
43078
  }
43007
43079
  //#endregion
43008
43080
  //#region ../focus-queries/dist/task-groups/requests.ts
43009
- 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) {
43081
+ 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) {
43010
43082
  return await httpClient.get(`organizations/${organization_id}/workspaces/${workspace_id}/tasks/groups/users/by-project`, {
43011
43083
  signal,
43084
+ headers: { "X-Timeline-Fetch-Trigger": xTimelineFetchTrigger },
43012
43085
  searchParams: buildSearchParams$2({
43013
43086
  project_id,
43014
43087
  source,
@@ -43037,13 +43110,18 @@ async function getUserTaskGroupsByProject(httpClient, organization_id, workspace
43037
43110
  min_days,
43038
43111
  include_drafts,
43039
43112
  cf_filter,
43040
- user_cf_filter
43113
+ user_cf_filter,
43114
+ recurring_occurrences_after,
43115
+ max_recurring_occurrences_after,
43116
+ recurring_task_read,
43117
+ include_projected_occurrences
43041
43118
  })
43042
43119
  }).json();
43043
43120
  }
43044
- 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) {
43121
+ 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) {
43045
43122
  return await httpClient.get(`organizations/${organization_id}/workspaces/${workspace_id}/tasks/groups/users/by-team`, {
43046
43123
  signal,
43124
+ headers: { "X-Timeline-Fetch-Trigger": xTimelineFetchTrigger },
43047
43125
  searchParams: buildSearchParams$2({
43048
43126
  team_id,
43049
43127
  project_id,
@@ -43072,13 +43150,18 @@ async function getUserTaskGroupsByTeam(httpClient, organization_id, workspace_id
43072
43150
  min_days,
43073
43151
  include_drafts,
43074
43152
  cf_filter,
43075
- user_cf_filter
43153
+ user_cf_filter,
43154
+ recurring_occurrences_after,
43155
+ max_recurring_occurrences_after,
43156
+ recurring_task_read,
43157
+ include_projected_occurrences
43076
43158
  })
43077
43159
  }).json();
43078
43160
  }
43079
- 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) {
43161
+ 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) {
43080
43162
  return await httpClient.get(`organizations/${organization_id}/workspaces/${workspace_id}/tasks/groups/${group}`, {
43081
43163
  signal,
43164
+ headers: { "X-Timeline-Fetch-Trigger": xTimelineFetchTrigger },
43082
43165
  searchParams: buildSearchParams$2({
43083
43166
  source,
43084
43167
  priority,
@@ -43108,6 +43191,10 @@ async function getTaskGroupsClassic(httpClient, organization_id, workspace_id, g
43108
43191
  include_drafts,
43109
43192
  cf_filter,
43110
43193
  user_cf_filter,
43194
+ recurring_occurrences_after,
43195
+ max_recurring_occurrences_after,
43196
+ recurring_task_read,
43197
+ include_projected_occurrences,
43111
43198
  page,
43112
43199
  per_page,
43113
43200
  order_by
@@ -43299,6 +43386,19 @@ async function bulkWithdrawTimesheets(httpClient, organization_id, workspace_id,
43299
43386
  json: data
43300
43387
  }).json();
43301
43388
  }
43389
+ async function getTimesheetStatusCounts(httpClient, organization_id, workspace_id, { date_from, date_to, setup_id, user_account_ids, approver_user_account_ids, team_ids }, signal) {
43390
+ return await httpClient.get(`organizations/${organization_id}/workspaces/${workspace_id}/timesheets/counts`, {
43391
+ signal,
43392
+ searchParams: buildSearchParams$2({
43393
+ date_from,
43394
+ date_to,
43395
+ setup_id,
43396
+ user_account_ids,
43397
+ approver_user_account_ids,
43398
+ team_ids
43399
+ })
43400
+ }).json();
43401
+ }
43302
43402
  async function removeTimesheetFlag(httpClient, organization_id, workspace_id, flag_id, signal) {
43303
43403
  return await httpClient.delete(`organizations/${organization_id}/workspaces/${workspace_id}/timesheets/flags/${flag_id}`, { signal }).json();
43304
43404
  }
@@ -43342,7 +43442,21 @@ async function withdrawTimesheet(httpClient, organization_id, workspace_id, setu
43342
43442
  return await httpClient.post(`organizations/${organization_id}/workspaces/${workspace_id}/timesheets/${setup_id}/${start_date}/${user_account_id}/withdraw`, { signal }).json();
43343
43443
  }
43344
43444
  //#endregion
43445
+ //#region ../focus-queries/dist/track-team-invites/requests.ts
43446
+ async function postTrackTeamInvites(httpClient, organization_id, workspace_id, data, signal) {
43447
+ return await httpClient.post(`organizations/${organization_id}/workspaces/${workspace_id}/track-team-invites`, {
43448
+ signal,
43449
+ json: data
43450
+ }).json();
43451
+ }
43452
+ //#endregion
43345
43453
  //#region ../focus-queries/dist/user-settings/requests.ts
43454
+ async function emailUnsubscribePage(httpClient, token, signal) {
43455
+ return await httpClient.get(`email/unsubscribe/${token}`, { signal }).json();
43456
+ }
43457
+ async function emailUnsubscribe(httpClient, token, signal) {
43458
+ return await httpClient.post(`email/unsubscribe/${token}`, { signal }).json();
43459
+ }
43346
43460
  async function getUserSettings(httpClient, signal) {
43347
43461
  return await httpClient.get(`users/me/settings`, { signal }).json();
43348
43462
  }
@@ -43582,6 +43696,7 @@ const generatedFocusOperations = [
43582
43696
  mcp: { entityTool: "audit-log" },
43583
43697
  inputSchema: /* @__PURE__ */ looseObject({
43584
43698
  action: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
43699
+ custom_field_id: /* @__PURE__ */ optional$1(/* @__PURE__ */ number$2()),
43585
43700
  entity_id: /* @__PURE__ */ optional$1(/* @__PURE__ */ number$2()),
43586
43701
  entity_type: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
43587
43702
  export: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
@@ -43589,6 +43704,7 @@ const generatedFocusOperations = [
43589
43704
  from: /* @__PURE__ */ string$1(),
43590
43705
  page_number: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
43591
43706
  page_size: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
43707
+ project_id: /* @__PURE__ */ optional$1(/* @__PURE__ */ number$2()),
43592
43708
  to: /* @__PURE__ */ string$1(),
43593
43709
  user_id: /* @__PURE__ */ optional$1(/* @__PURE__ */ number$2()),
43594
43710
  workspace_id: /* @__PURE__ */ optional$1(/* @__PURE__ */ number$2())
@@ -43622,6 +43738,7 @@ const generatedFocusOperations = [
43622
43738
  mcp: { entityTool: "audit-log" },
43623
43739
  inputSchema: /* @__PURE__ */ looseObject({
43624
43740
  action: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
43741
+ custom_field_id: /* @__PURE__ */ optional$1(/* @__PURE__ */ number$2()),
43625
43742
  entity_id: /* @__PURE__ */ optional$1(/* @__PURE__ */ number$2()),
43626
43743
  entity_type: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
43627
43744
  export: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
@@ -43629,6 +43746,7 @@ const generatedFocusOperations = [
43629
43746
  from: /* @__PURE__ */ string$1(),
43630
43747
  page_number: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
43631
43748
  page_size: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
43749
+ project_id: /* @__PURE__ */ optional$1(/* @__PURE__ */ number$2()),
43632
43750
  to: /* @__PURE__ */ string$1(),
43633
43751
  user_id: /* @__PURE__ */ optional$1(/* @__PURE__ */ number$2())
43634
43752
  }),
@@ -43668,6 +43786,7 @@ const generatedFocusOperations = [
43668
43786
  private_: /* @__PURE__ */ unknown$1(),
43669
43787
  start_date: /* @__PURE__ */ pipe$2(/* @__PURE__ */ string$1(), /* @__PURE__ */ isoDate$1()),
43670
43788
  task_source: /* @__PURE__ */ unknown$1(),
43789
+ team_id: /* @__PURE__ */ number$2(),
43671
43790
  unit: /* @__PURE__ */ unknown$1(),
43672
43791
  user_id: /* @__PURE__ */ number$2()
43673
43792
  }),
@@ -44108,6 +44227,33 @@ const generatedFocusOperations = [
44108
44227
  ]));
44109
44228
  }
44110
44229
  },
44230
+ {
44231
+ id: "focus.custom-fields.get-allowed-users",
44232
+ family: "focus",
44233
+ resource: "custom-fields",
44234
+ action: "get-allowed-users",
44235
+ title: "Get Allowed Users Custom Fields",
44236
+ description: "Get Allowed Users Custom Fields.",
44237
+ safety: "read",
44238
+ destructive: false,
44239
+ cli: {
44240
+ group: ["custom-fields"],
44241
+ command: "get-allowed-users",
44242
+ interactive: "available"
44243
+ },
44244
+ mcp: { entityTool: "custom-fields" },
44245
+ inputSchema: /* @__PURE__ */ looseObject({ custom_field_id: /* @__PURE__ */ number$2() }),
44246
+ execute: (input, { client }) => {
44247
+ const data = input;
44248
+ return client.runGeneratedRequest("getCustomFieldAllowedUsers", () => callGeneratedRequest(getCustomFieldAllowedUsers, [
44249
+ client.httpClient,
44250
+ client.organizationId,
44251
+ client.workspaceIdNumber,
44252
+ data.custom_field_id,
44253
+ void 0
44254
+ ]));
44255
+ }
44256
+ },
44111
44257
  {
44112
44258
  id: "focus.custom-fields.list",
44113
44259
  family: "focus",
@@ -44277,6 +44423,37 @@ const generatedFocusOperations = [
44277
44423
  ]));
44278
44424
  }
44279
44425
  },
44426
+ {
44427
+ id: "focus.custom-fields.replace-custom-field-allowed-users",
44428
+ family: "focus",
44429
+ resource: "custom-fields",
44430
+ action: "replace-custom-field-allowed-users",
44431
+ title: "Replace Custom Field Allowed Users Custom Fields",
44432
+ description: "Replace Custom Field Allowed Users Custom Fields.",
44433
+ safety: "update",
44434
+ destructive: false,
44435
+ cli: {
44436
+ group: ["custom-fields"],
44437
+ command: "replace-custom-field-allowed-users",
44438
+ interactive: "default"
44439
+ },
44440
+ mcp: { entityTool: "custom-fields" },
44441
+ inputSchema: /* @__PURE__ */ looseObject({
44442
+ custom_field_id: /* @__PURE__ */ number$2(),
44443
+ payload: /* @__PURE__ */ looseObject({ user_ids: /* @__PURE__ */ array$1(/* @__PURE__ */ number$2()) })
44444
+ }),
44445
+ execute: (input, { client }) => {
44446
+ const data = input;
44447
+ return client.runGeneratedRequest("replaceCustomFieldAllowedUsers", () => callGeneratedRequest(replaceCustomFieldAllowedUsers, [
44448
+ client.httpClient,
44449
+ client.organizationId,
44450
+ client.workspaceIdNumber,
44451
+ data.custom_field_id,
44452
+ data.payload ?? data.data ?? data,
44453
+ void 0
44454
+ ]));
44455
+ }
44456
+ },
44280
44457
  {
44281
44458
  id: "focus.custom-fields.update",
44282
44459
  family: "focus",
@@ -44423,13 +44600,7 @@ const generatedFocusOperations = [
44423
44600
  },
44424
44601
  mcp: { entityTool: "goals" },
44425
44602
  inputSchema: /* @__PURE__ */ looseObject({ payload: /* @__PURE__ */ looseObject({
44426
- billable: /* @__PURE__ */ boolean$1(),
44427
44603
  comparison: /* @__PURE__ */ picklist$1(["more_than", "less_than"]),
44428
- end_date: /* @__PURE__ */ pipe$2(/* @__PURE__ */ string$1(), /* @__PURE__ */ isoDate$1()),
44429
- icon: /* @__PURE__ */ string$1(),
44430
- monthly_anchor: /* @__PURE__ */ picklist$1(["calendar", "first_workday"]),
44431
- name: /* @__PURE__ */ string$1(),
44432
- project_ids: /* @__PURE__ */ array$1(/* @__PURE__ */ number$2()),
44433
44604
  recurrence: /* @__PURE__ */ picklist$1([
44434
44605
  "daily",
44435
44606
  "weekly",
@@ -44437,12 +44608,18 @@ const generatedFocusOperations = [
44437
44608
  "monthly"
44438
44609
  ]),
44439
44610
  start_date: /* @__PURE__ */ pipe$2(/* @__PURE__ */ string$1(), /* @__PURE__ */ isoDate$1()),
44440
- tag_ids: /* @__PURE__ */ array$1(/* @__PURE__ */ number$2()),
44441
44611
  target_seconds: /* @__PURE__ */ number$2(),
44442
- task_ids: /* @__PURE__ */ array$1(/* @__PURE__ */ number$2()),
44443
- weekdays: /* @__PURE__ */ array$1(/* @__PURE__ */ number$2()),
44612
+ billable: /* @__PURE__ */ optional$1(/* @__PURE__ */ boolean$1()),
44444
44613
  client_ids: /* @__PURE__ */ optional$1(/* @__PURE__ */ array$1(/* @__PURE__ */ number$2())),
44445
- description: /* @__PURE__ */ optional$1(/* @__PURE__ */ string$1())
44614
+ description: /* @__PURE__ */ optional$1(/* @__PURE__ */ string$1()),
44615
+ end_date: /* @__PURE__ */ optional$1(/* @__PURE__ */ pipe$2(/* @__PURE__ */ string$1(), /* @__PURE__ */ isoDate$1())),
44616
+ icon: /* @__PURE__ */ optional$1(/* @__PURE__ */ string$1()),
44617
+ monthly_anchor: /* @__PURE__ */ optional$1(/* @__PURE__ */ picklist$1(["calendar", "first_workday"])),
44618
+ name: /* @__PURE__ */ optional$1(/* @__PURE__ */ string$1()),
44619
+ project_ids: /* @__PURE__ */ optional$1(/* @__PURE__ */ array$1(/* @__PURE__ */ number$2())),
44620
+ tag_ids: /* @__PURE__ */ optional$1(/* @__PURE__ */ array$1(/* @__PURE__ */ number$2())),
44621
+ task_ids: /* @__PURE__ */ optional$1(/* @__PURE__ */ array$1(/* @__PURE__ */ number$2())),
44622
+ weekdays: /* @__PURE__ */ optional$1(/* @__PURE__ */ array$1(/* @__PURE__ */ number$2()))
44446
44623
  }) }),
44447
44624
  execute: (input, { client }) => {
44448
44625
  const data = input;
@@ -44548,13 +44725,6 @@ const generatedFocusOperations = [
44548
44725
  },
44549
44726
  mcp: { entityTool: "goals" },
44550
44727
  inputSchema: /* @__PURE__ */ looseObject({ payload: /* @__PURE__ */ looseObject({
44551
- billable: /* @__PURE__ */ boolean$1(),
44552
- comparison: /* @__PURE__ */ picklist$1(["more_than", "less_than"]),
44553
- end_date: /* @__PURE__ */ pipe$2(/* @__PURE__ */ string$1(), /* @__PURE__ */ isoDate$1()),
44554
- icon: /* @__PURE__ */ string$1(),
44555
- monthly_anchor: /* @__PURE__ */ picklist$1(["calendar", "first_workday"]),
44556
- name: /* @__PURE__ */ string$1(),
44557
- project_ids: /* @__PURE__ */ array$1(/* @__PURE__ */ number$2()),
44558
44728
  recurrence: /* @__PURE__ */ picklist$1([
44559
44729
  "daily",
44560
44730
  "weekly",
@@ -44562,12 +44732,19 @@ const generatedFocusOperations = [
44562
44732
  "monthly"
44563
44733
  ]),
44564
44734
  start_date: /* @__PURE__ */ pipe$2(/* @__PURE__ */ string$1(), /* @__PURE__ */ isoDate$1()),
44565
- tag_ids: /* @__PURE__ */ array$1(/* @__PURE__ */ number$2()),
44566
- target_seconds: /* @__PURE__ */ number$2(),
44567
- task_ids: /* @__PURE__ */ array$1(/* @__PURE__ */ number$2()),
44568
- weekdays: /* @__PURE__ */ array$1(/* @__PURE__ */ number$2()),
44735
+ billable: /* @__PURE__ */ optional$1(/* @__PURE__ */ boolean$1()),
44569
44736
  client_ids: /* @__PURE__ */ optional$1(/* @__PURE__ */ array$1(/* @__PURE__ */ number$2())),
44570
- description: /* @__PURE__ */ optional$1(/* @__PURE__ */ string$1())
44737
+ comparison: /* @__PURE__ */ optional$1(/* @__PURE__ */ picklist$1(["more_than", "less_than"])),
44738
+ description: /* @__PURE__ */ optional$1(/* @__PURE__ */ string$1()),
44739
+ end_date: /* @__PURE__ */ optional$1(/* @__PURE__ */ pipe$2(/* @__PURE__ */ string$1(), /* @__PURE__ */ isoDate$1())),
44740
+ icon: /* @__PURE__ */ optional$1(/* @__PURE__ */ string$1()),
44741
+ monthly_anchor: /* @__PURE__ */ optional$1(/* @__PURE__ */ picklist$1(["calendar", "first_workday"])),
44742
+ name: /* @__PURE__ */ optional$1(/* @__PURE__ */ string$1()),
44743
+ project_ids: /* @__PURE__ */ optional$1(/* @__PURE__ */ array$1(/* @__PURE__ */ number$2())),
44744
+ tag_ids: /* @__PURE__ */ optional$1(/* @__PURE__ */ array$1(/* @__PURE__ */ number$2())),
44745
+ target_seconds: /* @__PURE__ */ optional$1(/* @__PURE__ */ number$2()),
44746
+ task_ids: /* @__PURE__ */ optional$1(/* @__PURE__ */ array$1(/* @__PURE__ */ number$2())),
44747
+ weekdays: /* @__PURE__ */ optional$1(/* @__PURE__ */ array$1(/* @__PURE__ */ number$2()))
44571
44748
  }) }),
44572
44749
  execute: (input, { client }) => {
44573
44750
  const data = input;
@@ -45534,9 +45711,17 @@ const generatedFocusOperations = [
45534
45711
  mcp: { entityTool: "projects" },
45535
45712
  inputSchema: /* @__PURE__ */ looseObject({
45536
45713
  payload: /* @__PURE__ */ looseObject({
45714
+ auto_compute_estimates: /* @__PURE__ */ optional$1(/* @__PURE__ */ boolean$1()),
45715
+ completion_mode: /* @__PURE__ */ optional$1(/* @__PURE__ */ picklist$1(["manual", "automatic"])),
45537
45716
  end_date: /* @__PURE__ */ optional$1(/* @__PURE__ */ pipe$2(/* @__PURE__ */ string$1(), /* @__PURE__ */ isoDate$1())),
45538
45717
  name: /* @__PURE__ */ optional$1(/* @__PURE__ */ string$1()),
45539
45718
  pinned: /* @__PURE__ */ optional$1(/* @__PURE__ */ boolean$1()),
45719
+ rollover_mode: /* @__PURE__ */ optional$1(/* @__PURE__ */ picklist$1([
45720
+ "expire",
45721
+ "carry_all",
45722
+ "carry_over"
45723
+ ])),
45724
+ rrule: /* @__PURE__ */ optional$1(/* @__PURE__ */ string$1()),
45540
45725
  start_date: /* @__PURE__ */ optional$1(/* @__PURE__ */ pipe$2(/* @__PURE__ */ string$1(), /* @__PURE__ */ isoDate$1()))
45541
45726
  }),
45542
45727
  project_id: /* @__PURE__ */ number$2()
@@ -45980,6 +46165,7 @@ const generatedFocusOperations = [
45980
46165
  group: /* @__PURE__ */ string$1(),
45981
46166
  include_drafts: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
45982
46167
  include_group_totals: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
46168
+ include_recurring_series: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
45983
46169
  include_unassigned: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
45984
46170
  name: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
45985
46171
  only_me: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
@@ -46082,29 +46268,6 @@ const generatedFocusOperations = [
46082
46268
  ]));
46083
46269
  }
46084
46270
  },
46085
- {
46086
- id: "focus.projects.margin-targets-clear-workspace",
46087
- family: "focus",
46088
- resource: "projects",
46089
- action: "margin-targets-clear-workspace",
46090
- title: "Margin Targets Clear Workspace Projects",
46091
- description: "Margin Targets Clear Workspace Projects.",
46092
- safety: "delete",
46093
- destructive: true,
46094
- cli: {
46095
- group: ["projects", "margin-targets"],
46096
- command: "clear-workspace",
46097
- interactive: "default"
46098
- },
46099
- mcp: { entityTool: "projects" },
46100
- inputSchema: /* @__PURE__ */ looseObject({}),
46101
- execute: (_input, { client }) => client.runGeneratedRequest("clearWorkspaceProjectMarginTarget", () => callGeneratedRequest(clearWorkspaceProjectMarginTarget, [
46102
- client.httpClient,
46103
- client.organizationId,
46104
- client.workspaceIdNumber,
46105
- void 0
46106
- ]))
46107
- },
46108
46271
  {
46109
46272
  id: "focus.projects.margin-targets-get",
46110
46273
  family: "focus",
@@ -48507,7 +48670,7 @@ const generatedFocusOperations = [
48507
48670
  cli: {
48508
48671
  group: ["reportschedules"],
48509
48672
  command: "upsert-saved-view-schedule",
48510
- interactive: "default"
48673
+ interactive: "hidden"
48511
48674
  },
48512
48675
  mcp: { entityTool: "reportschedules" },
48513
48676
  inputSchema: /* @__PURE__ */ looseObject({
@@ -48518,8 +48681,10 @@ const generatedFocusOperations = [
48518
48681
  "weekly",
48519
48682
  "monthly"
48520
48683
  ]),
48684
+ charts: /* @__PURE__ */ unknown$1(),
48521
48685
  time: /* @__PURE__ */ string$1(),
48522
48686
  day: /* @__PURE__ */ optional$1(/* @__PURE__ */ number$2()),
48687
+ period: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
48523
48688
  recipient_team_ids: /* @__PURE__ */ optional$1(/* @__PURE__ */ array$1(/* @__PURE__ */ number$2())),
48524
48689
  recipient_user_ids: /* @__PURE__ */ optional$1(/* @__PURE__ */ array$1(/* @__PURE__ */ number$2())),
48525
48690
  recipient_workspace_ids: /* @__PURE__ */ optional$1(/* @__PURE__ */ array$1(/* @__PURE__ */ number$2()))
@@ -50068,6 +50233,37 @@ const generatedFocusOperations = [
50068
50233
  return client.createTask(data);
50069
50234
  }
50070
50235
  },
50236
+ {
50237
+ id: "focus.tasks.create-recurring-occurrence",
50238
+ family: "focus",
50239
+ resource: "tasks",
50240
+ action: "create-recurring-occurrence",
50241
+ title: "Create Recurring Occurrence Tasks",
50242
+ description: "Create Recurring Occurrence Tasks.",
50243
+ safety: "create",
50244
+ destructive: false,
50245
+ cli: {
50246
+ group: ["tasks"],
50247
+ command: "create-recurring-occurrence",
50248
+ interactive: "default"
50249
+ },
50250
+ mcp: { entityTool: "tasks" },
50251
+ inputSchema: /* @__PURE__ */ looseObject({
50252
+ return_occurrence: /* @__PURE__ */ optional$1(/* @__PURE__ */ boolean$1()),
50253
+ task_id: /* @__PURE__ */ number$2()
50254
+ }),
50255
+ execute: (input, { client }) => {
50256
+ const data = input;
50257
+ return client.runGeneratedRequest("createRecurringOccurrence", () => callGeneratedRequest(createRecurringOccurrence, [
50258
+ client.httpClient,
50259
+ client.organizationId,
50260
+ client.workspaceIdNumber,
50261
+ data.task_id,
50262
+ data.return_occurrence,
50263
+ void 0
50264
+ ]));
50265
+ }
50266
+ },
50071
50267
  {
50072
50268
  id: "focus.tasks.delete",
50073
50269
  family: "focus",
@@ -50315,9 +50511,13 @@ const generatedFocusOperations = [
50315
50511
  dates_overlap_start: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
50316
50512
  end_date: /* @__PURE__ */ optional$1(/* @__PURE__ */ pipe$2(/* @__PURE__ */ string$1(), /* @__PURE__ */ isoDate$1())),
50317
50513
  include_assignees: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
50514
+ include_projected_occurrences: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
50515
+ max_recurring_occurrences_after: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
50318
50516
  page: /* @__PURE__ */ optional$1(/* @__PURE__ */ number$2()),
50319
50517
  per_page: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
50518
+ recurring_occurrences_after: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
50320
50519
  recurring_task_ids: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
50520
+ recurring_task_read: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
50321
50521
  start_date: /* @__PURE__ */ optional$1(/* @__PURE__ */ pipe$2(/* @__PURE__ */ string$1(), /* @__PURE__ */ isoDate$1())),
50322
50522
  tag_id: /* @__PURE__ */ optional$1(tagIdFilterSchema),
50323
50523
  team_id: /* @__PURE__ */ optional$1(/* @__PURE__ */ number$2())
@@ -50369,7 +50569,9 @@ const generatedFocusOperations = [
50369
50569
  include_drafts: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
50370
50570
  include_parent_matches: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
50371
50571
  include_project_completed: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
50572
+ include_projected_occurrences: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
50372
50573
  is_priority: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
50574
+ max_recurring_occurrences_after: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
50373
50575
  name: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
50374
50576
  order_by: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
50375
50577
  parent_task_id: /* @__PURE__ */ optional$1(/* @__PURE__ */ number$2()),
@@ -50378,7 +50580,9 @@ const generatedFocusOperations = [
50378
50580
  private_: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
50379
50581
  project_id: /* @__PURE__ */ optional$1(/* @__PURE__ */ number$2()),
50380
50582
  recurring: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
50583
+ recurring_occurrences_after: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
50381
50584
  recurring_task_ids: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
50585
+ recurring_task_read: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
50382
50586
  source: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
50383
50587
  start_date: /* @__PURE__ */ optional$1(/* @__PURE__ */ pipe$2(/* @__PURE__ */ string$1(), /* @__PURE__ */ isoDate$1())),
50384
50588
  start_date_from: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
@@ -50516,8 +50720,10 @@ const generatedFocusOperations = [
50516
50720
  group_id: /* @__PURE__ */ optional$1(/* @__PURE__ */ number$2()),
50517
50721
  include_assignees: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
50518
50722
  include_drafts: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
50723
+ include_projected_occurrences: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
50519
50724
  include_unassigned: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
50520
50725
  include_unmaterialized: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
50726
+ max_recurring_occurrences_after: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
50521
50727
  min_days: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
50522
50728
  name: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
50523
50729
  order_by: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
@@ -50526,6 +50732,8 @@ const generatedFocusOperations = [
50526
50732
  priority: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
50527
50733
  private_: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
50528
50734
  project_id: /* @__PURE__ */ optional$1(/* @__PURE__ */ number$2()),
50735
+ recurring_occurrences_after: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
50736
+ recurring_task_read: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
50529
50737
  source: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
50530
50738
  start_date: /* @__PURE__ */ optional$1(/* @__PURE__ */ pipe$2(/* @__PURE__ */ string$1(), /* @__PURE__ */ isoDate$1())),
50531
50739
  start_date_from: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
@@ -50534,7 +50742,8 @@ const generatedFocusOperations = [
50534
50742
  tag_id: /* @__PURE__ */ optional$1(tagIdFilterSchema),
50535
50743
  team_id: /* @__PURE__ */ optional$1(/* @__PURE__ */ number$2()),
50536
50744
  user_cf_filter: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
50537
- user_tag_id: /* @__PURE__ */ optional$1(/* @__PURE__ */ number$2())
50745
+ user_tag_id: /* @__PURE__ */ optional$1(/* @__PURE__ */ number$2()),
50746
+ xTimelineFetchTrigger: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1())
50538
50747
  }),
50539
50748
  execute: (input, { client }) => {
50540
50749
  const data = input;
@@ -50576,13 +50785,17 @@ const generatedFocusOperations = [
50576
50785
  group_id: /* @__PURE__ */ number$2(),
50577
50786
  include_assignees: /* @__PURE__ */ unknown$1(),
50578
50787
  include_drafts: /* @__PURE__ */ unknown$1(),
50788
+ include_projected_occurrences: /* @__PURE__ */ unknown$1(),
50579
50789
  include_unassigned: /* @__PURE__ */ unknown$1(),
50580
50790
  include_unmaterialized: /* @__PURE__ */ unknown$1(),
50791
+ max_recurring_occurrences_after: /* @__PURE__ */ unknown$1(),
50581
50792
  min_days: /* @__PURE__ */ unknown$1(),
50582
50793
  name: /* @__PURE__ */ unknown$1(),
50583
50794
  priority: /* @__PURE__ */ unknown$1(),
50584
50795
  private_: /* @__PURE__ */ unknown$1(),
50585
50796
  project_id: /* @__PURE__ */ number$2(),
50797
+ recurring_occurrences_after: /* @__PURE__ */ unknown$1(),
50798
+ recurring_task_read: /* @__PURE__ */ unknown$1(),
50586
50799
  source: /* @__PURE__ */ unknown$1(),
50587
50800
  start_date: /* @__PURE__ */ pipe$2(/* @__PURE__ */ string$1(), /* @__PURE__ */ isoDate$1()),
50588
50801
  start_date_from: /* @__PURE__ */ unknown$1(),
@@ -50591,7 +50804,8 @@ const generatedFocusOperations = [
50591
50804
  tag_id: /* @__PURE__ */ number$2(),
50592
50805
  team_id: /* @__PURE__ */ number$2(),
50593
50806
  user_cf_filter: /* @__PURE__ */ unknown$1(),
50594
- user_tag_id: /* @__PURE__ */ number$2()
50807
+ user_tag_id: /* @__PURE__ */ number$2(),
50808
+ xTimelineFetchTrigger: /* @__PURE__ */ unknown$1()
50595
50809
  }),
50596
50810
  execute: (input, { client }) => {
50597
50811
  const data = input;
@@ -50632,13 +50846,17 @@ const generatedFocusOperations = [
50632
50846
  group_id: /* @__PURE__ */ optional$1(/* @__PURE__ */ number$2()),
50633
50847
  include_assignees: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
50634
50848
  include_drafts: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
50849
+ include_projected_occurrences: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
50635
50850
  include_unassigned: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
50636
50851
  include_unmaterialized: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
50852
+ max_recurring_occurrences_after: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
50637
50853
  min_days: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
50638
50854
  name: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
50639
50855
  priority: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
50640
50856
  private_: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
50641
50857
  project_id: /* @__PURE__ */ optional$1(/* @__PURE__ */ number$2()),
50858
+ recurring_occurrences_after: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
50859
+ recurring_task_read: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
50642
50860
  source: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
50643
50861
  start_date: /* @__PURE__ */ optional$1(/* @__PURE__ */ pipe$2(/* @__PURE__ */ string$1(), /* @__PURE__ */ isoDate$1())),
50644
50862
  start_date_from: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
@@ -50647,7 +50865,8 @@ const generatedFocusOperations = [
50647
50865
  tag_id: /* @__PURE__ */ optional$1(/* @__PURE__ */ number$2()),
50648
50866
  team_id: /* @__PURE__ */ optional$1(/* @__PURE__ */ number$2()),
50649
50867
  user_cf_filter: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
50650
- user_tag_id: /* @__PURE__ */ optional$1(/* @__PURE__ */ number$2())
50868
+ user_tag_id: /* @__PURE__ */ optional$1(/* @__PURE__ */ number$2()),
50869
+ xTimelineFetchTrigger: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1())
50651
50870
  }),
50652
50871
  execute: (input, { client }) => {
50653
50872
  const data = input;
@@ -50918,7 +51137,8 @@ const generatedFocusOperations = [
50918
51137
  mcp: { entityTool: "tasks" },
50919
51138
  inputSchema: /* @__PURE__ */ looseObject({
50920
51139
  date_from: /* @__PURE__ */ string$1(),
50921
- date_to: /* @__PURE__ */ string$1()
51140
+ date_to: /* @__PURE__ */ string$1(),
51141
+ skip_provider_refresh: /* @__PURE__ */ optional$1(/* @__PURE__ */ boolean$1())
50922
51142
  }),
50923
51143
  execute: (input, { client }) => {
50924
51144
  const data = input;
@@ -50928,6 +51148,7 @@ const generatedFocusOperations = [
50928
51148
  client.workspaceIdNumber,
50929
51149
  data.date_from,
50930
51150
  data.date_to,
51151
+ data.skip_provider_refresh,
50931
51152
  void 0
50932
51153
  ]));
50933
51154
  }
@@ -51514,7 +51735,8 @@ const generatedFocusOperations = [
51514
51735
  required_fields: /* @__PURE__ */ array$1(/* @__PURE__ */ looseObject({ kind: /* @__PURE__ */ picklist$1([
51515
51736
  "project",
51516
51737
  "task",
51517
- "description"
51738
+ "description",
51739
+ "tags"
51518
51740
  ]) })),
51519
51741
  disallow_billable_override: /* @__PURE__ */ optional$1(/* @__PURE__ */ boolean$1())
51520
51742
  }) }),
@@ -51544,6 +51766,7 @@ const generatedFocusOperations = [
51544
51766
  },
51545
51767
  mcp: { entityTool: "time-entries" },
51546
51768
  inputSchema: /* @__PURE__ */ looseObject({
51769
+ from_recurring_task_id: /* @__PURE__ */ optional$1(/* @__PURE__ */ number$2()),
51547
51770
  payload: /* @__PURE__ */ looseObject({
51548
51771
  type: /* @__PURE__ */ optional$1(/* @__PURE__ */ picklist$1(["activity", "break"]), "activity"),
51549
51772
  billable: /* @__PURE__ */ optional$1(/* @__PURE__ */ boolean$1()),
@@ -51554,11 +51777,13 @@ const generatedFocusOperations = [
51554
51777
  planned_duration: /* @__PURE__ */ optional$1(/* @__PURE__ */ number$2()),
51555
51778
  planned_start: /* @__PURE__ */ optional$1(/* @__PURE__ */ string$1()),
51556
51779
  project_id: /* @__PURE__ */ optional$1(/* @__PURE__ */ number$2()),
51780
+ repeat_time_entry: /* @__PURE__ */ optional$1(/* @__PURE__ */ boolean$1()),
51557
51781
  start: /* @__PURE__ */ optional$1(apiDateTimeString),
51558
51782
  time_block_id: /* @__PURE__ */ optional$1(/* @__PURE__ */ number$2()),
51559
51783
  tracked_at: /* @__PURE__ */ optional$1(apiDateTimeString),
51560
51784
  user_id: /* @__PURE__ */ optional$1(/* @__PURE__ */ number$2())
51561
51785
  }),
51786
+ return_occurrence: /* @__PURE__ */ optional$1(/* @__PURE__ */ boolean$1()),
51562
51787
  task_id: /* @__PURE__ */ number$2()
51563
51788
  }),
51564
51789
  execute: (input, { client }) => {
@@ -51569,6 +51794,8 @@ const generatedFocusOperations = [
51569
51794
  client.workspaceIdNumber,
51570
51795
  data.task_id,
51571
51796
  data.payload ?? data.data ?? data,
51797
+ data.from_recurring_task_id,
51798
+ data.return_occurrence,
51572
51799
  void 0
51573
51800
  ]));
51574
51801
  }
@@ -51588,21 +51815,26 @@ const generatedFocusOperations = [
51588
51815
  interactive: "default"
51589
51816
  },
51590
51817
  mcp: { entityTool: "time-entries" },
51591
- inputSchema: /* @__PURE__ */ looseObject({ payload: /* @__PURE__ */ looseObject({
51592
- type: /* @__PURE__ */ optional$1(/* @__PURE__ */ picklist$1(["activity", "break"]), "activity"),
51593
- billable: /* @__PURE__ */ optional$1(/* @__PURE__ */ boolean$1()),
51594
- calendar_event_id: /* @__PURE__ */ optional$1(/* @__PURE__ */ number$2()),
51595
- description: /* @__PURE__ */ optional$1(/* @__PURE__ */ string$1()),
51596
- duration: /* @__PURE__ */ optional$1(/* @__PURE__ */ number$2()),
51597
- planned_at: /* @__PURE__ */ optional$1(apiDateTimeString),
51598
- planned_duration: /* @__PURE__ */ optional$1(/* @__PURE__ */ number$2()),
51599
- planned_start: /* @__PURE__ */ optional$1(/* @__PURE__ */ string$1()),
51600
- project_id: /* @__PURE__ */ optional$1(/* @__PURE__ */ number$2()),
51601
- start: /* @__PURE__ */ optional$1(apiDateTimeString),
51602
- time_block_id: /* @__PURE__ */ optional$1(/* @__PURE__ */ number$2()),
51603
- tracked_at: /* @__PURE__ */ optional$1(apiDateTimeString),
51604
- user_id: /* @__PURE__ */ optional$1(/* @__PURE__ */ number$2())
51605
- }) }),
51818
+ inputSchema: /* @__PURE__ */ looseObject({
51819
+ from_recurring_task_id: /* @__PURE__ */ optional$1(/* @__PURE__ */ number$2()),
51820
+ payload: /* @__PURE__ */ looseObject({
51821
+ type: /* @__PURE__ */ optional$1(/* @__PURE__ */ picklist$1(["activity", "break"]), "activity"),
51822
+ billable: /* @__PURE__ */ optional$1(/* @__PURE__ */ boolean$1()),
51823
+ calendar_event_id: /* @__PURE__ */ optional$1(/* @__PURE__ */ number$2()),
51824
+ description: /* @__PURE__ */ optional$1(/* @__PURE__ */ string$1()),
51825
+ duration: /* @__PURE__ */ optional$1(/* @__PURE__ */ number$2()),
51826
+ planned_at: /* @__PURE__ */ optional$1(apiDateTimeString),
51827
+ planned_duration: /* @__PURE__ */ optional$1(/* @__PURE__ */ number$2()),
51828
+ planned_start: /* @__PURE__ */ optional$1(/* @__PURE__ */ string$1()),
51829
+ project_id: /* @__PURE__ */ optional$1(/* @__PURE__ */ number$2()),
51830
+ repeat_time_entry: /* @__PURE__ */ optional$1(/* @__PURE__ */ boolean$1()),
51831
+ start: /* @__PURE__ */ optional$1(apiDateTimeString),
51832
+ time_block_id: /* @__PURE__ */ optional$1(/* @__PURE__ */ number$2()),
51833
+ tracked_at: /* @__PURE__ */ optional$1(apiDateTimeString),
51834
+ user_id: /* @__PURE__ */ optional$1(/* @__PURE__ */ number$2())
51835
+ }),
51836
+ return_occurrence: /* @__PURE__ */ optional$1(/* @__PURE__ */ boolean$1())
51837
+ }),
51606
51838
  execute: (input, { client }) => {
51607
51839
  const data = input;
51608
51840
  return client.runGeneratedRequest("createTasklessTimeEntryWithOrg", () => callGeneratedRequest(createTasklessTimeEntryWithOrg, [
@@ -51610,6 +51842,8 @@ const generatedFocusOperations = [
51610
51842
  client.organizationId,
51611
51843
  client.workspaceIdNumber,
51612
51844
  data.payload ?? data.data ?? data,
51845
+ data.from_recurring_task_id,
51846
+ data.return_occurrence,
51613
51847
  void 0
51614
51848
  ]));
51615
51849
  }
@@ -51629,7 +51863,11 @@ const generatedFocusOperations = [
51629
51863
  interactive: "default"
51630
51864
  },
51631
51865
  mcp: { entityTool: "time-entries" },
51632
- inputSchema: /* @__PURE__ */ looseObject({ time_entry_id: /* @__PURE__ */ number$2() }),
51866
+ inputSchema: /* @__PURE__ */ looseObject({
51867
+ from_recurring_task_id: /* @__PURE__ */ optional$1(/* @__PURE__ */ number$2()),
51868
+ return_occurrence: /* @__PURE__ */ optional$1(/* @__PURE__ */ boolean$1()),
51869
+ time_entry_id: /* @__PURE__ */ number$2()
51870
+ }),
51633
51871
  execute: (input, { client }) => {
51634
51872
  const data = input;
51635
51873
  return client.runGeneratedRequest("deleteTimeEntryWithOrg", () => callGeneratedRequest(deleteTimeEntryWithOrg, [
@@ -51637,6 +51875,8 @@ const generatedFocusOperations = [
51637
51875
  client.organizationId,
51638
51876
  client.workspaceIdNumber,
51639
51877
  data.time_entry_id,
51878
+ data.from_recurring_task_id,
51879
+ data.return_occurrence,
51640
51880
  void 0
51641
51881
  ]));
51642
51882
  }
@@ -51717,6 +51957,7 @@ const generatedFocusOperations = [
51717
51957
  expand_calendar_event: /* @__PURE__ */ unknown$1(),
51718
51958
  include_taskless: /* @__PURE__ */ unknown$1(),
51719
51959
  order_by: /* @__PURE__ */ unknown$1(),
51960
+ project_id: /* @__PURE__ */ number$2(),
51720
51961
  status_id: /* @__PURE__ */ number$2(),
51721
51962
  task_id: /* @__PURE__ */ number$2(),
51722
51963
  type: /* @__PURE__ */ unknown$1()
@@ -51893,12 +52134,14 @@ const generatedFocusOperations = [
51893
52134
  },
51894
52135
  mcp: { entityTool: "time-entries" },
51895
52136
  inputSchema: /* @__PURE__ */ looseObject({
52137
+ from_recurring_task_id: /* @__PURE__ */ optional$1(/* @__PURE__ */ number$2()),
51896
52138
  payload: /* @__PURE__ */ looseObject({
51897
52139
  billable: /* @__PURE__ */ optional$1(/* @__PURE__ */ boolean$1()),
51898
52140
  duration: /* @__PURE__ */ optional$1(/* @__PURE__ */ number$2()),
51899
52141
  reset_billable_to_default: /* @__PURE__ */ optional$1(/* @__PURE__ */ boolean$1()),
51900
52142
  type: /* @__PURE__ */ optional$1(/* @__PURE__ */ picklist$1(["activity", "break"]))
51901
52143
  }),
52144
+ return_occurrence: /* @__PURE__ */ optional$1(/* @__PURE__ */ boolean$1()),
51902
52145
  time_entry_id: /* @__PURE__ */ number$2()
51903
52146
  }),
51904
52147
  execute: (input, { client }) => {
@@ -51909,6 +52152,8 @@ const generatedFocusOperations = [
51909
52152
  client.workspaceIdNumber,
51910
52153
  data.time_entry_id,
51911
52154
  data.payload ?? data.data ?? data,
52155
+ data.from_recurring_task_id,
52156
+ data.return_occurrence,
51912
52157
  void 0
51913
52158
  ]));
51914
52159
  }
@@ -52166,6 +52411,7 @@ const generatedFocusOperations = [
52166
52411
  },
52167
52412
  mcp: { entityTool: "time-entries" },
52168
52413
  inputSchema: /* @__PURE__ */ looseObject({
52414
+ from_recurring_task_id: /* @__PURE__ */ optional$1(/* @__PURE__ */ number$2()),
52169
52415
  payload: /* @__PURE__ */ looseObject({
52170
52416
  type: /* @__PURE__ */ picklist$1(["activity", "break"]),
52171
52417
  calendar_event_id: /* @__PURE__ */ optional$1(/* @__PURE__ */ number$2()),
@@ -52178,6 +52424,7 @@ const generatedFocusOperations = [
52178
52424
  time_block_id: /* @__PURE__ */ optional$1(/* @__PURE__ */ number$2()),
52179
52425
  tracked_at: /* @__PURE__ */ optional$1(apiDateTimeString)
52180
52426
  }),
52427
+ return_occurrence: /* @__PURE__ */ optional$1(/* @__PURE__ */ boolean$1()),
52181
52428
  time_entry_id: /* @__PURE__ */ number$2()
52182
52429
  }),
52183
52430
  execute: (input, { client }) => {
@@ -52188,6 +52435,8 @@ const generatedFocusOperations = [
52188
52435
  client.workspaceIdNumber,
52189
52436
  data.time_entry_id,
52190
52437
  data.payload ?? data.data ?? data,
52438
+ data.from_recurring_task_id,
52439
+ data.return_occurrence,
52191
52440
  void 0
52192
52441
  ]));
52193
52442
  }
@@ -52703,6 +52952,40 @@ const generatedFocusOperations = [
52703
52952
  ]));
52704
52953
  }
52705
52954
  },
52955
+ {
52956
+ id: "focus.timesheets.get-status-counts",
52957
+ family: "focus",
52958
+ resource: "timesheets",
52959
+ action: "get-status-counts",
52960
+ title: "Get Status Counts Timesheets",
52961
+ description: "Get Status Counts Timesheets.",
52962
+ safety: "read",
52963
+ destructive: false,
52964
+ cli: {
52965
+ group: ["timesheets"],
52966
+ command: "get-status-counts",
52967
+ interactive: "hidden"
52968
+ },
52969
+ mcp: { entityTool: "timesheets" },
52970
+ inputSchema: /* @__PURE__ */ looseObject({
52971
+ approver_user_account_ids: /* @__PURE__ */ unknown$1(),
52972
+ date_from: /* @__PURE__ */ unknown$1(),
52973
+ date_to: /* @__PURE__ */ unknown$1(),
52974
+ setup_id: /* @__PURE__ */ number$2(),
52975
+ team_ids: /* @__PURE__ */ unknown$1(),
52976
+ user_account_ids: /* @__PURE__ */ unknown$1()
52977
+ }),
52978
+ execute: (input, { client }) => {
52979
+ const data = input;
52980
+ return client.runGeneratedRequest("getTimesheetStatusCounts", () => callGeneratedRequest(getTimesheetStatusCounts, [
52981
+ client.httpClient,
52982
+ client.organizationId,
52983
+ client.workspaceIdNumber,
52984
+ data,
52985
+ void 0
52986
+ ]));
52987
+ }
52988
+ },
52706
52989
  {
52707
52990
  id: "focus.timesheets.remove-timesheet-flag",
52708
52991
  family: "focus",
@@ -53252,6 +53535,33 @@ const generatedFocusOperations = [
53252
53535
  ]));
53253
53536
  }
53254
53537
  },
53538
+ {
53539
+ id: "focus.track-team-invites.post",
53540
+ family: "focus",
53541
+ resource: "track-team-invites",
53542
+ action: "post",
53543
+ title: "Post Track Team Invites",
53544
+ description: "Post Track Team Invites.",
53545
+ safety: "create",
53546
+ destructive: false,
53547
+ cli: {
53548
+ group: ["track-team-invites"],
53549
+ command: "post",
53550
+ interactive: "default"
53551
+ },
53552
+ mcp: { entityTool: "track-team-invites" },
53553
+ inputSchema: /* @__PURE__ */ looseObject({ payload: /* @__PURE__ */ looseObject({ organization_user_ids: /* @__PURE__ */ array$1(/* @__PURE__ */ number$2()) }) }),
53554
+ execute: (input, { client }) => {
53555
+ const data = input;
53556
+ return client.runGeneratedRequest("postTrackTeamInvites", () => callGeneratedRequest(postTrackTeamInvites, [
53557
+ client.httpClient,
53558
+ client.organizationId,
53559
+ client.workspaceIdNumber,
53560
+ data.payload ?? data.data ?? data,
53561
+ void 0
53562
+ ]));
53563
+ }
53564
+ },
53255
53565
  {
53256
53566
  id: "focus.users.list",
53257
53567
  family: "focus",
@@ -53273,6 +53583,56 @@ const generatedFocusOperations = [
53273
53583
  return client.listOrgUsers(data);
53274
53584
  }
53275
53585
  },
53586
+ {
53587
+ id: "focus.users.settings-email-unsubscribe",
53588
+ family: "focus",
53589
+ resource: "users",
53590
+ action: "settings-email-unsubscribe",
53591
+ title: "Settings Email Unsubscribe Users",
53592
+ description: "Settings Email Unsubscribe Users.",
53593
+ safety: "update",
53594
+ destructive: false,
53595
+ cli: {
53596
+ group: ["users", "settings"],
53597
+ command: "email-unsubscribe",
53598
+ interactive: "default"
53599
+ },
53600
+ mcp: { entityTool: "users" },
53601
+ inputSchema: /* @__PURE__ */ looseObject({ token: /* @__PURE__ */ string$1() }),
53602
+ execute: (input, { client }) => {
53603
+ const data = input;
53604
+ return client.runGeneratedRequest("emailUnsubscribe", () => callGeneratedRequest(emailUnsubscribe, [
53605
+ client.httpClient,
53606
+ data.token,
53607
+ void 0
53608
+ ]));
53609
+ }
53610
+ },
53611
+ {
53612
+ id: "focus.users.settings-email-unsubscribe-page",
53613
+ family: "focus",
53614
+ resource: "users",
53615
+ action: "settings-email-unsubscribe-page",
53616
+ title: "Settings Email Unsubscribe Page Users",
53617
+ description: "Settings Email Unsubscribe Page Users.",
53618
+ safety: "read",
53619
+ destructive: false,
53620
+ cli: {
53621
+ group: ["users", "settings"],
53622
+ command: "email-unsubscribe-page",
53623
+ interactive: "available"
53624
+ },
53625
+ mcp: { entityTool: "users" },
53626
+ inputSchema: /* @__PURE__ */ looseObject({ token: /* @__PURE__ */ string$1() }),
53627
+ execute: (input, { client }) => {
53628
+ const data = input;
53629
+ return client.runGeneratedRequest("emailUnsubscribePage", () => callGeneratedRequest(emailUnsubscribePage, [
53630
+ client.httpClient,
53631
+ data.token,
53632
+ void 0
53633
+ ]));
53634
+ }
53635
+ },
53276
53636
  {
53277
53637
  id: "focus.users.settings-list",
53278
53638
  family: "focus",
@@ -53334,6 +53694,9 @@ const generatedFocusOperations = [
53334
53694
  has_reached_task_threshold: /* @__PURE__ */ optional$1(/* @__PURE__ */ boolean$1()),
53335
53695
  import_data_banner_dismissed: /* @__PURE__ */ optional$1(/* @__PURE__ */ boolean$1()),
53336
53696
  new_users_trial_dismissed: /* @__PURE__ */ optional$1(/* @__PURE__ */ boolean$1()),
53697
+ notify_project_alerts: /* @__PURE__ */ optional$1(/* @__PURE__ */ boolean$1()),
53698
+ notify_project_member_added: /* @__PURE__ */ optional$1(/* @__PURE__ */ boolean$1()),
53699
+ notify_task_assigned: /* @__PURE__ */ optional$1(/* @__PURE__ */ boolean$1()),
53337
53700
  onboarding_checklist_dismissed: /* @__PURE__ */ optional$1(/* @__PURE__ */ boolean$1()),
53338
53701
  onboarding_flow_dismissed: /* @__PURE__ */ optional$1(/* @__PURE__ */ boolean$1()),
53339
53702
  onboarding_multi_day_task_created: /* @__PURE__ */ optional$1(/* @__PURE__ */ boolean$1()),
@@ -54877,7 +55240,7 @@ function registerWorkspaceTools(server) {
54877
55240
  //#region src/package-version.ts
54878
55241
  function mcpPackageVersion() {
54879
55242
  try {
54880
- return "1.11.42";
55243
+ return "1.11.43";
54881
55244
  } catch {
54882
55245
  return "unknown";
54883
55246
  }
@@ -55052,7 +55415,7 @@ import_main.default.config({
55052
55415
  quiet: true,
55053
55416
  ignore: ["MISSING_ENV_FILE"]
55054
55417
  });
55055
- const packageVersion = "1.11.42";
55418
+ const packageVersion = "1.11.43";
55056
55419
  function resolvePublicUrls() {
55057
55420
  return {
55058
55421
  focusApiUrl: process.env.TOGGL_FOCUS_API_URL ?? "https://focus.toggl.com",
@@ -55117,4 +55480,4 @@ function bootstrapServer(options = {}) {
55117
55480
  //#endregion
55118
55481
  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 };
55119
55482
 
55120
- //# sourceMappingURL=src-Vmeai4eP.js.map
55483
+ //# sourceMappingURL=src-DhKcyQiT.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@togglhq/mcp",
3
- "version": "1.11.42",
3
+ "version": "1.11.43",
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",