@togglhq/mcp 1.11.224 → 1.11.226

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/build/cli.js CHANGED
@@ -1,5 +1,5 @@
1
1
  #!/usr/bin/env node
2
- import { a as getProductAnalyticsDistinctId, c as resolvePublicSentryDsn, i as captureToolInvocation, l as shutdownProductAnalytics, n as runMcpCli, o as initProductAnalytics, r as PUBLIC_SENTRY_PRIVACY_OPTIONS, s as resolveProductAnalyticsDistinctId } from "./src--XsWyZn0.js";
2
+ import { a as getProductAnalyticsDistinctId, c as resolvePublicSentryDsn, i as captureToolInvocation, l as shutdownProductAnalytics, n as runMcpCli, o as initProductAnalytics, r as PUBLIC_SENTRY_PRIVACY_OPTIONS, s as resolveProductAnalyticsDistinctId } from "./src-COgGhYD-.js";
3
3
  import * as Sentry from "@sentry/node";
4
4
  //#region src/analytics-tool-metadata.ts
5
5
  /**
@@ -162,7 +162,7 @@ function wrapServerWithProductAnalytics(server) {
162
162
  }
163
163
  //#endregion
164
164
  //#region src/cli.ts
165
- const packageVersion = "1.11.224";
165
+ const packageVersion = "1.11.226";
166
166
  let sentryEnabled = false;
167
167
  let productAnalyticsEnabled = false;
168
168
  runMcpCli({
package/build/index.js CHANGED
@@ -1,3 +1,3 @@
1
1
  #!/usr/bin/env node
2
- import { n as runMcpCli, t as bootstrapServer } from "./src--XsWyZn0.js";
2
+ import { n as runMcpCli, t as bootstrapServer } from "./src-COgGhYD-.js";
3
3
  export { bootstrapServer, runMcpCli };
@@ -40592,7 +40592,7 @@ function createAuthenticatedClientProxy() {
40592
40592
  } });
40593
40593
  }
40594
40594
  //#endregion
40595
- //#region ../operations/build/validation-CLozpAO5.js
40595
+ //#region ../operations/build/validation-Byte2z0O.js
40596
40596
  const optionalNumber = /* @__PURE__ */ optional$1(/* @__PURE__ */ number$2());
40597
40597
  const perPageField = (max) => /* @__PURE__ */ optional$1(/* @__PURE__ */ pipe$2(/* @__PURE__ */ number$2(), /* @__PURE__ */ integer(), /* @__PURE__ */ minValue$1(1), /* @__PURE__ */ maxValue$1(max), /* @__PURE__ */ description$1(`Results per page (1-${max})`)));
40598
40598
  const perPageSchema = perPageField(100);
@@ -40812,8 +40812,8 @@ const capacityOverrides = { "focus.capacities.get-computations": {
40812
40812
  start_date: "2026-05-01",
40813
40813
  end_date: "2026-05-31",
40814
40814
  unit: "day",
40815
- group: "user",
40816
- private_: false,
40815
+ group: "users",
40816
+ private: false,
40817
40817
  task_source: "all"
40818
40818
  }
40819
40819
  }]
@@ -40874,6 +40874,107 @@ const rateOverrides = {
40874
40874
  "focus.rates.labor-upsert-workspace-labor-cost-rate": { agentGuidance: RATE_SCHEDULE_GUIDANCE },
40875
40875
  "focus.rates.labor-upsert-workspace-user-labor-cost-rate": { agentGuidance: RATE_SCHEDULE_GUIDANCE }
40876
40876
  };
40877
+ const TASK_DATES_RULE = "Send start_date and end_date together, with end_date on or after start_date";
40878
+ const TASK_DATES_CREATE_GUIDANCE = `${TASK_DATES_RULE}; for a single due date, send both as that day.`;
40879
+ const taskOverrides = {
40880
+ "focus.tasks.list": {
40881
+ aliases: ["ls"],
40882
+ agentGuidance: "Filter by start_date/end_date (ISO 8601, e.g. '2025-04-27') for date ranges, project_id, status_id, or assignee_user_id. Returns paginated results — use page/per_page for more. Use parent_task_id to list subtasks. Priority values: none, low, medium, high.",
40883
+ examples: [
40884
+ {
40885
+ description: "List tasks due today",
40886
+ data: {
40887
+ start_date: "2025-04-27",
40888
+ end_date: "2025-04-27"
40889
+ }
40890
+ },
40891
+ {
40892
+ description: "List tasks for a project",
40893
+ data: { project_id: 123456 }
40894
+ },
40895
+ {
40896
+ description: "List high-priority open tasks",
40897
+ data: { priority: "high" }
40898
+ }
40899
+ ]
40900
+ },
40901
+ "focus.tasks.get": { agentGuidance: "Fetch a single task with full detail including subtasks and time estimates." },
40902
+ "focus.tasks.create": {
40903
+ agentGuidance: `Required: name. Strongly recommended: project_id, status_id, assignee_user_ids. Use start_date/end_date for scheduling as date-only YYYY-MM-DD values; never pass RFC 3339 datetimes. ${TASK_DATES_CREATE_GUIDANCE} Set estimated_mins for time estimates.`,
40904
+ examples: [{
40905
+ description: "Create a minimal task",
40906
+ data: { name: "Dogfood the CLI" }
40907
+ }, {
40908
+ description: "Create a task with full metadata",
40909
+ data: {
40910
+ name: "Review PR",
40911
+ project_id: 123456,
40912
+ assignee_user_ids: [789],
40913
+ estimated_mins: 30
40914
+ }
40915
+ }]
40916
+ },
40917
+ "focus.tasks.update": {
40918
+ agentGuidance: `Partial update — only include fields to change in payload. Provide task_id at top level and the fields to update under payload. custom_fields writes values as a map keyed by custom field ID; reads return the same data as custom_field_values[], so the write shape is not the read shape. ${TASK_DATES_RULE}; to move one date, resend the task's current other date; if the task has none, or that breaks the order, send the new date as both.`,
40919
+ examples: [
40920
+ {
40921
+ description: "Change task status",
40922
+ data: {
40923
+ task_id: 12345,
40924
+ payload: { status_id: 456789 }
40925
+ }
40926
+ },
40927
+ {
40928
+ description: "Assign to a user and update estimate",
40929
+ data: {
40930
+ task_id: 12345,
40931
+ payload: {
40932
+ assignee_user_ids: [789],
40933
+ estimated_mins: 60
40934
+ }
40935
+ }
40936
+ },
40937
+ {
40938
+ description: "Set a select custom field value",
40939
+ data: {
40940
+ task_id: 12345,
40941
+ payload: { custom_fields: { "406": [1639] } }
40942
+ }
40943
+ }
40944
+ ]
40945
+ },
40946
+ "focus.tasks.full-update": { agentGuidance: "Follow the update action's date guidance." },
40947
+ "focus.tasks.delete": { agentGuidance: "Permanently deletes the task and all its subtasks. Cannot be undone." },
40948
+ "focus.tasks.bulk-patch": {
40949
+ agentGuidance: "Prefer over many single updates: pass a JSON array of { id: taskId, ...partial fields }. Same field names and date guidance as single task update.",
40950
+ examples: [{
40951
+ description: "Set status on two tasks",
40952
+ data: [{
40953
+ id: 111,
40954
+ status_id: 456789
40955
+ }, {
40956
+ id: 222,
40957
+ status_id: 456789
40958
+ }]
40959
+ }, {
40960
+ description: "Set a select custom field value on two tasks",
40961
+ data: [{
40962
+ id: 111,
40963
+ custom_fields: { "406": [1639] }
40964
+ }, {
40965
+ id: 222,
40966
+ custom_fields: { "406": [1640] }
40967
+ }]
40968
+ }]
40969
+ },
40970
+ "focus.tasks.bulk-delete": {
40971
+ agentGuidance: "Deletes all listed task IDs in one HTTP call. Requires confirm flow like single delete.",
40972
+ examples: [{
40973
+ description: "Delete two tasks",
40974
+ data: { ids: [111, 222] }
40975
+ }]
40976
+ }
40977
+ };
40877
40978
  const compositeOverrides = {
40878
40979
  "focus.composite.create-project": {
40879
40980
  description: "Create a project with related data such as members, milestones, rates, and billable rates.",
@@ -40887,6 +40988,7 @@ const compositeOverrides = {
40887
40988
  },
40888
40989
  "focus.composite.create-task": {
40889
40990
  description: "Create a task with related data such as subtasks and an initial time entry.",
40991
+ agentGuidance: `For payload.task and each payload.subtasks[] item: ${TASK_DATES_CREATE_GUIDANCE}`,
40890
40992
  cli: {
40891
40993
  group: ["tasks"],
40892
40994
  command: "create-with-children",
@@ -41377,104 +41479,6 @@ const tagOverrides = {
41377
41479
  }]
41378
41480
  }
41379
41481
  };
41380
- const taskOverrides = {
41381
- "focus.tasks.list": {
41382
- aliases: ["ls"],
41383
- agentGuidance: "Filter by start_date/end_date (ISO 8601, e.g. '2025-04-27') for date ranges, project_id, status_id, or assignee_user_id. Returns paginated results — use page/per_page for more. Use parent_task_id to list subtasks. Priority values: none, low, medium, high.",
41384
- examples: [
41385
- {
41386
- description: "List tasks due today",
41387
- data: {
41388
- start_date: "2025-04-27",
41389
- end_date: "2025-04-27"
41390
- }
41391
- },
41392
- {
41393
- description: "List tasks for a project",
41394
- data: { project_id: 123456 }
41395
- },
41396
- {
41397
- description: "List high-priority open tasks",
41398
- data: { priority: "high" }
41399
- }
41400
- ]
41401
- },
41402
- "focus.tasks.get": { agentGuidance: "Fetch a single task with full detail including subtasks and time estimates." },
41403
- "focus.tasks.create": {
41404
- agentGuidance: "Required: name. Strongly recommended: project_id, status_id, assignee_user_ids. Use start_date/end_date for scheduling as date-only YYYY-MM-DD values; never pass RFC 3339 datetimes. Set estimated_mins for time estimates.",
41405
- examples: [{
41406
- description: "Create a minimal task",
41407
- data: { name: "Dogfood the CLI" }
41408
- }, {
41409
- description: "Create a task with full metadata",
41410
- data: {
41411
- name: "Review PR",
41412
- project_id: 123456,
41413
- assignee_user_ids: [789],
41414
- estimated_mins: 30
41415
- }
41416
- }]
41417
- },
41418
- "focus.tasks.update": {
41419
- agentGuidance: "Partial update — only include fields to change in payload. Provide task_id at top level and the fields to update under payload. custom_fields writes values as a map keyed by custom field ID; reads return the same data as custom_field_values[], so the write shape is not the read shape.",
41420
- examples: [
41421
- {
41422
- description: "Change task status",
41423
- data: {
41424
- task_id: 12345,
41425
- payload: { status_id: 456789 }
41426
- }
41427
- },
41428
- {
41429
- description: "Assign to a user and update estimate",
41430
- data: {
41431
- task_id: 12345,
41432
- payload: {
41433
- assignee_user_ids: [789],
41434
- estimated_mins: 60
41435
- }
41436
- }
41437
- },
41438
- {
41439
- description: "Set a select custom field value",
41440
- data: {
41441
- task_id: 12345,
41442
- payload: { custom_fields: { "406": [1639] } }
41443
- }
41444
- }
41445
- ]
41446
- },
41447
- "focus.tasks.delete": { agentGuidance: "Permanently deletes the task and all its subtasks. Cannot be undone." },
41448
- "focus.tasks.bulk-patch": {
41449
- agentGuidance: "Prefer over many single updates: pass a JSON array of { id: taskId, ...partial fields }. Same field names as single task update.",
41450
- examples: [{
41451
- description: "Set status on two tasks",
41452
- data: [{
41453
- id: 111,
41454
- status_id: 456789
41455
- }, {
41456
- id: 222,
41457
- status_id: 456789
41458
- }]
41459
- }, {
41460
- description: "Set a select custom field value on two tasks",
41461
- data: [{
41462
- id: 111,
41463
- custom_fields: { "406": [1639] }
41464
- }, {
41465
- id: 222,
41466
- custom_fields: { "406": [1640] }
41467
- }]
41468
- }]
41469
- },
41470
- "focus.tasks.bulk-delete": {
41471
- agentGuidance: "Deletes all listed task IDs in one HTTP call. Requires confirm flow like single delete.",
41472
- examples: [{
41473
- description: "Delete two tasks",
41474
- data: { ids: [111, 222] }
41475
- }]
41476
- }
41477
- };
41478
41482
  const timeEntryOverrides = {
41479
41483
  "focus.time-entries.list": {
41480
41484
  agentGuidance: "Returns tracked time entries in a date range, including taskless entries (tracked on a project with no task). Requires date_from and date_to. Accepts date-only strings (YYYY-MM-DD) or RFC3339 datetimes — date-only is automatically expanded: date_from to T00:00:00Z, date_to to T23:59:59Z. Optional project_id keeps only entries on that project (sent to the API; client also scans up to 50 list pages of 100, then slices page/per_page; not a full workspace scan). If truncated is true, more unfiltered rows exist than were scanned — narrow date_from/date_to. Pass include_taskless:false to hide taskless rows. Includes task and project context.",
@@ -43769,7 +43773,6 @@ const generatedFocusOperations = [
43769
43773
  entity_id: /* @__PURE__ */ optional$1(/* @__PURE__ */ number$2()),
43770
43774
  entity_type: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
43771
43775
  export: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
43772
- export_: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
43773
43776
  from: /* @__PURE__ */ string$1(),
43774
43777
  page_number: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
43775
43778
  page_size: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
@@ -43811,7 +43814,6 @@ const generatedFocusOperations = [
43811
43814
  entity_id: /* @__PURE__ */ optional$1(/* @__PURE__ */ number$2()),
43812
43815
  entity_type: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
43813
43816
  export: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
43814
- export_: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
43815
43817
  from: /* @__PURE__ */ string$1(),
43816
43818
  page_number: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
43817
43819
  page_size: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
@@ -43850,14 +43852,14 @@ const generatedFocusOperations = [
43850
43852
  inputSchema: /* @__PURE__ */ looseObject({
43851
43853
  end_date: /* @__PURE__ */ pipe$2(/* @__PURE__ */ string$1(), /* @__PURE__ */ isoDate$1()),
43852
43854
  group: /* @__PURE__ */ picklist$1(["users"]),
43853
- include_drafts: /* @__PURE__ */ unknown$1(),
43854
- include_task_estimates: /* @__PURE__ */ unknown$1(),
43855
- private_: /* @__PURE__ */ unknown$1(),
43855
+ include_drafts: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
43856
+ include_task_estimates: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
43857
+ private: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
43856
43858
  start_date: /* @__PURE__ */ pipe$2(/* @__PURE__ */ string$1(), /* @__PURE__ */ isoDate$1()),
43857
- task_source: /* @__PURE__ */ unknown$1(),
43858
- team_id: /* @__PURE__ */ number$2(),
43859
- unit: /* @__PURE__ */ unknown$1(),
43860
- user_id: /* @__PURE__ */ number$2()
43859
+ task_source: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
43860
+ team_id: /* @__PURE__ */ optional$1(/* @__PURE__ */ number$2()),
43861
+ unit: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
43862
+ user_id: /* @__PURE__ */ optional$1(/* @__PURE__ */ number$2())
43861
43863
  }),
43862
43864
  execute: (input, { client }) => {
43863
43865
  const data = input;
@@ -45529,14 +45531,14 @@ const generatedFocusOperations = [
45529
45531
  },
45530
45532
  mcp: { entityTool: "organization" },
45531
45533
  inputSchema: /* @__PURE__ */ looseObject({
45532
- active_members_only: /* @__PURE__ */ unknown$1(),
45533
- filter: /* @__PURE__ */ unknown$1(),
45534
- group_ids: /* @__PURE__ */ unknown$1(),
45535
- organization_user_id: /* @__PURE__ */ number$2(),
45536
- page: /* @__PURE__ */ number$2(),
45537
- per_page: /* @__PURE__ */ unknown$1(),
45538
- query: /* @__PURE__ */ unknown$1(),
45539
- sort_dir: /* @__PURE__ */ unknown$1(),
45534
+ active_members_only: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
45535
+ filter: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
45536
+ group_ids: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
45537
+ organization_user_id: /* @__PURE__ */ optional$1(/* @__PURE__ */ number$2()),
45538
+ page: /* @__PURE__ */ optional$1(/* @__PURE__ */ number$2()),
45539
+ per_page: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
45540
+ query: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
45541
+ sort_dir: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
45540
45542
  workspace_id: /* @__PURE__ */ number$2()
45541
45543
  }),
45542
45544
  execute: (input, { client }) => {
@@ -46478,7 +46480,7 @@ const generatedFocusOperations = [
46478
46480
  page: /* @__PURE__ */ optional$1(/* @__PURE__ */ number$2()),
46479
46481
  parent_project_id: /* @__PURE__ */ optional$1(/* @__PURE__ */ number$2()),
46480
46482
  per_page: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
46481
- private_: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
46483
+ private: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
46482
46484
  project_id: /* @__PURE__ */ optional$1(/* @__PURE__ */ number$2()),
46483
46485
  project_order_by: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
46484
46486
  projects_per_group: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
@@ -48686,6 +48688,7 @@ const generatedFocusOperations = [
48686
48688
  },
48687
48689
  mcp: { entityTool: "reports" },
48688
48690
  inputSchema: /* @__PURE__ */ looseObject({
48691
+ include_dicts: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
48689
48692
  payload: /* @__PURE__ */ looseObject({
48690
48693
  aggregation_filters: /* @__PURE__ */ optional$1(/* @__PURE__ */ array$1(/* @__PURE__ */ looseObject({
48691
48694
  aggregation: /* @__PURE__ */ optional$1(/* @__PURE__ */ looseObject({
@@ -48733,7 +48736,8 @@ const generatedFocusOperations = [
48733
48736
  }))),
48734
48737
  view_in_my_timezone: /* @__PURE__ */ optional$1(/* @__PURE__ */ boolean$1())
48735
48738
  }),
48736
- response_format: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1())
48739
+ response_format: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
48740
+ xTogglReportExport: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1())
48737
48741
  }),
48738
48742
  execute: (input, { client }) => {
48739
48743
  const data = input;
@@ -51245,7 +51249,7 @@ const generatedFocusOperations = [
51245
51249
  parent_task_id: /* @__PURE__ */ optional$1(/* @__PURE__ */ number$2()),
51246
51250
  pinned: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
51247
51251
  priority: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
51248
- private_: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
51252
+ private: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
51249
51253
  project_id: /* @__PURE__ */ optional$1(/* @__PURE__ */ number$2()),
51250
51254
  recurring: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
51251
51255
  recurring_occurrences_after: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
@@ -51396,7 +51400,7 @@ const generatedFocusOperations = [
51396
51400
  page: /* @__PURE__ */ optional$1(/* @__PURE__ */ number$2()),
51397
51401
  per_page: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
51398
51402
  priority: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
51399
- private_: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
51403
+ private: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
51400
51404
  project_id: /* @__PURE__ */ optional$1(/* @__PURE__ */ number$2()),
51401
51405
  recurring_occurrences_after: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
51402
51406
  recurring_task_read: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
@@ -51439,39 +51443,39 @@ const generatedFocusOperations = [
51439
51443
  },
51440
51444
  mcp: { entityTool: "tasks" },
51441
51445
  inputSchema: /* @__PURE__ */ looseObject({
51442
- assignee_user_id: /* @__PURE__ */ number$2(),
51443
- cf_filter: /* @__PURE__ */ unknown$1(),
51444
- client_id: /* @__PURE__ */ number$2(),
51445
- collapse_recurring: /* @__PURE__ */ unknown$1(),
51446
- creator_id: /* @__PURE__ */ number$2(),
51447
- end_date: /* @__PURE__ */ pipe$2(/* @__PURE__ */ string$1(), /* @__PURE__ */ isoDate$1()),
51448
- end_date_from: /* @__PURE__ */ unknown$1(),
51449
- end_date_to: /* @__PURE__ */ unknown$1(),
51450
- exclude_empty: /* @__PURE__ */ unknown$1(),
51451
- group_id: /* @__PURE__ */ number$2(),
51452
- include_assignees: /* @__PURE__ */ unknown$1(),
51453
- include_drafts: /* @__PURE__ */ unknown$1(),
51454
- include_projected_occurrences: /* @__PURE__ */ unknown$1(),
51455
- include_unassigned: /* @__PURE__ */ unknown$1(),
51456
- include_unmaterialized: /* @__PURE__ */ unknown$1(),
51457
- max_recurring_occurrences_after: /* @__PURE__ */ unknown$1(),
51458
- min_days: /* @__PURE__ */ unknown$1(),
51459
- name: /* @__PURE__ */ unknown$1(),
51460
- priority: /* @__PURE__ */ unknown$1(),
51461
- private_: /* @__PURE__ */ unknown$1(),
51446
+ assignee_user_id: /* @__PURE__ */ optional$1(/* @__PURE__ */ number$2()),
51447
+ cf_filter: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
51448
+ client_id: /* @__PURE__ */ optional$1(/* @__PURE__ */ number$2()),
51449
+ collapse_recurring: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
51450
+ creator_id: /* @__PURE__ */ optional$1(/* @__PURE__ */ number$2()),
51451
+ end_date: /* @__PURE__ */ optional$1(/* @__PURE__ */ pipe$2(/* @__PURE__ */ string$1(), /* @__PURE__ */ isoDate$1())),
51452
+ end_date_from: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
51453
+ end_date_to: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
51454
+ exclude_empty: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
51455
+ group_id: /* @__PURE__ */ optional$1(/* @__PURE__ */ number$2()),
51456
+ include_assignees: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
51457
+ include_drafts: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
51458
+ include_projected_occurrences: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
51459
+ include_unassigned: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
51460
+ include_unmaterialized: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
51461
+ max_recurring_occurrences_after: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
51462
+ min_days: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
51463
+ name: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
51464
+ priority: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
51465
+ private: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
51462
51466
  project_id: /* @__PURE__ */ number$2(),
51463
- recurring_occurrences_after: /* @__PURE__ */ unknown$1(),
51464
- recurring_task_read: /* @__PURE__ */ unknown$1(),
51465
- source: /* @__PURE__ */ unknown$1(),
51466
- start_date: /* @__PURE__ */ pipe$2(/* @__PURE__ */ string$1(), /* @__PURE__ */ isoDate$1()),
51467
- start_date_from: /* @__PURE__ */ unknown$1(),
51468
- start_date_to: /* @__PURE__ */ unknown$1(),
51469
- status_id: /* @__PURE__ */ number$2(),
51470
- tag_id: /* @__PURE__ */ number$2(),
51471
- team_id: /* @__PURE__ */ number$2(),
51472
- user_cf_filter: /* @__PURE__ */ unknown$1(),
51473
- user_tag_id: /* @__PURE__ */ number$2(),
51474
- xTimelineFetchTrigger: /* @__PURE__ */ unknown$1()
51467
+ recurring_occurrences_after: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
51468
+ recurring_task_read: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
51469
+ source: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
51470
+ start_date: /* @__PURE__ */ optional$1(/* @__PURE__ */ pipe$2(/* @__PURE__ */ string$1(), /* @__PURE__ */ isoDate$1())),
51471
+ start_date_from: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
51472
+ start_date_to: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
51473
+ status_id: /* @__PURE__ */ optional$1(/* @__PURE__ */ number$2()),
51474
+ tag_id: /* @__PURE__ */ optional$1(/* @__PURE__ */ number$2()),
51475
+ team_id: /* @__PURE__ */ optional$1(/* @__PURE__ */ number$2()),
51476
+ user_cf_filter: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
51477
+ user_tag_id: /* @__PURE__ */ optional$1(/* @__PURE__ */ number$2()),
51478
+ xTimelineFetchTrigger: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1())
51475
51479
  }),
51476
51480
  execute: (input, { client }) => {
51477
51481
  const data = input;
@@ -51519,7 +51523,7 @@ const generatedFocusOperations = [
51519
51523
  min_days: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
51520
51524
  name: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
51521
51525
  priority: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
51522
- private_: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
51526
+ private: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
51523
51527
  project_id: /* @__PURE__ */ optional$1(/* @__PURE__ */ number$2()),
51524
51528
  recurring_occurrences_after: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
51525
51529
  recurring_task_read: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
@@ -52248,18 +52252,18 @@ const generatedFocusOperations = [
52248
52252
  },
52249
52253
  mcp: { entityTool: "time-entries" },
52250
52254
  inputSchema: /* @__PURE__ */ looseObject({
52251
- archived: /* @__PURE__ */ unknown$1(),
52255
+ archived: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
52252
52256
  date_from: /* @__PURE__ */ unknown$1(),
52253
52257
  date_to: /* @__PURE__ */ unknown$1(),
52254
- expand_calendar_event: /* @__PURE__ */ unknown$1(),
52255
- include_taskless: /* @__PURE__ */ unknown$1(),
52256
- order_by: /* @__PURE__ */ unknown$1(),
52257
- project_completed: /* @__PURE__ */ unknown$1(),
52258
- project_draft: /* @__PURE__ */ unknown$1(),
52259
- project_id: /* @__PURE__ */ number$2(),
52260
- status_id: /* @__PURE__ */ number$2(),
52261
- task_id: /* @__PURE__ */ number$2(),
52262
- type: /* @__PURE__ */ unknown$1()
52258
+ expand_calendar_event: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
52259
+ include_taskless: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
52260
+ order_by: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
52261
+ project_completed: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
52262
+ project_draft: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
52263
+ project_id: /* @__PURE__ */ optional$1(/* @__PURE__ */ number$2()),
52264
+ status_id: /* @__PURE__ */ optional$1(/* @__PURE__ */ number$2()),
52265
+ task_id: /* @__PURE__ */ optional$1(/* @__PURE__ */ number$2()),
52266
+ type: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1())
52263
52267
  }),
52264
52268
  execute: (input, { client }) => {
52265
52269
  const data = input;
@@ -52325,11 +52329,11 @@ const generatedFocusOperations = [
52325
52329
  mcp: { entityTool: "time-entries" },
52326
52330
  inputSchema: /* @__PURE__ */ looseObject({
52327
52331
  end_date: /* @__PURE__ */ pipe$2(/* @__PURE__ */ string$1(), /* @__PURE__ */ isoDate$1()),
52328
- order_by: /* @__PURE__ */ unknown$1(),
52329
- page: /* @__PURE__ */ number$2(),
52330
- per_page: /* @__PURE__ */ unknown$1(),
52332
+ order_by: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
52333
+ page: /* @__PURE__ */ optional$1(/* @__PURE__ */ number$2()),
52334
+ per_page: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
52331
52335
  start_date: /* @__PURE__ */ pipe$2(/* @__PURE__ */ string$1(), /* @__PURE__ */ isoDate$1()),
52332
- user_id: /* @__PURE__ */ number$2()
52336
+ user_id: /* @__PURE__ */ optional$1(/* @__PURE__ */ number$2())
52333
52337
  }),
52334
52338
  execute: (input, { client }) => {
52335
52339
  const data = input;
@@ -52967,12 +52971,12 @@ const generatedFocusOperations = [
52967
52971
  },
52968
52972
  mcp: { entityTool: "time-off" },
52969
52973
  inputSchema: /* @__PURE__ */ looseObject({
52970
- category_id: /* @__PURE__ */ number$2(),
52974
+ category_id: /* @__PURE__ */ optional$1(/* @__PURE__ */ number$2()),
52971
52975
  end_date: /* @__PURE__ */ pipe$2(/* @__PURE__ */ string$1(), /* @__PURE__ */ isoDate$1()),
52972
- include_pending: /* @__PURE__ */ unknown$1(),
52976
+ include_pending: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
52973
52977
  start_date: /* @__PURE__ */ pipe$2(/* @__PURE__ */ string$1(), /* @__PURE__ */ isoDate$1()),
52974
- team_id: /* @__PURE__ */ number$2(),
52975
- user_id: /* @__PURE__ */ number$2()
52978
+ team_id: /* @__PURE__ */ optional$1(/* @__PURE__ */ number$2()),
52979
+ user_id: /* @__PURE__ */ optional$1(/* @__PURE__ */ number$2())
52976
52980
  }),
52977
52981
  execute: (input, { client }) => {
52978
52982
  const data = input;
@@ -53001,10 +53005,10 @@ const generatedFocusOperations = [
53001
53005
  mcp: { entityTool: "time-off" },
53002
53006
  inputSchema: /* @__PURE__ */ looseObject({
53003
53007
  category_id: /* @__PURE__ */ number$2(),
53004
- page: /* @__PURE__ */ number$2(),
53005
- rows: /* @__PURE__ */ unknown$1(),
53008
+ page: /* @__PURE__ */ optional$1(/* @__PURE__ */ number$2()),
53009
+ rows: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
53006
53010
  user_id: /* @__PURE__ */ number$2(),
53007
- year: /* @__PURE__ */ unknown$1()
53011
+ year: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1())
53008
53012
  }),
53009
53013
  execute: (input, { client }) => {
53010
53014
  const data = input;
@@ -53652,16 +53656,16 @@ const generatedFocusOperations = [
53652
53656
  },
53653
53657
  mcp: { entityTool: "timesheets" },
53654
53658
  inputSchema: /* @__PURE__ */ looseObject({
53655
- approver_user_account_ids: /* @__PURE__ */ unknown$1(),
53656
- current_layer_approver_user_account_id: /* @__PURE__ */ number$2(),
53659
+ approver_user_account_ids: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
53660
+ current_layer_approver_user_account_id: /* @__PURE__ */ optional$1(/* @__PURE__ */ number$2()),
53657
53661
  date_from: /* @__PURE__ */ unknown$1(),
53658
53662
  date_to: /* @__PURE__ */ unknown$1(),
53659
- page: /* @__PURE__ */ number$2(),
53660
- per_page: /* @__PURE__ */ unknown$1(),
53661
- setup_id: /* @__PURE__ */ number$2(),
53662
- statuses: /* @__PURE__ */ unknown$1(),
53663
- team_ids: /* @__PURE__ */ unknown$1(),
53664
- user_account_ids: /* @__PURE__ */ unknown$1()
53663
+ page: /* @__PURE__ */ optional$1(/* @__PURE__ */ number$2()),
53664
+ per_page: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
53665
+ setup_id: /* @__PURE__ */ optional$1(/* @__PURE__ */ number$2()),
53666
+ statuses: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
53667
+ team_ids: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
53668
+ user_account_ids: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1())
53665
53669
  }),
53666
53670
  execute: (input, { client }) => {
53667
53671
  const data = input;
@@ -53845,12 +53849,12 @@ const generatedFocusOperations = [
53845
53849
  },
53846
53850
  mcp: { entityTool: "timesheets" },
53847
53851
  inputSchema: /* @__PURE__ */ looseObject({
53848
- approver_user_account_ids: /* @__PURE__ */ unknown$1(),
53852
+ approver_user_account_ids: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
53849
53853
  date_from: /* @__PURE__ */ unknown$1(),
53850
53854
  date_to: /* @__PURE__ */ unknown$1(),
53851
- setup_id: /* @__PURE__ */ number$2(),
53852
- team_ids: /* @__PURE__ */ unknown$1(),
53853
- user_account_ids: /* @__PURE__ */ unknown$1()
53855
+ setup_id: /* @__PURE__ */ optional$1(/* @__PURE__ */ number$2()),
53856
+ team_ids: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1()),
53857
+ user_account_ids: /* @__PURE__ */ optional$1(/* @__PURE__ */ unknown$1())
53854
53858
  }),
53855
53859
  execute: (input, { client }) => {
53856
53860
  const data = input;
@@ -56221,7 +56225,7 @@ function registerWorkspaceTools(server) {
56221
56225
  //#region src/package-version.ts
56222
56226
  function mcpPackageVersion() {
56223
56227
  try {
56224
- return "1.11.224";
56228
+ return "1.11.226";
56225
56229
  } catch {
56226
56230
  return "unknown";
56227
56231
  }
@@ -56396,7 +56400,7 @@ import_main.default.config({
56396
56400
  quiet: true,
56397
56401
  ignore: ["MISSING_ENV_FILE"]
56398
56402
  });
56399
- const packageVersion = "1.11.224";
56403
+ const packageVersion = "1.11.226";
56400
56404
  function resolvePublicUrls() {
56401
56405
  return {
56402
56406
  focusApiUrl: process.env.TOGGL_FOCUS_API_URL ?? "https://focus.toggl.com",
@@ -56461,4 +56465,4 @@ function bootstrapServer(options = {}) {
56461
56465
  //#endregion
56462
56466
  export { getProductAnalyticsDistinctId as a, resolvePublicSentryDsn as c, captureToolInvocation as i, shutdownProductAnalytics as l, runMcpCli as n, initProductAnalytics as o, PUBLIC_SENTRY_PRIVACY_OPTIONS as r, resolveProductAnalyticsDistinctId as s, bootstrapServer as t };
56463
56467
 
56464
- //# sourceMappingURL=src--XsWyZn0.js.map
56468
+ //# sourceMappingURL=src-COgGhYD-.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@togglhq/mcp",
3
- "version": "1.11.224",
3
+ "version": "1.11.226",
4
4
  "description": "Toggl 2.0 MCP server for Claude Code, Claude Desktop, and other MCP clients.",
5
5
  "license": "UNLICENSED",
6
6
  "type": "module",