@togglhq/mcp 1.13.3 → 1.13.5

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 PUBLIC_SENTRY_PRIVACY_OPTIONS, c as initProductAnalytics, d as shutdownProductAnalytics, i as runMcpCli, l as resolveProductAnalyticsDistinctId, o as captureToolInvocation, s as getProductAnalyticsDistinctId, u as resolvePublicSentryDsn } from "./src-BMQRIg24.js";
2
+ import { a as PUBLIC_SENTRY_PRIVACY_OPTIONS, c as initProductAnalytics, d as shutdownProductAnalytics, i as runMcpCli, l as resolveProductAnalyticsDistinctId, o as captureToolInvocation, s as getProductAnalyticsDistinctId, u as resolvePublicSentryDsn } from "./src-CibXAEy0.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.13.3";
165
+ const packageVersion = "1.13.5";
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 { i as runMcpCli, n as MCP_MAX_TOOL_INPUT_ELEMENTS, r as bootstrapServer, t as MCP_CACHE_TTL_MS } from "./src-BMQRIg24.js";
2
+ import { i as runMcpCli, n as MCP_MAX_TOOL_INPUT_ELEMENTS, r as bootstrapServer, t as MCP_CACHE_TTL_MS } from "./src-CibXAEy0.js";
3
3
  export { MCP_CACHE_TTL_MS, MCP_MAX_TOOL_INPUT_ELEMENTS, bootstrapServer, runMcpCli };
@@ -38172,6 +38172,9 @@ async function unarchiveTask(httpClient, organization_id, workspace_id, task_id,
38172
38172
  }
38173
38173
  //#endregion
38174
38174
  //#region ../focus-queries/dist/time-entries/requests.ts
38175
+ async function getOrganizationTimeEntryPresence(httpClient, organization_id, signal) {
38176
+ return await httpClient.get(`organizations/${organization_id}/time-entries/presence`, { signal }).json();
38177
+ }
38175
38178
  async function getTaskTimeEntriesWithOrgClassic(httpClient, organization_id, workspace_id, task_id, { page, per_page, order_by, type, archived, include_subtasks } = {}, signal) {
38176
38179
  return await httpClient.get(`organizations/${organization_id}/workspaces/${workspace_id}/tasks/${task_id}/time-entries`, {
38177
38180
  signal,
@@ -38423,7 +38426,7 @@ const PublicMeEntryRequestSchema = /* @__PURE__ */ object$2({
38423
38426
  ]))
38424
38427
  });
38425
38428
  //#endregion
38426
- //#region ../../node_modules/.pnpm/@toggl+queries@2.2.192_@tanstack+react-query@5.99.0_react@19.2.5__@toggl+sync@0.2.4_rea_ecdbe05806e61f883b04960442f3f3ae/node_modules/@toggl/queries/dist/org/invitation/requests.mjs
38429
+ //#region ../../node_modules/.pnpm/@toggl+queries@2.2.195_@tanstack+react-query@5.99.0_react@19.2.5__@toggl+sync@0.2.4_rea_a8e5c0ba64108b62eac194a9a19a0127/node_modules/@toggl/queries/dist/org/invitation/requests.mjs
38427
38430
  async function getInvitations(httpClient, signal) {
38428
38431
  return (await httpClient.get(`invitations`, { signal })).json();
38429
38432
  }
@@ -38440,7 +38443,7 @@ async function resendInvitation(httpClient, organization_id, organization_user_i
38440
38443
  return (await httpClient.post(`organizations/${organization_id}/invitations/${organization_user_id}/resend`, { signal })).json();
38441
38444
  }
38442
38445
  //#endregion
38443
- //#region ../../node_modules/.pnpm/@toggl+queries@2.2.192_@tanstack+react-query@5.99.0_react@19.2.5__@toggl+sync@0.2.4_rea_ecdbe05806e61f883b04960442f3f3ae/node_modules/@toggl/queries/dist/org/utils/requests.mjs
38446
+ //#region ../../node_modules/.pnpm/@toggl+queries@2.2.195_@tanstack+react-query@5.99.0_react@19.2.5__@toggl+sync@0.2.4_rea_a8e5c0ba64108b62eac194a9a19a0127/node_modules/@toggl/queries/dist/org/utils/requests.mjs
38444
38447
  function buildSearchParams(params, flattenArrays = false) {
38445
38448
  const searchParams = new URLSearchParams();
38446
38449
  Object.entries(params).forEach(([key, value]) => {
@@ -38452,7 +38455,7 @@ function buildSearchParams(params, flattenArrays = false) {
38452
38455
  return searchParams;
38453
38456
  }
38454
38457
  //#endregion
38455
- //#region ../../node_modules/.pnpm/@toggl+queries@2.2.192_@tanstack+react-query@5.99.0_react@19.2.5__@toggl+sync@0.2.4_rea_ecdbe05806e61f883b04960442f3f3ae/node_modules/@toggl/queries/dist/org/organization-user/requests.mjs
38458
+ //#region ../../node_modules/.pnpm/@toggl+queries@2.2.195_@tanstack+react-query@5.99.0_react@19.2.5__@toggl+sync@0.2.4_rea_a8e5c0ba64108b62eac194a9a19a0127/node_modules/@toggl/queries/dist/org/organization-user/requests.mjs
38456
38459
  async function getOrganizationUser(httpClient, organization_id, organization_user_id, signal) {
38457
38460
  return (await httpClient.get(`organizations/${organization_id}/users/${organization_user_id}`, { signal })).json();
38458
38461
  }
@@ -38466,7 +38469,7 @@ async function patchOrganizationUserActive(httpClient, organization_id, organiza
38466
38469
  return (await httpClient.patch(`organizations/${organization_id}/users/${organization_user_id}/active_status/${status}`, { signal })).json();
38467
38470
  }
38468
38471
  //#endregion
38469
- //#region ../../node_modules/.pnpm/@toggl+queries@2.2.192_@tanstack+react-query@5.99.0_react@19.2.5__@toggl+sync@0.2.4_rea_ecdbe05806e61f883b04960442f3f3ae/node_modules/@toggl/queries/dist/org/workspace/requests.mjs
38472
+ //#region ../../node_modules/.pnpm/@toggl+queries@2.2.195_@tanstack+react-query@5.99.0_react@19.2.5__@toggl+sync@0.2.4_rea_a8e5c0ba64108b62eac194a9a19a0127/node_modules/@toggl/queries/dist/org/workspace/requests.mjs
38470
38473
  async function getWorkspaces(httpClient, organization_id, signal) {
38471
38474
  return (await httpClient.get(`organizations/${organization_id}/workspaces`, { signal })).json();
38472
38475
  }
@@ -38486,7 +38489,7 @@ const WorkingHoursUpdateInputSchema = /* @__PURE__ */ object$2({
38486
38489
  });
38487
38490
  const StatusOKSchema = /* @__PURE__ */ object$2({ status: /* @__PURE__ */ string$1() });
38488
38491
  //#endregion
38489
- //#region ../../node_modules/.pnpm/@toggl+queries@2.2.192_@tanstack+react-query@5.99.0_react@19.2.5__@toggl+sync@0.2.4_rea_ecdbe05806e61f883b04960442f3f3ae/node_modules/@toggl/queries/dist/org/holiday-calendar/requests.mjs
38492
+ //#region ../../node_modules/.pnpm/@toggl+queries@2.2.195_@tanstack+react-query@5.99.0_react@19.2.5__@toggl+sync@0.2.4_rea_a8e5c0ba64108b62eac194a9a19a0127/node_modules/@toggl/queries/dist/org/holiday-calendar/requests.mjs
38490
38493
  async function holidayListDates(httpClient, organization_id, { year, country }, signal) {
38491
38494
  return (await httpClient.get(`holidays/organizations/${organization_id}/calendar/dates`, {
38492
38495
  signal,
@@ -38497,12 +38500,12 @@ async function holidayListDates(httpClient, organization_id, { year, country },
38497
38500
  })).json();
38498
38501
  }
38499
38502
  //#endregion
38500
- //#region ../../node_modules/.pnpm/@toggl+queries@2.2.192_@tanstack+react-query@5.99.0_react@19.2.5__@toggl+sync@0.2.4_rea_ecdbe05806e61f883b04960442f3f3ae/node_modules/@toggl/queries/dist/shared-data/status/requests.mjs
38503
+ //#region ../../node_modules/.pnpm/@toggl+queries@2.2.195_@tanstack+react-query@5.99.0_react@19.2.5__@toggl+sync@0.2.4_rea_a8e5c0ba64108b62eac194a9a19a0127/node_modules/@toggl/queries/dist/shared-data/status/requests.mjs
38501
38504
  async function getStatus(httpClient, signal) {
38502
38505
  return (await httpClient.get(`shared_data/api/status`, { signal })).json();
38503
38506
  }
38504
38507
  //#endregion
38505
- //#region ../../node_modules/.pnpm/@toggl+queries@2.2.192_@tanstack+react-query@5.99.0_react@19.2.5__@toggl+sync@0.2.4_rea_ecdbe05806e61f883b04960442f3f3ae/node_modules/@toggl/queries/dist/org/timeoff/requests.mjs
38508
+ //#region ../../node_modules/.pnpm/@toggl+queries@2.2.195_@tanstack+react-query@5.99.0_react@19.2.5__@toggl+sync@0.2.4_rea_a8e5c0ba64108b62eac194a9a19a0127/node_modules/@toggl/queries/dist/org/timeoff/requests.mjs
38506
38509
  async function timeoffListMyEntries(httpClient, organization_id, { from, to }, signal) {
38507
38510
  return (await httpClient.get(`timeoff/organizations/${organization_id}/me`, {
38508
38511
  signal,
@@ -38530,7 +38533,7 @@ async function timeoffDeleteMyEntry(httpClient, organization_id, id, signal) {
38530
38533
  return response.json();
38531
38534
  }
38532
38535
  //#endregion
38533
- //#region ../../node_modules/.pnpm/@toggl+queries@2.2.192_@tanstack+react-query@5.99.0_react@19.2.5__@toggl+sync@0.2.4_rea_ecdbe05806e61f883b04960442f3f3ae/node_modules/@toggl/queries/dist/shared-data/working-hours/requests.mjs
38536
+ //#region ../../node_modules/.pnpm/@toggl+queries@2.2.195_@tanstack+react-query@5.99.0_react@19.2.5__@toggl+sync@0.2.4_rea_a8e5c0ba64108b62eac194a9a19a0127/node_modules/@toggl/queries/dist/shared-data/working-hours/requests.mjs
38534
38537
  async function getMyWorkingHours(httpClient, organization_id, signal) {
38535
38538
  return (await httpClient.get(`shared_data/api/workinghours/${organization_id}/me`, { signal })).json();
38536
38539
  }
@@ -39796,7 +39799,7 @@ async function resolveApiTokenIdentity(options) {
39796
39799
  organizationId = hostedMcpOrganizationId;
39797
39800
  organizationSource = "api";
39798
39801
  } else throw new ApiTokenAuthError(`Could not determine the organization for workspace ${workspaceId}: API keys cannot list organizations. Set ${TOGGL_ORGANIZATION_ID_ENV} (app URLs read focus.toggl.com/<organization_id>/workspaces/<workspace_id>/…).`);
39799
- const probe = await getJson(`${api}/organizations/${organizationId}/workspaces/${workspaceId}/custom-fields`, token, options);
39802
+ const probe = await getJson(`${api}/organizations/${organizationId}/workspaces/${workspaceId}/projects?per_page=1`, token, options);
39800
39803
  if (probe.status === 401) throw new ApiTokenAuthError(INVALID_KEY_MESSAGE, 401);
39801
39804
  if (probe.status === 403 || probe.status === 404) throw new ApiTokenAuthError(`This API key has no access to workspace ${workspaceId} in organization ${organizationId}. Check ${TOGGL_ORGANIZATION_ID_ENV} and ${TOGGL_WORKSPACE_ID_ENV}.`, probe.status);
39802
39805
  if (probe.status >= 400) throw new ApiTokenAuthError(`Could not verify access to workspace ${workspaceId} in organization ${organizationId} (${probe.status}).`, probe.status);
@@ -52686,6 +52689,28 @@ const generatedFocusOperations = [
52686
52689
  ]));
52687
52690
  }
52688
52691
  },
52692
+ {
52693
+ id: "focus.time-entries.get-organization-time-entry-presence",
52694
+ family: "focus",
52695
+ resource: "time-entries",
52696
+ action: "get-organization-time-entry-presence",
52697
+ title: "Get Organization Time Entry Presence Time Entries",
52698
+ description: "Get Organization Time Entry Presence Time Entries.",
52699
+ safety: "read",
52700
+ destructive: false,
52701
+ cli: {
52702
+ group: ["time-entries"],
52703
+ command: "get-organization-time-entry-presence",
52704
+ interactive: "hidden"
52705
+ },
52706
+ mcp: { entityTool: "time-entries" },
52707
+ inputSchema: /* @__PURE__ */ looseObject({}),
52708
+ execute: (_input, { client }) => client.runGeneratedRequest("getOrganizationTimeEntryPresence", () => callGeneratedRequest(getOrganizationTimeEntryPresence, [
52709
+ client.httpClient,
52710
+ client.organizationId,
52711
+ void 0
52712
+ ]))
52713
+ },
52689
52714
  {
52690
52715
  id: "focus.time-entries.get-stream-time-entries-range",
52691
52716
  family: "focus",
@@ -56727,7 +56752,7 @@ function registerWorkspaceTools(server) {
56727
56752
  //#region src/package-version.ts
56728
56753
  function mcpPackageVersion() {
56729
56754
  try {
56730
- return "1.13.3";
56755
+ return "1.13.5";
56731
56756
  } catch {
56732
56757
  return "unknown";
56733
56758
  }
@@ -56908,7 +56933,7 @@ import_main.default.config({
56908
56933
  quiet: true,
56909
56934
  ignore: ["MISSING_ENV_FILE"]
56910
56935
  });
56911
- const packageVersion = "1.13.3";
56936
+ const packageVersion = "1.13.5";
56912
56937
  const MCP_CACHE_TTL_MS = 300 * 1e3;
56913
56938
  const MCP_MAX_TOOL_INPUT_ELEMENTS = 1e4;
56914
56939
  function resolvePublicUrls() {
@@ -57028,4 +57053,4 @@ function bootstrapServer(options = {}) {
57028
57053
  //#endregion
57029
57054
  export { PUBLIC_SENTRY_PRIVACY_OPTIONS as a, initProductAnalytics as c, shutdownProductAnalytics as d, runMcpCli as i, resolveProductAnalyticsDistinctId as l, MCP_MAX_TOOL_INPUT_ELEMENTS as n, captureToolInvocation as o, bootstrapServer as r, getProductAnalyticsDistinctId as s, MCP_CACHE_TTL_MS as t, resolvePublicSentryDsn as u };
57030
57055
 
57031
- //# sourceMappingURL=src-BMQRIg24.js.map
57056
+ //# sourceMappingURL=src-CibXAEy0.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@togglhq/mcp",
3
- "version": "1.13.3",
3
+ "version": "1.13.5",
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",