@togglhq/mcp 1.13.127 → 1.13.129

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-CnF5Qb-x.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-5vzNz4bJ.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.127";
165
+ const packageVersion = "1.13.129";
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-CnF5Qb-x.js";
2
+ import { i as runMcpCli, n as MCP_MAX_TOOL_INPUT_ELEMENTS, r as bootstrapServer, t as MCP_CACHE_TTL_MS } from "./src-5vzNz4bJ.js";
3
3
  export { MCP_CACHE_TTL_MS, MCP_MAX_TOOL_INPUT_ELEMENTS, bootstrapServer, runMcpCli };
@@ -42677,6 +42677,24 @@ async function searchAi(httpClient, organization_id, workspace_id, { q }, signal
42677
42677
  searchParams: buildSearchParams$2({ q })
42678
42678
  }).json();
42679
42679
  }
42680
+ async function getAiSources(httpClient, organization_id, workspace_id, signal) {
42681
+ return await httpClient.get(`intelligence/organizations/${organization_id}/workspaces/${workspace_id}/sources`, { signal }).json();
42682
+ }
42683
+ async function disconnectAiSource(httpClient, organization_id, workspace_id, source_id, signal) {
42684
+ return await httpClient.delete(`intelligence/organizations/${organization_id}/workspaces/${workspace_id}/sources/${source_id}`, { signal }).json();
42685
+ }
42686
+ async function finishAiSource(httpClient, organization_id, workspace_id, source_id, data, signal) {
42687
+ return await httpClient.post(`intelligence/organizations/${organization_id}/workspaces/${workspace_id}/sources/${source_id}/callback`, {
42688
+ signal,
42689
+ json: data
42690
+ }).json();
42691
+ }
42692
+ async function connectAiSource(httpClient, organization_id, workspace_id, source_id, data, signal) {
42693
+ return await httpClient.post(`intelligence/organizations/${organization_id}/workspaces/${workspace_id}/sources/${source_id}/connect`, {
42694
+ signal,
42695
+ json: data
42696
+ }).json();
42697
+ }
42680
42698
  async function runAiView(httpClient, organization_id, workspace_id, data, signal) {
42681
42699
  return await httpClient.post(`intelligence/organizations/${organization_id}/workspaces/${workspace_id}/views/run`, {
42682
42700
  signal,
@@ -42876,6 +42894,18 @@ async function getAllWorkspaceUserBillableRates(httpClient, organization_id, wor
42876
42894
  })
42877
42895
  }).json();
42878
42896
  }
42897
+ async function bulkUpsertWorkspaceUserBillableRate(httpClient, organization_id, workspace_id, data, signal) {
42898
+ return await httpClient.post(`organizations/${organization_id}/workspaces/${workspace_id}/billable-rates/users/rates/bulk`, {
42899
+ signal,
42900
+ json: data
42901
+ }).json();
42902
+ }
42903
+ async function bulkCheckWorkspaceUserBillableRateConflicts(httpClient, organization_id, workspace_id, data, signal) {
42904
+ return await httpClient.post(`organizations/${organization_id}/workspaces/${workspace_id}/billable-rates/users/rates/check/bulk`, {
42905
+ signal,
42906
+ json: data
42907
+ }).json();
42908
+ }
42879
42909
  async function getWorkspaceUserBillableRates(httpClient, organization_id, workspace_id, user_id, { order_by } = {}, signal) {
42880
42910
  return await httpClient.get(`organizations/${organization_id}/workspaces/${workspace_id}/billable-rates/users/${user_id}/rates`, {
42881
42911
  signal,
@@ -43286,6 +43316,18 @@ async function getAllWorkspaceUserLaborCostRates(httpClient, organization_id, wo
43286
43316
  })
43287
43317
  }).json();
43288
43318
  }
43319
+ async function bulkUpsertWorkspaceUserLaborCostRate(httpClient, organization_id, workspace_id, data, signal) {
43320
+ return await httpClient.post(`organizations/${organization_id}/workspaces/${workspace_id}/labor-costs/users/rates/bulk`, {
43321
+ signal,
43322
+ json: data
43323
+ }).json();
43324
+ }
43325
+ async function bulkCheckWorkspaceUserLaborCostRateConflicts(httpClient, organization_id, workspace_id, data, signal) {
43326
+ return await httpClient.post(`organizations/${organization_id}/workspaces/${workspace_id}/labor-costs/users/rates/check/bulk`, {
43327
+ signal,
43328
+ json: data
43329
+ }).json();
43330
+ }
43289
43331
  async function getWorkspaceUserLaborCostRates(httpClient, organization_id, workspace_id, user_id, { order_by } = {}, signal) {
43290
43332
  return await httpClient.get(`organizations/${organization_id}/workspaces/${workspace_id}/labor-costs/users/${user_id}/rates`, {
43291
43333
  signal,
@@ -44484,6 +44526,37 @@ const generatedFocusOperations = [
44484
44526
  ]));
44485
44527
  }
44486
44528
  },
44529
+ {
44530
+ id: "focus.ai.connect-ai-source",
44531
+ family: "focus",
44532
+ resource: "ai",
44533
+ action: "connect-ai-source",
44534
+ title: "Connect Ai Source Ai",
44535
+ description: "Connect Ai Source Ai.",
44536
+ safety: "update",
44537
+ destructive: false,
44538
+ cli: {
44539
+ group: ["ai"],
44540
+ command: "connect-ai-source",
44541
+ interactive: "default"
44542
+ },
44543
+ mcp: { entityTool: "ai" },
44544
+ inputSchema: /* @__PURE__ */ looseObject({
44545
+ payload: /* @__PURE__ */ looseObject({ redirect_uri: /* @__PURE__ */ string$1() }),
44546
+ source_id: /* @__PURE__ */ string$1()
44547
+ }),
44548
+ execute: (input, { client }) => {
44549
+ const data = input;
44550
+ return client.runGeneratedRequest("connectAiSource", () => callGeneratedRequest(connectAiSource, [
44551
+ client.httpClient,
44552
+ client.organizationId,
44553
+ client.workspaceIdNumber,
44554
+ data.source_id,
44555
+ data.payload ?? data.data ?? data,
44556
+ void 0
44557
+ ]));
44558
+ }
44559
+ },
44487
44560
  {
44488
44561
  id: "focus.ai.day-rebuild-group",
44489
44562
  family: "focus",
@@ -44643,6 +44716,67 @@ const generatedFocusOperations = [
44643
44716
  ]));
44644
44717
  }
44645
44718
  },
44719
+ {
44720
+ id: "focus.ai.disconnect-ai-source",
44721
+ family: "focus",
44722
+ resource: "ai",
44723
+ action: "disconnect-ai-source",
44724
+ title: "Disconnect Ai Source Ai",
44725
+ description: "Disconnect Ai Source Ai.",
44726
+ safety: "delete",
44727
+ destructive: true,
44728
+ cli: {
44729
+ group: ["ai"],
44730
+ command: "disconnect-ai-source",
44731
+ interactive: "default"
44732
+ },
44733
+ mcp: { entityTool: "ai" },
44734
+ inputSchema: /* @__PURE__ */ looseObject({ source_id: /* @__PURE__ */ string$1() }),
44735
+ execute: (input, { client }) => {
44736
+ const data = input;
44737
+ return client.runGeneratedRequest("disconnectAiSource", () => callGeneratedRequest(disconnectAiSource, [
44738
+ client.httpClient,
44739
+ client.organizationId,
44740
+ client.workspaceIdNumber,
44741
+ data.source_id,
44742
+ void 0
44743
+ ]));
44744
+ }
44745
+ },
44746
+ {
44747
+ id: "focus.ai.finish-ai-source",
44748
+ family: "focus",
44749
+ resource: "ai",
44750
+ action: "finish-ai-source",
44751
+ title: "Finish Ai Source Ai",
44752
+ description: "Finish Ai Source Ai.",
44753
+ safety: "update",
44754
+ destructive: false,
44755
+ cli: {
44756
+ group: ["ai"],
44757
+ command: "finish-ai-source",
44758
+ interactive: "default"
44759
+ },
44760
+ mcp: { entityTool: "ai" },
44761
+ inputSchema: /* @__PURE__ */ looseObject({
44762
+ payload: /* @__PURE__ */ looseObject({
44763
+ code: /* @__PURE__ */ string$1(),
44764
+ state: /* @__PURE__ */ string$1()
44765
+ }),
44766
+ source_id: /* @__PURE__ */ string$1()
44767
+ }),
44768
+ execute: (input, { client }) => {
44769
+ const data = input;
44770
+ return client.runGeneratedRequest("finishAiSource", () => callGeneratedRequest(finishAiSource, [
44771
+ client.httpClient,
44772
+ client.organizationId,
44773
+ client.workspaceIdNumber,
44774
+ data.source_id,
44775
+ data.payload ?? data.data ?? data,
44776
+ void 0
44777
+ ]));
44778
+ }
44779
+ },
44646
44780
  {
44647
44781
  id: "focus.ai.get-conversations",
44648
44782
  family: "focus",
@@ -44705,6 +44839,29 @@ const generatedFocusOperations = [
44705
44839
  ]));
44706
44840
  }
44707
44841
  },
44842
+ {
44843
+ id: "focus.ai.get-sources",
44844
+ family: "focus",
44845
+ resource: "ai",
44846
+ action: "get-sources",
44847
+ title: "Get Sources Ai",
44848
+ description: "Get Sources Ai.",
44849
+ safety: "read",
44850
+ destructive: false,
44851
+ cli: {
44852
+ group: ["ai"],
44853
+ command: "get-sources",
44854
+ interactive: "hidden"
44855
+ },
44856
+ mcp: { entityTool: "ai" },
44857
+ inputSchema: /* @__PURE__ */ looseObject({}),
44858
+ execute: (_input, { client }) => client.runGeneratedRequest("getAiSources", () => callGeneratedRequest(getAiSources, [
44859
+ client.httpClient,
44860
+ client.organizationId,
44861
+ client.workspaceIdNumber,
44862
+ void 0
44863
+ ]))
44864
+ },
44708
44865
  {
44709
44866
  id: "focus.ai.next-ai-actions",
44710
44867
  family: "focus",
@@ -49352,6 +49509,81 @@ const generatedFocusOperations = [
49352
49509
  ]));
49353
49510
  }
49354
49511
  },
49512
+ {
49513
+ id: "focus.rates.billable-bulk-check-workspace-user-billable-rate-conflicts",
49514
+ family: "focus",
49515
+ resource: "rates",
49516
+ action: "billable-bulk-check-workspace-user-billable-rate-conflicts",
49517
+ title: "Billable Bulk Check Workspace User Billable Rate Conflicts Rates",
49518
+ description: "Billable Bulk Check Workspace User Billable Rate Conflicts Rates.",
49519
+ safety: "update",
49520
+ destructive: false,
49521
+ cli: {
49522
+ group: [
49523
+ "rates",
49524
+ "billable",
49525
+ "bulk"
49526
+ ],
49527
+ command: "check-workspace-user-billable-rate-conflicts",
49528
+ interactive: "default"
49529
+ },
49530
+ mcp: { entityTool: "rates" },
49531
+ inputSchema: /* @__PURE__ */ looseObject({ payload: /* @__PURE__ */ looseObject({
49532
+ currency: /* @__PURE__ */ string$1(),
49533
+ hourly_rate: /* @__PURE__ */ number$2(),
49534
+ start_date: /* @__PURE__ */ pipe$2(/* @__PURE__ */ string$1(), /* @__PURE__ */ isoDate$1()),
49535
+ user_ids: /* @__PURE__ */ array$1(/* @__PURE__ */ number$2()),
49536
+ end_date: /* @__PURE__ */ optional$1(/* @__PURE__ */ pipe$2(/* @__PURE__ */ string$1(), /* @__PURE__ */ isoDate$1()))
49537
+ }) }),
49538
+ execute: (input, { client }) => {
49539
+ const data = input;
49540
+ return client.runGeneratedRequest("bulkCheckWorkspaceUserBillableRateConflicts", () => callGeneratedRequest(bulkCheckWorkspaceUserBillableRateConflicts, [
49541
+ client.httpClient,
49542
+ client.organizationId,
49543
+ client.workspaceIdNumber,
49544
+ data.payload ?? data.data ?? data,
49545
+ void 0
49546
+ ]));
49547
+ }
49548
+ },
49549
+ {
49550
+ id: "focus.rates.billable-bulk-upsert-workspace-user",
49551
+ family: "focus",
49552
+ resource: "rates",
49553
+ action: "billable-bulk-upsert-workspace-user",
49554
+ title: "Billable Bulk Upsert Workspace User Rates",
49555
+ description: "Billable Bulk Upsert Workspace User Rates.",
49556
+ safety: "update",
49557
+ destructive: false,
49558
+ cli: {
49559
+ group: [
49560
+ "rates",
49561
+ "billable",
49562
+ "bulk"
49563
+ ],
49564
+ command: "upsert-workspace-user",
49565
+ interactive: "default"
49566
+ },
49567
+ mcp: { entityTool: "rates" },
49568
+ inputSchema: /* @__PURE__ */ looseObject({ payload: /* @__PURE__ */ looseObject({
49569
+ currency: /* @__PURE__ */ string$1(),
49570
+ hourly_rate: /* @__PURE__ */ number$2(),
49571
+ on_conflict: /* @__PURE__ */ picklist$1(["overwrite", "skip"]),
49572
+ start_date: /* @__PURE__ */ pipe$2(/* @__PURE__ */ string$1(), /* @__PURE__ */ isoDate$1()),
49573
+ user_ids: /* @__PURE__ */ array$1(/* @__PURE__ */ number$2()),
49574
+ end_date: /* @__PURE__ */ optional$1(/* @__PURE__ */ pipe$2(/* @__PURE__ */ string$1(), /* @__PURE__ */ isoDate$1()))
49575
+ }) }),
49576
+ execute: (input, { client }) => {
49577
+ const data = input;
49578
+ return client.runGeneratedRequest("bulkUpsertWorkspaceUserBillableRate", () => callGeneratedRequest(bulkUpsertWorkspaceUserBillableRate, [
49579
+ client.httpClient,
49580
+ client.organizationId,
49581
+ client.workspaceIdNumber,
49582
+ data.payload ?? data.data ?? data,
49583
+ void 0
49584
+ ]));
49585
+ }
49586
+ },
49355
49587
  {
49356
49588
  id: "focus.rates.billable-check-project-billable-rate-conflicts",
49357
49589
  family: "focus",
@@ -50128,6 +50360,81 @@ const generatedFocusOperations = [
50128
50360
  ]));
50129
50361
  }
50130
50362
  },
50363
+ {
50364
+ id: "focus.rates.labor-bulk-check-workspace-user-labor-cost-rate-conflicts",
50365
+ family: "focus",
50366
+ resource: "rates",
50367
+ action: "labor-bulk-check-workspace-user-labor-cost-rate-conflicts",
50368
+ title: "Labor Bulk Check Workspace User Labor Cost Rate Conflicts Rates",
50369
+ description: "Labor Bulk Check Workspace User Labor Cost Rate Conflicts Rates.",
50370
+ safety: "update",
50371
+ destructive: false,
50372
+ cli: {
50373
+ group: [
50374
+ "rates",
50375
+ "labor",
50376
+ "bulk"
50377
+ ],
50378
+ command: "check-workspace-user-labor-cost-rate-conflicts",
50379
+ interactive: "default"
50380
+ },
50381
+ mcp: { entityTool: "rates" },
50382
+ inputSchema: /* @__PURE__ */ looseObject({ payload: /* @__PURE__ */ looseObject({
50383
+ currency: /* @__PURE__ */ string$1(),
50384
+ hourly_rate: /* @__PURE__ */ number$2(),
50385
+ start_date: /* @__PURE__ */ pipe$2(/* @__PURE__ */ string$1(), /* @__PURE__ */ isoDate$1()),
50386
+ user_ids: /* @__PURE__ */ array$1(/* @__PURE__ */ number$2()),
50387
+ end_date: /* @__PURE__ */ optional$1(/* @__PURE__ */ pipe$2(/* @__PURE__ */ string$1(), /* @__PURE__ */ isoDate$1()))
50388
+ }) }),
50389
+ execute: (input, { client }) => {
50390
+ const data = input;
50391
+ return client.runGeneratedRequest("bulkCheckWorkspaceUserLaborCostRateConflicts", () => callGeneratedRequest(bulkCheckWorkspaceUserLaborCostRateConflicts, [
50392
+ client.httpClient,
50393
+ client.organizationId,
50394
+ client.workspaceIdNumber,
50395
+ data.payload ?? data.data ?? data,
50396
+ void 0
50397
+ ]));
50398
+ }
50399
+ },
50400
+ {
50401
+ id: "focus.rates.labor-bulk-upsert-workspace-user-labor-cost-rate",
50402
+ family: "focus",
50403
+ resource: "rates",
50404
+ action: "labor-bulk-upsert-workspace-user-labor-cost-rate",
50405
+ title: "Labor Bulk Upsert Workspace User Labor Cost Rate Rates",
50406
+ description: "Labor Bulk Upsert Workspace User Labor Cost Rate Rates.",
50407
+ safety: "update",
50408
+ destructive: false,
50409
+ cli: {
50410
+ group: [
50411
+ "rates",
50412
+ "labor",
50413
+ "bulk"
50414
+ ],
50415
+ command: "upsert-workspace-user-labor-cost-rate",
50416
+ interactive: "default"
50417
+ },
50418
+ mcp: { entityTool: "rates" },
50419
+ inputSchema: /* @__PURE__ */ looseObject({ payload: /* @__PURE__ */ looseObject({
50420
+ currency: /* @__PURE__ */ string$1(),
50421
+ hourly_rate: /* @__PURE__ */ number$2(),
50422
+ on_conflict: /* @__PURE__ */ picklist$1(["overwrite", "skip"]),
50423
+ start_date: /* @__PURE__ */ pipe$2(/* @__PURE__ */ string$1(), /* @__PURE__ */ isoDate$1()),
50424
+ user_ids: /* @__PURE__ */ array$1(/* @__PURE__ */ number$2()),
50425
+ end_date: /* @__PURE__ */ optional$1(/* @__PURE__ */ pipe$2(/* @__PURE__ */ string$1(), /* @__PURE__ */ isoDate$1()))
50426
+ }) }),
50427
+ execute: (input, { client }) => {
50428
+ const data = input;
50429
+ return client.runGeneratedRequest("bulkUpsertWorkspaceUserLaborCostRate", () => callGeneratedRequest(bulkUpsertWorkspaceUserLaborCostRate, [
50430
+ client.httpClient,
50431
+ client.organizationId,
50432
+ client.workspaceIdNumber,
50433
+ data.payload ?? data.data ?? data,
50434
+ void 0
50435
+ ]));
50436
+ }
50437
+ },
50131
50438
  {
50132
50439
  id: "focus.rates.labor-check-project-labor-cost-conflicts",
50133
50440
  family: "focus",
@@ -58658,7 +58965,7 @@ function registerWorkspaceTools(server) {
58658
58965
  //#region src/package-version.ts
58659
58966
  function mcpPackageVersion() {
58660
58967
  try {
58661
- return "1.13.127";
58968
+ return "1.13.129";
58662
58969
  } catch {
58663
58970
  return "unknown";
58664
58971
  }
@@ -58839,7 +59146,7 @@ import_main.default.config({
58839
59146
  quiet: true,
58840
59147
  ignore: ["MISSING_ENV_FILE"]
58841
59148
  });
58842
- const packageVersion = "1.13.127";
59149
+ const packageVersion = "1.13.129";
58843
59150
  const MCP_CACHE_TTL_MS = 300 * 1e3;
58844
59151
  const MCP_MAX_TOOL_INPUT_ELEMENTS = 1e4;
58845
59152
  function resolvePublicUrls() {
@@ -58959,4 +59266,4 @@ function bootstrapServer(options = {}) {
58959
59266
  //#endregion
58960
59267
  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 };
58961
59268
 
58962
- //# sourceMappingURL=src-CnF5Qb-x.js.map
59269
+ //# sourceMappingURL=src-5vzNz4bJ.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@togglhq/mcp",
3
- "version": "1.13.127",
3
+ "version": "1.13.129",
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",