@togglhq/mcp 1.11.223 → 1.11.225
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 +2 -2
- package/build/index.js +1 -1
- package/build/{src-DldEugLk.js → src-H-pxotgE.js} +112 -108
- package/package.json +1 -1
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-
|
|
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-H-pxotgE.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.
|
|
165
|
+
const packageVersion = "1.11.225";
|
|
166
166
|
let sentryEnabled = false;
|
|
167
167
|
let productAnalyticsEnabled = false;
|
|
168
168
|
runMcpCli({
|
package/build/index.js
CHANGED
|
@@ -35325,7 +35325,7 @@ const TaskCreatePayloadSchema = /* @__PURE__ */ object({
|
|
|
35325
35325
|
color: /* @__PURE__ */ optional(/* @__PURE__ */ string()),
|
|
35326
35326
|
custom_fields: /* @__PURE__ */ optional(/* @__PURE__ */ record(/* @__PURE__ */ string(), /* @__PURE__ */ unknown())),
|
|
35327
35327
|
description: /* @__PURE__ */ optional(/* @__PURE__ */ string()),
|
|
35328
|
-
end_date: /* @__PURE__ */ optional(/* @__PURE__ */ pipe(/* @__PURE__ */ string(), /* @__PURE__ */ isoDate())),
|
|
35328
|
+
end_date: /* @__PURE__ */ optional(/* @__PURE__ */ pipe(/* @__PURE__ */ pipe(/* @__PURE__ */ string(), /* @__PURE__ */ isoDate()), /* @__PURE__ */ description("Send together with start_date; must be on or after start_date."))),
|
|
35329
35329
|
estimate_type: /* @__PURE__ */ optional(/* @__PURE__ */ picklist(["daily", "total"])),
|
|
35330
35330
|
estimated_mins: /* @__PURE__ */ optional(/* @__PURE__ */ pipe(/* @__PURE__ */ number(), /* @__PURE__ */ minValue(0))),
|
|
35331
35331
|
notes: /* @__PURE__ */ optional(/* @__PURE__ */ string()),
|
|
@@ -35343,7 +35343,7 @@ const TaskCreatePayloadSchema = /* @__PURE__ */ object({
|
|
|
35343
35343
|
project_id: /* @__PURE__ */ optional(/* @__PURE__ */ number()),
|
|
35344
35344
|
rollup_enabled: /* @__PURE__ */ optional(/* @__PURE__ */ boolean()),
|
|
35345
35345
|
rrule: /* @__PURE__ */ optional(/* @__PURE__ */ nullable(/* @__PURE__ */ string())),
|
|
35346
|
-
start_date: /* @__PURE__ */ optional(/* @__PURE__ */ pipe(/* @__PURE__ */ string(), /* @__PURE__ */ isoDate())),
|
|
35346
|
+
start_date: /* @__PURE__ */ optional(/* @__PURE__ */ pipe(/* @__PURE__ */ pipe(/* @__PURE__ */ string(), /* @__PURE__ */ isoDate()), /* @__PURE__ */ description("Send together with end_date; a date without the other is rejected."))),
|
|
35347
35347
|
status_id: /* @__PURE__ */ optional(/* @__PURE__ */ number()),
|
|
35348
35348
|
tag_ids: /* @__PURE__ */ optional(/* @__PURE__ */ nullable(/* @__PURE__ */ array(/* @__PURE__ */ number()))),
|
|
35349
35349
|
team_assignee_ids: /* @__PURE__ */ optional(/* @__PURE__ */ nullable(/* @__PURE__ */ array(/* @__PURE__ */ number())))
|
|
@@ -35365,7 +35365,7 @@ const TaskPartialUpdatePayloadSchema = /* @__PURE__ */ object({
|
|
|
35365
35365
|
color: /* @__PURE__ */ optional(/* @__PURE__ */ nullable(/* @__PURE__ */ string())),
|
|
35366
35366
|
custom_fields: /* @__PURE__ */ optional(/* @__PURE__ */ nullable(/* @__PURE__ */ object({}))),
|
|
35367
35367
|
description: /* @__PURE__ */ optional(/* @__PURE__ */ nullable(/* @__PURE__ */ string())),
|
|
35368
|
-
end_date: /* @__PURE__ */ optional(/* @__PURE__ */ nullable(/* @__PURE__ */ pipe(/* @__PURE__ */ string(), /* @__PURE__ */ isoDate()))),
|
|
35368
|
+
end_date: /* @__PURE__ */ optional(/* @__PURE__ */ pipe(/* @__PURE__ */ nullable(/* @__PURE__ */ pipe(/* @__PURE__ */ string(), /* @__PURE__ */ isoDate())), /* @__PURE__ */ description("Send together with start_date; must be on or after start_date."))),
|
|
35369
35369
|
estimate_type: /* @__PURE__ */ optional(/* @__PURE__ */ picklist(["daily", "total"])),
|
|
35370
35370
|
estimated_mins: /* @__PURE__ */ optional(/* @__PURE__ */ nullable(/* @__PURE__ */ pipe(/* @__PURE__ */ number(), /* @__PURE__ */ minValue(0)))),
|
|
35371
35371
|
name: /* @__PURE__ */ optional(/* @__PURE__ */ string()),
|
|
@@ -35388,7 +35388,7 @@ const TaskPartialUpdatePayloadSchema = /* @__PURE__ */ object({
|
|
|
35388
35388
|
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."))),
|
|
35389
35389
|
rollup_enabled: /* @__PURE__ */ optional(/* @__PURE__ */ boolean()),
|
|
35390
35390
|
rrule: /* @__PURE__ */ optional(/* @__PURE__ */ nullable(/* @__PURE__ */ string())),
|
|
35391
|
-
start_date: /* @__PURE__ */ optional(/* @__PURE__ */ nullable(/* @__PURE__ */ pipe(/* @__PURE__ */ string(), /* @__PURE__ */ isoDate()))),
|
|
35391
|
+
start_date: /* @__PURE__ */ optional(/* @__PURE__ */ pipe(/* @__PURE__ */ nullable(/* @__PURE__ */ pipe(/* @__PURE__ */ string(), /* @__PURE__ */ isoDate())), /* @__PURE__ */ description("Send together with end_date; a date without the other is rejected."))),
|
|
35392
35392
|
status_id: /* @__PURE__ */ optional(/* @__PURE__ */ number()),
|
|
35393
35393
|
tag_ids: /* @__PURE__ */ optional(/* @__PURE__ */ nullable(/* @__PURE__ */ array(/* @__PURE__ */ number()))),
|
|
35394
35394
|
team_assignee_ids: /* @__PURE__ */ optional(/* @__PURE__ */ nullable(/* @__PURE__ */ array(/* @__PURE__ */ number())))
|
|
@@ -35403,7 +35403,7 @@ const TaskPartialUpdatePayloadWithIDSchema = /* @__PURE__ */ object({
|
|
|
35403
35403
|
color: /* @__PURE__ */ optional(/* @__PURE__ */ nullable(/* @__PURE__ */ string())),
|
|
35404
35404
|
custom_fields: /* @__PURE__ */ optional(/* @__PURE__ */ nullable(/* @__PURE__ */ object({}))),
|
|
35405
35405
|
description: /* @__PURE__ */ optional(/* @__PURE__ */ nullable(/* @__PURE__ */ string())),
|
|
35406
|
-
end_date: /* @__PURE__ */ optional(/* @__PURE__ */ nullable(/* @__PURE__ */ pipe(/* @__PURE__ */ string(), /* @__PURE__ */ isoDate()))),
|
|
35406
|
+
end_date: /* @__PURE__ */ optional(/* @__PURE__ */ pipe(/* @__PURE__ */ nullable(/* @__PURE__ */ pipe(/* @__PURE__ */ string(), /* @__PURE__ */ isoDate())), /* @__PURE__ */ description("Send together with start_date; must be on or after start_date."))),
|
|
35407
35407
|
estimate_type: /* @__PURE__ */ optional(/* @__PURE__ */ picklist(["daily", "total"])),
|
|
35408
35408
|
estimated_mins: /* @__PURE__ */ optional(/* @__PURE__ */ nullable(/* @__PURE__ */ pipe(/* @__PURE__ */ number(), /* @__PURE__ */ minValue(0)))),
|
|
35409
35409
|
name: /* @__PURE__ */ optional(/* @__PURE__ */ string()),
|
|
@@ -35425,7 +35425,7 @@ const TaskPartialUpdatePayloadWithIDSchema = /* @__PURE__ */ object({
|
|
|
35425
35425
|
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."))),
|
|
35426
35426
|
rollup_enabled: /* @__PURE__ */ optional(/* @__PURE__ */ boolean()),
|
|
35427
35427
|
rrule: /* @__PURE__ */ optional(/* @__PURE__ */ nullable(/* @__PURE__ */ string())),
|
|
35428
|
-
start_date: /* @__PURE__ */ optional(/* @__PURE__ */ nullable(/* @__PURE__ */ pipe(/* @__PURE__ */ string(), /* @__PURE__ */ isoDate()))),
|
|
35428
|
+
start_date: /* @__PURE__ */ optional(/* @__PURE__ */ pipe(/* @__PURE__ */ nullable(/* @__PURE__ */ pipe(/* @__PURE__ */ string(), /* @__PURE__ */ isoDate())), /* @__PURE__ */ description("Send together with end_date; a date without the other is rejected."))),
|
|
35429
35429
|
status_id: /* @__PURE__ */ optional(/* @__PURE__ */ number()),
|
|
35430
35430
|
tag_ids: /* @__PURE__ */ optional(/* @__PURE__ */ nullable(/* @__PURE__ */ array(/* @__PURE__ */ number()))),
|
|
35431
35431
|
team_assignee_ids: /* @__PURE__ */ optional(/* @__PURE__ */ nullable(/* @__PURE__ */ array(/* @__PURE__ */ number())))
|
|
@@ -40592,7 +40592,7 @@ function createAuthenticatedClientProxy() {
|
|
|
40592
40592
|
} });
|
|
40593
40593
|
}
|
|
40594
40594
|
//#endregion
|
|
40595
|
-
//#region ../operations/build/validation-
|
|
40595
|
+
//#region ../operations/build/validation-B7kaDM75.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);
|
|
@@ -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.",
|
|
@@ -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.
|
|
56228
|
+
return "1.11.225";
|
|
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.
|
|
56403
|
+
const packageVersion = "1.11.225";
|
|
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-
|
|
56468
|
+
//# sourceMappingURL=src-H-pxotgE.js.map
|