@togglhq/mcp 1.5.76 → 1.6.1
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 +1 -1
- package/build/index.js +1 -1
- package/build/{src-L_3aD-8p.js → src-A1P2fdsO.js} +13 -96
- package/package.json +1 -1
package/build/cli.js
CHANGED
package/build/index.js
CHANGED
|
@@ -30785,15 +30785,6 @@ async function patchOrganizationUserActive(httpClient, organization_id, organiza
|
|
|
30785
30785
|
async function getWorkspaces(httpClient, organization_id, signal) {
|
|
30786
30786
|
return (await httpClient.get(`organizations/${organization_id}/workspaces`, { signal })).json();
|
|
30787
30787
|
}
|
|
30788
|
-
async function getWorkspaceTimezone(httpClient, organization_id, workspace_id, signal) {
|
|
30789
|
-
return (await httpClient.get(`organizations/${organization_id}/workspaces/${workspace_id}/settings/timezone`, { signal })).json();
|
|
30790
|
-
}
|
|
30791
|
-
async function putWorkspaceTimezone(httpClient, organization_id, workspace_id, data, signal) {
|
|
30792
|
-
return (await httpClient.put(`organizations/${organization_id}/workspaces/${workspace_id}/settings/timezone`, {
|
|
30793
|
-
signal,
|
|
30794
|
-
json: data
|
|
30795
|
-
})).json();
|
|
30796
|
-
}
|
|
30797
30788
|
async function getWorkspaceUserMeRoles(httpClient, organization_id, workspace_id, signal) {
|
|
30798
30789
|
return (await httpClient.get(`organizations/${organization_id}/workspaces/${workspace_id}/users/me/roles`, { signal })).json();
|
|
30799
30790
|
}
|
|
@@ -31718,20 +31709,6 @@ var FocusClient = class {
|
|
|
31718
31709
|
data: response.data
|
|
31719
31710
|
} : response;
|
|
31720
31711
|
}
|
|
31721
|
-
async getOrgWorkspaceTimezone(workspaceId) {
|
|
31722
|
-
const response = await this.run("getOrgWorkspaceTimezone", () => getWorkspaceTimezone(this.orgHttp, this.organizationIdNum, workspaceId));
|
|
31723
|
-
return response.ok ? {
|
|
31724
|
-
ok: true,
|
|
31725
|
-
data: response.data
|
|
31726
|
-
} : response;
|
|
31727
|
-
}
|
|
31728
|
-
async updateOrgWorkspaceTimezone(workspaceId, payload) {
|
|
31729
|
-
const response = await this.run("updateOrgWorkspaceTimezone", () => putWorkspaceTimezone(this.orgHttp, this.organizationIdNum, workspaceId, payload));
|
|
31730
|
-
return response.ok ? {
|
|
31731
|
-
ok: true,
|
|
31732
|
-
data: response.data
|
|
31733
|
-
} : response;
|
|
31734
|
-
}
|
|
31735
31712
|
async getSharedDataStatus() {
|
|
31736
31713
|
const response = await this.run("getSharedDataStatus", () => getStatus(this.sharedDataHttp));
|
|
31737
31714
|
return this.softValidateResponse("getSharedDataStatus", StatusOKSchema, response);
|
|
@@ -32644,7 +32621,7 @@ function createAuthenticatedClientProxy() {
|
|
|
32644
32621
|
} });
|
|
32645
32622
|
}
|
|
32646
32623
|
//#endregion
|
|
32647
|
-
//#region ../operations/build/safety-
|
|
32624
|
+
//#region ../operations/build/safety-nrboW9fu.js
|
|
32648
32625
|
const optionalNumber = /* @__PURE__ */ optional$1(/* @__PURE__ */ number$2());
|
|
32649
32626
|
const DATE_FIELD_RE = /^\d{4}-\d{2}-\d{2}(T\d{2}:\d{2}:\d{2}(\.\d+)?(Z|[+-]\d{2}:\d{2}))?$/;
|
|
32650
32627
|
const dateField = (description) => /* @__PURE__ */ pipe$2(/* @__PURE__ */ string$1(), /* @__PURE__ */ regex(DATE_FIELD_RE, "must be YYYY-MM-DD or RFC3339 datetime (e.g. '2025-01-01' or '2025-01-01T00:00:00Z')"), /* @__PURE__ */ description$1(description));
|
|
@@ -32879,6 +32856,7 @@ const clientOverrides = { "focus.clients.list": {
|
|
|
32879
32856
|
const compositeOverrides = {
|
|
32880
32857
|
"focus.composite.create-project": {
|
|
32881
32858
|
description: "Create a project with related data such as members, milestones, rates, and billable rates.",
|
|
32859
|
+
agentGuidance: "Follow the create action's privacy and billable guidance. Project fields go under payload.project.",
|
|
32882
32860
|
cli: {
|
|
32883
32861
|
group: ["projects"],
|
|
32884
32862
|
command: "create-advanced",
|
|
@@ -33180,16 +33158,20 @@ const projectOverrides = {
|
|
|
33180
33158
|
},
|
|
33181
33159
|
"focus.projects.get": { agentGuidance: "Fetch a single project with aggregated task counts and time estimates." },
|
|
33182
33160
|
"focus.projects.create": {
|
|
33183
|
-
agentGuidance: "Required: name. Recommended: color (hex), billable
|
|
33161
|
+
agentGuidance: "Required: name. Recommended: color (hex). The API defaults private and billable to false when omitted. Match the Toggl UI on privacy. If the user explicitly asks for a shared or public project, pass private=false; no permissions check is needed, because only private projects require an entitlement. Otherwise call workspace-settings get-user-permissions and pass private=true when permissions includes access_private_projects_tasks_feature. If that permission is absent, pass private=false and tell the user; if the user explicitly required a private project, do not create a shared one. Leave billable unset unless the user explicitly says the work is billable or provides a rate. Associate with a client via client_id.",
|
|
33184
33162
|
examples: [{
|
|
33185
|
-
description: "Create a project",
|
|
33186
|
-
data: {
|
|
33163
|
+
description: "Create a private internal project",
|
|
33164
|
+
data: {
|
|
33165
|
+
name: "Internal research",
|
|
33166
|
+
private: true
|
|
33167
|
+
}
|
|
33187
33168
|
}, {
|
|
33188
|
-
description: "Create a billable project
|
|
33169
|
+
description: "Create a private billable project when billing was requested",
|
|
33189
33170
|
data: {
|
|
33190
33171
|
name: "Client work",
|
|
33172
|
+
private: true,
|
|
33191
33173
|
billable: true,
|
|
33192
|
-
color: "#
|
|
33174
|
+
color: "#DD3919"
|
|
33193
33175
|
}
|
|
33194
33176
|
}]
|
|
33195
33177
|
},
|
|
@@ -33828,71 +33810,6 @@ const orgSharedOperations = [
|
|
|
33828
33810
|
return client.getMyWorkspaceRoles(body.workspace_id ?? Number.parseInt(client.workspaceId, 10));
|
|
33829
33811
|
}
|
|
33830
33812
|
},
|
|
33831
|
-
{
|
|
33832
|
-
id: "org.workspaces.get-timezone",
|
|
33833
|
-
family: "org",
|
|
33834
|
-
resource: "workspaces",
|
|
33835
|
-
action: "get-timezone",
|
|
33836
|
-
title: "Get workspace timezone",
|
|
33837
|
-
description: "Get the workspace-level default timezone (null when unset). Requires organization admin.",
|
|
33838
|
-
agentGuidance: "Use when you need the org-wide default timezone for a workspace. When timezone is null, members use their personal timezones.",
|
|
33839
|
-
safety: "read",
|
|
33840
|
-
destructive: false,
|
|
33841
|
-
cli: {
|
|
33842
|
-
group: ["organization", "workspaces"],
|
|
33843
|
-
command: "get-timezone",
|
|
33844
|
-
examples: [{
|
|
33845
|
-
description: "Get timezone for the active workspace",
|
|
33846
|
-
data: {}
|
|
33847
|
-
}, {
|
|
33848
|
-
description: "Get timezone for a specific workspace",
|
|
33849
|
-
data: { workspace_id: 40770900 }
|
|
33850
|
-
}]
|
|
33851
|
-
},
|
|
33852
|
-
mcp: { entityTool: "org-workspaces" },
|
|
33853
|
-
inputSchema: /* @__PURE__ */ object$2({ workspace_id: /* @__PURE__ */ optional$1(/* @__PURE__ */ pipe$2(/* @__PURE__ */ number$2(), /* @__PURE__ */ description$1("Workspace ID (defaults to profile)"))) }),
|
|
33854
|
-
execute: (input, { client }) => {
|
|
33855
|
-
const body = input;
|
|
33856
|
-
return client.getOrgWorkspaceTimezone(body.workspace_id ?? client.workspaceIdNumber);
|
|
33857
|
-
}
|
|
33858
|
-
},
|
|
33859
|
-
{
|
|
33860
|
-
id: "org.workspaces.update-timezone",
|
|
33861
|
-
family: "org",
|
|
33862
|
-
resource: "workspaces",
|
|
33863
|
-
action: "update-timezone",
|
|
33864
|
-
title: "Update workspace timezone",
|
|
33865
|
-
description: "Set or clear the workspace-level default timezone. Requires organization admin.",
|
|
33866
|
-
agentGuidance: "Set timezone to an IANA name (e.g. Europe/London) or clear with clear: true / timezone: null so members fall back to personal timezones.",
|
|
33867
|
-
safety: "update",
|
|
33868
|
-
destructive: false,
|
|
33869
|
-
cli: {
|
|
33870
|
-
group: ["organization", "workspaces"],
|
|
33871
|
-
command: "update-timezone",
|
|
33872
|
-
examples: [{
|
|
33873
|
-
description: "Set default timezone for the active workspace",
|
|
33874
|
-
data: { timezone: "Europe/London" }
|
|
33875
|
-
}, {
|
|
33876
|
-
description: "Clear workspace default timezone",
|
|
33877
|
-
data: { clear: true }
|
|
33878
|
-
}]
|
|
33879
|
-
},
|
|
33880
|
-
mcp: { entityTool: "org-workspaces" },
|
|
33881
|
-
inputSchema: /* @__PURE__ */ object$2({
|
|
33882
|
-
workspace_id: /* @__PURE__ */ optional$1(/* @__PURE__ */ pipe$2(/* @__PURE__ */ number$2(), /* @__PURE__ */ description$1("Workspace ID (defaults to profile)"))),
|
|
33883
|
-
timezone: /* @__PURE__ */ optional$1(/* @__PURE__ */ nullable$1(/* @__PURE__ */ pipe$2(/* @__PURE__ */ string$1(), /* @__PURE__ */ description$1("IANA timezone (e.g. \"Europe/London\"), or null to clear")))),
|
|
33884
|
-
clear: /* @__PURE__ */ optional$1(/* @__PURE__ */ pipe$2(/* @__PURE__ */ boolean$1(), /* @__PURE__ */ description$1("Clear workspace default timezone")))
|
|
33885
|
-
}),
|
|
33886
|
-
execute: (input, { client }) => {
|
|
33887
|
-
const body = input;
|
|
33888
|
-
const workspaceId = body.workspace_id ?? client.workspaceIdNumber;
|
|
33889
|
-
const clearsTimezone = body.clear === true || body.timezone === null;
|
|
33890
|
-
if (clearsTimezone && typeof body.timezone === "string") throw new Error("Pass either a timezone string or clear/null, not both");
|
|
33891
|
-
if (clearsTimezone) return client.updateOrgWorkspaceTimezone(workspaceId, { timezone: null });
|
|
33892
|
-
if (body.timezone === void 0) throw new Error("Pass --timezone <IANA>, --clear true, or timezone: null to remove the default");
|
|
33893
|
-
return client.updateOrgWorkspaceTimezone(workspaceId, { timezone: body.timezone });
|
|
33894
|
-
}
|
|
33895
|
-
},
|
|
33896
33813
|
{
|
|
33897
33814
|
id: "shared.status.get",
|
|
33898
33815
|
family: "shared",
|
|
@@ -45018,7 +44935,7 @@ import_main.default.config({
|
|
|
45018
44935
|
quiet: true,
|
|
45019
44936
|
ignore: ["MISSING_ENV_FILE"]
|
|
45020
44937
|
});
|
|
45021
|
-
const packageVersion = "1.
|
|
44938
|
+
const packageVersion = "1.6.1";
|
|
45022
44939
|
function resolvePublicUrls() {
|
|
45023
44940
|
return {
|
|
45024
44941
|
focusApiUrl: process.env.TOGGL_FOCUS_API_URL ?? "https://focus.toggl.com",
|
|
@@ -45083,4 +45000,4 @@ function bootstrapServer(options = {}) {
|
|
|
45083
45000
|
//#endregion
|
|
45084
45001
|
export { runMcpCli as n, bootstrapServer as t };
|
|
45085
45002
|
|
|
45086
|
-
//# sourceMappingURL=src-
|
|
45003
|
+
//# sourceMappingURL=src-A1P2fdsO.js.map
|