@togglhq/cli 1.11.81 → 1.11.83

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.
@@ -7274,7 +7274,6 @@ const ProjectLiteSchema = /* @__PURE__ */ object({
7274
7274
  name: /* @__PURE__ */ string(),
7275
7275
  permissions: /* @__PURE__ */ array(/* @__PURE__ */ string()),
7276
7276
  archived_at: /* @__PURE__ */ optional(/* @__PURE__ */ pipe(/* @__PURE__ */ string(), /* @__PURE__ */ isoDateTime())),
7277
- billable: /* @__PURE__ */ optional(/* @__PURE__ */ boolean()),
7278
7277
  client: /* @__PURE__ */ optional(ClientLiteSchema),
7279
7278
  color: /* @__PURE__ */ optional(/* @__PURE__ */ string()),
7280
7279
  custom_field_values: /* @__PURE__ */ optional(/* @__PURE__ */ array(CustomFieldValueSchema)),
@@ -7361,7 +7360,6 @@ const TaskSchema = /* @__PURE__ */ object({
7361
7360
  description: /* @__PURE__ */ optional(/* @__PURE__ */ string()),
7362
7361
  end_date: /* @__PURE__ */ optional(/* @__PURE__ */ pipe(/* @__PURE__ */ string(), /* @__PURE__ */ isoDate())),
7363
7362
  estimated_mins: /* @__PURE__ */ optional(/* @__PURE__ */ number()),
7364
- 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."))),
7365
7363
  metadata: /* @__PURE__ */ optional(TaskMetadataSchema),
7366
7364
  notes: /* @__PURE__ */ optional(/* @__PURE__ */ string()),
7367
7365
  parent_task_id: /* @__PURE__ */ optional(/* @__PURE__ */ number()),
@@ -7423,7 +7421,6 @@ const TaskWithParentAndAggregationsSchema = /* @__PURE__ */ object({
7423
7421
  description: /* @__PURE__ */ optional(/* @__PURE__ */ string()),
7424
7422
  end_date: /* @__PURE__ */ optional(/* @__PURE__ */ pipe(/* @__PURE__ */ string(), /* @__PURE__ */ isoDate())),
7425
7423
  estimated_mins: /* @__PURE__ */ optional(/* @__PURE__ */ number()),
7426
- 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."))),
7427
7424
  metadata: /* @__PURE__ */ optional(TaskMetadataSchema),
7428
7425
  notes: /* @__PURE__ */ optional(/* @__PURE__ */ string()),
7429
7426
  parent: /* @__PURE__ */ optional(TaskSchema),
@@ -7584,8 +7581,6 @@ const TimeEntrySchema = /* @__PURE__ */ object({
7584
7581
  deleted_at: /* @__PURE__ */ optional(/* @__PURE__ */ pipe(/* @__PURE__ */ string(), /* @__PURE__ */ isoDateTime())),
7585
7582
  description: /* @__PURE__ */ optional(/* @__PURE__ */ string()),
7586
7583
  duration: /* @__PURE__ */ optional(/* @__PURE__ */ number()),
7587
- 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."))),
7588
- 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."))),
7589
7584
  planned_at: /* @__PURE__ */ optional(/* @__PURE__ */ pipe(/* @__PURE__ */ string(), /* @__PURE__ */ isoDateTime())),
7590
7585
  planned_duration: /* @__PURE__ */ optional(/* @__PURE__ */ number()),
7591
7586
  planned_start: /* @__PURE__ */ optional(/* @__PURE__ */ pipe(/* @__PURE__ */ string(), /* @__PURE__ */ isoDateTime())),
@@ -7671,10 +7666,8 @@ const ProjectWithAggregationsSchema = /* @__PURE__ */ object({
7671
7666
  description: /* @__PURE__ */ optional(/* @__PURE__ */ string()),
7672
7667
  end_date: /* @__PURE__ */ optional(/* @__PURE__ */ pipe(/* @__PURE__ */ string(), /* @__PURE__ */ isoDate())),
7673
7668
  estimated_mins: /* @__PURE__ */ optional(/* @__PURE__ */ number()),
7674
- filtered_task_count: /* @__PURE__ */ optional(/* @__PURE__ */ number()),
7675
7669
  fixed_fee: /* @__PURE__ */ optional(ProjectFixedFeeSchema),
7676
7670
  parent_project_id: /* @__PURE__ */ optional(/* @__PURE__ */ number()),
7677
- picker_parent_group_count: /* @__PURE__ */ optional(/* @__PURE__ */ number()),
7678
7671
  rate: /* @__PURE__ */ optional(EffectiveProjectRatesSummarySchema),
7679
7672
  recurring_project_id: /* @__PURE__ */ optional(/* @__PURE__ */ number()),
7680
7673
  rollover_mins: /* @__PURE__ */ optional(/* @__PURE__ */ pipe(/* @__PURE__ */ nullable(/* @__PURE__ */ number()), /* @__PURE__ */ description("RolloverMins is the cumulative under/over budget carried into this instance from earlier instances in its recurring chain, in minutes. Positive = surplus (prior periods went under estimate, time carries forward); negative = debt (prior periods went over). Only populated for recurring instances; nil for templates and standalone projects. See service.HydrateRollover for the per-instance contribution rules driven by RolloverMode (expire / carry_over / carry_all)."))),
@@ -7730,8 +7723,6 @@ const PaginatedTimeEntryWithTasksSchema = /* @__PURE__ */ object({
7730
7723
  deleted_at: /* @__PURE__ */ optional(/* @__PURE__ */ pipe(/* @__PURE__ */ string(), /* @__PURE__ */ isoDateTime())),
7731
7724
  description: /* @__PURE__ */ optional(/* @__PURE__ */ string()),
7732
7725
  duration: /* @__PURE__ */ optional(/* @__PURE__ */ number()),
7733
- 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."))),
7734
- 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."))),
7735
7726
  planned_at: /* @__PURE__ */ optional(/* @__PURE__ */ pipe(/* @__PURE__ */ string(), /* @__PURE__ */ isoDateTime())),
7736
7727
  planned_duration: /* @__PURE__ */ optional(/* @__PURE__ */ number()),
7737
7728
  planned_start: /* @__PURE__ */ optional(/* @__PURE__ */ pipe(/* @__PURE__ */ string(), /* @__PURE__ */ isoDateTime())),
@@ -7904,6 +7895,8 @@ const TaskCreatePayloadSchema = /* @__PURE__ */ object({
7904
7895
  end_date: /* @__PURE__ */ optional(/* @__PURE__ */ pipe(/* @__PURE__ */ string(), /* @__PURE__ */ isoDate())),
7905
7896
  estimate_type: /* @__PURE__ */ optional(/* @__PURE__ */ picklist(["daily", "total"])),
7906
7897
  estimated_mins: /* @__PURE__ */ optional(/* @__PURE__ */ pipe(/* @__PURE__ */ number(), /* @__PURE__ */ minValue(0))),
7898
+ integration_ext_id: /* @__PURE__ */ optional(/* @__PURE__ */ number()),
7899
+ integration_source: /* @__PURE__ */ optional(/* @__PURE__ */ string()),
7907
7900
  notes: /* @__PURE__ */ optional(/* @__PURE__ */ string()),
7908
7901
  parent_task_id: /* @__PURE__ */ optional(/* @__PURE__ */ number()),
7909
7902
  pinned: /* @__PURE__ */ optional(/* @__PURE__ */ boolean()),
@@ -7960,7 +7953,6 @@ const TaskPartialUpdatePayloadSchema = /* @__PURE__ */ object({
7960
7953
  private: /* @__PURE__ */ optional(/* @__PURE__ */ boolean()),
7961
7954
  project_id: /* @__PURE__ */ optional(/* @__PURE__ */ nullable(/* @__PURE__ */ number())),
7962
7955
  recurring_task_id: /* @__PURE__ */ optional(/* @__PURE__ */ nullable(/* @__PURE__ */ number())),
7963
- 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."))),
7964
7956
  rollup_enabled: /* @__PURE__ */ optional(/* @__PURE__ */ boolean()),
7965
7957
  rrule: /* @__PURE__ */ optional(/* @__PURE__ */ nullable(/* @__PURE__ */ string())),
7966
7958
  start_date: /* @__PURE__ */ optional(/* @__PURE__ */ nullable(/* @__PURE__ */ pipe(/* @__PURE__ */ string(), /* @__PURE__ */ isoDate()))),
@@ -7997,7 +7989,6 @@ const TaskPartialUpdatePayloadWithIDSchema = /* @__PURE__ */ object({
7997
7989
  private: /* @__PURE__ */ optional(/* @__PURE__ */ boolean()),
7998
7990
  project_id: /* @__PURE__ */ optional(/* @__PURE__ */ nullable(/* @__PURE__ */ number())),
7999
7991
  recurring_task_id: /* @__PURE__ */ optional(/* @__PURE__ */ nullable(/* @__PURE__ */ number())),
8000
- 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."))),
8001
7992
  rollup_enabled: /* @__PURE__ */ optional(/* @__PURE__ */ boolean()),
8002
7993
  rrule: /* @__PURE__ */ optional(/* @__PURE__ */ nullable(/* @__PURE__ */ string())),
8003
7994
  start_date: /* @__PURE__ */ optional(/* @__PURE__ */ nullable(/* @__PURE__ */ pipe(/* @__PURE__ */ string(), /* @__PURE__ */ isoDate()))),
@@ -8018,6 +8009,7 @@ const TimeEntryBulkCreatePayloadSchema = /* @__PURE__ */ object({
8018
8009
  start: /* @__PURE__ */ optional(/* @__PURE__ */ pipe(/* @__PURE__ */ string(), /* @__PURE__ */ isoDateTime())),
8019
8010
  tag_ids: /* @__PURE__ */ optional(/* @__PURE__ */ nullable(/* @__PURE__ */ array(/* @__PURE__ */ number()))),
8020
8011
  task_id: /* @__PURE__ */ optional(/* @__PURE__ */ number()),
8012
+ time_block_id: /* @__PURE__ */ optional(/* @__PURE__ */ number()),
8021
8013
  tracked_at: /* @__PURE__ */ optional(/* @__PURE__ */ pipe(/* @__PURE__ */ string(), /* @__PURE__ */ isoDateTime())),
8022
8014
  user_id: /* @__PURE__ */ optional(/* @__PURE__ */ number())
8023
8015
  });
@@ -8046,7 +8038,8 @@ const TimeEntryStartTrackingPayloadSchema = /* @__PURE__ */ object({
8046
8038
  project_id: /* @__PURE__ */ optional(/* @__PURE__ */ number()),
8047
8039
  start: /* @__PURE__ */ optional(/* @__PURE__ */ pipe(/* @__PURE__ */ string(), /* @__PURE__ */ isoDateTime())),
8048
8040
  tag_ids: /* @__PURE__ */ optional(/* @__PURE__ */ nullable(/* @__PURE__ */ array(/* @__PURE__ */ number()))),
8049
- task_id: /* @__PURE__ */ optional(/* @__PURE__ */ number())
8041
+ task_id: /* @__PURE__ */ optional(/* @__PURE__ */ number()),
8042
+ time_block_id: /* @__PURE__ */ optional(/* @__PURE__ */ number())
8050
8043
  });
8051
8044
  const TimeEntryStopTrackingPayloadSchema = /* @__PURE__ */ object({ end: /* @__PURE__ */ pipe(/* @__PURE__ */ string(), /* @__PURE__ */ isoDateTime()) });
8052
8045
  //#endregion
@@ -9920,7 +9913,7 @@ async function getOrganizationTeamsClassic(httpClient, organization_id, { worksp
9920
9913
  })
9921
9914
  }).json();
9922
9915
  }
9923
- 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) {
9916
+ 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) {
9924
9917
  const response = await httpClient.get(`organizations/${organization_id}/users`, {
9925
9918
  signal,
9926
9919
  searchParams: buildSearchParams$2({
@@ -9941,7 +9934,6 @@ async function getOrganizationUsersClassic(httpClient, organization_id, { worksp
9941
9934
  include_rates,
9942
9935
  pinned_ids,
9943
9936
  has_group,
9944
- track_without_focus,
9945
9937
  cf_filter,
9946
9938
  include_custom_fields,
9947
9939
  include_calendar_integration
@@ -10043,20 +10035,10 @@ async function unarchiveTag(httpClient, workspace_id, tag_id, signal) {
10043
10035
  }
10044
10036
  //#endregion
10045
10037
  //#region ../focus-queries/dist/projects/requests.ts
10046
- async function getProjectsClassic(httpClient, organization_id, workspace_id, { include_task_counts, include_picker_parent_group_counts, task_archived, task_recurring, task_state, task_source, task_assignee_user_id, task_assignee_team_id, task_include_unassigned, 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) {
10038
+ 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) {
10047
10039
  return await httpClient.get(`organizations/${organization_id}/workspaces/${workspace_id}/projects`, {
10048
10040
  signal,
10049
10041
  searchParams: buildSearchParams$2({
10050
- include_task_counts,
10051
- include_picker_parent_group_counts,
10052
- task_archived,
10053
- task_recurring,
10054
- task_state,
10055
- task_source,
10056
- task_assignee_user_id,
10057
- task_assignee_team_id,
10058
- task_include_unassigned,
10059
- task_name,
10060
10042
  page,
10061
10043
  per_page,
10062
10044
  order_by,
@@ -10306,7 +10288,7 @@ async function restoreStatuses(httpClient, workspace_id, status_id, signal) {
10306
10288
  }
10307
10289
  //#endregion
10308
10290
  //#region ../focus-queries/dist/tasks/requests.ts
10309
- 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_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, 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) {
10291
+ 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) {
10310
10292
  return await httpClient.get(`organizations/${organization_id}/workspaces/${workspace_id}/tasks`, {
10311
10293
  signal,
10312
10294
  searchParams: buildSearchParams$2({
@@ -10319,6 +10301,7 @@ async function getTasksClassic(httpClient, organization_id, workspace_id, { page
10319
10301
  toggl_user_id,
10320
10302
  name,
10321
10303
  has_time_entries,
10304
+ has_time_blocks,
10322
10305
  has_dates,
10323
10306
  private: private_,
10324
10307
  archived,
@@ -10341,6 +10324,10 @@ async function getTasksClassic(httpClient, organization_id, workspace_id, { page
10341
10324
  priority,
10342
10325
  is_priority,
10343
10326
  state,
10327
+ timeblock_start_from,
10328
+ timeblock_start_until,
10329
+ time_block_id,
10330
+ time_block_completed,
10344
10331
  team_id,
10345
10332
  assignee_team_id,
10346
10333
  assignee_user_id,
@@ -10352,11 +10339,7 @@ async function getTasksClassic(httpClient, organization_id, workspace_id, { page
10352
10339
  include_assignees,
10353
10340
  include_parent_matches,
10354
10341
  disable_aggregations,
10355
- cf_filter,
10356
- recurring_occurrences_after,
10357
- max_recurring_occurrences_after,
10358
- recurring_task_read,
10359
- include_projected_occurrences
10342
+ cf_filter
10360
10343
  })
10361
10344
  }).json();
10362
10345
  }
@@ -10431,46 +10414,16 @@ async function getTasksCalendarEvents(httpClient, organization_id, workspace_id,
10431
10414
  })
10432
10415
  }).json();
10433
10416
  }
10434
- async function putTasksCalendarRange(httpClient, organization_id, workspace_id, date_from, date_to, skip_provider_refresh, signal) {
10417
+ async function putTasksCalendarRange(httpClient, organization_id, workspace_id, date_from, date_to, signal) {
10435
10418
  return await httpClient.put(`organizations/${organization_id}/workspaces/${workspace_id}/tasks/calendar`, {
10436
10419
  signal,
10437
10420
  searchParams: buildSearchParams$2({
10438
10421
  date_from,
10439
- date_to,
10440
- skip_provider_refresh
10441
- })
10442
- }).json();
10443
- }
10444
- async function getPickerTaskGroupsClassic(httpClient, organization_id, workspace_id, { project_id, without_project, pinned_only, include_unassigned, search, only_me, page, per_page } = {}, signal) {
10445
- return await httpClient.get(`organizations/${organization_id}/workspaces/${workspace_id}/tasks/picker/groups`, {
10446
- signal,
10447
- searchParams: buildSearchParams$2({
10448
- project_id,
10449
- without_project,
10450
- pinned_only,
10451
- include_unassigned,
10452
- search,
10453
- only_me,
10454
- page,
10455
- per_page
10456
- })
10457
- }).json();
10458
- }
10459
- async function getPickerTaskChildrenClassic(httpClient, organization_id, workspace_id, parent_task_id, { project_id, without_project, include_unassigned, search, only_me, page, per_page } = {}, signal) {
10460
- return await httpClient.get(`organizations/${organization_id}/workspaces/${workspace_id}/tasks/picker/parents/${parent_task_id}/children`, {
10461
- signal,
10462
- searchParams: buildSearchParams$2({
10463
- project_id,
10464
- without_project,
10465
- include_unassigned,
10466
- search,
10467
- only_me,
10468
- page,
10469
- per_page
10422
+ date_to
10470
10423
  })
10471
10424
  }).json();
10472
10425
  }
10473
- 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) {
10426
+ 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) {
10474
10427
  return await httpClient.get(`organizations/${organization_id}/workspaces/${workspace_id}/tasks/recurring`, {
10475
10428
  signal,
10476
10429
  searchParams: buildSearchParams$2({
@@ -10486,15 +10439,11 @@ async function getTasksRecurringInstancesClassic(httpClient, organization_id, wo
10486
10439
  assignee_team_id,
10487
10440
  assignee_user_id,
10488
10441
  tag_id,
10489
- include_assignees,
10490
- recurring_occurrences_after,
10491
- max_recurring_occurrences_after,
10492
- recurring_task_read,
10493
- include_projected_occurrences
10442
+ include_assignees
10494
10443
  })
10495
10444
  }).json();
10496
10445
  }
10497
- 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_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, 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) {
10446
+ 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) {
10498
10447
  return await httpClient.get(`organizations/${organization_id}/workspaces/${workspace_id}/tasks/stream`, {
10499
10448
  signal,
10500
10449
  searchParams: buildSearchParams$2({
@@ -10506,6 +10455,7 @@ async function getStreamTasks(httpClient, organization_id, workspace_id, { with_
10506
10455
  name,
10507
10456
  include_parent_matches,
10508
10457
  has_time_entries,
10458
+ has_time_blocks,
10509
10459
  has_dates,
10510
10460
  private: private_,
10511
10461
  archived,
@@ -10528,6 +10478,8 @@ async function getStreamTasks(httpClient, organization_id, workspace_id, { with_
10528
10478
  priority,
10529
10479
  is_priority,
10530
10480
  state,
10481
+ time_block_id,
10482
+ time_block_completed,
10531
10483
  team_id,
10532
10484
  assignee_team_id,
10533
10485
  assignee_user_id,
@@ -10536,11 +10488,7 @@ async function getStreamTasks(httpClient, organization_id, workspace_id, { with_
10536
10488
  recurring_task_ids,
10537
10489
  client_id,
10538
10490
  include_assignees,
10539
- cf_filter,
10540
- recurring_occurrences_after,
10541
- max_recurring_occurrences_after,
10542
- recurring_task_read,
10543
- include_projected_occurrences
10491
+ cf_filter
10544
10492
  })
10545
10493
  }).json();
10546
10494
  }
@@ -10595,12 +10543,6 @@ async function getTaskWithChildrenClassic(httpClient, organization_id, workspace
10595
10543
  })
10596
10544
  }).json();
10597
10545
  }
10598
- async function createRecurringOccurrence(httpClient, organization_id, workspace_id, task_id, return_occurrence, signal) {
10599
- return await httpClient.post(`organizations/${organization_id}/workspaces/${workspace_id}/tasks/${task_id}/occurrences`, {
10600
- signal,
10601
- searchParams: buildSearchParams$2({ return_occurrence })
10602
- }).json();
10603
- }
10604
10546
  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) {
10605
10547
  return await httpClient.get(`organizations/${organization_id}/workspaces/${workspace_id}/tasks/${task_id}/parents`, {
10606
10548
  signal,
@@ -10626,7 +10568,7 @@ async function unarchiveTask(httpClient, organization_id, workspace_id, task_id,
10626
10568
  }
10627
10569
  //#endregion
10628
10570
  //#region ../focus-queries/dist/time-entries/requests.ts
10629
- async function getTaskTimeEntriesWithOrgClassic(httpClient, organization_id, workspace_id, task_id, { page, per_page, order_by, type, archived } = {}, signal) {
10571
+ async function getTaskTimeEntriesWithOrgClassic(httpClient, organization_id, workspace_id, task_id, { page, per_page, order_by, type, archived, time_block_id } = {}, signal) {
10630
10572
  return await httpClient.get(`organizations/${organization_id}/workspaces/${workspace_id}/tasks/${task_id}/time-entries`, {
10631
10573
  signal,
10632
10574
  searchParams: buildSearchParams$2({
@@ -10634,28 +10576,21 @@ async function getTaskTimeEntriesWithOrgClassic(httpClient, organization_id, wor
10634
10576
  per_page,
10635
10577
  order_by,
10636
10578
  type,
10637
- archived
10579
+ archived,
10580
+ time_block_id
10638
10581
  })
10639
10582
  }).json();
10640
10583
  }
10641
- async function createTimeEntryWithOrg(httpClient, organization_id, workspace_id, task_id, data, from_recurring_task_id, return_occurrence, signal) {
10584
+ async function createTimeEntryWithOrg(httpClient, organization_id, workspace_id, task_id, data, signal) {
10642
10585
  return await httpClient.post(`organizations/${organization_id}/workspaces/${workspace_id}/tasks/${task_id}/time-entries`, {
10643
10586
  signal,
10644
- json: data,
10645
- searchParams: buildSearchParams$2({
10646
- from_recurring_task_id,
10647
- return_occurrence
10648
- })
10587
+ json: data
10649
10588
  }).json();
10650
10589
  }
10651
- async function createTasklessTimeEntryWithOrg(httpClient, organization_id, workspace_id, data, from_recurring_task_id, return_occurrence, signal) {
10590
+ async function createTasklessTimeEntryWithOrg(httpClient, organization_id, workspace_id, data, signal) {
10652
10591
  return await httpClient.post(`organizations/${organization_id}/workspaces/${workspace_id}/time-entries`, {
10653
10592
  signal,
10654
- json: data,
10655
- searchParams: buildSearchParams$2({
10656
- from_recurring_task_id,
10657
- return_occurrence
10658
- })
10593
+ json: data
10659
10594
  }).json();
10660
10595
  }
10661
10596
  async function getBatchTimeEntriesWithOrg(httpClient, organization_id, workspace_id, { ids }, signal) {
@@ -10706,7 +10641,7 @@ async function bulkSetDayDurationWithOrg(httpClient, organization_id, workspace_
10706
10641
  json: data
10707
10642
  }).json();
10708
10643
  }
10709
- 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) {
10644
+ 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) {
10710
10645
  return await httpClient.get(`organizations/${organization_id}/workspaces/${workspace_id}/time-entries/stream`, {
10711
10646
  signal,
10712
10647
  searchParams: buildSearchParams$2({
@@ -10714,7 +10649,6 @@ async function getStreamTimeEntriesRangeWithOrg(httpClient, organization_id, wor
10714
10649
  date_to,
10715
10650
  task_id,
10716
10651
  status_id,
10717
- project_id,
10718
10652
  type,
10719
10653
  order_by,
10720
10654
  archived,
@@ -10729,36 +10663,28 @@ async function syncTimeEntry(httpClient, organization_id, workspace_id, client_u
10729
10663
  json: data
10730
10664
  }).json();
10731
10665
  }
10666
+ async function getStreamTimeEntriesTimeBlockIdsWithOrg(httpClient, organization_id, workspace_id, { time_block_id }, signal) {
10667
+ return await httpClient.get(`organizations/${organization_id}/workspaces/${workspace_id}/time-entries/time-block-ids/stream`, {
10668
+ signal,
10669
+ searchParams: buildSearchParams$2({ time_block_id })
10670
+ }).json();
10671
+ }
10732
10672
  async function getTimeEntryWithOrg(httpClient, organization_id, workspace_id, time_entry_id, signal) {
10733
10673
  return await httpClient.get(`organizations/${organization_id}/workspaces/${workspace_id}/time-entries/${time_entry_id}`, { signal }).json();
10734
10674
  }
10735
- async function updateTimeEntryWithOrg(httpClient, organization_id, workspace_id, time_entry_id, data, from_recurring_task_id, return_occurrence, signal) {
10675
+ async function updateTimeEntryWithOrg(httpClient, organization_id, workspace_id, time_entry_id, data, signal) {
10736
10676
  return await httpClient.put(`organizations/${organization_id}/workspaces/${workspace_id}/time-entries/${time_entry_id}`, {
10737
10677
  signal,
10738
- json: data,
10739
- searchParams: buildSearchParams$2({
10740
- from_recurring_task_id,
10741
- return_occurrence
10742
- })
10678
+ json: data
10743
10679
  }).json();
10744
10680
  }
10745
- async function deleteTimeEntryWithOrg(httpClient, organization_id, workspace_id, time_entry_id, from_recurring_task_id, return_occurrence, signal) {
10746
- return await httpClient.delete(`organizations/${organization_id}/workspaces/${workspace_id}/time-entries/${time_entry_id}`, {
10747
- signal,
10748
- searchParams: buildSearchParams$2({
10749
- from_recurring_task_id,
10750
- return_occurrence
10751
- })
10752
- }).json();
10681
+ async function deleteTimeEntryWithOrg(httpClient, organization_id, workspace_id, time_entry_id, signal) {
10682
+ return await httpClient.delete(`organizations/${organization_id}/workspaces/${workspace_id}/time-entries/${time_entry_id}`, { signal }).json();
10753
10683
  }
10754
- async function partialUpdateTimeEntryWithOrg(httpClient, organization_id, workspace_id, time_entry_id, data, from_recurring_task_id, return_occurrence, signal) {
10684
+ async function partialUpdateTimeEntryWithOrg(httpClient, organization_id, workspace_id, time_entry_id, data, signal) {
10755
10685
  return await httpClient.patch(`organizations/${organization_id}/workspaces/${workspace_id}/time-entries/${time_entry_id}`, {
10756
10686
  signal,
10757
- json: data,
10758
- searchParams: buildSearchParams$2({
10759
- from_recurring_task_id,
10760
- return_occurrence
10761
- })
10687
+ json: data
10762
10688
  }).json();
10763
10689
  }
10764
10690
  async function archiveTimeEntryWithOrg(httpClient, organization_id, workspace_id, time_entry_id, signal) {
@@ -12746,6 +12672,120 @@ function redactUnsafeSentryMessages(event) {
12746
12672
  for (const value of event.exception?.values ?? []) if (!isSafeSentryMessage(value.value)) value.value = REDACTED_SENTRY_MESSAGE;
12747
12673
  return event;
12748
12674
  }
12675
+ /**
12676
+ * Shared Sentry setup for the public CLI and MCP packages. Reporting is on by
12677
+ * default there, so everything the SDK attaches on its own has to be safe to
12678
+ * send from any user's machine, not only the exception message. Both packages
12679
+ * build their `Sentry.init` options from here so the two cannot drift.
12680
+ */
12681
+ function normalized(raw) {
12682
+ const value = raw?.trim();
12683
+ return value ? value.toLowerCase() : void 0;
12684
+ }
12685
+ function isOff(raw) {
12686
+ const value = normalized(raw);
12687
+ return value === "0" || value === "false" || value === "off" || value === "no";
12688
+ }
12689
+ function isOn(raw) {
12690
+ const value = normalized(raw);
12691
+ return value === "1" || value === "true" || value === "on" || value === "yes";
12692
+ }
12693
+ /**
12694
+ * Picks the DSN the public build reports to, or `undefined` when reporting is
12695
+ * off.
12696
+ *
12697
+ * `TOGGL_SENTRY_DSN` is the override. The generic `SENTRY_DSN` is what most Node
12698
+ * apps set, and the MCP loads the working directory's `.env`, so on its own it
12699
+ * must not redirect Toggl's errors into the user's project. It is still honoured
12700
+ * with an explicit `TOGGL_SENTRY=1`, the old opt-in, and `SENTRY_DSN=off` still
12701
+ * switches reporting off.
12702
+ */
12703
+ function resolvePublicSentryDsn(builtIn, env = process.env) {
12704
+ if (isOff(env.TOGGL_SENTRY) || normalized(env.SENTRY_DSN) === "off") return void 0;
12705
+ const override = env.TOGGL_SENTRY_DSN?.trim();
12706
+ if (override) return override.toLowerCase() === "off" ? void 0 : override;
12707
+ const legacy = env.SENTRY_DSN?.trim();
12708
+ if (legacy && isOn(env.TOGGL_SENTRY)) return legacy;
12709
+ return builtIn;
12710
+ }
12711
+ /**
12712
+ * `/Users/jane/.npm/_npx/…/node_modules/@togglhq/mcp/build/cli.js` becomes
12713
+ * `@togglhq/mcp/build/cli.js`. A path outside `node_modules` keeps only its file
12714
+ * name, so no home directory or login leaves the machine.
12715
+ */
12716
+ function toPackageRelativePath(path) {
12717
+ const unified = path.replace(/^file:\/\//, "").replaceAll("\\", "/");
12718
+ const at = unified.lastIndexOf("/node_modules/");
12719
+ if (at !== -1) return unified.slice(at + 14);
12720
+ if (!unified.includes("/")) return unified;
12721
+ return unified.slice(unified.lastIndexOf("/") + 1);
12722
+ }
12723
+ function scrubStacktrace(stacktrace) {
12724
+ for (const frame of stacktrace?.frames ?? []) {
12725
+ if (typeof frame.filename === "string") frame.filename = toPackageRelativePath(frame.filename);
12726
+ if (typeof frame.abs_path === "string") frame.abs_path = toPackageRelativePath(frame.abs_path);
12727
+ }
12728
+ }
12729
+ const QUERY_ATTRIBUTES = [
12730
+ "http.query",
12731
+ "url.query",
12732
+ "http.fragment",
12733
+ "url.fragment"
12734
+ ];
12735
+ const URL_ATTRIBUTES = [
12736
+ "url.full",
12737
+ "http.url",
12738
+ "http.target",
12739
+ "url"
12740
+ ];
12741
+ function stripQuery(value) {
12742
+ return value.replace(/[?#]\S*/, "");
12743
+ }
12744
+ function scrubSpan(span) {
12745
+ if (!span) return;
12746
+ if (typeof span.description === "string") span.description = stripQuery(span.description);
12747
+ const data = span.data;
12748
+ if (!data) return;
12749
+ for (const key of QUERY_ATTRIBUTES) delete data[key];
12750
+ for (const key of URL_ATTRIBUTES) {
12751
+ const value = data[key];
12752
+ if (typeof value === "string") data[key] = stripQuery(value);
12753
+ }
12754
+ }
12755
+ /**
12756
+ * Last word on every event the public build sends: messages reduced to fixed
12757
+ * categories, no hostname, no breadcrumbs, no dependency list, no request data,
12758
+ * package-relative stack paths, and no query strings on spans.
12759
+ */
12760
+ function scrubPublicSentryEvent(event) {
12761
+ redactUnsafeSentryMessages(event);
12762
+ delete event.server_name;
12763
+ delete event.breadcrumbs;
12764
+ delete event.modules;
12765
+ delete event.request;
12766
+ for (const value of event.exception?.values ?? []) scrubStacktrace(value.stacktrace);
12767
+ for (const thread of event.threads?.values ?? []) scrubStacktrace(thread.stacktrace);
12768
+ for (const span of event.spans ?? []) scrubSpan(span);
12769
+ scrubSpan(event.contexts?.trace);
12770
+ return event;
12771
+ }
12772
+ /**
12773
+ * Privacy options shared by `initCliTelemetry` and `initPublicSentry`.
12774
+ *
12775
+ * `sendDefaultPii: false` leaves the hostname (`server_name`), console and fetch
12776
+ * breadcrumbs, absolute stack paths, the working directory's package.json
12777
+ * dependencies (`Modules`) and incoming request data in place. Console
12778
+ * breadcrumbs in the MCP include the workspace name it logs at startup.
12779
+ */
12780
+ const PUBLIC_SENTRY_PRIVACY_OPTIONS = {
12781
+ sendDefaultPii: false,
12782
+ includeServerName: false,
12783
+ maxBreadcrumbs: 0,
12784
+ integrations: (defaults) => defaults.filter((integration) => integration.name !== "Modules"),
12785
+ beforeBreadcrumb: () => null,
12786
+ beforeSend: (event) => scrubPublicSentryEvent(event),
12787
+ beforeSendTransaction: (event) => scrubPublicSentryEvent(event)
12788
+ };
12749
12789
  const DEFAULT_POSTHOG_HOST = "https://eu.i.posthog.com";
12750
12790
  /**
12751
12791
  * The shared Toggl **production** PostHog project — the same token the Track
@@ -14443,15 +14483,13 @@ async function getWorkspaceAttachmentStorage(httpClient, organization_id, worksp
14443
14483
  }
14444
14484
  //#endregion
14445
14485
  //#region ../focus-queries/dist/audit-log/requests.ts
14446
- 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) {
14486
+ async function getOrganizationAuditLog(httpClient, organization_id, from, to, { workspace_id, entity_type, entity_id, action, user_id, page_size, page_number, export: export_ } = {}, signal) {
14447
14487
  return await httpClient.get(`organizations/${organization_id}/audit-log/${from}/${to}`, {
14448
14488
  signal,
14449
14489
  searchParams: buildSearchParams$2({
14450
14490
  workspace_id,
14451
14491
  entity_type,
14452
14492
  entity_id,
14453
- project_id,
14454
- custom_field_id,
14455
14493
  action,
14456
14494
  user_id,
14457
14495
  page_size,
@@ -14460,14 +14498,12 @@ async function getOrganizationAuditLog(httpClient, organization_id, from, to, {
14460
14498
  })
14461
14499
  }).json();
14462
14500
  }
14463
- 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) {
14501
+ async function getAuditLog(httpClient, organization_id, workspace_id, from, to, { entity_type, entity_id, action, user_id, page_size, page_number, export: export_ } = {}, signal) {
14464
14502
  return await httpClient.get(`organizations/${organization_id}/workspaces/${workspace_id}/audit-log/${from}/${to}`, {
14465
14503
  signal,
14466
14504
  searchParams: buildSearchParams$2({
14467
14505
  entity_type,
14468
14506
  entity_id,
14469
- project_id,
14470
- custom_field_id,
14471
14507
  action,
14472
14508
  user_id,
14473
14509
  page_size,
@@ -14620,14 +14656,13 @@ async function checkWorkspaceBillableRateConflicts(httpClient, organization_id,
14620
14656
  }
14621
14657
  //#endregion
14622
14658
  //#region ../focus-queries/dist/capacities/requests.ts
14623
- 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) {
14659
+ 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) {
14624
14660
  return await httpClient.get(`organizations/${organization_id}/workspaces/${workspace_id}/capacities/${group}`, {
14625
14661
  signal,
14626
14662
  searchParams: buildSearchParams$2({
14663
+ user_id,
14627
14664
  start_date,
14628
14665
  end_date,
14629
- user_id,
14630
- team_id,
14631
14666
  private: private_,
14632
14667
  task_source,
14633
14668
  unit,
@@ -14687,15 +14722,6 @@ async function updateCustomField(httpClient, organization_id, workspace_id, cust
14687
14722
  async function deleteCustomField(httpClient, organization_id, workspace_id, custom_field_id, signal) {
14688
14723
  return await httpClient.delete(`organizations/${organization_id}/workspaces/${workspace_id}/custom-fields/${custom_field_id}`, { signal }).json();
14689
14724
  }
14690
- async function getCustomFieldAllowedUsers(httpClient, organization_id, workspace_id, custom_field_id, signal) {
14691
- return await httpClient.get(`organizations/${organization_id}/workspaces/${workspace_id}/custom-fields/${custom_field_id}/allowed-users`, { signal }).json();
14692
- }
14693
- async function replaceCustomFieldAllowedUsers(httpClient, organization_id, workspace_id, custom_field_id, data, signal) {
14694
- return await httpClient.put(`organizations/${organization_id}/workspaces/${workspace_id}/custom-fields/${custom_field_id}/allowed-users`, {
14695
- signal,
14696
- json: data
14697
- }).json();
14698
- }
14699
14725
  async function getCustomFieldOptionsClassic(httpClient, organization_id, workspace_id, custom_field_id, { name, page, per_page, order_by } = {}, signal) {
14700
14726
  return await httpClient.get(`organizations/${organization_id}/workspaces/${workspace_id}/custom-fields/${custom_field_id}/options`, {
14701
14727
  signal,
@@ -14959,7 +14985,7 @@ async function restoreMilestone(httpClient, workspace_id, milestone_id, signal)
14959
14985
  }
14960
14986
  //#endregion
14961
14987
  //#region ../focus-queries/dist/project-groups/requests.ts
14962
- 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) {
14988
+ 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) {
14963
14989
  return await httpClient.get(`organizations/${organization_id}/workspaces/${workspace_id}/projects/groups/${group}`, {
14964
14990
  signal,
14965
14991
  searchParams: buildSearchParams$2({
@@ -14985,7 +15011,6 @@ async function getProjectGroupsClassic(httpClient, organization_id, workspace_id
14985
15011
  user_id,
14986
15012
  only_me,
14987
15013
  include_drafts,
14988
- include_recurring_series,
14989
15014
  cf_filter
14990
15015
  })
14991
15016
  }).json();
@@ -15004,6 +15029,9 @@ async function setWorkspaceProjectMarginTarget(httpClient, organization_id, work
15004
15029
  json: data
15005
15030
  }).json();
15006
15031
  }
15032
+ async function clearWorkspaceProjectMarginTarget(httpClient, organization_id, workspace_id, signal) {
15033
+ return await httpClient.delete(`organizations/${organization_id}/workspaces/${workspace_id}/project-margin-targets/workspace`, { signal }).json();
15034
+ }
15007
15035
  async function getProjectMarginTarget(httpClient, organization_id, workspace_id, project_id, signal) {
15008
15036
  return await httpClient.get(`organizations/${organization_id}/workspaces/${workspace_id}/project-margin-targets/${project_id}`, { signal }).json();
15009
15037
  }
@@ -15029,37 +15057,6 @@ async function getPublicHolidaysByUserIds(httpClient, organization_id, { user_id
15029
15057
  }).json();
15030
15058
  }
15031
15059
  //#endregion
15032
- //#region ../focus-queries/dist/publicsharedreports/requests.ts
15033
- async function openPublicSharedReport(httpClient, token, signal) {
15034
- return await httpClient.get(`shared/${token}`, { signal }).json();
15035
- }
15036
- async function profitabilityPublicSharedReport(httpClient, token, data, response_format, include_dicts, signal) {
15037
- return await httpClient.post(`shared/${token}/profitability`, {
15038
- signal,
15039
- json: data,
15040
- searchParams: buildSearchParams$2({
15041
- response_format,
15042
- include_dicts
15043
- })
15044
- }).json();
15045
- }
15046
- async function queryPublicSharedReport(httpClient, token, data, response_format, include_dicts, signal) {
15047
- return await httpClient.post(`shared/${token}/query`, {
15048
- signal,
15049
- json: data,
15050
- searchParams: buildSearchParams$2({
15051
- response_format,
15052
- include_dicts
15053
- })
15054
- }).json();
15055
- }
15056
- async function workloadPublicSharedReport(httpClient, token, data, signal) {
15057
- return await httpClient.post(`shared/${token}/workload`, {
15058
- signal,
15059
- json: data
15060
- }).json();
15061
- }
15062
- //#endregion
15063
15060
  //#region ../focus-queries/dist/rates/requests.ts
15064
15061
  async function getProjectRatesSummary(httpClient, organization_id, workspace_id, { page, rows, order_by, search } = {}, signal) {
15065
15062
  const response = await httpClient.get(`organizations/${organization_id}/workspaces/${workspace_id}/projects/rates`, {
@@ -15221,7 +15218,7 @@ async function updateASavedView(httpClient, workspace_id, id, data, signal) {
15221
15218
  }
15222
15219
  //#endregion
15223
15220
  //#region ../focus-queries/dist/search/requests.ts
15224
- async function search(httpClient, organization_id, workspace_id, { keyword, per_group, assignee_user_id, assignee_team_id, include_unassigned, project_id, task_id, include_drafts, exclude_calendar_events, group_by_tags, only_me }, signal) {
15221
+ async function search(httpClient, organization_id, workspace_id, { keyword, per_group, assignee_user_id, assignee_team_id, project_id, task_id, include_drafts, exclude_calendar_events, group_by_tags, only_me }, signal) {
15225
15222
  return await httpClient.get(`organizations/${organization_id}/workspaces/${workspace_id}/search`, {
15226
15223
  signal,
15227
15224
  searchParams: buildSearchParams$2({
@@ -15229,7 +15226,6 @@ async function search(httpClient, organization_id, workspace_id, { keyword, per_
15229
15226
  per_group,
15230
15227
  assignee_user_id,
15231
15228
  assignee_team_id,
15232
- include_unassigned,
15233
15229
  project_id,
15234
15230
  task_id,
15235
15231
  include_drafts,
@@ -15274,18 +15270,6 @@ async function getSharedReportsSharedWithMe(httpClient, workspace_id, signal) {
15274
15270
  async function getSharedReportForViewer(httpClient, workspace_id, id, signal) {
15275
15271
  return await httpClient.get(`workspaces/${workspace_id}/shared-reports/${id}`, { signal }).json();
15276
15272
  }
15277
- async function unshareSharedReport(httpClient, workspace_id, id, signal) {
15278
- return await httpClient.delete(`workspaces/${workspace_id}/shared-reports/${id}`, { signal }).json();
15279
- }
15280
- async function getSharedReportDates(httpClient, workspace_id, id, signal) {
15281
- return await httpClient.get(`workspaces/${workspace_id}/shared-reports/${id}/dates`, { signal }).json();
15282
- }
15283
- async function setSharedReportDatesLock(httpClient, workspace_id, id, data, signal) {
15284
- return await httpClient.put(`workspaces/${workspace_id}/shared-reports/${id}/dates`, {
15285
- signal,
15286
- json: data
15287
- }).json();
15288
- }
15289
15273
  async function addSharedReportGrants(httpClient, workspace_id, id, data, signal) {
15290
15274
  return await httpClient.post(`workspaces/${workspace_id}/shared-reports/${id}/grants`, {
15291
15275
  signal,
@@ -15295,21 +15279,6 @@ async function addSharedReportGrants(httpClient, workspace_id, id, data, signal)
15295
15279
  async function revokeSharedReportGrant(httpClient, workspace_id, id, grant_id, signal) {
15296
15280
  return await httpClient.delete(`workspaces/${workspace_id}/shared-reports/${id}/grants/${grant_id}`, { signal }).json();
15297
15281
  }
15298
- async function mintSharedReportLink(httpClient, workspace_id, id, data, signal) {
15299
- return await httpClient.post(`workspaces/${workspace_id}/shared-reports/${id}/link`, {
15300
- signal,
15301
- json: data
15302
- }).json();
15303
- }
15304
- async function revokeSharedReportLink(httpClient, workspace_id, id, signal) {
15305
- return await httpClient.delete(`workspaces/${workspace_id}/shared-reports/${id}/link`, { signal }).json();
15306
- }
15307
- async function rotateSharedReportLink(httpClient, workspace_id, id, data, signal) {
15308
- return await httpClient.post(`workspaces/${workspace_id}/shared-reports/${id}/link/rotate`, {
15309
- signal,
15310
- json: data
15311
- }).json();
15312
- }
15313
15282
  //#endregion
15314
15283
  //#region ../focus-queries/dist/subscriptions/requests.ts
15315
15284
  async function getCurrentSubscription(httpClient, organization_id, signal) {
@@ -15366,10 +15335,9 @@ async function updateTaskEstimateAllocations(httpClient, organization_id, worksp
15366
15335
  }
15367
15336
  //#endregion
15368
15337
  //#region ../focus-queries/dist/task-groups/requests.ts
15369
- 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) {
15338
+ 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) {
15370
15339
  return await httpClient.get(`organizations/${organization_id}/workspaces/${workspace_id}/tasks/groups/users/by-project`, {
15371
15340
  signal,
15372
- headers: { "X-Timeline-Fetch-Trigger": xTimelineFetchTrigger },
15373
15341
  searchParams: buildSearchParams$2({
15374
15342
  project_id,
15375
15343
  source,
@@ -15398,18 +15366,13 @@ async function getUserTaskGroupsByProject(httpClient, organization_id, workspace
15398
15366
  min_days,
15399
15367
  include_drafts,
15400
15368
  cf_filter,
15401
- user_cf_filter,
15402
- recurring_occurrences_after,
15403
- max_recurring_occurrences_after,
15404
- recurring_task_read,
15405
- include_projected_occurrences
15369
+ user_cf_filter
15406
15370
  })
15407
15371
  }).json();
15408
15372
  }
15409
- 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) {
15373
+ 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) {
15410
15374
  return await httpClient.get(`organizations/${organization_id}/workspaces/${workspace_id}/tasks/groups/users/by-team`, {
15411
15375
  signal,
15412
- headers: { "X-Timeline-Fetch-Trigger": xTimelineFetchTrigger },
15413
15376
  searchParams: buildSearchParams$2({
15414
15377
  team_id,
15415
15378
  project_id,
@@ -15438,18 +15401,13 @@ async function getUserTaskGroupsByTeam(httpClient, organization_id, workspace_id
15438
15401
  min_days,
15439
15402
  include_drafts,
15440
15403
  cf_filter,
15441
- user_cf_filter,
15442
- recurring_occurrences_after,
15443
- max_recurring_occurrences_after,
15444
- recurring_task_read,
15445
- include_projected_occurrences
15404
+ user_cf_filter
15446
15405
  })
15447
15406
  }).json();
15448
15407
  }
15449
- 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) {
15408
+ 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) {
15450
15409
  return await httpClient.get(`organizations/${organization_id}/workspaces/${workspace_id}/tasks/groups/${group}`, {
15451
15410
  signal,
15452
- headers: { "X-Timeline-Fetch-Trigger": xTimelineFetchTrigger },
15453
15411
  searchParams: buildSearchParams$2({
15454
15412
  source,
15455
15413
  priority,
@@ -15479,10 +15437,6 @@ async function getTaskGroupsClassic(httpClient, organization_id, workspace_id, g
15479
15437
  include_drafts,
15480
15438
  cf_filter,
15481
15439
  user_cf_filter,
15482
- recurring_occurrences_after,
15483
- max_recurring_occurrences_after,
15484
- recurring_task_read,
15485
- include_projected_occurrences,
15486
15440
  page,
15487
15441
  per_page,
15488
15442
  order_by
@@ -15510,6 +15464,104 @@ async function getProjectSuggestionsForMultipleTasks(httpClient, organization_id
15510
15464
  }).json();
15511
15465
  }
15512
15466
  //#endregion
15467
+ //#region ../focus-queries/dist/time-blocks/requests.ts
15468
+ async function getTaskTimeBlocksWithOrgClassic(httpClient, organization_id, workspace_id, task_id, { page, per_page, order_by, archived } = {}, signal) {
15469
+ return await httpClient.get(`organizations/${organization_id}/workspaces/${workspace_id}/tasks/${task_id}/time-blocks`, {
15470
+ signal,
15471
+ searchParams: buildSearchParams$2({
15472
+ page,
15473
+ per_page,
15474
+ order_by,
15475
+ archived
15476
+ })
15477
+ }).json();
15478
+ }
15479
+ async function createTimeBlockWithOrg(httpClient, organization_id, workspace_id, task_id, data, signal) {
15480
+ return await httpClient.post(`organizations/${organization_id}/workspaces/${workspace_id}/tasks/${task_id}/time-blocks`, {
15481
+ signal,
15482
+ json: data
15483
+ }).json();
15484
+ }
15485
+ async function getTimeBlockWithOrg(httpClient, organization_id, workspace_id, task_id, time_block_id, signal) {
15486
+ return await httpClient.get(`organizations/${organization_id}/workspaces/${workspace_id}/tasks/${task_id}/time-blocks/${time_block_id}`, { signal }).json();
15487
+ }
15488
+ async function updateTimeBlockWithOrg(httpClient, organization_id, workspace_id, task_id, time_block_id, data, signal) {
15489
+ return await httpClient.put(`organizations/${organization_id}/workspaces/${workspace_id}/tasks/${task_id}/time-blocks/${time_block_id}`, {
15490
+ signal,
15491
+ json: data
15492
+ }).json();
15493
+ }
15494
+ async function deleteTimeBlockWithOrg(httpClient, organization_id, workspace_id, task_id, time_block_id, outbound_sync, signal) {
15495
+ return await httpClient.delete(`organizations/${organization_id}/workspaces/${workspace_id}/tasks/${task_id}/time-blocks/${time_block_id}`, {
15496
+ signal,
15497
+ searchParams: buildSearchParams$2({ outbound_sync })
15498
+ }).json();
15499
+ }
15500
+ async function partialUpdateTimeBlockWithOrg(httpClient, organization_id, workspace_id, task_id, time_block_id, data, signal) {
15501
+ return await httpClient.patch(`organizations/${organization_id}/workspaces/${workspace_id}/tasks/${task_id}/time-blocks/${time_block_id}`, {
15502
+ signal,
15503
+ json: data
15504
+ }).json();
15505
+ }
15506
+ async function archiveTimeBlockWithOrg(httpClient, organization_id, workspace_id, task_id, time_block_id, signal) {
15507
+ return await httpClient.post(`organizations/${organization_id}/workspaces/${workspace_id}/tasks/${task_id}/time-blocks/${time_block_id}/archive`, { signal }).json();
15508
+ }
15509
+ async function restoreTimeBlockWithOrg(httpClient, organization_id, workspace_id, task_id, time_block_id, signal) {
15510
+ return await httpClient.patch(`organizations/${organization_id}/workspaces/${workspace_id}/tasks/${task_id}/time-blocks/${time_block_id}/restore`, { signal }).json();
15511
+ }
15512
+ async function unarchiveTimeBlockWithOrg(httpClient, organization_id, workspace_id, task_id, time_block_id, signal) {
15513
+ return await httpClient.post(`organizations/${organization_id}/workspaces/${workspace_id}/tasks/${task_id}/time-blocks/${time_block_id}/unarchive`, { signal }).json();
15514
+ }
15515
+ async function getTimeBlocksRangeWithOrgClassic(httpClient, organization_id, workspace_id, { date_from, date_to, task_id, status_id, page, per_page, archived, order_by }, signal) {
15516
+ return await httpClient.get(`organizations/${organization_id}/workspaces/${workspace_id}/time-blocks`, {
15517
+ signal,
15518
+ searchParams: buildSearchParams$2({
15519
+ date_from,
15520
+ date_to,
15521
+ task_id,
15522
+ status_id,
15523
+ page,
15524
+ per_page,
15525
+ archived,
15526
+ order_by
15527
+ })
15528
+ }).json();
15529
+ }
15530
+ async function bulkCreateTimeBlockWithOrg(httpClient, organization_id, workspace_id, data, signal) {
15531
+ return await httpClient.post(`organizations/${organization_id}/workspaces/${workspace_id}/time-blocks/bulk`, {
15532
+ signal,
15533
+ json: data
15534
+ }).json();
15535
+ }
15536
+ async function bulkDeleteTimeBlockWithOrg(httpClient, organization_id, workspace_id, ids, outbound_sync, signal) {
15537
+ return await httpClient.delete(`organizations/${organization_id}/workspaces/${workspace_id}/time-blocks/bulk`, {
15538
+ signal,
15539
+ searchParams: buildSearchParams$2({
15540
+ ids,
15541
+ outbound_sync
15542
+ })
15543
+ }).json();
15544
+ }
15545
+ async function bulkPartialUpdateTimeBlockWithOrg(httpClient, organization_id, workspace_id, data, signal) {
15546
+ return await httpClient.patch(`organizations/${organization_id}/workspaces/${workspace_id}/time-blocks/bulk`, {
15547
+ signal,
15548
+ json: data
15549
+ }).json();
15550
+ }
15551
+ async function getTimeBlocksRangeStreamWithOrg(httpClient, organization_id, workspace_id, { date_from, date_to, task_id, status_id, archived, order_by }, signal) {
15552
+ return await httpClient.get(`organizations/${organization_id}/workspaces/${workspace_id}/time-blocks/stream`, {
15553
+ signal,
15554
+ searchParams: buildSearchParams$2({
15555
+ date_from,
15556
+ date_to,
15557
+ task_id,
15558
+ status_id,
15559
+ archived,
15560
+ order_by
15561
+ })
15562
+ }).json();
15563
+ }
15564
+ //#endregion
15513
15565
  //#region ../focus-queries/dist/time-entry-constraints/requests.ts
15514
15566
  async function getTimeEntryConstraints(httpClient, workspace_id, signal) {
15515
15567
  return await httpClient.get(`workspaces/${workspace_id}/time-entry-constraints`, { signal }).json();
@@ -15547,12 +15599,6 @@ async function getTimeoffsByUserIds(httpClient, organization_id, { user_id, star
15547
15599
  })
15548
15600
  }).json();
15549
15601
  }
15550
- async function getTimeoffCategories(httpClient, organization_id, signal) {
15551
- return await httpClient.get(`organizations/${organization_id}/timeoff/categories`, { signal }).json();
15552
- }
15553
- async function getTimeoffCategory(httpClient, organization_id, category_id, signal) {
15554
- return await httpClient.get(`organizations/${organization_id}/timeoff/categories/${category_id}`, { signal }).json();
15555
- }
15556
15602
  async function getTimeoffForUser(httpClient, organization_id, user_id, { from, to }, signal) {
15557
15603
  return await httpClient.get(`organizations/${organization_id}/timeoff/users/${user_id}`, {
15558
15604
  signal,
@@ -15580,26 +15626,6 @@ async function deleteTimeoffForUser(httpClient, organization_id, user_id, data,
15580
15626
  json: data
15581
15627
  }).json();
15582
15628
  }
15583
- async function getTimeoffBalancesForUser(httpClient, organization_id, user_id, { category_id, date } = {}, signal) {
15584
- return await httpClient.get(`organizations/${organization_id}/timeoff/users/${user_id}/balances`, {
15585
- signal,
15586
- searchParams: buildSearchParams$2({
15587
- category_id,
15588
- date
15589
- })
15590
- }).json();
15591
- }
15592
- async function getTimeoffBalanceChangesForUserClassic(httpClient, organization_id, user_id, { category_id, year, page, rows }, signal) {
15593
- return await httpClient.get(`organizations/${organization_id}/timeoff/users/${user_id}/balances/changes`, {
15594
- signal,
15595
- searchParams: buildSearchParams$2({
15596
- category_id,
15597
- year,
15598
- page,
15599
- rows
15600
- })
15601
- }).json();
15602
- }
15603
15629
  //#endregion
15604
15630
  //#region ../focus-queries/dist/timesheet-setups/requests.ts
15605
15631
  async function getTimesheetSetups(httpClient, organization_id, workspace_id, { include_discontinued, user_account_id, approver_user_account_id } = {}, signal) {
@@ -15700,19 +15726,6 @@ async function bulkWithdrawTimesheets(httpClient, organization_id, workspace_id,
15700
15726
  json: data
15701
15727
  }).json();
15702
15728
  }
15703
- async function getTimesheetStatusCounts(httpClient, organization_id, workspace_id, { date_from, date_to, setup_id, user_account_ids, approver_user_account_ids, team_ids }, signal) {
15704
- return await httpClient.get(`organizations/${organization_id}/workspaces/${workspace_id}/timesheets/counts`, {
15705
- signal,
15706
- searchParams: buildSearchParams$2({
15707
- date_from,
15708
- date_to,
15709
- setup_id,
15710
- user_account_ids,
15711
- approver_user_account_ids,
15712
- team_ids
15713
- })
15714
- }).json();
15715
- }
15716
15729
  async function removeTimesheetFlag(httpClient, organization_id, workspace_id, flag_id, signal) {
15717
15730
  return await httpClient.delete(`organizations/${organization_id}/workspaces/${workspace_id}/timesheets/flags/${flag_id}`, { signal }).json();
15718
15731
  }
@@ -15756,21 +15769,7 @@ async function withdrawTimesheet(httpClient, organization_id, workspace_id, setu
15756
15769
  return await httpClient.post(`organizations/${organization_id}/workspaces/${workspace_id}/timesheets/${setup_id}/${start_date}/${user_account_id}/withdraw`, { signal }).json();
15757
15770
  }
15758
15771
  //#endregion
15759
- //#region ../focus-queries/dist/track-team-invites/requests.ts
15760
- async function postTrackTeamInvites(httpClient, organization_id, workspace_id, data, signal) {
15761
- return await httpClient.post(`organizations/${organization_id}/workspaces/${workspace_id}/track-team-invites`, {
15762
- signal,
15763
- json: data
15764
- }).json();
15765
- }
15766
- //#endregion
15767
15772
  //#region ../focus-queries/dist/user-settings/requests.ts
15768
- async function emailUnsubscribePage(httpClient, token, signal) {
15769
- return await httpClient.get(`email/unsubscribe/${token}`, { signal }).json();
15770
- }
15771
- async function emailUnsubscribe(httpClient, token, signal) {
15772
- return await httpClient.post(`email/unsubscribe/${token}`, { signal }).json();
15773
- }
15774
15773
  async function getUserSettings(httpClient, signal) {
15775
15774
  return await httpClient.get(`users/me/settings`, { signal }).json();
15776
15775
  }
@@ -16010,7 +16009,6 @@ const generatedFocusOperations = [
16010
16009
  mcp: { entityTool: "audit-log" },
16011
16010
  inputSchema: /* @__PURE__ */ looseObject({
16012
16011
  action: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
16013
- custom_field_id: /* @__PURE__ */ optional$1(/* @__PURE__ */ number$2()),
16014
16012
  entity_id: /* @__PURE__ */ optional$1(/* @__PURE__ */ number$2()),
16015
16013
  entity_type: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
16016
16014
  export: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
@@ -16018,7 +16016,6 @@ const generatedFocusOperations = [
16018
16016
  from: /* @__PURE__ */ string$1(),
16019
16017
  page_number: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
16020
16018
  page_size: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
16021
- project_id: /* @__PURE__ */ optional$1(/* @__PURE__ */ number$2()),
16022
16019
  to: /* @__PURE__ */ string$1(),
16023
16020
  user_id: /* @__PURE__ */ optional$1(/* @__PURE__ */ number$2()),
16024
16021
  workspace_id: /* @__PURE__ */ optional$1(/* @__PURE__ */ number$2())
@@ -16052,7 +16049,6 @@ const generatedFocusOperations = [
16052
16049
  mcp: { entityTool: "audit-log" },
16053
16050
  inputSchema: /* @__PURE__ */ looseObject({
16054
16051
  action: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
16055
- custom_field_id: /* @__PURE__ */ optional$1(/* @__PURE__ */ number$2()),
16056
16052
  entity_id: /* @__PURE__ */ optional$1(/* @__PURE__ */ number$2()),
16057
16053
  entity_type: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
16058
16054
  export: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
@@ -16060,7 +16056,6 @@ const generatedFocusOperations = [
16060
16056
  from: /* @__PURE__ */ string$1(),
16061
16057
  page_number: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
16062
16058
  page_size: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
16063
- project_id: /* @__PURE__ */ optional$1(/* @__PURE__ */ number$2()),
16064
16059
  to: /* @__PURE__ */ string$1(),
16065
16060
  user_id: /* @__PURE__ */ optional$1(/* @__PURE__ */ number$2())
16066
16061
  }),
@@ -16100,7 +16095,6 @@ const generatedFocusOperations = [
16100
16095
  private_: /* @__PURE__ */ unknown$1(),
16101
16096
  start_date: /* @__PURE__ */ pipe$2(/* @__PURE__ */ string$1(), /* @__PURE__ */ isoDate$1()),
16102
16097
  task_source: /* @__PURE__ */ unknown$1(),
16103
- team_id: /* @__PURE__ */ number$2(),
16104
16098
  unit: /* @__PURE__ */ unknown$1(),
16105
16099
  user_id: /* @__PURE__ */ number$2()
16106
16100
  }),
@@ -16350,6 +16344,8 @@ const generatedFocusOperations = [
16350
16344
  end_date: /* @__PURE__ */ optional$1(/* @__PURE__ */ pipe$2(/* @__PURE__ */ string$1(), /* @__PURE__ */ isoDate$1())),
16351
16345
  estimate_type: /* @__PURE__ */ optional$1(/* @__PURE__ */ picklist$1(["daily", "total"])),
16352
16346
  estimated_mins: /* @__PURE__ */ optional$1(/* @__PURE__ */ number$2()),
16347
+ integration_ext_id: /* @__PURE__ */ optional$1(/* @__PURE__ */ number$2()),
16348
+ integration_source: /* @__PURE__ */ optional$1(/* @__PURE__ */ string$1()),
16353
16349
  notes: /* @__PURE__ */ optional$1(/* @__PURE__ */ string$1()),
16354
16350
  parent_task_id: /* @__PURE__ */ optional$1(/* @__PURE__ */ number$2()),
16355
16351
  pinned: /* @__PURE__ */ optional$1(/* @__PURE__ */ boolean$1()),
@@ -16383,6 +16379,8 @@ const generatedFocusOperations = [
16383
16379
  end_date: /* @__PURE__ */ optional$1(/* @__PURE__ */ pipe$2(/* @__PURE__ */ string$1(), /* @__PURE__ */ isoDate$1())),
16384
16380
  estimate_type: /* @__PURE__ */ optional$1(/* @__PURE__ */ picklist$1(["daily", "total"])),
16385
16381
  estimated_mins: /* @__PURE__ */ optional$1(/* @__PURE__ */ number$2()),
16382
+ integration_ext_id: /* @__PURE__ */ optional$1(/* @__PURE__ */ number$2()),
16383
+ integration_source: /* @__PURE__ */ optional$1(/* @__PURE__ */ string$1()),
16386
16384
  notes: /* @__PURE__ */ optional$1(/* @__PURE__ */ string$1()),
16387
16385
  pinned: /* @__PURE__ */ optional$1(/* @__PURE__ */ boolean$1()),
16388
16386
  priority: /* @__PURE__ */ optional$1(/* @__PURE__ */ picklist$1([
@@ -16398,6 +16396,12 @@ const generatedFocusOperations = [
16398
16396
  start_date: /* @__PURE__ */ optional$1(/* @__PURE__ */ pipe$2(/* @__PURE__ */ string$1(), /* @__PURE__ */ isoDate$1())),
16399
16397
  status_id: /* @__PURE__ */ optional$1(/* @__PURE__ */ number$2())
16400
16398
  }))),
16399
+ time_blocks: /* @__PURE__ */ optional$1(/* @__PURE__ */ array$1(/* @__PURE__ */ looseObject({
16400
+ start: apiDateTimeString,
16401
+ completed: /* @__PURE__ */ optional$1(/* @__PURE__ */ boolean$1()),
16402
+ duration: /* @__PURE__ */ optional$1(/* @__PURE__ */ number$2()),
16403
+ outbound_sync: /* @__PURE__ */ optional$1(/* @__PURE__ */ boolean$1())
16404
+ }))),
16401
16405
  time_entry: /* @__PURE__ */ optional$1(/* @__PURE__ */ looseObject({
16402
16406
  type: /* @__PURE__ */ picklist$1(["activity", "break"]),
16403
16407
  calendar_event_id: /* @__PURE__ */ optional$1(/* @__PURE__ */ number$2()),
@@ -16407,6 +16411,13 @@ const generatedFocusOperations = [
16407
16411
  planned_duration: /* @__PURE__ */ optional$1(/* @__PURE__ */ number$2()),
16408
16412
  planned_start: /* @__PURE__ */ optional$1(/* @__PURE__ */ string$1()),
16409
16413
  start: /* @__PURE__ */ optional$1(apiDateTimeString),
16414
+ time_block: /* @__PURE__ */ optional$1(/* @__PURE__ */ looseObject({
16415
+ start: apiDateTimeString,
16416
+ completed: /* @__PURE__ */ optional$1(/* @__PURE__ */ boolean$1()),
16417
+ duration: /* @__PURE__ */ optional$1(/* @__PURE__ */ number$2()),
16418
+ outbound_sync: /* @__PURE__ */ optional$1(/* @__PURE__ */ boolean$1())
16419
+ })),
16420
+ time_block_id: /* @__PURE__ */ optional$1(/* @__PURE__ */ number$2()),
16410
16421
  tracked_at: /* @__PURE__ */ optional$1(apiDateTimeString)
16411
16422
  }))
16412
16423
  }) }),
@@ -16525,45 +16536,18 @@ const generatedFocusOperations = [
16525
16536
  }
16526
16537
  },
16527
16538
  {
16528
- id: "focus.custom-fields.get-allowed-users",
16539
+ id: "focus.custom-fields.list",
16529
16540
  family: "focus",
16530
16541
  resource: "custom-fields",
16531
- action: "get-allowed-users",
16532
- title: "Get Allowed Users Custom Fields",
16533
- description: "Get Allowed Users Custom Fields.",
16542
+ action: "list",
16543
+ title: "List Custom Fields",
16544
+ description: "List Custom Fields.",
16534
16545
  safety: "read",
16535
16546
  destructive: false,
16536
16547
  cli: {
16537
16548
  group: ["custom-fields"],
16538
- command: "get-allowed-users",
16539
- interactive: "available"
16540
- },
16541
- mcp: { entityTool: "custom-fields" },
16542
- inputSchema: /* @__PURE__ */ looseObject({ custom_field_id: /* @__PURE__ */ number$2() }),
16543
- execute: (input, { client }) => {
16544
- const data = input;
16545
- return client.runGeneratedRequest("getCustomFieldAllowedUsers", () => callGeneratedRequest(getCustomFieldAllowedUsers, [
16546
- client.httpClient,
16547
- client.organizationId,
16548
- client.workspaceIdNumber,
16549
- data.custom_field_id,
16550
- void 0
16551
- ]));
16552
- }
16553
- },
16554
- {
16555
- id: "focus.custom-fields.list",
16556
- family: "focus",
16557
- resource: "custom-fields",
16558
- action: "list",
16559
- title: "List Custom Fields",
16560
- description: "List Custom Fields.",
16561
- safety: "read",
16562
- destructive: false,
16563
- cli: {
16564
- group: ["custom-fields"],
16565
- command: "list",
16566
- interactive: "hidden"
16549
+ command: "list",
16550
+ interactive: "hidden"
16567
16551
  },
16568
16552
  mcp: { entityTool: "custom-fields" },
16569
16553
  inputSchema: /* @__PURE__ */ looseObject({
@@ -16720,37 +16704,6 @@ const generatedFocusOperations = [
16720
16704
  ]));
16721
16705
  }
16722
16706
  },
16723
- {
16724
- id: "focus.custom-fields.replace-custom-field-allowed-users",
16725
- family: "focus",
16726
- resource: "custom-fields",
16727
- action: "replace-custom-field-allowed-users",
16728
- title: "Replace Custom Field Allowed Users Custom Fields",
16729
- description: "Replace Custom Field Allowed Users Custom Fields.",
16730
- safety: "update",
16731
- destructive: false,
16732
- cli: {
16733
- group: ["custom-fields"],
16734
- command: "replace-custom-field-allowed-users",
16735
- interactive: "default"
16736
- },
16737
- mcp: { entityTool: "custom-fields" },
16738
- inputSchema: /* @__PURE__ */ looseObject({
16739
- custom_field_id: /* @__PURE__ */ number$2(),
16740
- payload: /* @__PURE__ */ looseObject({ user_ids: /* @__PURE__ */ array$1(/* @__PURE__ */ number$2()) })
16741
- }),
16742
- execute: (input, { client }) => {
16743
- const data = input;
16744
- return client.runGeneratedRequest("replaceCustomFieldAllowedUsers", () => callGeneratedRequest(replaceCustomFieldAllowedUsers, [
16745
- client.httpClient,
16746
- client.organizationId,
16747
- client.workspaceIdNumber,
16748
- data.custom_field_id,
16749
- data.payload ?? data.data ?? data,
16750
- void 0
16751
- ]));
16752
- }
16753
- },
16754
16707
  {
16755
16708
  id: "focus.custom-fields.update",
16756
16709
  family: "focus",
@@ -16897,7 +16850,13 @@ const generatedFocusOperations = [
16897
16850
  },
16898
16851
  mcp: { entityTool: "goals" },
16899
16852
  inputSchema: /* @__PURE__ */ looseObject({ payload: /* @__PURE__ */ looseObject({
16853
+ billable: /* @__PURE__ */ boolean$1(),
16900
16854
  comparison: /* @__PURE__ */ picklist$1(["more_than", "less_than"]),
16855
+ end_date: /* @__PURE__ */ pipe$2(/* @__PURE__ */ string$1(), /* @__PURE__ */ isoDate$1()),
16856
+ icon: /* @__PURE__ */ string$1(),
16857
+ monthly_anchor: /* @__PURE__ */ picklist$1(["calendar", "first_workday"]),
16858
+ name: /* @__PURE__ */ string$1(),
16859
+ project_ids: /* @__PURE__ */ array$1(/* @__PURE__ */ number$2()),
16901
16860
  recurrence: /* @__PURE__ */ picklist$1([
16902
16861
  "daily",
16903
16862
  "weekly",
@@ -16905,18 +16864,12 @@ const generatedFocusOperations = [
16905
16864
  "monthly"
16906
16865
  ]),
16907
16866
  start_date: /* @__PURE__ */ pipe$2(/* @__PURE__ */ string$1(), /* @__PURE__ */ isoDate$1()),
16867
+ tag_ids: /* @__PURE__ */ array$1(/* @__PURE__ */ number$2()),
16908
16868
  target_seconds: /* @__PURE__ */ number$2(),
16909
- billable: /* @__PURE__ */ optional$1(/* @__PURE__ */ boolean$1()),
16869
+ task_ids: /* @__PURE__ */ array$1(/* @__PURE__ */ number$2()),
16870
+ weekdays: /* @__PURE__ */ array$1(/* @__PURE__ */ number$2()),
16910
16871
  client_ids: /* @__PURE__ */ optional$1(/* @__PURE__ */ array$1(/* @__PURE__ */ number$2())),
16911
- description: /* @__PURE__ */ optional$1(/* @__PURE__ */ string$1()),
16912
- end_date: /* @__PURE__ */ optional$1(/* @__PURE__ */ pipe$2(/* @__PURE__ */ string$1(), /* @__PURE__ */ isoDate$1())),
16913
- icon: /* @__PURE__ */ optional$1(/* @__PURE__ */ string$1()),
16914
- monthly_anchor: /* @__PURE__ */ optional$1(/* @__PURE__ */ picklist$1(["calendar", "first_workday"])),
16915
- name: /* @__PURE__ */ optional$1(/* @__PURE__ */ string$1()),
16916
- project_ids: /* @__PURE__ */ optional$1(/* @__PURE__ */ array$1(/* @__PURE__ */ number$2())),
16917
- tag_ids: /* @__PURE__ */ optional$1(/* @__PURE__ */ array$1(/* @__PURE__ */ number$2())),
16918
- task_ids: /* @__PURE__ */ optional$1(/* @__PURE__ */ array$1(/* @__PURE__ */ number$2())),
16919
- weekdays: /* @__PURE__ */ optional$1(/* @__PURE__ */ array$1(/* @__PURE__ */ number$2()))
16872
+ description: /* @__PURE__ */ optional$1(/* @__PURE__ */ string$1())
16920
16873
  }) }),
16921
16874
  execute: (input, { client }) => {
16922
16875
  const data = input;
@@ -17022,6 +16975,13 @@ const generatedFocusOperations = [
17022
16975
  },
17023
16976
  mcp: { entityTool: "goals" },
17024
16977
  inputSchema: /* @__PURE__ */ looseObject({ payload: /* @__PURE__ */ looseObject({
16978
+ billable: /* @__PURE__ */ boolean$1(),
16979
+ comparison: /* @__PURE__ */ picklist$1(["more_than", "less_than"]),
16980
+ end_date: /* @__PURE__ */ pipe$2(/* @__PURE__ */ string$1(), /* @__PURE__ */ isoDate$1()),
16981
+ icon: /* @__PURE__ */ string$1(),
16982
+ monthly_anchor: /* @__PURE__ */ picklist$1(["calendar", "first_workday"]),
16983
+ name: /* @__PURE__ */ string$1(),
16984
+ project_ids: /* @__PURE__ */ array$1(/* @__PURE__ */ number$2()),
17025
16985
  recurrence: /* @__PURE__ */ picklist$1([
17026
16986
  "daily",
17027
16987
  "weekly",
@@ -17029,19 +16989,12 @@ const generatedFocusOperations = [
17029
16989
  "monthly"
17030
16990
  ]),
17031
16991
  start_date: /* @__PURE__ */ pipe$2(/* @__PURE__ */ string$1(), /* @__PURE__ */ isoDate$1()),
17032
- billable: /* @__PURE__ */ optional$1(/* @__PURE__ */ boolean$1()),
16992
+ tag_ids: /* @__PURE__ */ array$1(/* @__PURE__ */ number$2()),
16993
+ target_seconds: /* @__PURE__ */ number$2(),
16994
+ task_ids: /* @__PURE__ */ array$1(/* @__PURE__ */ number$2()),
16995
+ weekdays: /* @__PURE__ */ array$1(/* @__PURE__ */ number$2()),
17033
16996
  client_ids: /* @__PURE__ */ optional$1(/* @__PURE__ */ array$1(/* @__PURE__ */ number$2())),
17034
- comparison: /* @__PURE__ */ optional$1(/* @__PURE__ */ picklist$1(["more_than", "less_than"])),
17035
- description: /* @__PURE__ */ optional$1(/* @__PURE__ */ string$1()),
17036
- end_date: /* @__PURE__ */ optional$1(/* @__PURE__ */ pipe$2(/* @__PURE__ */ string$1(), /* @__PURE__ */ isoDate$1())),
17037
- icon: /* @__PURE__ */ optional$1(/* @__PURE__ */ string$1()),
17038
- monthly_anchor: /* @__PURE__ */ optional$1(/* @__PURE__ */ picklist$1(["calendar", "first_workday"])),
17039
- name: /* @__PURE__ */ optional$1(/* @__PURE__ */ string$1()),
17040
- project_ids: /* @__PURE__ */ optional$1(/* @__PURE__ */ array$1(/* @__PURE__ */ number$2())),
17041
- tag_ids: /* @__PURE__ */ optional$1(/* @__PURE__ */ array$1(/* @__PURE__ */ number$2())),
17042
- target_seconds: /* @__PURE__ */ optional$1(/* @__PURE__ */ number$2()),
17043
- task_ids: /* @__PURE__ */ optional$1(/* @__PURE__ */ array$1(/* @__PURE__ */ number$2())),
17044
- weekdays: /* @__PURE__ */ optional$1(/* @__PURE__ */ array$1(/* @__PURE__ */ number$2()))
16997
+ description: /* @__PURE__ */ optional$1(/* @__PURE__ */ string$1())
17045
16998
  }) }),
17046
16999
  execute: (input, { client }) => {
17047
17000
  const data = input;
@@ -18008,17 +17961,9 @@ const generatedFocusOperations = [
18008
17961
  mcp: { entityTool: "projects" },
18009
17962
  inputSchema: /* @__PURE__ */ looseObject({
18010
17963
  payload: /* @__PURE__ */ looseObject({
18011
- auto_compute_estimates: /* @__PURE__ */ optional$1(/* @__PURE__ */ boolean$1()),
18012
- completion_mode: /* @__PURE__ */ optional$1(/* @__PURE__ */ picklist$1(["manual", "automatic"])),
18013
17964
  end_date: /* @__PURE__ */ optional$1(/* @__PURE__ */ pipe$2(/* @__PURE__ */ string$1(), /* @__PURE__ */ isoDate$1())),
18014
17965
  name: /* @__PURE__ */ optional$1(/* @__PURE__ */ string$1()),
18015
17966
  pinned: /* @__PURE__ */ optional$1(/* @__PURE__ */ boolean$1()),
18016
- rollover_mode: /* @__PURE__ */ optional$1(/* @__PURE__ */ picklist$1([
18017
- "expire",
18018
- "carry_all",
18019
- "carry_over"
18020
- ])),
18021
- rrule: /* @__PURE__ */ optional$1(/* @__PURE__ */ string$1()),
18022
17967
  start_date: /* @__PURE__ */ optional$1(/* @__PURE__ */ pipe$2(/* @__PURE__ */ string$1(), /* @__PURE__ */ isoDate$1()))
18023
17968
  }),
18024
17969
  project_id: /* @__PURE__ */ number$2()
@@ -18462,7 +18407,6 @@ const generatedFocusOperations = [
18462
18407
  group: /* @__PURE__ */ string$1(),
18463
18408
  include_drafts: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
18464
18409
  include_group_totals: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
18465
- include_recurring_series: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
18466
18410
  include_unassigned: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
18467
18411
  name: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
18468
18412
  only_me: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
@@ -18565,6 +18509,29 @@ const generatedFocusOperations = [
18565
18509
  ]));
18566
18510
  }
18567
18511
  },
18512
+ {
18513
+ id: "focus.projects.margin-targets-clear-workspace",
18514
+ family: "focus",
18515
+ resource: "projects",
18516
+ action: "margin-targets-clear-workspace",
18517
+ title: "Margin Targets Clear Workspace Projects",
18518
+ description: "Margin Targets Clear Workspace Projects.",
18519
+ safety: "delete",
18520
+ destructive: true,
18521
+ cli: {
18522
+ group: ["projects", "margin-targets"],
18523
+ command: "clear-workspace",
18524
+ interactive: "default"
18525
+ },
18526
+ mcp: { entityTool: "projects" },
18527
+ inputSchema: /* @__PURE__ */ looseObject({}),
18528
+ execute: (_input, { client }) => client.runGeneratedRequest("clearWorkspaceProjectMarginTarget", () => callGeneratedRequest(clearWorkspaceProjectMarginTarget, [
18529
+ client.httpClient,
18530
+ client.organizationId,
18531
+ client.workspaceIdNumber,
18532
+ void 0
18533
+ ]))
18534
+ },
18568
18535
  {
18569
18536
  id: "focus.projects.margin-targets-get",
18570
18537
  family: "focus",
@@ -19009,130 +18976,6 @@ const generatedFocusOperations = [
19009
18976
  ]));
19010
18977
  }
19011
18978
  },
19012
- {
19013
- id: "focus.publicsharedreports.open-public-shared-report",
19014
- family: "focus",
19015
- resource: "publicsharedreports",
19016
- action: "open-public-shared-report",
19017
- title: "Open Public Shared Report Publicsharedreports",
19018
- description: "Open Public Shared Report Publicsharedreports.",
19019
- safety: "read",
19020
- destructive: false,
19021
- cli: {
19022
- group: ["publicsharedreports"],
19023
- command: "open-public-shared-report",
19024
- interactive: "available"
19025
- },
19026
- mcp: { entityTool: "publicsharedreports" },
19027
- inputSchema: /* @__PURE__ */ looseObject({ token: /* @__PURE__ */ string$1() }),
19028
- execute: (input, { client }) => {
19029
- const data = input;
19030
- return client.runGeneratedRequest("openPublicSharedReport", () => callGeneratedRequest(openPublicSharedReport, [
19031
- client.httpClient,
19032
- data.token,
19033
- void 0
19034
- ]));
19035
- }
19036
- },
19037
- {
19038
- id: "focus.publicsharedreports.profitability-public-shared-report",
19039
- family: "focus",
19040
- resource: "publicsharedreports",
19041
- action: "profitability-public-shared-report",
19042
- title: "Profitability Public Shared Report Publicsharedreports",
19043
- description: "Profitability Public Shared Report Publicsharedreports.",
19044
- safety: "update",
19045
- destructive: false,
19046
- cli: {
19047
- group: ["publicsharedreports"],
19048
- command: "profitability-public-shared-report",
19049
- interactive: "default"
19050
- },
19051
- mcp: { entityTool: "publicsharedreports" },
19052
- inputSchema: /* @__PURE__ */ looseObject({
19053
- include_dicts: /* @__PURE__ */ optional$1(/* @__PURE__ */ boolean$1()),
19054
- payload: /* @__PURE__ */ looseObject({ chart_key: /* @__PURE__ */ optional$1(/* @__PURE__ */ string$1()) }),
19055
- response_format: /* @__PURE__ */ optional$1(/* @__PURE__ */ picklist$1(["json_row", "hierarchical"])),
19056
- token: /* @__PURE__ */ string$1()
19057
- }),
19058
- execute: (input, { client }) => {
19059
- const data = input;
19060
- return client.runGeneratedRequest("profitabilityPublicSharedReport", () => callGeneratedRequest(profitabilityPublicSharedReport, [
19061
- client.httpClient,
19062
- data.token,
19063
- data.payload ?? data.data ?? data,
19064
- data.response_format,
19065
- data.include_dicts,
19066
- void 0
19067
- ]));
19068
- }
19069
- },
19070
- {
19071
- id: "focus.publicsharedreports.query-public-shared-report",
19072
- family: "focus",
19073
- resource: "publicsharedreports",
19074
- action: "query-public-shared-report",
19075
- title: "Query Public Shared Report Publicsharedreports",
19076
- description: "Query Public Shared Report Publicsharedreports.",
19077
- safety: "update",
19078
- destructive: false,
19079
- cli: {
19080
- group: ["publicsharedreports"],
19081
- command: "query-public-shared-report",
19082
- interactive: "default"
19083
- },
19084
- mcp: { entityTool: "publicsharedreports" },
19085
- inputSchema: /* @__PURE__ */ looseObject({
19086
- include_dicts: /* @__PURE__ */ optional$1(/* @__PURE__ */ boolean$1()),
19087
- payload: /* @__PURE__ */ looseObject({ chart_key: /* @__PURE__ */ optional$1(/* @__PURE__ */ string$1()) }),
19088
- response_format: /* @__PURE__ */ optional$1(/* @__PURE__ */ picklist$1([
19089
- "json_row",
19090
- "table",
19091
- "hierarchical"
19092
- ])),
19093
- token: /* @__PURE__ */ string$1()
19094
- }),
19095
- execute: (input, { client }) => {
19096
- const data = input;
19097
- return client.runGeneratedRequest("queryPublicSharedReport", () => callGeneratedRequest(queryPublicSharedReport, [
19098
- client.httpClient,
19099
- data.token,
19100
- data.payload ?? data.data ?? data,
19101
- data.response_format,
19102
- data.include_dicts,
19103
- void 0
19104
- ]));
19105
- }
19106
- },
19107
- {
19108
- id: "focus.publicsharedreports.workload-public-shared-report",
19109
- family: "focus",
19110
- resource: "publicsharedreports",
19111
- action: "workload-public-shared-report",
19112
- title: "Workload Public Shared Report Publicsharedreports",
19113
- description: "Workload Public Shared Report Publicsharedreports.",
19114
- safety: "update",
19115
- destructive: false,
19116
- cli: {
19117
- group: ["publicsharedreports"],
19118
- command: "workload-public-shared-report",
19119
- interactive: "default"
19120
- },
19121
- mcp: { entityTool: "publicsharedreports" },
19122
- inputSchema: /* @__PURE__ */ looseObject({
19123
- payload: /* @__PURE__ */ looseObject({ chart_key: /* @__PURE__ */ optional$1(/* @__PURE__ */ string$1()) }),
19124
- token: /* @__PURE__ */ string$1()
19125
- }),
19126
- execute: (input, { client }) => {
19127
- const data = input;
19128
- return client.runGeneratedRequest("workloadPublicSharedReport", () => callGeneratedRequest(workloadPublicSharedReport, [
19129
- client.httpClient,
19130
- data.token,
19131
- data.payload ?? data.data ?? data,
19132
- void 0
19133
- ]));
19134
- }
19135
- },
19136
18979
  {
19137
18980
  id: "focus.rates.billable-check-project-billable-rate-conflicts",
19138
18981
  family: "focus",
@@ -21091,7 +20934,7 @@ const generatedFocusOperations = [
21091
20934
  cli: {
21092
20935
  group: ["reportschedules"],
21093
20936
  command: "upsert-saved-view-schedule",
21094
- interactive: "hidden"
20937
+ interactive: "default"
21095
20938
  },
21096
20939
  mcp: { entityTool: "reportschedules" },
21097
20940
  inputSchema: /* @__PURE__ */ looseObject({
@@ -21102,10 +20945,8 @@ const generatedFocusOperations = [
21102
20945
  "weekly",
21103
20946
  "monthly"
21104
20947
  ]),
21105
- charts: /* @__PURE__ */ unknown$1(),
21106
20948
  time: /* @__PURE__ */ string$1(),
21107
20949
  day: /* @__PURE__ */ optional$1(/* @__PURE__ */ number$2()),
21108
- period: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
21109
20950
  recipient_team_ids: /* @__PURE__ */ optional$1(/* @__PURE__ */ array$1(/* @__PURE__ */ number$2())),
21110
20951
  recipient_user_ids: /* @__PURE__ */ optional$1(/* @__PURE__ */ array$1(/* @__PURE__ */ number$2())),
21111
20952
  recipient_workspace_ids: /* @__PURE__ */ optional$1(/* @__PURE__ */ array$1(/* @__PURE__ */ number$2()))
@@ -21438,32 +21279,6 @@ const generatedFocusOperations = [
21438
21279
  ]));
21439
21280
  }
21440
21281
  },
21441
- {
21442
- id: "focus.sharedreports.get-shared-report-dates",
21443
- family: "focus",
21444
- resource: "sharedreports",
21445
- action: "get-shared-report-dates",
21446
- title: "Get Shared Report Dates Sharedreports",
21447
- description: "Get Shared Report Dates Sharedreports.",
21448
- safety: "read",
21449
- destructive: false,
21450
- cli: {
21451
- group: ["sharedreports"],
21452
- command: "get-shared-report-dates",
21453
- interactive: "available"
21454
- },
21455
- mcp: { entityTool: "sharedreports" },
21456
- inputSchema: /* @__PURE__ */ looseObject({ id: /* @__PURE__ */ number$2() }),
21457
- execute: (input, { client }) => {
21458
- const data = input;
21459
- return client.runGeneratedRequest("getSharedReportDates", () => callGeneratedRequest(getSharedReportDates, [
21460
- client.httpClient,
21461
- client.workspaceIdNumber,
21462
- data.id,
21463
- void 0
21464
- ]));
21465
- }
21466
- },
21467
21282
  {
21468
21283
  id: "focus.sharedreports.get-shared-report-for-viewer",
21469
21284
  family: "focus",
@@ -21534,36 +21349,6 @@ const generatedFocusOperations = [
21534
21349
  void 0
21535
21350
  ]))
21536
21351
  },
21537
- {
21538
- id: "focus.sharedreports.mint-shared-report-link",
21539
- family: "focus",
21540
- resource: "sharedreports",
21541
- action: "mint-shared-report-link",
21542
- title: "Mint Shared Report Link Sharedreports",
21543
- description: "Mint Shared Report Link Sharedreports.",
21544
- safety: "update",
21545
- destructive: false,
21546
- cli: {
21547
- group: ["sharedreports"],
21548
- command: "mint-shared-report-link",
21549
- interactive: "default"
21550
- },
21551
- mcp: { entityTool: "sharedreports" },
21552
- inputSchema: /* @__PURE__ */ looseObject({
21553
- id: /* @__PURE__ */ number$2(),
21554
- payload: /* @__PURE__ */ looseObject({ expires_at: /* @__PURE__ */ optional$1(apiDateTimeString) })
21555
- }),
21556
- execute: (input, { client }) => {
21557
- const data = input;
21558
- return client.runGeneratedRequest("mintSharedReportLink", () => callGeneratedRequest(mintSharedReportLink, [
21559
- client.httpClient,
21560
- client.workspaceIdNumber,
21561
- data.id,
21562
- data.payload ?? data.data ?? data,
21563
- void 0
21564
- ]));
21565
- }
21566
- },
21567
21352
  {
21568
21353
  id: "focus.sharedreports.revoke-shared-report-grant",
21569
21354
  family: "focus",
@@ -21595,53 +21380,71 @@ const generatedFocusOperations = [
21595
21380
  }
21596
21381
  },
21597
21382
  {
21598
- id: "focus.sharedreports.revoke-shared-report-link",
21383
+ id: "focus.sharedreports.share-saved-view",
21599
21384
  family: "focus",
21600
21385
  resource: "sharedreports",
21601
- action: "revoke-shared-report-link",
21602
- title: "Revoke Shared Report Link Sharedreports",
21603
- description: "Revoke Shared Report Link Sharedreports.",
21604
- safety: "delete",
21605
- destructive: true,
21386
+ action: "share-saved-view",
21387
+ title: "Share Saved View Sharedreports",
21388
+ description: "Share Saved View Sharedreports.",
21389
+ safety: "update",
21390
+ destructive: false,
21606
21391
  cli: {
21607
21392
  group: ["sharedreports"],
21608
- command: "revoke-shared-report-link",
21609
- interactive: "default"
21393
+ command: "share-saved-view",
21394
+ interactive: "hidden"
21610
21395
  },
21611
21396
  mcp: { entityTool: "sharedreports" },
21612
- inputSchema: /* @__PURE__ */ looseObject({ id: /* @__PURE__ */ number$2() }),
21397
+ inputSchema: /* @__PURE__ */ looseObject({
21398
+ id: /* @__PURE__ */ number$2(),
21399
+ payload: /* @__PURE__ */ looseObject({
21400
+ charts: /* @__PURE__ */ unknown$1(),
21401
+ period: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
21402
+ team_id: /* @__PURE__ */ optional$1(/* @__PURE__ */ number$2()),
21403
+ user_id: /* @__PURE__ */ optional$1(/* @__PURE__ */ number$2()),
21404
+ workspace_id: /* @__PURE__ */ optional$1(/* @__PURE__ */ number$2())
21405
+ })
21406
+ }),
21613
21407
  execute: (input, { client }) => {
21614
21408
  const data = input;
21615
- return client.runGeneratedRequest("revokeSharedReportLink", () => callGeneratedRequest(revokeSharedReportLink, [
21409
+ return client.runGeneratedRequest("shareSavedView", () => callGeneratedRequest(shareSavedView, [
21616
21410
  client.httpClient,
21617
21411
  client.workspaceIdNumber,
21618
21412
  data.id,
21413
+ data.payload ?? data.data ?? data,
21619
21414
  void 0
21620
21415
  ]));
21621
21416
  }
21622
21417
  },
21623
21418
  {
21624
- id: "focus.sharedreports.rotate-shared-report-link",
21419
+ id: "focus.sharedreports.share-saved-view-many",
21625
21420
  family: "focus",
21626
21421
  resource: "sharedreports",
21627
- action: "rotate-shared-report-link",
21628
- title: "Rotate Shared Report Link Sharedreports",
21629
- description: "Rotate Shared Report Link Sharedreports.",
21422
+ action: "share-saved-view-many",
21423
+ title: "Share Saved View Many Sharedreports",
21424
+ description: "Share Saved View Many Sharedreports.",
21630
21425
  safety: "update",
21631
21426
  destructive: false,
21632
21427
  cli: {
21633
21428
  group: ["sharedreports"],
21634
- command: "rotate-shared-report-link",
21635
- interactive: "default"
21429
+ command: "share-saved-view-many",
21430
+ interactive: "hidden"
21636
21431
  },
21637
21432
  mcp: { entityTool: "sharedreports" },
21638
21433
  inputSchema: /* @__PURE__ */ looseObject({
21639
21434
  id: /* @__PURE__ */ number$2(),
21640
- payload: /* @__PURE__ */ looseObject({ expires_at: /* @__PURE__ */ optional$1(apiDateTimeString) })
21435
+ payload: /* @__PURE__ */ looseObject({
21436
+ charts: /* @__PURE__ */ unknown$1(),
21437
+ grantees: /* @__PURE__ */ array$1(/* @__PURE__ */ looseObject({
21438
+ team_id: /* @__PURE__ */ optional$1(/* @__PURE__ */ number$2()),
21439
+ user_id: /* @__PURE__ */ optional$1(/* @__PURE__ */ number$2()),
21440
+ workspace_id: /* @__PURE__ */ optional$1(/* @__PURE__ */ number$2())
21441
+ })),
21442
+ period: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1())
21443
+ })
21641
21444
  }),
21642
21445
  execute: (input, { client }) => {
21643
21446
  const data = input;
21644
- return client.runGeneratedRequest("rotateSharedReportLink", () => callGeneratedRequest(rotateSharedReportLink, [
21447
+ return client.runGeneratedRequest("shareSavedViewMany", () => callGeneratedRequest(shareSavedViewMany, [
21645
21448
  client.httpClient,
21646
21449
  client.workspaceIdNumber,
21647
21450
  data.id,
@@ -21651,137 +21454,7 @@ const generatedFocusOperations = [
21651
21454
  }
21652
21455
  },
21653
21456
  {
21654
- id: "focus.sharedreports.set-shared-report-dates-lock",
21655
- family: "focus",
21656
- resource: "sharedreports",
21657
- action: "set-shared-report-dates-lock",
21658
- title: "Set Shared Report Dates Lock Sharedreports",
21659
- description: "Set Shared Report Dates Lock Sharedreports.",
21660
- safety: "update",
21661
- destructive: false,
21662
- cli: {
21663
- group: ["sharedreports"],
21664
- command: "set-shared-report-dates-lock",
21665
- interactive: "default"
21666
- },
21667
- mcp: { entityTool: "sharedreports" },
21668
- inputSchema: /* @__PURE__ */ looseObject({
21669
- id: /* @__PURE__ */ number$2(),
21670
- payload: /* @__PURE__ */ looseObject({ locked: /* @__PURE__ */ boolean$1() })
21671
- }),
21672
- execute: (input, { client }) => {
21673
- const data = input;
21674
- return client.runGeneratedRequest("setSharedReportDatesLock", () => callGeneratedRequest(setSharedReportDatesLock, [
21675
- client.httpClient,
21676
- client.workspaceIdNumber,
21677
- data.id,
21678
- data.payload ?? data.data ?? data,
21679
- void 0
21680
- ]));
21681
- }
21682
- },
21683
- {
21684
- id: "focus.sharedreports.share-saved-view",
21685
- family: "focus",
21686
- resource: "sharedreports",
21687
- action: "share-saved-view",
21688
- title: "Share Saved View Sharedreports",
21689
- description: "Share Saved View Sharedreports.",
21690
- safety: "update",
21691
- destructive: false,
21692
- cli: {
21693
- group: ["sharedreports"],
21694
- command: "share-saved-view",
21695
- interactive: "hidden"
21696
- },
21697
- mcp: { entityTool: "sharedreports" },
21698
- inputSchema: /* @__PURE__ */ looseObject({
21699
- id: /* @__PURE__ */ number$2(),
21700
- payload: /* @__PURE__ */ looseObject({
21701
- charts: /* @__PURE__ */ unknown$1(),
21702
- period: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
21703
- team_id: /* @__PURE__ */ optional$1(/* @__PURE__ */ number$2()),
21704
- user_id: /* @__PURE__ */ optional$1(/* @__PURE__ */ number$2()),
21705
- workspace_id: /* @__PURE__ */ optional$1(/* @__PURE__ */ number$2())
21706
- })
21707
- }),
21708
- execute: (input, { client }) => {
21709
- const data = input;
21710
- return client.runGeneratedRequest("shareSavedView", () => callGeneratedRequest(shareSavedView, [
21711
- client.httpClient,
21712
- client.workspaceIdNumber,
21713
- data.id,
21714
- data.payload ?? data.data ?? data,
21715
- void 0
21716
- ]));
21717
- }
21718
- },
21719
- {
21720
- id: "focus.sharedreports.share-saved-view-many",
21721
- family: "focus",
21722
- resource: "sharedreports",
21723
- action: "share-saved-view-many",
21724
- title: "Share Saved View Many Sharedreports",
21725
- description: "Share Saved View Many Sharedreports.",
21726
- safety: "update",
21727
- destructive: false,
21728
- cli: {
21729
- group: ["sharedreports"],
21730
- command: "share-saved-view-many",
21731
- interactive: "hidden"
21732
- },
21733
- mcp: { entityTool: "sharedreports" },
21734
- inputSchema: /* @__PURE__ */ looseObject({
21735
- id: /* @__PURE__ */ number$2(),
21736
- payload: /* @__PURE__ */ looseObject({
21737
- charts: /* @__PURE__ */ unknown$1(),
21738
- grantees: /* @__PURE__ */ array$1(/* @__PURE__ */ looseObject({
21739
- team_id: /* @__PURE__ */ optional$1(/* @__PURE__ */ number$2()),
21740
- user_id: /* @__PURE__ */ optional$1(/* @__PURE__ */ number$2()),
21741
- workspace_id: /* @__PURE__ */ optional$1(/* @__PURE__ */ number$2())
21742
- })),
21743
- period: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1())
21744
- })
21745
- }),
21746
- execute: (input, { client }) => {
21747
- const data = input;
21748
- return client.runGeneratedRequest("shareSavedViewMany", () => callGeneratedRequest(shareSavedViewMany, [
21749
- client.httpClient,
21750
- client.workspaceIdNumber,
21751
- data.id,
21752
- data.payload ?? data.data ?? data,
21753
- void 0
21754
- ]));
21755
- }
21756
- },
21757
- {
21758
- id: "focus.sharedreports.unshare-shared-report",
21759
- family: "focus",
21760
- resource: "sharedreports",
21761
- action: "unshare-shared-report",
21762
- title: "Unshare Shared Report Sharedreports",
21763
- description: "Unshare Shared Report Sharedreports.",
21764
- safety: "delete",
21765
- destructive: true,
21766
- cli: {
21767
- group: ["sharedreports"],
21768
- command: "unshare-shared-report",
21769
- interactive: "default"
21770
- },
21771
- mcp: { entityTool: "sharedreports" },
21772
- inputSchema: /* @__PURE__ */ looseObject({ id: /* @__PURE__ */ number$2() }),
21773
- execute: (input, { client }) => {
21774
- const data = input;
21775
- return client.runGeneratedRequest("unshareSharedReport", () => callGeneratedRequest(unshareSharedReport, [
21776
- client.httpClient,
21777
- client.workspaceIdNumber,
21778
- data.id,
21779
- void 0
21780
- ]));
21781
- }
21782
- },
21783
- {
21784
- id: "focus.statuses.create-status",
21457
+ id: "focus.statuses.create-status",
21785
21458
  family: "focus",
21786
21459
  resource: "statuses",
21787
21460
  action: "create-status",
@@ -22822,37 +22495,6 @@ const generatedFocusOperations = [
22822
22495
  return client.createTask(data);
22823
22496
  }
22824
22497
  },
22825
- {
22826
- id: "focus.tasks.create-recurring-occurrence",
22827
- family: "focus",
22828
- resource: "tasks",
22829
- action: "create-recurring-occurrence",
22830
- title: "Create Recurring Occurrence Tasks",
22831
- description: "Create Recurring Occurrence Tasks.",
22832
- safety: "create",
22833
- destructive: false,
22834
- cli: {
22835
- group: ["tasks"],
22836
- command: "create-recurring-occurrence",
22837
- interactive: "default"
22838
- },
22839
- mcp: { entityTool: "tasks" },
22840
- inputSchema: /* @__PURE__ */ looseObject({
22841
- return_occurrence: /* @__PURE__ */ optional$1(/* @__PURE__ */ boolean$1()),
22842
- task_id: /* @__PURE__ */ number$2()
22843
- }),
22844
- execute: (input, { client }) => {
22845
- const data = input;
22846
- return client.runGeneratedRequest("createRecurringOccurrence", () => callGeneratedRequest(createRecurringOccurrence, [
22847
- client.httpClient,
22848
- client.organizationId,
22849
- client.workspaceIdNumber,
22850
- data.task_id,
22851
- data.return_occurrence,
22852
- void 0
22853
- ]));
22854
- }
22855
- },
22856
22498
  {
22857
22499
  id: "focus.tasks.delete",
22858
22500
  family: "focus",
@@ -23077,79 +22719,6 @@ const generatedFocusOperations = [
23077
22719
  ]));
23078
22720
  }
23079
22721
  },
23080
- {
23081
- id: "focus.tasks.get-picker-task-children",
23082
- family: "focus",
23083
- resource: "tasks",
23084
- action: "get-picker-task-children",
23085
- title: "Get Picker Task Children Tasks",
23086
- description: "Get Picker Task Children Tasks.",
23087
- safety: "read",
23088
- destructive: false,
23089
- cli: {
23090
- group: ["tasks"],
23091
- command: "get-picker-task-children",
23092
- interactive: "hidden"
23093
- },
23094
- mcp: { entityTool: "tasks" },
23095
- inputSchema: /* @__PURE__ */ looseObject({
23096
- include_unassigned: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
23097
- only_me: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
23098
- page: /* @__PURE__ */ optional$1(/* @__PURE__ */ number$2()),
23099
- parent_task_id: /* @__PURE__ */ number$2(),
23100
- per_page: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
23101
- project_id: /* @__PURE__ */ optional$1(/* @__PURE__ */ number$2()),
23102
- search: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
23103
- without_project: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1())
23104
- }),
23105
- execute: (input, { client }) => {
23106
- const data = input;
23107
- return client.runGeneratedRequest("getPickerTaskChildrenClassic", () => callGeneratedRequest(getPickerTaskChildrenClassic, [
23108
- client.httpClient,
23109
- client.organizationId,
23110
- client.workspaceIdNumber,
23111
- data.parent_task_id,
23112
- data,
23113
- void 0
23114
- ]));
23115
- }
23116
- },
23117
- {
23118
- id: "focus.tasks.get-picker-task-groups",
23119
- family: "focus",
23120
- resource: "tasks",
23121
- action: "get-picker-task-groups",
23122
- title: "Get Picker Task Groups Tasks",
23123
- description: "Get Picker Task Groups Tasks.",
23124
- safety: "read",
23125
- destructive: false,
23126
- cli: {
23127
- group: ["tasks"],
23128
- command: "get-picker-task-groups",
23129
- interactive: "hidden"
23130
- },
23131
- mcp: { entityTool: "tasks" },
23132
- inputSchema: /* @__PURE__ */ looseObject({
23133
- include_unassigned: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
23134
- only_me: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
23135
- page: /* @__PURE__ */ optional$1(/* @__PURE__ */ number$2()),
23136
- per_page: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
23137
- pinned_only: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
23138
- project_id: /* @__PURE__ */ optional$1(/* @__PURE__ */ number$2()),
23139
- search: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
23140
- without_project: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1())
23141
- }),
23142
- execute: (input, { client }) => {
23143
- const data = input;
23144
- return client.runGeneratedRequest("getPickerTaskGroupsClassic", () => callGeneratedRequest(getPickerTaskGroupsClassic, [
23145
- client.httpClient,
23146
- client.organizationId,
23147
- client.workspaceIdNumber,
23148
- data,
23149
- void 0
23150
- ]));
23151
- }
23152
- },
23153
22722
  {
23154
22723
  id: "focus.tasks.get-recurring-instances",
23155
22724
  family: "focus",
@@ -23173,13 +22742,9 @@ const generatedFocusOperations = [
23173
22742
  dates_overlap_start: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
23174
22743
  end_date: /* @__PURE__ */ optional$1(/* @__PURE__ */ pipe$2(/* @__PURE__ */ string$1(), /* @__PURE__ */ isoDate$1())),
23175
22744
  include_assignees: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
23176
- include_projected_occurrences: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
23177
- max_recurring_occurrences_after: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
23178
22745
  page: /* @__PURE__ */ optional$1(/* @__PURE__ */ number$2()),
23179
22746
  per_page: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
23180
- recurring_occurrences_after: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
23181
22747
  recurring_task_ids: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
23182
- recurring_task_read: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
23183
22748
  start_date: /* @__PURE__ */ optional$1(/* @__PURE__ */ pipe$2(/* @__PURE__ */ string$1(), /* @__PURE__ */ isoDate$1())),
23184
22749
  tag_id: /* @__PURE__ */ optional$1(tagIdFilterSchema),
23185
22750
  team_id: /* @__PURE__ */ optional$1(/* @__PURE__ */ number$2())
@@ -23225,14 +22790,13 @@ const generatedFocusOperations = [
23225
22790
  estimated_mins_max: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
23226
22791
  estimated_mins_min: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
23227
22792
  has_dates: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
22793
+ has_time_blocks: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
23228
22794
  has_time_entries: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
23229
22795
  include_assignees: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
23230
22796
  include_drafts: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
23231
22797
  include_parent_matches: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
23232
22798
  include_project_completed: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
23233
- include_projected_occurrences: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
23234
22799
  is_priority: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
23235
- max_recurring_occurrences_after: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
23236
22800
  name: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
23237
22801
  order_by: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
23238
22802
  parent_task_id: /* @__PURE__ */ optional$1(/* @__PURE__ */ number$2()),
@@ -23241,9 +22805,7 @@ const generatedFocusOperations = [
23241
22805
  private_: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
23242
22806
  project_id: /* @__PURE__ */ optional$1(/* @__PURE__ */ number$2()),
23243
22807
  recurring: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
23244
- recurring_occurrences_after: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
23245
22808
  recurring_task_ids: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
23246
- recurring_task_read: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
23247
22809
  source: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
23248
22810
  start_date: /* @__PURE__ */ optional$1(/* @__PURE__ */ pipe$2(/* @__PURE__ */ string$1(), /* @__PURE__ */ isoDate$1())),
23249
22811
  start_date_from: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
@@ -23252,6 +22814,8 @@ const generatedFocusOperations = [
23252
22814
  status_id: /* @__PURE__ */ optional$1(/* @__PURE__ */ number$2()),
23253
22815
  tag_id: /* @__PURE__ */ optional$1(tagIdFilterSchema),
23254
22816
  team_id: /* @__PURE__ */ optional$1(/* @__PURE__ */ number$2()),
22817
+ time_block_completed: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
22818
+ time_block_id: /* @__PURE__ */ optional$1(/* @__PURE__ */ number$2()),
23255
22819
  toggl_user_id: /* @__PURE__ */ optional$1(/* @__PURE__ */ number$2()),
23256
22820
  with_entries: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1())
23257
22821
  }),
@@ -23379,10 +22943,8 @@ const generatedFocusOperations = [
23379
22943
  group_id: /* @__PURE__ */ optional$1(/* @__PURE__ */ number$2()),
23380
22944
  include_assignees: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
23381
22945
  include_drafts: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
23382
- include_projected_occurrences: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
23383
22946
  include_unassigned: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
23384
22947
  include_unmaterialized: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
23385
- max_recurring_occurrences_after: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
23386
22948
  min_days: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
23387
22949
  name: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
23388
22950
  order_by: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
@@ -23391,8 +22953,6 @@ const generatedFocusOperations = [
23391
22953
  priority: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
23392
22954
  private_: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
23393
22955
  project_id: /* @__PURE__ */ optional$1(/* @__PURE__ */ number$2()),
23394
- recurring_occurrences_after: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
23395
- recurring_task_read: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
23396
22956
  source: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
23397
22957
  start_date: /* @__PURE__ */ optional$1(/* @__PURE__ */ pipe$2(/* @__PURE__ */ string$1(), /* @__PURE__ */ isoDate$1())),
23398
22958
  start_date_from: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
@@ -23401,8 +22961,7 @@ const generatedFocusOperations = [
23401
22961
  tag_id: /* @__PURE__ */ optional$1(tagIdFilterSchema),
23402
22962
  team_id: /* @__PURE__ */ optional$1(/* @__PURE__ */ number$2()),
23403
22963
  user_cf_filter: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
23404
- user_tag_id: /* @__PURE__ */ optional$1(/* @__PURE__ */ number$2()),
23405
- xTimelineFetchTrigger: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1())
22964
+ user_tag_id: /* @__PURE__ */ optional$1(/* @__PURE__ */ number$2())
23406
22965
  }),
23407
22966
  execute: (input, { client }) => {
23408
22967
  const data = input;
@@ -23444,17 +23003,13 @@ const generatedFocusOperations = [
23444
23003
  group_id: /* @__PURE__ */ number$2(),
23445
23004
  include_assignees: /* @__PURE__ */ unknown$1(),
23446
23005
  include_drafts: /* @__PURE__ */ unknown$1(),
23447
- include_projected_occurrences: /* @__PURE__ */ unknown$1(),
23448
23006
  include_unassigned: /* @__PURE__ */ unknown$1(),
23449
23007
  include_unmaterialized: /* @__PURE__ */ unknown$1(),
23450
- max_recurring_occurrences_after: /* @__PURE__ */ unknown$1(),
23451
23008
  min_days: /* @__PURE__ */ unknown$1(),
23452
23009
  name: /* @__PURE__ */ unknown$1(),
23453
23010
  priority: /* @__PURE__ */ unknown$1(),
23454
23011
  private_: /* @__PURE__ */ unknown$1(),
23455
23012
  project_id: /* @__PURE__ */ number$2(),
23456
- recurring_occurrences_after: /* @__PURE__ */ unknown$1(),
23457
- recurring_task_read: /* @__PURE__ */ unknown$1(),
23458
23013
  source: /* @__PURE__ */ unknown$1(),
23459
23014
  start_date: /* @__PURE__ */ pipe$2(/* @__PURE__ */ string$1(), /* @__PURE__ */ isoDate$1()),
23460
23015
  start_date_from: /* @__PURE__ */ unknown$1(),
@@ -23463,8 +23018,7 @@ const generatedFocusOperations = [
23463
23018
  tag_id: /* @__PURE__ */ number$2(),
23464
23019
  team_id: /* @__PURE__ */ number$2(),
23465
23020
  user_cf_filter: /* @__PURE__ */ unknown$1(),
23466
- user_tag_id: /* @__PURE__ */ number$2(),
23467
- xTimelineFetchTrigger: /* @__PURE__ */ unknown$1()
23021
+ user_tag_id: /* @__PURE__ */ number$2()
23468
23022
  }),
23469
23023
  execute: (input, { client }) => {
23470
23024
  const data = input;
@@ -23505,17 +23059,13 @@ const generatedFocusOperations = [
23505
23059
  group_id: /* @__PURE__ */ optional$1(/* @__PURE__ */ number$2()),
23506
23060
  include_assignees: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
23507
23061
  include_drafts: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
23508
- include_projected_occurrences: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
23509
23062
  include_unassigned: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
23510
23063
  include_unmaterialized: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
23511
- max_recurring_occurrences_after: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
23512
23064
  min_days: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
23513
23065
  name: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
23514
23066
  priority: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
23515
23067
  private_: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
23516
23068
  project_id: /* @__PURE__ */ optional$1(/* @__PURE__ */ number$2()),
23517
- recurring_occurrences_after: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
23518
- recurring_task_read: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
23519
23069
  source: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
23520
23070
  start_date: /* @__PURE__ */ optional$1(/* @__PURE__ */ pipe$2(/* @__PURE__ */ string$1(), /* @__PURE__ */ isoDate$1())),
23521
23071
  start_date_from: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
@@ -23524,8 +23074,7 @@ const generatedFocusOperations = [
23524
23074
  tag_id: /* @__PURE__ */ optional$1(/* @__PURE__ */ number$2()),
23525
23075
  team_id: /* @__PURE__ */ optional$1(/* @__PURE__ */ number$2()),
23526
23076
  user_cf_filter: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
23527
- user_tag_id: /* @__PURE__ */ optional$1(/* @__PURE__ */ number$2()),
23528
- xTimelineFetchTrigger: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1())
23077
+ user_tag_id: /* @__PURE__ */ optional$1(/* @__PURE__ */ number$2())
23529
23078
  }),
23530
23079
  execute: (input, { client }) => {
23531
23080
  const data = input;
@@ -23769,45 +23318,508 @@ const generatedFocusOperations = [
23769
23318
  }),
23770
23319
  execute: (input, { client }) => {
23771
23320
  const data = input;
23772
- return client.runGeneratedRequest("updateTask", () => callGeneratedRequest(updateTask, [
23321
+ return client.runGeneratedRequest("updateTask", () => callGeneratedRequest(updateTask, [
23322
+ client.httpClient,
23323
+ client.organizationId,
23324
+ client.workspaceIdNumber,
23325
+ data.task_id,
23326
+ data.payload ?? data.data ?? data,
23327
+ void 0
23328
+ ]));
23329
+ }
23330
+ },
23331
+ {
23332
+ id: "focus.tasks.update-calendar-range",
23333
+ family: "focus",
23334
+ resource: "tasks",
23335
+ action: "update-calendar-range",
23336
+ title: "Update Calendar Range Tasks",
23337
+ description: "Update Calendar Range Tasks.",
23338
+ safety: "update",
23339
+ destructive: false,
23340
+ cli: {
23341
+ group: ["tasks"],
23342
+ command: "update-calendar-range",
23343
+ interactive: "default"
23344
+ },
23345
+ mcp: { entityTool: "tasks" },
23346
+ inputSchema: /* @__PURE__ */ looseObject({
23347
+ date_from: /* @__PURE__ */ string$1(),
23348
+ date_to: /* @__PURE__ */ string$1()
23349
+ }),
23350
+ execute: (input, { client }) => {
23351
+ const data = input;
23352
+ return client.runGeneratedRequest("putTasksCalendarRange", () => callGeneratedRequest(putTasksCalendarRange, [
23353
+ client.httpClient,
23354
+ client.organizationId,
23355
+ client.workspaceIdNumber,
23356
+ data.date_from,
23357
+ data.date_to,
23358
+ void 0
23359
+ ]));
23360
+ }
23361
+ },
23362
+ {
23363
+ id: "focus.time-blocks.archive",
23364
+ family: "focus",
23365
+ resource: "time-blocks",
23366
+ action: "archive",
23367
+ title: "Archive Time Blocks",
23368
+ description: "Archive Time Blocks.",
23369
+ safety: "update",
23370
+ destructive: false,
23371
+ cli: {
23372
+ group: ["time-blocks"],
23373
+ command: "archive",
23374
+ interactive: "default"
23375
+ },
23376
+ mcp: { entityTool: "time-blocks" },
23377
+ inputSchema: /* @__PURE__ */ looseObject({
23378
+ task_id: /* @__PURE__ */ number$2(),
23379
+ time_block_id: /* @__PURE__ */ number$2()
23380
+ }),
23381
+ execute: (input, { client }) => {
23382
+ const data = input;
23383
+ return client.runGeneratedRequest("archiveTimeBlockWithOrg", () => callGeneratedRequest(archiveTimeBlockWithOrg, [
23384
+ client.httpClient,
23385
+ client.organizationId,
23386
+ client.workspaceIdNumber,
23387
+ data.task_id,
23388
+ data.time_block_id,
23389
+ void 0
23390
+ ]));
23391
+ }
23392
+ },
23393
+ {
23394
+ id: "focus.time-blocks.bulk-create",
23395
+ family: "focus",
23396
+ resource: "time-blocks",
23397
+ action: "bulk-create",
23398
+ title: "Bulk Create Time Blocks",
23399
+ description: "Bulk Create Time Blocks.",
23400
+ safety: "create",
23401
+ destructive: false,
23402
+ cli: {
23403
+ group: ["time-blocks", "bulk"],
23404
+ command: "create",
23405
+ interactive: "default"
23406
+ },
23407
+ mcp: { entityTool: "time-blocks" },
23408
+ inputSchema: /* @__PURE__ */ looseObject({ payload: /* @__PURE__ */ looseObject({ time_blocks: /* @__PURE__ */ array$1(/* @__PURE__ */ looseObject({
23409
+ start: apiDateTimeString,
23410
+ task_id: /* @__PURE__ */ number$2(),
23411
+ completed: /* @__PURE__ */ optional$1(/* @__PURE__ */ boolean$1()),
23412
+ duration: /* @__PURE__ */ optional$1(/* @__PURE__ */ number$2()),
23413
+ outbound_sync: /* @__PURE__ */ optional$1(/* @__PURE__ */ boolean$1())
23414
+ })) }) }),
23415
+ execute: (input, { client }) => {
23416
+ const data = input;
23417
+ return client.runGeneratedRequest("bulkCreateTimeBlockWithOrg", () => callGeneratedRequest(bulkCreateTimeBlockWithOrg, [
23418
+ client.httpClient,
23419
+ client.organizationId,
23420
+ client.workspaceIdNumber,
23421
+ data.payload ?? data.data ?? data,
23422
+ void 0
23423
+ ]));
23424
+ }
23425
+ },
23426
+ {
23427
+ id: "focus.time-blocks.bulk-delete",
23428
+ family: "focus",
23429
+ resource: "time-blocks",
23430
+ action: "bulk-delete",
23431
+ title: "Bulk Delete Time Blocks",
23432
+ description: "Bulk Delete Time Blocks.",
23433
+ safety: "delete",
23434
+ destructive: true,
23435
+ cli: {
23436
+ group: ["time-blocks", "bulk"],
23437
+ command: "delete",
23438
+ interactive: "default"
23439
+ },
23440
+ mcp: { entityTool: "time-blocks" },
23441
+ inputSchema: /* @__PURE__ */ looseObject({
23442
+ ids: /* @__PURE__ */ array$1(/* @__PURE__ */ number$2()),
23443
+ outbound_sync: /* @__PURE__ */ optional$1(/* @__PURE__ */ boolean$1())
23444
+ }),
23445
+ execute: (input, { client }) => {
23446
+ const data = input;
23447
+ return client.runGeneratedRequest("bulkDeleteTimeBlockWithOrg", () => callGeneratedRequest(bulkDeleteTimeBlockWithOrg, [
23448
+ client.httpClient,
23449
+ client.organizationId,
23450
+ client.workspaceIdNumber,
23451
+ data.ids,
23452
+ data.outbound_sync,
23453
+ void 0
23454
+ ]));
23455
+ }
23456
+ },
23457
+ {
23458
+ id: "focus.time-blocks.bulk-partial-update",
23459
+ family: "focus",
23460
+ resource: "time-blocks",
23461
+ action: "bulk-partial-update",
23462
+ title: "Bulk Partial Update Time Blocks",
23463
+ description: "Bulk Partial Update Time Blocks.",
23464
+ safety: "update",
23465
+ destructive: false,
23466
+ cli: {
23467
+ group: ["time-blocks", "bulk"],
23468
+ command: "partial-update",
23469
+ interactive: "hidden"
23470
+ },
23471
+ mcp: { entityTool: "time-blocks" },
23472
+ inputSchema: /* @__PURE__ */ looseObject({ payload: /* @__PURE__ */ unknown$1() }),
23473
+ execute: (input, { client }) => {
23474
+ const data = input;
23475
+ return client.runGeneratedRequest("bulkPartialUpdateTimeBlockWithOrg", () => callGeneratedRequest(bulkPartialUpdateTimeBlockWithOrg, [
23476
+ client.httpClient,
23477
+ client.organizationId,
23478
+ client.workspaceIdNumber,
23479
+ data.payload ?? data.data ?? data,
23480
+ void 0
23481
+ ]));
23482
+ }
23483
+ },
23484
+ {
23485
+ id: "focus.time-blocks.create",
23486
+ family: "focus",
23487
+ resource: "time-blocks",
23488
+ action: "create",
23489
+ title: "Create Time Blocks",
23490
+ description: "Create Time Blocks.",
23491
+ safety: "create",
23492
+ destructive: false,
23493
+ cli: {
23494
+ group: ["time-blocks"],
23495
+ command: "create",
23496
+ interactive: "default"
23497
+ },
23498
+ mcp: { entityTool: "time-blocks" },
23499
+ inputSchema: /* @__PURE__ */ looseObject({
23500
+ payload: /* @__PURE__ */ looseObject({
23501
+ start: apiDateTimeString,
23502
+ completed: /* @__PURE__ */ optional$1(/* @__PURE__ */ boolean$1()),
23503
+ duration: /* @__PURE__ */ optional$1(/* @__PURE__ */ number$2()),
23504
+ outbound_sync: /* @__PURE__ */ optional$1(/* @__PURE__ */ boolean$1())
23505
+ }),
23506
+ task_id: /* @__PURE__ */ number$2()
23507
+ }),
23508
+ execute: (input, { client }) => {
23509
+ const data = input;
23510
+ return client.runGeneratedRequest("createTimeBlockWithOrg", () => callGeneratedRequest(createTimeBlockWithOrg, [
23511
+ client.httpClient,
23512
+ client.organizationId,
23513
+ client.workspaceIdNumber,
23514
+ data.task_id,
23515
+ data.payload ?? data.data ?? data,
23516
+ void 0
23517
+ ]));
23518
+ }
23519
+ },
23520
+ {
23521
+ id: "focus.time-blocks.delete",
23522
+ family: "focus",
23523
+ resource: "time-blocks",
23524
+ action: "delete",
23525
+ title: "Delete Time Blocks",
23526
+ description: "Delete Time Blocks.",
23527
+ safety: "delete",
23528
+ destructive: true,
23529
+ cli: {
23530
+ group: ["time-blocks"],
23531
+ command: "delete",
23532
+ interactive: "default"
23533
+ },
23534
+ mcp: { entityTool: "time-blocks" },
23535
+ inputSchema: /* @__PURE__ */ looseObject({
23536
+ outbound_sync: /* @__PURE__ */ optional$1(/* @__PURE__ */ boolean$1()),
23537
+ task_id: /* @__PURE__ */ number$2(),
23538
+ time_block_id: /* @__PURE__ */ number$2()
23539
+ }),
23540
+ execute: (input, { client }) => {
23541
+ const data = input;
23542
+ return client.runGeneratedRequest("deleteTimeBlockWithOrg", () => callGeneratedRequest(deleteTimeBlockWithOrg, [
23543
+ client.httpClient,
23544
+ client.organizationId,
23545
+ client.workspaceIdNumber,
23546
+ data.task_id,
23547
+ data.time_block_id,
23548
+ data.outbound_sync,
23549
+ void 0
23550
+ ]));
23551
+ }
23552
+ },
23553
+ {
23554
+ id: "focus.time-blocks.get",
23555
+ family: "focus",
23556
+ resource: "time-blocks",
23557
+ action: "get",
23558
+ title: "Get Time Blocks",
23559
+ description: "Get Time Blocks.",
23560
+ safety: "read",
23561
+ destructive: false,
23562
+ cli: {
23563
+ group: ["time-blocks"],
23564
+ command: "get",
23565
+ interactive: "available"
23566
+ },
23567
+ mcp: { entityTool: "time-blocks" },
23568
+ inputSchema: /* @__PURE__ */ looseObject({
23569
+ task_id: /* @__PURE__ */ number$2(),
23570
+ time_block_id: /* @__PURE__ */ number$2()
23571
+ }),
23572
+ execute: (input, { client }) => {
23573
+ const data = input;
23574
+ return client.runGeneratedRequest("getTimeBlockWithOrg", () => callGeneratedRequest(getTimeBlockWithOrg, [
23575
+ client.httpClient,
23576
+ client.organizationId,
23577
+ client.workspaceIdNumber,
23578
+ data.task_id,
23579
+ data.time_block_id,
23580
+ void 0
23581
+ ]));
23582
+ }
23583
+ },
23584
+ {
23585
+ id: "focus.time-blocks.get-range",
23586
+ family: "focus",
23587
+ resource: "time-blocks",
23588
+ action: "get-range",
23589
+ title: "Get Range Time Blocks",
23590
+ description: "Get Range Time Blocks.",
23591
+ safety: "read",
23592
+ destructive: false,
23593
+ cli: {
23594
+ group: ["time-blocks"],
23595
+ command: "get-range",
23596
+ interactive: "hidden"
23597
+ },
23598
+ mcp: { entityTool: "time-blocks" },
23599
+ inputSchema: /* @__PURE__ */ looseObject({
23600
+ archived: /* @__PURE__ */ unknown$1(),
23601
+ date_from: /* @__PURE__ */ unknown$1(),
23602
+ date_to: /* @__PURE__ */ unknown$1(),
23603
+ order_by: /* @__PURE__ */ unknown$1(),
23604
+ page: /* @__PURE__ */ number$2(),
23605
+ per_page: /* @__PURE__ */ unknown$1(),
23606
+ status_id: /* @__PURE__ */ number$2(),
23607
+ task_id: /* @__PURE__ */ number$2()
23608
+ }),
23609
+ execute: (input, { client }) => {
23610
+ const data = input;
23611
+ return client.runGeneratedRequest("getTimeBlocksRangeWithOrgClassic", () => callGeneratedRequest(getTimeBlocksRangeWithOrgClassic, [
23612
+ client.httpClient,
23613
+ client.organizationId,
23614
+ client.workspaceIdNumber,
23615
+ data,
23616
+ void 0
23617
+ ]));
23618
+ }
23619
+ },
23620
+ {
23621
+ id: "focus.time-blocks.get-range-stream",
23622
+ family: "focus",
23623
+ resource: "time-blocks",
23624
+ action: "get-range-stream",
23625
+ title: "Get Range Stream Time Blocks",
23626
+ description: "Get Range Stream Time Blocks.",
23627
+ safety: "read",
23628
+ destructive: false,
23629
+ cli: {
23630
+ group: ["time-blocks"],
23631
+ command: "get-range-stream",
23632
+ interactive: "hidden"
23633
+ },
23634
+ mcp: { entityTool: "time-blocks" },
23635
+ inputSchema: /* @__PURE__ */ looseObject({
23636
+ archived: /* @__PURE__ */ unknown$1(),
23637
+ date_from: /* @__PURE__ */ unknown$1(),
23638
+ date_to: /* @__PURE__ */ unknown$1(),
23639
+ order_by: /* @__PURE__ */ unknown$1(),
23640
+ status_id: /* @__PURE__ */ number$2(),
23641
+ task_id: /* @__PURE__ */ number$2()
23642
+ }),
23643
+ execute: (input, { client }) => {
23644
+ const data = input;
23645
+ return client.runGeneratedRequest("getTimeBlocksRangeStreamWithOrg", () => callGeneratedRequest(getTimeBlocksRangeStreamWithOrg, [
23646
+ client.httpClient,
23647
+ client.organizationId,
23648
+ client.workspaceIdNumber,
23649
+ data,
23650
+ void 0
23651
+ ]));
23652
+ }
23653
+ },
23654
+ {
23655
+ id: "focus.time-blocks.get-task-time-blocks",
23656
+ family: "focus",
23657
+ resource: "time-blocks",
23658
+ action: "get-task-time-blocks",
23659
+ title: "Get Task Time Blocks Time Blocks",
23660
+ description: "Get Task Time Blocks Time Blocks.",
23661
+ safety: "read",
23662
+ destructive: false,
23663
+ cli: {
23664
+ group: ["time-blocks"],
23665
+ command: "get-task-time-blocks",
23666
+ interactive: "hidden"
23667
+ },
23668
+ mcp: { entityTool: "time-blocks" },
23669
+ inputSchema: /* @__PURE__ */ looseObject({
23670
+ archived: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
23671
+ order_by: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
23672
+ page: /* @__PURE__ */ optional$1(/* @__PURE__ */ number$2()),
23673
+ per_page: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
23674
+ task_id: /* @__PURE__ */ number$2()
23675
+ }),
23676
+ execute: (input, { client }) => {
23677
+ const data = input;
23678
+ return client.runGeneratedRequest("getTaskTimeBlocksWithOrgClassic", () => callGeneratedRequest(getTaskTimeBlocksWithOrgClassic, [
23679
+ client.httpClient,
23680
+ client.organizationId,
23681
+ client.workspaceIdNumber,
23682
+ data.task_id,
23683
+ data,
23684
+ void 0
23685
+ ]));
23686
+ }
23687
+ },
23688
+ {
23689
+ id: "focus.time-blocks.partial-update",
23690
+ family: "focus",
23691
+ resource: "time-blocks",
23692
+ action: "partial-update",
23693
+ title: "Partial Update Time Blocks",
23694
+ description: "Partial Update Time Blocks.",
23695
+ safety: "update",
23696
+ destructive: false,
23697
+ cli: {
23698
+ group: ["time-blocks"],
23699
+ command: "partial-update",
23700
+ interactive: "default"
23701
+ },
23702
+ mcp: { entityTool: "time-blocks" },
23703
+ inputSchema: /* @__PURE__ */ looseObject({
23704
+ payload: /* @__PURE__ */ looseObject({
23705
+ completed: /* @__PURE__ */ optional$1(/* @__PURE__ */ boolean$1()),
23706
+ duration: /* @__PURE__ */ optional$1(/* @__PURE__ */ number$2()),
23707
+ outbound_sync: /* @__PURE__ */ optional$1(/* @__PURE__ */ boolean$1()),
23708
+ start: /* @__PURE__ */ optional$1(apiDateTimeString),
23709
+ task_id: /* @__PURE__ */ optional$1(/* @__PURE__ */ number$2())
23710
+ }),
23711
+ task_id: /* @__PURE__ */ number$2(),
23712
+ time_block_id: /* @__PURE__ */ number$2()
23713
+ }),
23714
+ execute: (input, { client }) => {
23715
+ const data = input;
23716
+ return client.runGeneratedRequest("partialUpdateTimeBlockWithOrg", () => callGeneratedRequest(partialUpdateTimeBlockWithOrg, [
23717
+ client.httpClient,
23718
+ client.organizationId,
23719
+ client.workspaceIdNumber,
23720
+ data.task_id,
23721
+ data.time_block_id,
23722
+ data.payload ?? data.data ?? data,
23723
+ void 0
23724
+ ]));
23725
+ }
23726
+ },
23727
+ {
23728
+ id: "focus.time-blocks.restore",
23729
+ family: "focus",
23730
+ resource: "time-blocks",
23731
+ action: "restore",
23732
+ title: "Restore Time Blocks",
23733
+ description: "Restore Time Blocks.",
23734
+ safety: "update",
23735
+ destructive: false,
23736
+ cli: {
23737
+ group: ["time-blocks"],
23738
+ command: "restore",
23739
+ interactive: "default"
23740
+ },
23741
+ mcp: { entityTool: "time-blocks" },
23742
+ inputSchema: /* @__PURE__ */ looseObject({
23743
+ task_id: /* @__PURE__ */ number$2(),
23744
+ time_block_id: /* @__PURE__ */ number$2()
23745
+ }),
23746
+ execute: (input, { client }) => {
23747
+ const data = input;
23748
+ return client.runGeneratedRequest("restoreTimeBlockWithOrg", () => callGeneratedRequest(restoreTimeBlockWithOrg, [
23749
+ client.httpClient,
23750
+ client.organizationId,
23751
+ client.workspaceIdNumber,
23752
+ data.task_id,
23753
+ data.time_block_id,
23754
+ void 0
23755
+ ]));
23756
+ }
23757
+ },
23758
+ {
23759
+ id: "focus.time-blocks.unarchive",
23760
+ family: "focus",
23761
+ resource: "time-blocks",
23762
+ action: "unarchive",
23763
+ title: "Unarchive Time Blocks",
23764
+ description: "Unarchive Time Blocks.",
23765
+ safety: "update",
23766
+ destructive: false,
23767
+ cli: {
23768
+ group: ["time-blocks"],
23769
+ command: "unarchive",
23770
+ interactive: "default"
23771
+ },
23772
+ mcp: { entityTool: "time-blocks" },
23773
+ inputSchema: /* @__PURE__ */ looseObject({
23774
+ task_id: /* @__PURE__ */ number$2(),
23775
+ time_block_id: /* @__PURE__ */ number$2()
23776
+ }),
23777
+ execute: (input, { client }) => {
23778
+ const data = input;
23779
+ return client.runGeneratedRequest("unarchiveTimeBlockWithOrg", () => callGeneratedRequest(unarchiveTimeBlockWithOrg, [
23773
23780
  client.httpClient,
23774
23781
  client.organizationId,
23775
23782
  client.workspaceIdNumber,
23776
23783
  data.task_id,
23777
- data.payload ?? data.data ?? data,
23784
+ data.time_block_id,
23778
23785
  void 0
23779
23786
  ]));
23780
23787
  }
23781
23788
  },
23782
23789
  {
23783
- id: "focus.tasks.update-calendar-range",
23790
+ id: "focus.time-blocks.update",
23784
23791
  family: "focus",
23785
- resource: "tasks",
23786
- action: "update-calendar-range",
23787
- title: "Update Calendar Range Tasks",
23788
- description: "Update Calendar Range Tasks.",
23792
+ resource: "time-blocks",
23793
+ action: "update",
23794
+ title: "Update Time Blocks",
23795
+ description: "Update Time Blocks.",
23789
23796
  safety: "update",
23790
23797
  destructive: false,
23791
23798
  cli: {
23792
- group: ["tasks"],
23793
- command: "update-calendar-range",
23799
+ group: ["time-blocks"],
23800
+ command: "update",
23794
23801
  interactive: "default"
23795
23802
  },
23796
- mcp: { entityTool: "tasks" },
23803
+ mcp: { entityTool: "time-blocks" },
23797
23804
  inputSchema: /* @__PURE__ */ looseObject({
23798
- date_from: /* @__PURE__ */ string$1(),
23799
- date_to: /* @__PURE__ */ string$1(),
23800
- skip_provider_refresh: /* @__PURE__ */ optional$1(/* @__PURE__ */ boolean$1())
23805
+ payload: /* @__PURE__ */ looseObject({
23806
+ start: apiDateTimeString,
23807
+ completed: /* @__PURE__ */ optional$1(/* @__PURE__ */ boolean$1()),
23808
+ duration: /* @__PURE__ */ optional$1(/* @__PURE__ */ number$2()),
23809
+ outbound_sync: /* @__PURE__ */ optional$1(/* @__PURE__ */ boolean$1())
23810
+ }),
23811
+ task_id: /* @__PURE__ */ number$2(),
23812
+ time_block_id: /* @__PURE__ */ number$2()
23801
23813
  }),
23802
23814
  execute: (input, { client }) => {
23803
23815
  const data = input;
23804
- return client.runGeneratedRequest("putTasksCalendarRange", () => callGeneratedRequest(putTasksCalendarRange, [
23816
+ return client.runGeneratedRequest("updateTimeBlockWithOrg", () => callGeneratedRequest(updateTimeBlockWithOrg, [
23805
23817
  client.httpClient,
23806
23818
  client.organizationId,
23807
23819
  client.workspaceIdNumber,
23808
- data.date_from,
23809
- data.date_to,
23810
- data.skip_provider_refresh,
23820
+ data.task_id,
23821
+ data.time_block_id,
23822
+ data.payload ?? data.data ?? data,
23811
23823
  void 0
23812
23824
  ]));
23813
23825
  }
@@ -24027,8 +24039,7 @@ const generatedFocusOperations = [
24027
24039
  required_fields: /* @__PURE__ */ array$1(/* @__PURE__ */ looseObject({ kind: /* @__PURE__ */ picklist$1([
24028
24040
  "project",
24029
24041
  "task",
24030
- "description",
24031
- "tags"
24042
+ "description"
24032
24043
  ]) })),
24033
24044
  disallow_billable_override: /* @__PURE__ */ optional$1(/* @__PURE__ */ boolean$1())
24034
24045
  }) }),
@@ -24058,7 +24069,6 @@ const generatedFocusOperations = [
24058
24069
  },
24059
24070
  mcp: { entityTool: "time-entries" },
24060
24071
  inputSchema: /* @__PURE__ */ looseObject({
24061
- from_recurring_task_id: /* @__PURE__ */ optional$1(/* @__PURE__ */ number$2()),
24062
24072
  payload: /* @__PURE__ */ looseObject({
24063
24073
  type: /* @__PURE__ */ optional$1(/* @__PURE__ */ picklist$1(["activity", "break"]), "activity"),
24064
24074
  billable: /* @__PURE__ */ optional$1(/* @__PURE__ */ boolean$1()),
@@ -24069,12 +24079,11 @@ const generatedFocusOperations = [
24069
24079
  planned_duration: /* @__PURE__ */ optional$1(/* @__PURE__ */ number$2()),
24070
24080
  planned_start: /* @__PURE__ */ optional$1(/* @__PURE__ */ string$1()),
24071
24081
  project_id: /* @__PURE__ */ optional$1(/* @__PURE__ */ number$2()),
24072
- repeat_time_entry: /* @__PURE__ */ optional$1(/* @__PURE__ */ boolean$1()),
24073
24082
  start: /* @__PURE__ */ optional$1(apiDateTimeString),
24083
+ time_block_id: /* @__PURE__ */ optional$1(/* @__PURE__ */ number$2()),
24074
24084
  tracked_at: /* @__PURE__ */ optional$1(apiDateTimeString),
24075
24085
  user_id: /* @__PURE__ */ optional$1(/* @__PURE__ */ number$2())
24076
24086
  }),
24077
- return_occurrence: /* @__PURE__ */ optional$1(/* @__PURE__ */ boolean$1()),
24078
24087
  task_id: /* @__PURE__ */ number$2()
24079
24088
  }),
24080
24089
  execute: (input, { client }) => {
@@ -24085,8 +24094,6 @@ const generatedFocusOperations = [
24085
24094
  client.workspaceIdNumber,
24086
24095
  data.task_id,
24087
24096
  data.payload ?? data.data ?? data,
24088
- data.from_recurring_task_id,
24089
- data.return_occurrence,
24090
24097
  void 0
24091
24098
  ]));
24092
24099
  }
@@ -24106,25 +24113,21 @@ const generatedFocusOperations = [
24106
24113
  interactive: "default"
24107
24114
  },
24108
24115
  mcp: { entityTool: "time-entries" },
24109
- inputSchema: /* @__PURE__ */ looseObject({
24110
- from_recurring_task_id: /* @__PURE__ */ optional$1(/* @__PURE__ */ number$2()),
24111
- payload: /* @__PURE__ */ looseObject({
24112
- type: /* @__PURE__ */ optional$1(/* @__PURE__ */ picklist$1(["activity", "break"]), "activity"),
24113
- billable: /* @__PURE__ */ optional$1(/* @__PURE__ */ boolean$1()),
24114
- calendar_event_id: /* @__PURE__ */ optional$1(/* @__PURE__ */ number$2()),
24115
- description: /* @__PURE__ */ optional$1(/* @__PURE__ */ string$1()),
24116
- duration: /* @__PURE__ */ optional$1(/* @__PURE__ */ number$2()),
24117
- planned_at: /* @__PURE__ */ optional$1(apiDateTimeString),
24118
- planned_duration: /* @__PURE__ */ optional$1(/* @__PURE__ */ number$2()),
24119
- planned_start: /* @__PURE__ */ optional$1(/* @__PURE__ */ string$1()),
24120
- project_id: /* @__PURE__ */ optional$1(/* @__PURE__ */ number$2()),
24121
- repeat_time_entry: /* @__PURE__ */ optional$1(/* @__PURE__ */ boolean$1()),
24122
- start: /* @__PURE__ */ optional$1(apiDateTimeString),
24123
- tracked_at: /* @__PURE__ */ optional$1(apiDateTimeString),
24124
- user_id: /* @__PURE__ */ optional$1(/* @__PURE__ */ number$2())
24125
- }),
24126
- return_occurrence: /* @__PURE__ */ optional$1(/* @__PURE__ */ boolean$1())
24127
- }),
24116
+ inputSchema: /* @__PURE__ */ looseObject({ payload: /* @__PURE__ */ looseObject({
24117
+ type: /* @__PURE__ */ optional$1(/* @__PURE__ */ picklist$1(["activity", "break"]), "activity"),
24118
+ billable: /* @__PURE__ */ optional$1(/* @__PURE__ */ boolean$1()),
24119
+ calendar_event_id: /* @__PURE__ */ optional$1(/* @__PURE__ */ number$2()),
24120
+ description: /* @__PURE__ */ optional$1(/* @__PURE__ */ string$1()),
24121
+ duration: /* @__PURE__ */ optional$1(/* @__PURE__ */ number$2()),
24122
+ planned_at: /* @__PURE__ */ optional$1(apiDateTimeString),
24123
+ planned_duration: /* @__PURE__ */ optional$1(/* @__PURE__ */ number$2()),
24124
+ planned_start: /* @__PURE__ */ optional$1(/* @__PURE__ */ string$1()),
24125
+ project_id: /* @__PURE__ */ optional$1(/* @__PURE__ */ number$2()),
24126
+ start: /* @__PURE__ */ optional$1(apiDateTimeString),
24127
+ time_block_id: /* @__PURE__ */ optional$1(/* @__PURE__ */ number$2()),
24128
+ tracked_at: /* @__PURE__ */ optional$1(apiDateTimeString),
24129
+ user_id: /* @__PURE__ */ optional$1(/* @__PURE__ */ number$2())
24130
+ }) }),
24128
24131
  execute: (input, { client }) => {
24129
24132
  const data = input;
24130
24133
  return client.runGeneratedRequest("createTasklessTimeEntryWithOrg", () => callGeneratedRequest(createTasklessTimeEntryWithOrg, [
@@ -24132,8 +24135,6 @@ const generatedFocusOperations = [
24132
24135
  client.organizationId,
24133
24136
  client.workspaceIdNumber,
24134
24137
  data.payload ?? data.data ?? data,
24135
- data.from_recurring_task_id,
24136
- data.return_occurrence,
24137
24138
  void 0
24138
24139
  ]));
24139
24140
  }
@@ -24153,11 +24154,7 @@ const generatedFocusOperations = [
24153
24154
  interactive: "default"
24154
24155
  },
24155
24156
  mcp: { entityTool: "time-entries" },
24156
- inputSchema: /* @__PURE__ */ looseObject({
24157
- from_recurring_task_id: /* @__PURE__ */ optional$1(/* @__PURE__ */ number$2()),
24158
- return_occurrence: /* @__PURE__ */ optional$1(/* @__PURE__ */ boolean$1()),
24159
- time_entry_id: /* @__PURE__ */ number$2()
24160
- }),
24157
+ inputSchema: /* @__PURE__ */ looseObject({ time_entry_id: /* @__PURE__ */ number$2() }),
24161
24158
  execute: (input, { client }) => {
24162
24159
  const data = input;
24163
24160
  return client.runGeneratedRequest("deleteTimeEntryWithOrg", () => callGeneratedRequest(deleteTimeEntryWithOrg, [
@@ -24165,8 +24162,6 @@ const generatedFocusOperations = [
24165
24162
  client.organizationId,
24166
24163
  client.workspaceIdNumber,
24167
24164
  data.time_entry_id,
24168
- data.from_recurring_task_id,
24169
- data.return_occurrence,
24170
24165
  void 0
24171
24166
  ]));
24172
24167
  }
@@ -24247,7 +24242,6 @@ const generatedFocusOperations = [
24247
24242
  expand_calendar_event: /* @__PURE__ */ unknown$1(),
24248
24243
  include_taskless: /* @__PURE__ */ unknown$1(),
24249
24244
  order_by: /* @__PURE__ */ unknown$1(),
24250
- project_id: /* @__PURE__ */ number$2(),
24251
24245
  status_id: /* @__PURE__ */ number$2(),
24252
24246
  task_id: /* @__PURE__ */ number$2(),
24253
24247
  type: /* @__PURE__ */ unknown$1()
@@ -24263,6 +24257,33 @@ const generatedFocusOperations = [
24263
24257
  ]));
24264
24258
  }
24265
24259
  },
24260
+ {
24261
+ id: "focus.time-entries.get-stream-time-entries-time-block-ids",
24262
+ family: "focus",
24263
+ resource: "time-entries",
24264
+ action: "get-stream-time-entries-time-block-ids",
24265
+ title: "Get Stream Time Entries Time Block Ids Time Entries",
24266
+ description: "Get Stream Time Entries Time Block Ids Time Entries.",
24267
+ safety: "read",
24268
+ destructive: false,
24269
+ cli: {
24270
+ group: ["time-entries"],
24271
+ command: "get-stream-time-entries-time-block-ids",
24272
+ interactive: "available"
24273
+ },
24274
+ mcp: { entityTool: "time-entries" },
24275
+ inputSchema: /* @__PURE__ */ looseObject({ time_block_id: /* @__PURE__ */ number$2() }),
24276
+ execute: (input, { client }) => {
24277
+ const data = input;
24278
+ return client.runGeneratedRequest("getStreamTimeEntriesTimeBlockIdsWithOrg", () => callGeneratedRequest(getStreamTimeEntriesTimeBlockIdsWithOrg, [
24279
+ client.httpClient,
24280
+ client.organizationId,
24281
+ client.workspaceIdNumber,
24282
+ data,
24283
+ void 0
24284
+ ]));
24285
+ }
24286
+ },
24266
24287
  {
24267
24288
  id: "focus.time-entries.get-task-time-entries",
24268
24289
  family: "focus",
@@ -24284,6 +24305,7 @@ const generatedFocusOperations = [
24284
24305
  page: /* @__PURE__ */ optional$1(/* @__PURE__ */ number$2()),
24285
24306
  per_page: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
24286
24307
  task_id: /* @__PURE__ */ number$2(),
24308
+ time_block_id: /* @__PURE__ */ optional$1(/* @__PURE__ */ number$2()),
24287
24309
  type: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1())
24288
24310
  }),
24289
24311
  execute: (input, { client }) => {
@@ -24396,14 +24418,12 @@ const generatedFocusOperations = [
24396
24418
  },
24397
24419
  mcp: { entityTool: "time-entries" },
24398
24420
  inputSchema: /* @__PURE__ */ looseObject({
24399
- from_recurring_task_id: /* @__PURE__ */ optional$1(/* @__PURE__ */ number$2()),
24400
24421
  payload: /* @__PURE__ */ looseObject({
24401
24422
  billable: /* @__PURE__ */ optional$1(/* @__PURE__ */ boolean$1()),
24402
24423
  duration: /* @__PURE__ */ optional$1(/* @__PURE__ */ number$2()),
24403
24424
  reset_billable_to_default: /* @__PURE__ */ optional$1(/* @__PURE__ */ boolean$1()),
24404
24425
  type: /* @__PURE__ */ optional$1(/* @__PURE__ */ picklist$1(["activity", "break"]))
24405
24426
  }),
24406
- return_occurrence: /* @__PURE__ */ optional$1(/* @__PURE__ */ boolean$1()),
24407
24427
  time_entry_id: /* @__PURE__ */ number$2()
24408
24428
  }),
24409
24429
  execute: (input, { client }) => {
@@ -24414,8 +24434,6 @@ const generatedFocusOperations = [
24414
24434
  client.workspaceIdNumber,
24415
24435
  data.time_entry_id,
24416
24436
  data.payload ?? data.data ?? data,
24417
- data.from_recurring_task_id,
24418
- data.return_occurrence,
24419
24437
  void 0
24420
24438
  ]));
24421
24439
  }
@@ -24673,7 +24691,6 @@ const generatedFocusOperations = [
24673
24691
  },
24674
24692
  mcp: { entityTool: "time-entries" },
24675
24693
  inputSchema: /* @__PURE__ */ looseObject({
24676
- from_recurring_task_id: /* @__PURE__ */ optional$1(/* @__PURE__ */ number$2()),
24677
24694
  payload: /* @__PURE__ */ looseObject({
24678
24695
  type: /* @__PURE__ */ picklist$1(["activity", "break"]),
24679
24696
  calendar_event_id: /* @__PURE__ */ optional$1(/* @__PURE__ */ number$2()),
@@ -24683,9 +24700,9 @@ const generatedFocusOperations = [
24683
24700
  planned_duration: /* @__PURE__ */ optional$1(/* @__PURE__ */ number$2()),
24684
24701
  planned_start: /* @__PURE__ */ optional$1(/* @__PURE__ */ string$1()),
24685
24702
  start: /* @__PURE__ */ optional$1(apiDateTimeString),
24703
+ time_block_id: /* @__PURE__ */ optional$1(/* @__PURE__ */ number$2()),
24686
24704
  tracked_at: /* @__PURE__ */ optional$1(apiDateTimeString)
24687
24705
  }),
24688
- return_occurrence: /* @__PURE__ */ optional$1(/* @__PURE__ */ boolean$1()),
24689
24706
  time_entry_id: /* @__PURE__ */ number$2()
24690
24707
  }),
24691
24708
  execute: (input, { client }) => {
@@ -24696,8 +24713,6 @@ const generatedFocusOperations = [
24696
24713
  client.workspaceIdNumber,
24697
24714
  data.time_entry_id,
24698
24715
  data.payload ?? data.data ?? data,
24699
- data.from_recurring_task_id,
24700
- data.return_occurrence,
24701
24716
  void 0
24702
24717
  ]));
24703
24718
  }
@@ -24762,118 +24777,6 @@ const generatedFocusOperations = [
24762
24777
  ]));
24763
24778
  }
24764
24779
  },
24765
- {
24766
- id: "focus.time-off.get-timeoff-balance-changes-for-user",
24767
- family: "focus",
24768
- resource: "time-off",
24769
- action: "get-timeoff-balance-changes-for-user",
24770
- title: "Get Timeoff Balance Changes For User Time Off",
24771
- description: "Get Timeoff Balance Changes For User Time Off.",
24772
- safety: "read",
24773
- destructive: false,
24774
- cli: {
24775
- group: ["time-off"],
24776
- command: "get-timeoff-balance-changes-for-user",
24777
- interactive: "hidden"
24778
- },
24779
- mcp: { entityTool: "time-off" },
24780
- inputSchema: /* @__PURE__ */ looseObject({
24781
- category_id: /* @__PURE__ */ number$2(),
24782
- page: /* @__PURE__ */ number$2(),
24783
- rows: /* @__PURE__ */ unknown$1(),
24784
- user_id: /* @__PURE__ */ number$2(),
24785
- year: /* @__PURE__ */ unknown$1()
24786
- }),
24787
- execute: (input, { client }) => {
24788
- const data = input;
24789
- return client.runGeneratedRequest("getTimeoffBalanceChangesForUserClassic", () => callGeneratedRequest(getTimeoffBalanceChangesForUserClassic, [
24790
- client.httpClient,
24791
- client.organizationId,
24792
- data.user_id,
24793
- data,
24794
- void 0
24795
- ]));
24796
- }
24797
- },
24798
- {
24799
- id: "focus.time-off.get-timeoff-balances-for-user",
24800
- family: "focus",
24801
- resource: "time-off",
24802
- action: "get-timeoff-balances-for-user",
24803
- title: "Get Timeoff Balances For User Time Off",
24804
- description: "Get Timeoff Balances For User Time Off.",
24805
- safety: "read",
24806
- destructive: false,
24807
- cli: {
24808
- group: ["time-off"],
24809
- command: "get-timeoff-balances-for-user",
24810
- interactive: "available"
24811
- },
24812
- mcp: { entityTool: "time-off" },
24813
- inputSchema: /* @__PURE__ */ looseObject({
24814
- category_id: /* @__PURE__ */ optional$1(/* @__PURE__ */ number$2()),
24815
- date: /* @__PURE__ */ optional$1(/* @__PURE__ */ pipe$2(/* @__PURE__ */ string$1(), /* @__PURE__ */ isoDate$1())),
24816
- user_id: /* @__PURE__ */ number$2()
24817
- }),
24818
- execute: (input, { client }) => {
24819
- const data = input;
24820
- return client.runGeneratedRequest("getTimeoffBalancesForUser", () => callGeneratedRequest(getTimeoffBalancesForUser, [
24821
- client.httpClient,
24822
- client.organizationId,
24823
- data.user_id,
24824
- data,
24825
- void 0
24826
- ]));
24827
- }
24828
- },
24829
- {
24830
- id: "focus.time-off.get-timeoff-categories",
24831
- family: "focus",
24832
- resource: "time-off",
24833
- action: "get-timeoff-categories",
24834
- title: "Get Timeoff Categories Time Off",
24835
- description: "Get Timeoff Categories Time Off.",
24836
- safety: "read",
24837
- destructive: false,
24838
- cli: {
24839
- group: ["time-off"],
24840
- command: "get-timeoff-categories",
24841
- interactive: "hidden"
24842
- },
24843
- mcp: { entityTool: "time-off" },
24844
- inputSchema: /* @__PURE__ */ looseObject({}),
24845
- execute: (_input, { client }) => client.runGeneratedRequest("getTimeoffCategories", () => callGeneratedRequest(getTimeoffCategories, [
24846
- client.httpClient,
24847
- client.organizationId,
24848
- void 0
24849
- ]))
24850
- },
24851
- {
24852
- id: "focus.time-off.get-timeoff-category",
24853
- family: "focus",
24854
- resource: "time-off",
24855
- action: "get-timeoff-category",
24856
- title: "Get Timeoff Category Time Off",
24857
- description: "Get Timeoff Category Time Off.",
24858
- safety: "read",
24859
- destructive: false,
24860
- cli: {
24861
- group: ["time-off"],
24862
- command: "get-timeoff-category",
24863
- interactive: "available"
24864
- },
24865
- mcp: { entityTool: "time-off" },
24866
- inputSchema: /* @__PURE__ */ looseObject({ category_id: /* @__PURE__ */ number$2() }),
24867
- execute: (input, { client }) => {
24868
- const data = input;
24869
- return client.runGeneratedRequest("getTimeoffCategory", () => callGeneratedRequest(getTimeoffCategory, [
24870
- client.httpClient,
24871
- client.organizationId,
24872
- data.category_id,
24873
- void 0
24874
- ]));
24875
- }
24876
- },
24877
24780
  {
24878
24781
  id: "focus.time-off.get-timeoff-for-user",
24879
24782
  family: "focus",
@@ -25325,40 +25228,6 @@ const generatedFocusOperations = [
25325
25228
  ]));
25326
25229
  }
25327
25230
  },
25328
- {
25329
- id: "focus.timesheets.get-status-counts",
25330
- family: "focus",
25331
- resource: "timesheets",
25332
- action: "get-status-counts",
25333
- title: "Get Status Counts Timesheets",
25334
- description: "Get Status Counts Timesheets.",
25335
- safety: "read",
25336
- destructive: false,
25337
- cli: {
25338
- group: ["timesheets"],
25339
- command: "get-status-counts",
25340
- interactive: "hidden"
25341
- },
25342
- mcp: { entityTool: "timesheets" },
25343
- inputSchema: /* @__PURE__ */ looseObject({
25344
- approver_user_account_ids: /* @__PURE__ */ unknown$1(),
25345
- date_from: /* @__PURE__ */ unknown$1(),
25346
- date_to: /* @__PURE__ */ unknown$1(),
25347
- setup_id: /* @__PURE__ */ number$2(),
25348
- team_ids: /* @__PURE__ */ unknown$1(),
25349
- user_account_ids: /* @__PURE__ */ unknown$1()
25350
- }),
25351
- execute: (input, { client }) => {
25352
- const data = input;
25353
- return client.runGeneratedRequest("getTimesheetStatusCounts", () => callGeneratedRequest(getTimesheetStatusCounts, [
25354
- client.httpClient,
25355
- client.organizationId,
25356
- client.workspaceIdNumber,
25357
- data,
25358
- void 0
25359
- ]));
25360
- }
25361
- },
25362
25231
  {
25363
25232
  id: "focus.timesheets.remove-timesheet-flag",
25364
25233
  family: "focus",
@@ -25908,33 +25777,6 @@ const generatedFocusOperations = [
25908
25777
  ]));
25909
25778
  }
25910
25779
  },
25911
- {
25912
- id: "focus.track-team-invites.post",
25913
- family: "focus",
25914
- resource: "track-team-invites",
25915
- action: "post",
25916
- title: "Post Track Team Invites",
25917
- description: "Post Track Team Invites.",
25918
- safety: "create",
25919
- destructive: false,
25920
- cli: {
25921
- group: ["track-team-invites"],
25922
- command: "post",
25923
- interactive: "default"
25924
- },
25925
- mcp: { entityTool: "track-team-invites" },
25926
- inputSchema: /* @__PURE__ */ looseObject({ payload: /* @__PURE__ */ looseObject({ organization_user_ids: /* @__PURE__ */ array$1(/* @__PURE__ */ number$2()) }) }),
25927
- execute: (input, { client }) => {
25928
- const data = input;
25929
- return client.runGeneratedRequest("postTrackTeamInvites", () => callGeneratedRequest(postTrackTeamInvites, [
25930
- client.httpClient,
25931
- client.organizationId,
25932
- client.workspaceIdNumber,
25933
- data.payload ?? data.data ?? data,
25934
- void 0
25935
- ]));
25936
- }
25937
- },
25938
25780
  {
25939
25781
  id: "focus.users.list",
25940
25782
  family: "focus",
@@ -25956,56 +25798,6 @@ const generatedFocusOperations = [
25956
25798
  return client.listOrgUsers(data);
25957
25799
  }
25958
25800
  },
25959
- {
25960
- id: "focus.users.settings-email-unsubscribe",
25961
- family: "focus",
25962
- resource: "users",
25963
- action: "settings-email-unsubscribe",
25964
- title: "Settings Email Unsubscribe Users",
25965
- description: "Settings Email Unsubscribe Users.",
25966
- safety: "update",
25967
- destructive: false,
25968
- cli: {
25969
- group: ["users", "settings"],
25970
- command: "email-unsubscribe",
25971
- interactive: "default"
25972
- },
25973
- mcp: { entityTool: "users" },
25974
- inputSchema: /* @__PURE__ */ looseObject({ token: /* @__PURE__ */ string$1() }),
25975
- execute: (input, { client }) => {
25976
- const data = input;
25977
- return client.runGeneratedRequest("emailUnsubscribe", () => callGeneratedRequest(emailUnsubscribe, [
25978
- client.httpClient,
25979
- data.token,
25980
- void 0
25981
- ]));
25982
- }
25983
- },
25984
- {
25985
- id: "focus.users.settings-email-unsubscribe-page",
25986
- family: "focus",
25987
- resource: "users",
25988
- action: "settings-email-unsubscribe-page",
25989
- title: "Settings Email Unsubscribe Page Users",
25990
- description: "Settings Email Unsubscribe Page Users.",
25991
- safety: "read",
25992
- destructive: false,
25993
- cli: {
25994
- group: ["users", "settings"],
25995
- command: "email-unsubscribe-page",
25996
- interactive: "available"
25997
- },
25998
- mcp: { entityTool: "users" },
25999
- inputSchema: /* @__PURE__ */ looseObject({ token: /* @__PURE__ */ string$1() }),
26000
- execute: (input, { client }) => {
26001
- const data = input;
26002
- return client.runGeneratedRequest("emailUnsubscribePage", () => callGeneratedRequest(emailUnsubscribePage, [
26003
- client.httpClient,
26004
- data.token,
26005
- void 0
26006
- ]));
26007
- }
26008
- },
26009
25801
  {
26010
25802
  id: "focus.users.settings-list",
26011
25803
  family: "focus",
@@ -26067,9 +25859,6 @@ const generatedFocusOperations = [
26067
25859
  has_reached_task_threshold: /* @__PURE__ */ optional$1(/* @__PURE__ */ boolean$1()),
26068
25860
  import_data_banner_dismissed: /* @__PURE__ */ optional$1(/* @__PURE__ */ boolean$1()),
26069
25861
  new_users_trial_dismissed: /* @__PURE__ */ optional$1(/* @__PURE__ */ boolean$1()),
26070
- notify_project_alerts: /* @__PURE__ */ optional$1(/* @__PURE__ */ boolean$1()),
26071
- notify_project_member_added: /* @__PURE__ */ optional$1(/* @__PURE__ */ boolean$1()),
26072
- notify_task_assigned: /* @__PURE__ */ optional$1(/* @__PURE__ */ boolean$1()),
26073
25862
  onboarding_checklist_dismissed: /* @__PURE__ */ optional$1(/* @__PURE__ */ boolean$1()),
26074
25863
  onboarding_flow_dismissed: /* @__PURE__ */ optional$1(/* @__PURE__ */ boolean$1()),
26075
25864
  onboarding_multi_day_task_created: /* @__PURE__ */ optional$1(/* @__PURE__ */ boolean$1()),
@@ -27476,11 +27265,12 @@ async function runValidatedOperation(operation, options, deps) {
27476
27265
  }
27477
27266
  //#endregion
27478
27267
  //#region src/telemetry.ts
27479
- function envEnabled(raw) {
27480
- if (raw === void 0) return false;
27481
- const normalized = raw.trim().toLowerCase();
27482
- return normalized === "1" || normalized === "true" || normalized === "on" || normalized === "yes";
27483
- }
27268
+ /**
27269
+ * Public client DSN for the `toggl-cli` Sentry project. Safe to ship: it only
27270
+ * accepts events. The pack audit allowlists this exact value and still rejects
27271
+ * any other `ingest.sentry.io` DSN.
27272
+ */
27273
+ const PUBLIC_SENTRY_DSN = "https://499edd257e0c64778932e6b7c7a0f8e9@o43910.ingest.us.sentry.io/4512156592046080";
27484
27274
  let sentryEnabled = false;
27485
27275
  let productAnalyticsEnabled = false;
27486
27276
  let lastCommandError;
@@ -27490,23 +27280,18 @@ function initCliTelemetry(packageVersion) {
27490
27280
  packageVersion,
27491
27281
  distinctId: resolveProductAnalyticsDistinctId("cli")
27492
27282
  });
27493
- if (!envEnabled(process.env.TOGGL_SENTRY)) {
27494
- sentryEnabled = false;
27495
- return;
27496
- }
27497
- const dsn = process.env.SENTRY_DSN;
27498
- if (!dsn || dsn === "off") {
27499
- console.error("[Telemetry] TOGGL_SENTRY is set but SENTRY_DSN is missing; Sentry left disabled");
27283
+ const dsn = resolvePublicSentryDsn(PUBLIC_SENTRY_DSN);
27284
+ if (!dsn) {
27500
27285
  sentryEnabled = false;
27501
27286
  return;
27502
27287
  }
27503
27288
  Sentry.init({
27504
27289
  dsn,
27290
+ release: `@togglhq/cli@${packageVersion}`,
27505
27291
  environment: process.env.NODE_ENV ?? "production",
27506
27292
  tracesSampleRate: .1,
27507
- sendDefaultPii: false,
27508
27293
  enableLogs: false,
27509
- beforeSend: (event) => redactUnsafeSentryMessages(event)
27294
+ ...PUBLIC_SENTRY_PRIVACY_OPTIONS
27510
27295
  });
27511
27296
  Sentry.setTag("cli.session.id", crypto.randomUUID());
27512
27297
  sentryEnabled = true;
@@ -28129,4 +27914,4 @@ Common commands:
28129
27914
  //#endregion
28130
27915
  export { CommanderError as a, shutdownCliTelemetry as i, captureCliException as n, initCliTelemetry as r, createProgram as t };
28131
27916
 
28132
- //# sourceMappingURL=program-CQwsBEyP.js.map
27917
+ //# sourceMappingURL=program-CZaDiFSf.js.map