@doist/automations-mcp 1.7.1 → 1.7.3
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.
|
@@ -7449,7 +7449,7 @@ var AutomationRunDtoSchema = z5.discriminatedUnion("status", [
|
|
|
7449
7449
|
...automationRunDtoBaseShape,
|
|
7450
7450
|
status: z5.literal("skipped"),
|
|
7451
7451
|
skipReason: z5.string().nullish(),
|
|
7452
|
-
skipCategory: z5.enum(SKIP_CATEGORIES).nullish()
|
|
7452
|
+
skipCategory: z5.enum(SKIP_CATEGORIES).nullish().catch(null)
|
|
7453
7453
|
})
|
|
7454
7454
|
]);
|
|
7455
7455
|
var automationRunListResponseSchema = z5.object({
|
|
@@ -7551,7 +7551,7 @@ var AutomationRunDetailDtoSchema = z5.discriminatedUnion("status", [
|
|
|
7551
7551
|
...automationRunDetailDtoBaseShape,
|
|
7552
7552
|
status: z5.literal("skipped"),
|
|
7553
7553
|
skipReason: z5.string().nullish(),
|
|
7554
|
-
skipCategory: z5.enum(SKIP_CATEGORIES).nullish()
|
|
7554
|
+
skipCategory: z5.enum(SKIP_CATEGORIES).nullish().catch(null)
|
|
7555
7555
|
})
|
|
7556
7556
|
]);
|
|
7557
7557
|
function summarizeToolCallArgumentKeys(args) {
|
|
@@ -9382,7 +9382,7 @@ var runStatusSchema = z11.discriminatedUnion("status", [
|
|
|
9382
9382
|
status: z11.literal("skipped"),
|
|
9383
9383
|
lastRun: z11.iso.datetime(),
|
|
9384
9384
|
skipReason: z11.string().optional(),
|
|
9385
|
-
skipCategory: z11.enum(SKIP_CATEGORIES).optional()
|
|
9385
|
+
skipCategory: z11.enum(SKIP_CATEGORIES).optional().catch(void 0)
|
|
9386
9386
|
})
|
|
9387
9387
|
]);
|
|
9388
9388
|
var automationSchema = z11.object({
|
|
@@ -10322,7 +10322,7 @@ var DraftTestRunDetailDtoSchema = z26.discriminatedUnion("status", [
|
|
|
10322
10322
|
...draftTestRunDetailDtoBaseShape,
|
|
10323
10323
|
status: z26.literal("skipped"),
|
|
10324
10324
|
skipReason: z26.string().nullish(),
|
|
10325
|
-
skipCategory: z26.enum(SKIP_CATEGORIES).nullish()
|
|
10325
|
+
skipCategory: z26.enum(SKIP_CATEGORIES).nullish().catch(null)
|
|
10326
10326
|
})
|
|
10327
10327
|
]);
|
|
10328
10328
|
|
|
@@ -13573,6 +13573,12 @@ var toolUpdateMemoryResultSchema = z59.object({
|
|
|
13573
13573
|
});
|
|
13574
13574
|
|
|
13575
13575
|
// ../../packages/sdk/dist/esm/chat-turn/messages.js
|
|
13576
|
+
import { z as z60 } from "zod";
|
|
13577
|
+
var persistedToolPartSchema = z60.object({
|
|
13578
|
+
type: z60.string().trim().min(6).refine((type) => type.startsWith("tool-")),
|
|
13579
|
+
toolCallId: z60.string().trim().min(1),
|
|
13580
|
+
state: z60.enum(["input-streaming", "input-available", "output-available", "output-error"])
|
|
13581
|
+
}).passthrough();
|
|
13576
13582
|
function createUserMessage(text) {
|
|
13577
13583
|
return {
|
|
13578
13584
|
id: globalThis.crypto.randomUUID(),
|
|
@@ -13590,9 +13596,32 @@ function toUiMessage(message) {
|
|
|
13590
13596
|
return {
|
|
13591
13597
|
id: message.messageId,
|
|
13592
13598
|
role: message.role,
|
|
13593
|
-
parts: message.parts
|
|
13599
|
+
parts: normalizePersistedMessageParts(message.parts)
|
|
13594
13600
|
};
|
|
13595
13601
|
}
|
|
13602
|
+
function normalizePersistedMessageParts(parts) {
|
|
13603
|
+
return parts.filter((part) => isTextPart(part) || isStepStartPart(part) || isReasoningPart(part) || persistedToolPartSchema.safeParse(part).success);
|
|
13604
|
+
}
|
|
13605
|
+
function isTextPart(part) {
|
|
13606
|
+
if (typeof part !== "object" || part === null) {
|
|
13607
|
+
return false;
|
|
13608
|
+
}
|
|
13609
|
+
const candidate = part;
|
|
13610
|
+
return candidate.type === "text" && typeof candidate.text === "string";
|
|
13611
|
+
}
|
|
13612
|
+
function isStepStartPart(part) {
|
|
13613
|
+
if (typeof part !== "object" || part === null) {
|
|
13614
|
+
return false;
|
|
13615
|
+
}
|
|
13616
|
+
return part.type === "step-start";
|
|
13617
|
+
}
|
|
13618
|
+
function isReasoningPart(part) {
|
|
13619
|
+
if (typeof part !== "object" || part === null) {
|
|
13620
|
+
return false;
|
|
13621
|
+
}
|
|
13622
|
+
const candidate = part;
|
|
13623
|
+
return candidate.type === "reasoning" && typeof candidate.text === "string" && (candidate.state === void 0 || candidate.state === "streaming" || candidate.state === "done");
|
|
13624
|
+
}
|
|
13596
13625
|
function getVisibleText(message) {
|
|
13597
13626
|
return message.parts.filter((part) => part.type === "text").map((part) => part.text).join("");
|
|
13598
13627
|
}
|
|
@@ -13928,7 +13957,7 @@ import { McpServer } from "@modelcontextprotocol/server";
|
|
|
13928
13957
|
// package.json
|
|
13929
13958
|
var package_default = {
|
|
13930
13959
|
name: "@doist/automations-mcp",
|
|
13931
|
-
version: "1.7.
|
|
13960
|
+
version: "1.7.3",
|
|
13932
13961
|
description: "MCP server and importable AI tools for Todoist Automations",
|
|
13933
13962
|
type: "module",
|
|
13934
13963
|
main: "./dist/index.js",
|
|
@@ -13964,7 +13993,7 @@ var package_default = {
|
|
|
13964
13993
|
build: "node scripts/build.mjs",
|
|
13965
13994
|
dev: "node scripts/build.mjs --watch",
|
|
13966
13995
|
"type-check": "tsc -p tsconfig.test.json --noEmit",
|
|
13967
|
-
test: "vitest run",
|
|
13996
|
+
test: "vitest run && node --test '../../release/*.test.mjs'",
|
|
13968
13997
|
check: "oxfmt src scripts --check && oxlint src scripts",
|
|
13969
13998
|
"check:fix": "oxfmt src scripts && oxlint src scripts --fix",
|
|
13970
13999
|
tool: "tsx scripts/run-tool.ts",
|
|
@@ -13990,7 +14019,6 @@ var package_default = {
|
|
|
13990
14019
|
esbuild: "0.28.2",
|
|
13991
14020
|
"gpt-tokenizer": "4.0.3",
|
|
13992
14021
|
"semantic-release": "25.0.9",
|
|
13993
|
-
"semantic-release-monorepo": "8.0.2",
|
|
13994
14022
|
tsx: "4.23.15",
|
|
13995
14023
|
typescript: "6.0.3",
|
|
13996
14024
|
vitest: "5.0.5"
|
|
@@ -14002,7 +14030,7 @@ var package_default = {
|
|
|
14002
14030
|
};
|
|
14003
14031
|
|
|
14004
14032
|
// src/mcp-helpers.ts
|
|
14005
|
-
import { z as
|
|
14033
|
+
import { z as z61 } from "zod";
|
|
14006
14034
|
|
|
14007
14035
|
// src/tool-error.ts
|
|
14008
14036
|
import { ZodError } from "zod";
|
|
@@ -14105,7 +14133,7 @@ function removeNullFields(value) {
|
|
|
14105
14133
|
// src/mcp-helpers.ts
|
|
14106
14134
|
var TOOL_SCHEMAS = /* @__PURE__ */ new WeakMap();
|
|
14107
14135
|
function withCachedJsonSchema(schema, io) {
|
|
14108
|
-
const jsonSchema =
|
|
14136
|
+
const jsonSchema = z61.toJSONSchema(schema, { target: "draft-2020-12", io });
|
|
14109
14137
|
const standard = schema["~standard"];
|
|
14110
14138
|
return {
|
|
14111
14139
|
"~standard": {
|
|
@@ -14123,8 +14151,8 @@ function getToolSchemas(tool) {
|
|
|
14123
14151
|
return cached;
|
|
14124
14152
|
}
|
|
14125
14153
|
const schemas = {
|
|
14126
|
-
input: withCachedJsonSchema(
|
|
14127
|
-
...tool.outputSchema ? { output: withCachedJsonSchema(
|
|
14154
|
+
input: withCachedJsonSchema(z61.object(tool.parameters), "input"),
|
|
14155
|
+
...tool.outputSchema ? { output: withCachedJsonSchema(z61.object(tool.outputSchema), "output") } : {}
|
|
14128
14156
|
};
|
|
14129
14157
|
TOOL_SCHEMAS.set(tool, schemas);
|
|
14130
14158
|
return schemas;
|
|
@@ -14219,7 +14247,7 @@ function registerTool({
|
|
|
14219
14247
|
}
|
|
14220
14248
|
|
|
14221
14249
|
// src/tools/check-connection.ts
|
|
14222
|
-
import { z as
|
|
14250
|
+
import { z as z63 } from "zod";
|
|
14223
14251
|
|
|
14224
14252
|
// src/utils/connections.ts
|
|
14225
14253
|
function describeSetup(setup) {
|
|
@@ -14262,222 +14290,222 @@ function rethrowConnectorNotFound() {
|
|
|
14262
14290
|
}
|
|
14263
14291
|
|
|
14264
14292
|
// src/utils/output-schemas.ts
|
|
14265
|
-
import { z as
|
|
14266
|
-
var triggerSummarySchema =
|
|
14267
|
-
type:
|
|
14268
|
-
schedule:
|
|
14269
|
-
interval:
|
|
14270
|
-
cron:
|
|
14271
|
-
timezone:
|
|
14293
|
+
import { z as z62 } from "zod";
|
|
14294
|
+
var triggerSummarySchema = z62.object({
|
|
14295
|
+
type: z62.enum(TRIGGER_TYPES),
|
|
14296
|
+
schedule: z62.object({
|
|
14297
|
+
interval: z62.string().optional().describe('e.g. "45m". Present for interval schedules.'),
|
|
14298
|
+
cron: z62.string().optional().describe("Five-part expression. Present for cron schedules."),
|
|
14299
|
+
timezone: z62.string().optional().describe("IANA zone. Present for cron schedules.")
|
|
14272
14300
|
}).optional(),
|
|
14273
|
-
event:
|
|
14274
|
-
});
|
|
14275
|
-
var automationConnectionSummarySchema =
|
|
14276
|
-
id:
|
|
14277
|
-
name:
|
|
14278
|
-
connectorId:
|
|
14279
|
-
status:
|
|
14280
|
-
});
|
|
14281
|
-
var automationSummarySchema =
|
|
14282
|
-
id:
|
|
14283
|
-
name:
|
|
14284
|
-
description:
|
|
14285
|
-
enabled:
|
|
14286
|
-
status:
|
|
14287
|
-
lastRun:
|
|
14288
|
-
failureReason:
|
|
14289
|
-
skipReason:
|
|
14290
|
-
connectionStatus:
|
|
14291
|
-
visibility:
|
|
14292
|
-
isOwner:
|
|
14293
|
-
workspaceId:
|
|
14294
|
-
createdBy:
|
|
14301
|
+
event: z62.string().optional().describe("The connector event a webhook trigger listens for.")
|
|
14302
|
+
});
|
|
14303
|
+
var automationConnectionSummarySchema = z62.object({
|
|
14304
|
+
id: z62.string(),
|
|
14305
|
+
name: z62.string(),
|
|
14306
|
+
connectorId: z62.string(),
|
|
14307
|
+
status: z62.enum(CONNECTION_STATUSES).optional()
|
|
14308
|
+
});
|
|
14309
|
+
var automationSummarySchema = z62.object({
|
|
14310
|
+
id: z62.string(),
|
|
14311
|
+
name: z62.string(),
|
|
14312
|
+
description: z62.string().optional(),
|
|
14313
|
+
enabled: z62.boolean(),
|
|
14314
|
+
status: z62.enum(AUTOMATION_RUN_STATUSES).describe("Outcome of the most recent run."),
|
|
14315
|
+
lastRun: z62.string().optional().describe("ISO 8601."),
|
|
14316
|
+
failureReason: z62.string().optional().describe("Present when status is failed."),
|
|
14317
|
+
skipReason: z62.string().optional().describe("Present when status is skipped."),
|
|
14318
|
+
connectionStatus: z62.enum(AUTOMATION_CONNECTION_STATUSES),
|
|
14319
|
+
visibility: z62.enum(AUTOMATION_VISIBILITIES),
|
|
14320
|
+
isOwner: z62.boolean(),
|
|
14321
|
+
workspaceId: z62.string().optional().describe("Absent for personal automations."),
|
|
14322
|
+
createdBy: z62.string().optional().describe(
|
|
14295
14323
|
"The Todoist user id of whoever created the automation. It never changes, including when the automation is moved."
|
|
14296
14324
|
),
|
|
14297
|
-
updatedBy:
|
|
14325
|
+
updatedBy: z62.string().optional().describe(
|
|
14298
14326
|
"The Todoist user id of whoever last changed the automation, which in a workspace can be an admin rather than the creator. Absent until someone has changed it."
|
|
14299
14327
|
),
|
|
14300
|
-
disabledReason:
|
|
14328
|
+
disabledReason: z62.enum(AUTOMATION_DISABLED_REASONS).optional().describe(
|
|
14301
14329
|
"Present when the system, not the user, disabled it; it cannot be enabled until fixed."
|
|
14302
14330
|
),
|
|
14303
|
-
triggers:
|
|
14304
|
-
connections:
|
|
14305
|
-
updatedAt:
|
|
14306
|
-
});
|
|
14307
|
-
var draftSummarySchema =
|
|
14308
|
-
id:
|
|
14309
|
-
name:
|
|
14310
|
-
description:
|
|
14311
|
-
isComplete:
|
|
14312
|
-
automationId:
|
|
14331
|
+
triggers: z62.array(triggerSummarySchema),
|
|
14332
|
+
connections: z62.array(automationConnectionSummarySchema),
|
|
14333
|
+
updatedAt: z62.string().describe("ISO 8601.")
|
|
14334
|
+
});
|
|
14335
|
+
var draftSummarySchema = z62.object({
|
|
14336
|
+
id: z62.string(),
|
|
14337
|
+
name: z62.string().optional().describe("Absent until the draft has been given a name."),
|
|
14338
|
+
description: z62.string().optional(),
|
|
14339
|
+
isComplete: z62.boolean().describe("Whether the draft has everything it needs to be published."),
|
|
14340
|
+
automationId: z62.string().optional().describe(
|
|
14313
14341
|
"The published automation this draft is linked to: the one it edits, or the one it became. Absent for a draft that has not been published."
|
|
14314
14342
|
),
|
|
14315
|
-
conversationId:
|
|
14316
|
-
workspaceId:
|
|
14317
|
-
createdAt:
|
|
14318
|
-
updatedAt:
|
|
14343
|
+
conversationId: z62.string().optional().describe("The chat conversation authoring this draft, when there is one."),
|
|
14344
|
+
workspaceId: z62.string().optional().describe("Absent for personal drafts."),
|
|
14345
|
+
createdAt: z62.string().describe("ISO 8601."),
|
|
14346
|
+
updatedAt: z62.string().describe("ISO 8601.")
|
|
14319
14347
|
});
|
|
14320
14348
|
var draftDetailSchema = draftSummarySchema.extend({
|
|
14321
|
-
partialManifest:
|
|
14349
|
+
partialManifest: z62.record(z62.string(), z62.unknown()).optional().describe(
|
|
14322
14350
|
"The manifest as authored so far; may be missing parts. Absent when nothing has been authored yet."
|
|
14323
14351
|
),
|
|
14324
|
-
connectors:
|
|
14352
|
+
connectors: z62.array(z62.object({ connectorId: z62.string(), name: z62.string() })).optional().describe("The services the manifest uses.")
|
|
14325
14353
|
});
|
|
14326
|
-
var draftValidationSchema =
|
|
14327
|
-
state:
|
|
14328
|
-
issues:
|
|
14329
|
-
modified:
|
|
14354
|
+
var draftValidationSchema = z62.object({
|
|
14355
|
+
state: z62.enum(["incomplete", "ready"]).describe('"ready" means the draft can be published as it stands.'),
|
|
14356
|
+
issues: z62.array(z62.string()).describe("What stops it being published. Empty when ready."),
|
|
14357
|
+
modified: z62.boolean().describe(
|
|
14330
14358
|
"Whether publishing would change anything: false when the draft matches the automation it edits."
|
|
14331
14359
|
)
|
|
14332
14360
|
});
|
|
14333
|
-
var manifestDiffSchema =
|
|
14334
|
-
changedProperties:
|
|
14335
|
-
steps:
|
|
14336
|
-
added:
|
|
14337
|
-
removed:
|
|
14338
|
-
changed:
|
|
14339
|
-
|
|
14340
|
-
id:
|
|
14341
|
-
fields:
|
|
14361
|
+
var manifestDiffSchema = z62.object({
|
|
14362
|
+
changedProperties: z62.array(z62.string()).describe("Top-level manifest fields that differ, other than steps."),
|
|
14363
|
+
steps: z62.object({
|
|
14364
|
+
added: z62.array(z62.string()),
|
|
14365
|
+
removed: z62.array(z62.string()),
|
|
14366
|
+
changed: z62.array(
|
|
14367
|
+
z62.object({
|
|
14368
|
+
id: z62.string(),
|
|
14369
|
+
fields: z62.array(z62.string()).describe("Paths inside the step that differ, such as input.channel.")
|
|
14342
14370
|
})
|
|
14343
14371
|
),
|
|
14344
|
-
reordered:
|
|
14372
|
+
reordered: z62.boolean().describe("Shared steps run in a different order.")
|
|
14345
14373
|
}).describe("Steps by id."),
|
|
14346
|
-
isEmpty:
|
|
14347
|
-
});
|
|
14348
|
-
var runSummarySchema =
|
|
14349
|
-
id:
|
|
14350
|
-
automationId:
|
|
14351
|
-
status:
|
|
14352
|
-
createdAt:
|
|
14353
|
-
updatedAt:
|
|
14354
|
-
triggeredBy:
|
|
14374
|
+
isEmpty: z62.boolean()
|
|
14375
|
+
});
|
|
14376
|
+
var runSummarySchema = z62.object({
|
|
14377
|
+
id: z62.string(),
|
|
14378
|
+
automationId: z62.string(),
|
|
14379
|
+
status: z62.enum(AUTOMATION_RUN_STATUSES),
|
|
14380
|
+
createdAt: z62.string().describe("ISO 8601. When the run started."),
|
|
14381
|
+
updatedAt: z62.string().describe("ISO 8601."),
|
|
14382
|
+
triggeredBy: z62.string().optional().describe(
|
|
14355
14383
|
"The Todoist user id of whoever started the run by hand. Absent for scheduled and event runs."
|
|
14356
14384
|
),
|
|
14357
|
-
failureCategory:
|
|
14358
|
-
failureReason:
|
|
14359
|
-
});
|
|
14360
|
-
var runToolCallSchema =
|
|
14361
|
-
id:
|
|
14362
|
-
name:
|
|
14363
|
-
argumentKeys:
|
|
14364
|
-
hasResult:
|
|
14365
|
-
hasError:
|
|
14366
|
-
resultPreview:
|
|
14367
|
-
errorPreview:
|
|
14368
|
-
timestamp:
|
|
14369
|
-
outcome:
|
|
14370
|
-
errorCategory:
|
|
14371
|
-
});
|
|
14372
|
-
var runStepSchema =
|
|
14373
|
-
stepId:
|
|
14374
|
-
type:
|
|
14375
|
-
description:
|
|
14376
|
-
status:
|
|
14377
|
-
startedAt:
|
|
14378
|
-
completedAt:
|
|
14379
|
-
error:
|
|
14380
|
-
toolCalls:
|
|
14381
|
-
result:
|
|
14382
|
-
generatedCode:
|
|
14383
|
-
debugReason:
|
|
14385
|
+
failureCategory: z62.enum([...FAILURE_CATEGORIES, ...SKIP_CATEGORIES]).optional().describe("Why it failed or was skipped, as a category. Present when known."),
|
|
14386
|
+
failureReason: z62.string().optional().describe("Why it failed or was skipped, in prose. Present when known.")
|
|
14387
|
+
});
|
|
14388
|
+
var runToolCallSchema = z62.object({
|
|
14389
|
+
id: z62.string(),
|
|
14390
|
+
name: z62.string().describe("The connector tool that was called."),
|
|
14391
|
+
argumentKeys: z62.array(z62.string()).describe("The names of the arguments passed, not their values."),
|
|
14392
|
+
hasResult: z62.boolean(),
|
|
14393
|
+
hasError: z62.boolean(),
|
|
14394
|
+
resultPreview: z62.string().optional().describe("The start of the result, when there is one."),
|
|
14395
|
+
errorPreview: z62.string().optional().describe("The start of the error, when there is one."),
|
|
14396
|
+
timestamp: z62.string().describe("ISO 8601."),
|
|
14397
|
+
outcome: z62.enum(TOOL_CALL_OUTCOMES).optional().describe("Only with `full`."),
|
|
14398
|
+
errorCategory: z62.enum(TOOL_CALL_ERROR_CATEGORIES).optional().describe("Only with `full`.")
|
|
14399
|
+
});
|
|
14400
|
+
var runStepSchema = z62.object({
|
|
14401
|
+
stepId: z62.string(),
|
|
14402
|
+
type: z62.string(),
|
|
14403
|
+
description: z62.string(),
|
|
14404
|
+
status: z62.enum(AUTOMATION_RUN_STATUSES),
|
|
14405
|
+
startedAt: z62.string().optional().describe("ISO 8601."),
|
|
14406
|
+
completedAt: z62.string().optional().describe("ISO 8601."),
|
|
14407
|
+
error: z62.string().optional().describe("Present when the step failed."),
|
|
14408
|
+
toolCalls: z62.array(runToolCallSchema).optional(),
|
|
14409
|
+
result: z62.unknown().optional().describe("The raw step output. Only with `full`."),
|
|
14410
|
+
generatedCode: z62.string().optional().describe("The code a code step ran. Only with `full`."),
|
|
14411
|
+
debugReason: z62.enum(AUTOMATION_RUN_DEBUG_REASONS).optional().describe("Why the step ended without doing its work. Only with `full`.")
|
|
14384
14412
|
});
|
|
14385
14413
|
var runDetailSchema = runSummarySchema.extend({
|
|
14386
|
-
status:
|
|
14387
|
-
result:
|
|
14388
|
-
steps:
|
|
14414
|
+
status: z62.enum([...AUTOMATION_RUN_STATUSES, "data-expired"]).describe("`data-expired` means the run happened but its details have been purged."),
|
|
14415
|
+
result: z62.object({ type: z62.literal("markdown"), text: z62.string() }).optional().describe("What the automation produced. Present once a run has a result."),
|
|
14416
|
+
steps: z62.array(runStepSchema)
|
|
14389
14417
|
});
|
|
14390
14418
|
var draftTestRunSchema = runDetailSchema.omit({ automationId: true, triggeredBy: true }).extend({
|
|
14391
|
-
draftId:
|
|
14392
|
-
automationId:
|
|
14393
|
-
connectorCalls:
|
|
14419
|
+
draftId: z62.string(),
|
|
14420
|
+
automationId: z62.string().optional().describe("The automation an edit draft updates. Absent for a new automation."),
|
|
14421
|
+
connectorCalls: z62.literal("mocked").describe(
|
|
14394
14422
|
"Every connector call was simulated by a model; nothing reached the user's services."
|
|
14395
14423
|
),
|
|
14396
|
-
failedStep:
|
|
14397
|
-
});
|
|
14398
|
-
var connectorCapabilitySchema =
|
|
14399
|
-
var connectorSummarySchema =
|
|
14400
|
-
id:
|
|
14401
|
-
name:
|
|
14402
|
-
description:
|
|
14403
|
-
capabilities:
|
|
14404
|
-
requiresConnection:
|
|
14405
|
-
isSystem:
|
|
14406
|
-
isManaged:
|
|
14407
|
-
});
|
|
14408
|
-
var connectorConnectionSummarySchema =
|
|
14409
|
-
id:
|
|
14410
|
-
status:
|
|
14411
|
-
capabilities:
|
|
14412
|
-
createdAt:
|
|
14424
|
+
failedStep: z62.object({ stepId: z62.string(), description: z62.string(), error: z62.string().optional() }).optional().describe("The first step that failed and its error. Prefer it to failureReason.")
|
|
14425
|
+
});
|
|
14426
|
+
var connectorCapabilitySchema = z62.enum(CONNECTOR_CAPABILITIES);
|
|
14427
|
+
var connectorSummarySchema = z62.object({
|
|
14428
|
+
id: z62.string().describe('A stable slug such as "github".'),
|
|
14429
|
+
name: z62.string(),
|
|
14430
|
+
description: z62.string(),
|
|
14431
|
+
capabilities: z62.array(connectorCapabilitySchema).describe('"mcp": automations can call it; "trigger": its events can start automations.'),
|
|
14432
|
+
requiresConnection: z62.boolean().describe("Whether the user must link an account before automations can use it."),
|
|
14433
|
+
isSystem: z62.boolean().optional().describe("Present when the connector is a built-in Todoist service."),
|
|
14434
|
+
isManaged: z62.boolean().optional().describe("Present when one linked identity covers every capability, as with WhatsApp.")
|
|
14435
|
+
});
|
|
14436
|
+
var connectorConnectionSummarySchema = z62.object({
|
|
14437
|
+
id: z62.string(),
|
|
14438
|
+
status: z62.enum(CONNECTION_STATUSES).optional(),
|
|
14439
|
+
capabilities: z62.array(connectorCapabilitySchema).describe("What this connection is authorised for."),
|
|
14440
|
+
createdAt: z62.string().optional().describe("ISO 8601.")
|
|
14413
14441
|
});
|
|
14414
14442
|
var connectionSummarySchema = connectorConnectionSummarySchema.extend({
|
|
14415
|
-
name:
|
|
14416
|
-
accountDisplayLabel:
|
|
14443
|
+
name: z62.string(),
|
|
14444
|
+
accountDisplayLabel: z62.string().optional().describe("The account on the service, as the user would recognise it.")
|
|
14417
14445
|
});
|
|
14418
14446
|
var connectionDetailSchema = connectionSummarySchema.extend({
|
|
14419
|
-
connectorId:
|
|
14447
|
+
connectorId: z62.string().describe('The connector slug, such as "github".')
|
|
14420
14448
|
});
|
|
14421
|
-
var connectionSetupSchema =
|
|
14422
|
-
|
|
14423
|
-
kind:
|
|
14424
|
-
authorizationUrl:
|
|
14449
|
+
var connectionSetupSchema = z62.discriminatedUnion("kind", [
|
|
14450
|
+
z62.object({
|
|
14451
|
+
kind: z62.literal("oauth").describe("The user opens the link and signs in."),
|
|
14452
|
+
authorizationUrl: z62.string()
|
|
14425
14453
|
}),
|
|
14426
|
-
|
|
14427
|
-
kind:
|
|
14428
|
-
instructions:
|
|
14429
|
-
code:
|
|
14430
|
-
deepLinkUrl:
|
|
14431
|
-
expiresAt:
|
|
14454
|
+
z62.object({
|
|
14455
|
+
kind: z62.literal("managed").describe("The user follows the instructions with the code."),
|
|
14456
|
+
instructions: z62.string(),
|
|
14457
|
+
code: z62.string(),
|
|
14458
|
+
deepLinkUrl: z62.string().optional().describe("Opens the service with the code filled in, when it has one."),
|
|
14459
|
+
expiresAt: z62.string().describe("ISO 8601. The code stops working after it.")
|
|
14432
14460
|
})
|
|
14433
14461
|
]);
|
|
14434
|
-
var blockingAutomationSchema =
|
|
14435
|
-
id:
|
|
14436
|
-
name:
|
|
14462
|
+
var blockingAutomationSchema = z62.object({
|
|
14463
|
+
id: z62.string(),
|
|
14464
|
+
name: z62.string()
|
|
14437
14465
|
});
|
|
14438
14466
|
var affectedAutomationSchema = blockingAutomationSchema.extend({
|
|
14439
|
-
enabled:
|
|
14467
|
+
enabled: z62.boolean()
|
|
14440
14468
|
});
|
|
14441
|
-
var triggerEventSchema =
|
|
14442
|
-
id:
|
|
14443
|
-
name:
|
|
14444
|
-
description:
|
|
14469
|
+
var triggerEventSchema = z62.object({
|
|
14470
|
+
id: z62.string(),
|
|
14471
|
+
name: z62.string(),
|
|
14472
|
+
description: z62.string()
|
|
14445
14473
|
});
|
|
14446
14474
|
var connectorDetailSchema = connectorSummarySchema.extend({
|
|
14447
|
-
triggerEvents:
|
|
14448
|
-
});
|
|
14449
|
-
var dependentAutomationSchema =
|
|
14450
|
-
id:
|
|
14451
|
-
name:
|
|
14452
|
-
description:
|
|
14453
|
-
enabled:
|
|
14454
|
-
connectorStatus:
|
|
14455
|
-
requiredConnectionTypes:
|
|
14456
|
-
});
|
|
14457
|
-
var conversationSummarySchema =
|
|
14458
|
-
id:
|
|
14459
|
-
title:
|
|
14460
|
-
status:
|
|
14461
|
-
archivedAt:
|
|
14462
|
-
workspaceId:
|
|
14463
|
-
createdAt:
|
|
14464
|
-
updatedAt:
|
|
14465
|
-
});
|
|
14466
|
-
var conversationMessageSchema =
|
|
14467
|
-
id:
|
|
14468
|
-
role:
|
|
14469
|
-
text:
|
|
14470
|
-
partTypes:
|
|
14475
|
+
triggerEvents: z62.array(triggerEventSchema).optional().describe("The events that can start an automation. Present for trigger connectors.")
|
|
14476
|
+
});
|
|
14477
|
+
var dependentAutomationSchema = z62.object({
|
|
14478
|
+
id: z62.string(),
|
|
14479
|
+
name: z62.string(),
|
|
14480
|
+
description: z62.string().optional(),
|
|
14481
|
+
enabled: z62.boolean(),
|
|
14482
|
+
connectorStatus: z62.enum(["ready", "attention", "missing"]).describe("Whether the automation has a working connection for this connector."),
|
|
14483
|
+
requiredConnectionTypes: z62.array(z62.enum(CONNECTION_TYPES))
|
|
14484
|
+
});
|
|
14485
|
+
var conversationSummarySchema = z62.object({
|
|
14486
|
+
id: z62.string(),
|
|
14487
|
+
title: z62.string().optional().describe("Absent until the agent has named the conversation."),
|
|
14488
|
+
status: z62.enum(["active", "archived"]).describe("Publishing an automation archives its conversation."),
|
|
14489
|
+
archivedAt: z62.string().optional().describe("ISO 8601. Present when archived."),
|
|
14490
|
+
workspaceId: z62.string().optional().describe("The workspace the conversation was started in. Absent for personal ones."),
|
|
14491
|
+
createdAt: z62.string().describe("ISO 8601."),
|
|
14492
|
+
updatedAt: z62.string().describe("ISO 8601.")
|
|
14493
|
+
});
|
|
14494
|
+
var conversationMessageSchema = z62.object({
|
|
14495
|
+
id: z62.string(),
|
|
14496
|
+
role: z62.string().describe('"user", "assistant" or "system".'),
|
|
14497
|
+
text: z62.string().optional().describe("The visible text. Absent when the message had none."),
|
|
14498
|
+
partTypes: z62.array(z62.string()).optional().describe(
|
|
14471
14499
|
'The kinds of content the message held, such as "tool-select-connections". Present only when there is no visible text.'
|
|
14472
14500
|
)
|
|
14473
14501
|
});
|
|
14474
|
-
var pendingActionSchema =
|
|
14475
|
-
kind:
|
|
14502
|
+
var pendingActionSchema = z62.object({
|
|
14503
|
+
kind: z62.enum(["select_connections", "enable_push"]).describe(
|
|
14476
14504
|
'"select_connections": the agent needs an account chosen for each service listed. "enable_push": the user must enable push notifications in a Todoist app.'
|
|
14477
14505
|
),
|
|
14478
|
-
toolCallId:
|
|
14479
|
-
draftId:
|
|
14480
|
-
connections:
|
|
14506
|
+
toolCallId: z62.string(),
|
|
14507
|
+
draftId: z62.string().optional().describe("The draft the action concerns."),
|
|
14508
|
+
connections: z62.array(ConnectionItemSchema).optional().describe("The services needing an account. Present for select_connections.")
|
|
14481
14509
|
});
|
|
14482
14510
|
var TURN_OUTCOMES = [
|
|
14483
14511
|
"awaiting_input",
|
|
@@ -14485,12 +14513,12 @@ var TURN_OUTCOMES = [
|
|
|
14485
14513
|
"published"
|
|
14486
14514
|
];
|
|
14487
14515
|
var turnRequirementSchema = ConnectionItemSchema.extend({
|
|
14488
|
-
availableConnections:
|
|
14516
|
+
availableConnections: z62.array(z62.object({ id: z62.string(), label: z62.string() })).describe(
|
|
14489
14517
|
"Authorised connections that could satisfy it. Several: pick one with the user. None: a connection was created, see setup."
|
|
14490
14518
|
),
|
|
14491
|
-
setup:
|
|
14492
|
-
connectionId:
|
|
14493
|
-
resumed:
|
|
14519
|
+
setup: z62.object({
|
|
14520
|
+
connectionId: z62.string(),
|
|
14521
|
+
resumed: z62.boolean().describe(
|
|
14494
14522
|
"True when an existing pending connection was picked up rather than created."
|
|
14495
14523
|
),
|
|
14496
14524
|
setup: connectionSetupSchema.optional().describe(
|
|
@@ -14498,30 +14526,30 @@ var turnRequirementSchema = ConnectionItemSchema.extend({
|
|
|
14498
14526
|
)
|
|
14499
14527
|
}).optional().describe("Present when a connection was created for the user to authorise.")
|
|
14500
14528
|
});
|
|
14501
|
-
var turnPendingActionSchema =
|
|
14502
|
-
|
|
14503
|
-
kind:
|
|
14504
|
-
toolCallId:
|
|
14505
|
-
draftId:
|
|
14506
|
-
requirements:
|
|
14529
|
+
var turnPendingActionSchema = z62.discriminatedUnion("kind", [
|
|
14530
|
+
z62.object({
|
|
14531
|
+
kind: z62.literal("select_connections").describe("The agent needs an account chosen or authorised for each requirement."),
|
|
14532
|
+
toolCallId: z62.string(),
|
|
14533
|
+
draftId: z62.string(),
|
|
14534
|
+
requirements: z62.array(turnRequirementSchema)
|
|
14507
14535
|
}),
|
|
14508
|
-
|
|
14509
|
-
kind:
|
|
14536
|
+
z62.object({
|
|
14537
|
+
kind: z62.literal("enable_push").describe(
|
|
14510
14538
|
"The user must enable push notifications in a Todoist app, then the caller continues."
|
|
14511
14539
|
),
|
|
14512
|
-
toolCallId:
|
|
14513
|
-
draftId:
|
|
14540
|
+
toolCallId: z62.string(),
|
|
14541
|
+
draftId: z62.string().optional()
|
|
14514
14542
|
})
|
|
14515
14543
|
]);
|
|
14516
14544
|
var turnResultSchema = {
|
|
14517
|
-
conversationId:
|
|
14518
|
-
outcome:
|
|
14545
|
+
conversationId: z62.string(),
|
|
14546
|
+
outcome: z62.enum(TURN_OUTCOMES).describe(
|
|
14519
14547
|
'"awaiting_input": the assistant replied and waits for a message. "action_required": see pendingAction. "published": an automation now exists.'
|
|
14520
14548
|
),
|
|
14521
|
-
assistantText:
|
|
14522
|
-
automationId:
|
|
14523
|
-
conversationArchived:
|
|
14524
|
-
conversationArchiveError:
|
|
14549
|
+
assistantText: z62.string().describe("What the assistant said this turn."),
|
|
14550
|
+
automationId: z62.string().optional().describe("Present when published."),
|
|
14551
|
+
conversationArchived: z62.boolean().optional().describe("Present when published: whether the conversation was archived afterwards."),
|
|
14552
|
+
conversationArchiveError: z62.string().optional().describe("Why archiving failed. The automation was still published."),
|
|
14525
14553
|
pendingAction: turnPendingActionSchema.optional().describe("Present when action_required.")
|
|
14526
14554
|
};
|
|
14527
14555
|
function summarizeRunOutcome(dto) {
|
|
@@ -14837,7 +14865,7 @@ var ToolNames = {
|
|
|
14837
14865
|
|
|
14838
14866
|
// src/tools/check-connection.ts
|
|
14839
14867
|
var parameters = {
|
|
14840
|
-
connectionId:
|
|
14868
|
+
connectionId: z63.string().describe(
|
|
14841
14869
|
"The id returned by connect-service or repair-connection, or listed by get-connector."
|
|
14842
14870
|
)
|
|
14843
14871
|
};
|
|
@@ -14876,14 +14904,14 @@ function describeStatus(connection, setup) {
|
|
|
14876
14904
|
}
|
|
14877
14905
|
|
|
14878
14906
|
// src/tools/connect-draft.ts
|
|
14879
|
-
import { z as
|
|
14907
|
+
import { z as z65 } from "zod";
|
|
14880
14908
|
|
|
14881
14909
|
// src/utils/workspace-scope.ts
|
|
14882
|
-
import { z as
|
|
14883
|
-
var workspaceIdParameter =
|
|
14910
|
+
import { z as z64 } from "zod";
|
|
14911
|
+
var workspaceIdParameter = z64.string().optional().describe(
|
|
14884
14912
|
"Act on this Todoist workspace. Omit for the personal space. The two are separate: a workspace automation is not found in the personal space, and vice versa."
|
|
14885
14913
|
);
|
|
14886
|
-
var requiredWorkspaceIdParameter =
|
|
14914
|
+
var requiredWorkspaceIdParameter = z64.string().describe("The Todoist workspace, as returned by list-workspaces.");
|
|
14887
14915
|
function describeVisibility(visibility) {
|
|
14888
14916
|
return visibility === "workspace" ? "visible to the workspace" : "private to its creator";
|
|
14889
14917
|
}
|
|
@@ -14893,36 +14921,36 @@ function describeScope(workspaceId) {
|
|
|
14893
14921
|
|
|
14894
14922
|
// src/tools/connect-draft.ts
|
|
14895
14923
|
var parameters2 = {
|
|
14896
|
-
draftId:
|
|
14897
|
-
connections:
|
|
14898
|
-
|
|
14899
|
-
connectorId:
|
|
14924
|
+
draftId: z65.string().describe("The draft to connect, as listed by find-drafts or get-draft."),
|
|
14925
|
+
connections: z65.array(
|
|
14926
|
+
z65.object({
|
|
14927
|
+
connectorId: z65.string().describe("A connector the draft uses, such as slack."),
|
|
14900
14928
|
connectionType: connectorCapabilitySchema.optional().describe("Omit to bind every type the draft needs from that connector."),
|
|
14901
|
-
connectionId:
|
|
14929
|
+
connectionId: z65.string().describe(
|
|
14902
14930
|
"One of the user's authorised connections, from get-connector or check-connection."
|
|
14903
14931
|
)
|
|
14904
14932
|
})
|
|
14905
14933
|
).optional().describe("Bind these accounts. Replaces any binding the slot already has."),
|
|
14906
|
-
auto:
|
|
14934
|
+
auto: z65.boolean().optional().describe(
|
|
14907
14935
|
"Fill each required slot with nothing bound when the user has exactly one authorised connection for it. Never replaces a binding that is expired or unauthorised."
|
|
14908
14936
|
),
|
|
14909
14937
|
workspaceId: workspaceIdParameter
|
|
14910
14938
|
};
|
|
14911
|
-
var slot = { connectorId:
|
|
14939
|
+
var slot = { connectorId: z65.string(), connectionType: z65.enum(CONNECTION_TYPES) };
|
|
14912
14940
|
var outputSchema2 = {
|
|
14913
|
-
bound:
|
|
14914
|
-
|
|
14941
|
+
bound: z65.array(
|
|
14942
|
+
z65.object({ ...slot, connectionId: z65.string(), mode: z65.enum(["explicit", "auto"]) })
|
|
14915
14943
|
),
|
|
14916
|
-
unresolved:
|
|
14917
|
-
|
|
14944
|
+
unresolved: z65.array(
|
|
14945
|
+
z65.object({
|
|
14918
14946
|
...slot,
|
|
14919
|
-
reason:
|
|
14920
|
-
candidateConnectionIds:
|
|
14947
|
+
reason: z65.enum(["no_connection", "multiple_connections"]),
|
|
14948
|
+
candidateConnectionIds: z65.array(z65.string())
|
|
14921
14949
|
})
|
|
14922
14950
|
).describe(
|
|
14923
14951
|
"Slots auto could not fill. no_connection: the user must connect-service first. multiple_connections: ask the user which account, then pass it in connections."
|
|
14924
14952
|
),
|
|
14925
|
-
isValid:
|
|
14953
|
+
isValid: z65.boolean().describe("Whether every connection the draft needs is bound and usable."),
|
|
14926
14954
|
missing: AutomationDraftConnectionValidationSchema.shape.missing.describe(
|
|
14927
14955
|
"What is still not connected, and why."
|
|
14928
14956
|
)
|
|
@@ -14977,19 +15005,19 @@ function describeUnresolved(slot2) {
|
|
|
14977
15005
|
}
|
|
14978
15006
|
|
|
14979
15007
|
// src/tools/connect-service.ts
|
|
14980
|
-
import { z as
|
|
15008
|
+
import { z as z66 } from "zod";
|
|
14981
15009
|
var parameters3 = {
|
|
14982
|
-
connectorId:
|
|
15010
|
+
connectorId: z66.string().describe('The connector slug, such as "github", as listed by find-connectors.'),
|
|
14983
15011
|
capability: connectorCapabilitySchema.describe(
|
|
14984
15012
|
'"mcp" lets automations call the service; "trigger" lets its events start automations. get-connector shows which the connector offers.'
|
|
14985
15013
|
)
|
|
14986
15014
|
};
|
|
14987
15015
|
var outputSchema3 = {
|
|
14988
|
-
connectionId:
|
|
14989
|
-
connectorId:
|
|
14990
|
-
serviceName:
|
|
15016
|
+
connectionId: z66.string(),
|
|
15017
|
+
connectorId: z66.string(),
|
|
15018
|
+
serviceName: z66.string(),
|
|
14991
15019
|
capability: connectorCapabilitySchema,
|
|
14992
|
-
status:
|
|
15020
|
+
status: z66.enum(["pending", "authorized"]).describe(
|
|
14993
15021
|
'"pending" until the user completes the setup; "authorized" when nothing was needed.'
|
|
14994
15022
|
),
|
|
14995
15023
|
setup: connectionSetupSchema.optional().describe("What the user must complete. Absent when authorized.")
|
|
@@ -15039,7 +15067,7 @@ var connectService = {
|
|
|
15039
15067
|
};
|
|
15040
15068
|
|
|
15041
15069
|
// src/tools/continue-conversation.ts
|
|
15042
|
-
import { z as
|
|
15070
|
+
import { z as z67 } from "zod";
|
|
15043
15071
|
|
|
15044
15072
|
// src/utils/progress.ts
|
|
15045
15073
|
var PROGRESS_INTERVAL_MS = 1e4;
|
|
@@ -15160,17 +15188,17 @@ function describeNextStep(result) {
|
|
|
15160
15188
|
}
|
|
15161
15189
|
|
|
15162
15190
|
// src/tools/continue-conversation.ts
|
|
15163
|
-
var connectionSelectionSchema =
|
|
15164
|
-
connectorId:
|
|
15191
|
+
var connectionSelectionSchema = z67.object({
|
|
15192
|
+
connectorId: z67.string().describe("The connector the choice is for, as named in the requirement."),
|
|
15165
15193
|
connectionType: connectorCapabilitySchema.optional().describe("Needed only when the same connector is required for both types."),
|
|
15166
|
-
connectionId:
|
|
15194
|
+
connectionId: z67.string().describe(
|
|
15167
15195
|
"An id from availableConnections, or one check-connection reports as authorized."
|
|
15168
15196
|
)
|
|
15169
15197
|
});
|
|
15170
15198
|
var parameters4 = {
|
|
15171
|
-
conversationId:
|
|
15172
|
-
message:
|
|
15173
|
-
connections:
|
|
15199
|
+
conversationId: z67.string().describe("From start-conversation or find-conversations."),
|
|
15200
|
+
message: z67.string().min(1).optional().describe("The user's reply. Not allowed while the agent is waiting for connections."),
|
|
15201
|
+
connections: z67.array(connectionSelectionSchema).optional().describe(
|
|
15174
15202
|
"Answers a select_connections action: one entry per requirement the user chose an account for. Omit both this and message to let the agent re-check for connections the user has since authorised."
|
|
15175
15203
|
)
|
|
15176
15204
|
};
|
|
@@ -15201,12 +15229,12 @@ var continueConversation = {
|
|
|
15201
15229
|
};
|
|
15202
15230
|
|
|
15203
15231
|
// src/tools/create-draft.ts
|
|
15204
|
-
import { z as
|
|
15232
|
+
import { z as z68 } from "zod";
|
|
15205
15233
|
var parameters5 = {
|
|
15206
|
-
manifest:
|
|
15234
|
+
manifest: z68.record(z68.string(), z68.unknown()).describe(
|
|
15207
15235
|
"The automation manifest as JSON: manifestVersion, name, description, triggers, steps and the rest. get-automation shows the shape. May be partial; it is stored as written."
|
|
15208
15236
|
),
|
|
15209
|
-
automationId:
|
|
15237
|
+
automationId: z68.string().optional().describe(
|
|
15210
15238
|
"Edit this published automation instead of creating a new one: publishing the draft then updates it in place. An automation has at most one open draft."
|
|
15211
15239
|
),
|
|
15212
15240
|
workspaceId: workspaceIdParameter
|
|
@@ -15237,14 +15265,14 @@ var createDraft2 = {
|
|
|
15237
15265
|
};
|
|
15238
15266
|
|
|
15239
15267
|
// src/tools/delete-automation.ts
|
|
15240
|
-
import { z as
|
|
15268
|
+
import { z as z69 } from "zod";
|
|
15241
15269
|
var parameters6 = {
|
|
15242
|
-
automationId:
|
|
15270
|
+
automationId: z69.string().describe("The automation to delete, as listed by find-automations or get-automation."),
|
|
15243
15271
|
workspaceId: workspaceIdParameter
|
|
15244
15272
|
};
|
|
15245
15273
|
var outputSchema5 = {
|
|
15246
|
-
automationId:
|
|
15247
|
-
deleted:
|
|
15274
|
+
automationId: z69.string(),
|
|
15275
|
+
deleted: z69.boolean()
|
|
15248
15276
|
};
|
|
15249
15277
|
var deleteAutomation = {
|
|
15250
15278
|
name: ToolNames.DELETE_AUTOMATION,
|
|
@@ -15267,14 +15295,14 @@ var deleteAutomation = {
|
|
|
15267
15295
|
};
|
|
15268
15296
|
|
|
15269
15297
|
// src/tools/delete-draft.ts
|
|
15270
|
-
import { z as
|
|
15298
|
+
import { z as z70 } from "zod";
|
|
15271
15299
|
var parameters7 = {
|
|
15272
|
-
draftId:
|
|
15300
|
+
draftId: z70.string().describe("The draft to delete, as listed by find-drafts or get-draft."),
|
|
15273
15301
|
workspaceId: workspaceIdParameter
|
|
15274
15302
|
};
|
|
15275
15303
|
var outputSchema6 = {
|
|
15276
|
-
draftId:
|
|
15277
|
-
deleted:
|
|
15304
|
+
draftId: z70.string(),
|
|
15305
|
+
deleted: z70.boolean()
|
|
15278
15306
|
};
|
|
15279
15307
|
var deleteDraft = {
|
|
15280
15308
|
name: ToolNames.DELETE_DRAFT,
|
|
@@ -15297,17 +15325,17 @@ var deleteDraft = {
|
|
|
15297
15325
|
};
|
|
15298
15326
|
|
|
15299
15327
|
// src/tools/disconnect-service.ts
|
|
15300
|
-
import { z as
|
|
15328
|
+
import { z as z71 } from "zod";
|
|
15301
15329
|
var parameters8 = {
|
|
15302
|
-
connectionId:
|
|
15303
|
-
force:
|
|
15330
|
+
connectionId: z71.string().describe("The connection to remove, as listed by get-connector."),
|
|
15331
|
+
force: z71.boolean().optional().describe(
|
|
15304
15332
|
"Disconnect even though enabled automations still use the connection. They stop working until a new connection is linked. Only after the user has agreed."
|
|
15305
15333
|
)
|
|
15306
15334
|
};
|
|
15307
15335
|
var outputSchema7 = {
|
|
15308
|
-
connectionId:
|
|
15309
|
-
disconnected:
|
|
15310
|
-
blockingAutomations:
|
|
15336
|
+
connectionId: z71.string(),
|
|
15337
|
+
disconnected: z71.boolean(),
|
|
15338
|
+
blockingAutomations: z71.array(blockingAutomationSchema).optional().describe(
|
|
15311
15339
|
"Present when disconnected is false: the enabled automations that still use the connection."
|
|
15312
15340
|
)
|
|
15313
15341
|
};
|
|
@@ -15339,16 +15367,16 @@ var disconnectService = {
|
|
|
15339
15367
|
};
|
|
15340
15368
|
|
|
15341
15369
|
// src/tools/find-automations.ts
|
|
15342
|
-
import { z as
|
|
15370
|
+
import { z as z73 } from "zod";
|
|
15343
15371
|
|
|
15344
15372
|
// src/utils/pagination.ts
|
|
15345
|
-
import { z as
|
|
15373
|
+
import { z as z72 } from "zod";
|
|
15346
15374
|
var paginationParameters = {
|
|
15347
|
-
cursor:
|
|
15348
|
-
limit:
|
|
15375
|
+
cursor: z72.string().optional().describe("Cursor from a previous call to fetch the next page. Omit for the first page."),
|
|
15376
|
+
limit: z72.number().int().min(1).max(MAX_PAGINATION_LIMIT).optional().describe(`Page size, at most ${MAX_PAGINATION_LIMIT}. Omit for the default.`)
|
|
15349
15377
|
};
|
|
15350
15378
|
var paginationOutput = {
|
|
15351
|
-
nextCursor:
|
|
15379
|
+
nextCursor: z72.string().optional().describe("Pass as `cursor` to fetch the next page. Absent when this page is the last.")
|
|
15352
15380
|
};
|
|
15353
15381
|
|
|
15354
15382
|
// src/tools/find-automations.ts
|
|
@@ -15357,7 +15385,7 @@ var parameters9 = {
|
|
|
15357
15385
|
...paginationParameters
|
|
15358
15386
|
};
|
|
15359
15387
|
var outputSchema8 = {
|
|
15360
|
-
automations:
|
|
15388
|
+
automations: z73.array(automationSummarySchema),
|
|
15361
15389
|
...paginationOutput
|
|
15362
15390
|
};
|
|
15363
15391
|
var findAutomations = {
|
|
@@ -15386,26 +15414,26 @@ var findAutomations = {
|
|
|
15386
15414
|
};
|
|
15387
15415
|
|
|
15388
15416
|
// src/tools/find-connectors.ts
|
|
15389
|
-
import { z as
|
|
15417
|
+
import { z as z74 } from "zod";
|
|
15390
15418
|
var parameters10 = {
|
|
15391
|
-
query:
|
|
15419
|
+
query: z74.string().optional().describe("Text to match against connector names and descriptions. Ids are not searched."),
|
|
15392
15420
|
capability: connectorCapabilitySchema.optional().describe(
|
|
15393
15421
|
"Only connectors offering this capability. Does not narrow the connections listed under each."
|
|
15394
15422
|
),
|
|
15395
|
-
connectionStatus:
|
|
15423
|
+
connectionStatus: z74.enum(CONNECTION_STATUSES).optional().describe(
|
|
15396
15424
|
"Only connectors the user has a connection in this state for. With `capability`, the same connection must cover that capability."
|
|
15397
15425
|
),
|
|
15398
|
-
withoutConnections:
|
|
15426
|
+
withoutConnections: z74.boolean().optional().describe(
|
|
15399
15427
|
"Only connectors the user has no connection for. Cannot combine with connectionStatus."
|
|
15400
15428
|
),
|
|
15401
|
-
includeConnections:
|
|
15429
|
+
includeConnections: z74.boolean().optional().describe(
|
|
15402
15430
|
"Whether to list the user's connections under each connector. Defaults to true; false skips the lookup and disables the connection filters."
|
|
15403
15431
|
)
|
|
15404
15432
|
};
|
|
15405
15433
|
var outputSchema9 = {
|
|
15406
|
-
connectors:
|
|
15434
|
+
connectors: z74.array(
|
|
15407
15435
|
connectorSummarySchema.extend({
|
|
15408
|
-
connections:
|
|
15436
|
+
connections: z74.array(connectorConnectionSummarySchema).optional().describe(
|
|
15409
15437
|
"The user's connections for this connector. Absent when includeConnections is false."
|
|
15410
15438
|
)
|
|
15411
15439
|
})
|
|
@@ -15448,14 +15476,14 @@ var findConnectors = {
|
|
|
15448
15476
|
};
|
|
15449
15477
|
|
|
15450
15478
|
// src/tools/find-conversations.ts
|
|
15451
|
-
import { z as
|
|
15479
|
+
import { z as z75 } from "zod";
|
|
15452
15480
|
var parameters11 = {
|
|
15453
15481
|
status: chatConversationStatusSchema.optional().describe(
|
|
15454
15482
|
'Defaults to "active". Publishing an automation archives its conversation, so pass "archived" or "all" to find the conversation behind a published automation.'
|
|
15455
15483
|
),
|
|
15456
|
-
limit:
|
|
15484
|
+
limit: z75.number().int().min(1).max(200).optional().describe("At most this many, newest first. Defaults to 10.")
|
|
15457
15485
|
};
|
|
15458
|
-
var outputSchema10 = { conversations:
|
|
15486
|
+
var outputSchema10 = { conversations: z75.array(conversationSummarySchema) };
|
|
15459
15487
|
var findConversations = {
|
|
15460
15488
|
name: ToolNames.FIND_CONVERSATIONS,
|
|
15461
15489
|
description: "Lists the user's conversations with the Automations agent, newest first. A conversation is one authoring session: it writes to a draft and ends when the automation is published. Use it to find a session to resume or to read; get-conversation has the messages and whether the agent is waiting on something.",
|
|
@@ -15474,13 +15502,13 @@ var findConversations = {
|
|
|
15474
15502
|
};
|
|
15475
15503
|
|
|
15476
15504
|
// src/tools/find-drafts.ts
|
|
15477
|
-
import { z as
|
|
15505
|
+
import { z as z76 } from "zod";
|
|
15478
15506
|
var parameters12 = {
|
|
15479
15507
|
workspaceId: workspaceIdParameter,
|
|
15480
15508
|
...paginationParameters
|
|
15481
15509
|
};
|
|
15482
15510
|
var outputSchema11 = {
|
|
15483
|
-
drafts:
|
|
15511
|
+
drafts: z76.array(draftSummarySchema),
|
|
15484
15512
|
...paginationOutput
|
|
15485
15513
|
};
|
|
15486
15514
|
var findDrafts = {
|
|
@@ -15509,11 +15537,11 @@ var findDrafts = {
|
|
|
15509
15537
|
};
|
|
15510
15538
|
|
|
15511
15539
|
// src/tools/find-runs.ts
|
|
15512
|
-
import { z as
|
|
15540
|
+
import { z as z77 } from "zod";
|
|
15513
15541
|
var parameters13 = {
|
|
15514
|
-
automationId:
|
|
15542
|
+
automationId: z77.string().describe("The id of the automation, as returned by find-automations."),
|
|
15515
15543
|
workspaceId: workspaceIdParameter,
|
|
15516
|
-
status:
|
|
15544
|
+
status: z77.enum(AUTOMATION_RUN_STATUSES).optional().describe(
|
|
15517
15545
|
"Only runs with this outcome. A run refused for an empty balance is `skipped`, not `failed`."
|
|
15518
15546
|
),
|
|
15519
15547
|
since: isoDateTimeOrDateQueryParamSchema.optional().describe(
|
|
@@ -15524,7 +15552,7 @@ var parameters13 = {
|
|
|
15524
15552
|
),
|
|
15525
15553
|
...paginationParameters
|
|
15526
15554
|
};
|
|
15527
|
-
var outputSchema12 = { runs:
|
|
15555
|
+
var outputSchema12 = { runs: z77.array(runSummarySchema), ...paginationOutput };
|
|
15528
15556
|
var findRuns = {
|
|
15529
15557
|
name: ToolNames.FIND_RUNS,
|
|
15530
15558
|
description: "Lists the runs of one automation, newest first, one page at a time, with the outcome and failure reason of each. Use it to see whether an automation has been running and how it ended; get-run gives the steps of one run. Filters apply to when the run started.",
|
|
@@ -15548,15 +15576,15 @@ var findRuns = {
|
|
|
15548
15576
|
};
|
|
15549
15577
|
|
|
15550
15578
|
// src/tools/get-automation.ts
|
|
15551
|
-
import { z as
|
|
15579
|
+
import { z as z78 } from "zod";
|
|
15552
15580
|
var parameters14 = {
|
|
15553
|
-
automationId:
|
|
15581
|
+
automationId: z78.string().describe("The id of the automation, as returned by find-automations."),
|
|
15554
15582
|
workspaceId: workspaceIdParameter
|
|
15555
15583
|
};
|
|
15556
15584
|
var outputSchema13 = {
|
|
15557
15585
|
automation: automationSummarySchema.extend({
|
|
15558
|
-
draftId:
|
|
15559
|
-
manifest:
|
|
15586
|
+
draftId: z78.string().optional().describe("The draft holding unpublished edits to this automation, when there is one."),
|
|
15587
|
+
manifest: z78.record(z78.string(), z78.unknown()).optional().describe(
|
|
15560
15588
|
"The stored manifest: triggers, steps and settings. Absent when there is none."
|
|
15561
15589
|
)
|
|
15562
15590
|
})
|
|
@@ -15588,17 +15616,17 @@ var getAutomation = {
|
|
|
15588
15616
|
};
|
|
15589
15617
|
|
|
15590
15618
|
// src/tools/get-connector.ts
|
|
15591
|
-
import { z as
|
|
15619
|
+
import { z as z79 } from "zod";
|
|
15592
15620
|
var parameters15 = {
|
|
15593
|
-
connectorId:
|
|
15594
|
-
includeAutomations:
|
|
15621
|
+
connectorId: z79.string().describe('The connector slug, such as "github", as listed by find-connectors.'),
|
|
15622
|
+
includeAutomations: z79.boolean().optional().describe(
|
|
15595
15623
|
"Also list the published automations that use this connector, with whether each has a working connection."
|
|
15596
15624
|
)
|
|
15597
15625
|
};
|
|
15598
15626
|
var outputSchema14 = {
|
|
15599
15627
|
connector: connectorDetailSchema,
|
|
15600
|
-
connections:
|
|
15601
|
-
automations:
|
|
15628
|
+
connections: z79.array(connectionSummarySchema).describe("The user's connections for this connector. Empty when none is linked."),
|
|
15629
|
+
automations: z79.array(dependentAutomationSchema).optional().describe("Present when includeAutomations is true.")
|
|
15602
15630
|
};
|
|
15603
15631
|
var getConnector = {
|
|
15604
15632
|
name: ToolNames.GET_CONNECTOR,
|
|
@@ -15633,13 +15661,13 @@ var getConnector = {
|
|
|
15633
15661
|
};
|
|
15634
15662
|
|
|
15635
15663
|
// src/tools/get-conversation.ts
|
|
15636
|
-
import { z as
|
|
15664
|
+
import { z as z80 } from "zod";
|
|
15637
15665
|
var parameters16 = {
|
|
15638
|
-
conversationId:
|
|
15666
|
+
conversationId: z80.string().describe("The id of the conversation, as returned by find-conversations.")
|
|
15639
15667
|
};
|
|
15640
15668
|
var outputSchema15 = {
|
|
15641
15669
|
conversation: conversationSummarySchema,
|
|
15642
|
-
messages:
|
|
15670
|
+
messages: z80.array(conversationMessageSchema).describe("In order, oldest first."),
|
|
15643
15671
|
pendingAction: pendingActionSchema.optional().describe(
|
|
15644
15672
|
"What the agent is waiting on before the conversation can continue. Absent when it is waiting on a plain reply, or on nothing."
|
|
15645
15673
|
)
|
|
@@ -15687,26 +15715,26 @@ function describePendingAction(action) {
|
|
|
15687
15715
|
}
|
|
15688
15716
|
|
|
15689
15717
|
// src/tools/get-draft.ts
|
|
15690
|
-
import { z as
|
|
15718
|
+
import { z as z81 } from "zod";
|
|
15691
15719
|
var parameters17 = {
|
|
15692
|
-
draftId:
|
|
15693
|
-
publishPreview:
|
|
15720
|
+
draftId: z81.string().describe("The id of the draft, as returned by find-drafts."),
|
|
15721
|
+
publishPreview: z81.boolean().optional().describe(
|
|
15694
15722
|
"Also return what publish-draft would do: the target, enabled state, connections, schedule and, for an edit draft, the diff against the published automation."
|
|
15695
15723
|
),
|
|
15696
15724
|
workspaceId: workspaceIdParameter
|
|
15697
15725
|
};
|
|
15698
|
-
var publishPreviewSchema =
|
|
15699
|
-
automationId:
|
|
15700
|
-
workspaceId:
|
|
15701
|
-
visibility:
|
|
15702
|
-
enabled:
|
|
15726
|
+
var publishPreviewSchema = z81.object({
|
|
15727
|
+
automationId: z81.string().optional().describe("The automation an edit draft updates. Absent when publishing creates one."),
|
|
15728
|
+
workspaceId: z81.string().optional(),
|
|
15729
|
+
visibility: z81.enum(AUTOMATION_VISIBILITIES).optional().describe("What a workspace automation will be once published."),
|
|
15730
|
+
enabled: z81.boolean().describe(
|
|
15703
15731
|
"Whether it runs once published: a new automation starts enabled, an edit keeps its state."
|
|
15704
15732
|
),
|
|
15705
|
-
connections:
|
|
15706
|
-
isValid:
|
|
15733
|
+
connections: z81.object({
|
|
15734
|
+
isValid: z81.boolean(),
|
|
15707
15735
|
missing: AutomationDraftConnectionValidationSchema.shape.missing
|
|
15708
15736
|
}),
|
|
15709
|
-
schedule:
|
|
15737
|
+
schedule: z81.string().optional().describe("The schedule in words, when it runs on one."),
|
|
15710
15738
|
diff: manifestDiffSchema.optional().describe("How an edit draft differs from the published automation.")
|
|
15711
15739
|
});
|
|
15712
15740
|
var outputSchema16 = {
|
|
@@ -15768,12 +15796,12 @@ function describeTarget(name, preview) {
|
|
|
15768
15796
|
}
|
|
15769
15797
|
|
|
15770
15798
|
// src/tools/get-run.ts
|
|
15771
|
-
import { z as
|
|
15799
|
+
import { z as z82 } from "zod";
|
|
15772
15800
|
var parameters18 = {
|
|
15773
|
-
automationId:
|
|
15774
|
-
runId:
|
|
15801
|
+
automationId: z82.string().describe("The id of the automation, as returned by find-automations."),
|
|
15802
|
+
runId: z82.string().describe("The id of the run, as returned by find-runs."),
|
|
15775
15803
|
workspaceId: workspaceIdParameter,
|
|
15776
|
-
full:
|
|
15804
|
+
full: z82.boolean().optional().describe(
|
|
15777
15805
|
"Also return each step's raw result and generated code. The payload can be large; omit it unless the compact diagnostic is not enough."
|
|
15778
15806
|
)
|
|
15779
15807
|
};
|
|
@@ -15812,12 +15840,12 @@ function describeRun(run) {
|
|
|
15812
15840
|
}
|
|
15813
15841
|
|
|
15814
15842
|
// src/tools/get-test-run.ts
|
|
15815
|
-
import { z as
|
|
15843
|
+
import { z as z83 } from "zod";
|
|
15816
15844
|
var parameters19 = {
|
|
15817
|
-
draftId:
|
|
15818
|
-
testRunId:
|
|
15845
|
+
draftId: z83.string().describe("The draft the test run belongs to."),
|
|
15846
|
+
testRunId: z83.string().describe("The test run's id, from starting the test."),
|
|
15819
15847
|
workspaceId: workspaceIdParameter,
|
|
15820
|
-
full:
|
|
15848
|
+
full: z83.boolean().optional().describe(
|
|
15821
15849
|
"Also return each step's raw result and generated code. The payload can be large; omit it unless the compact diagnostic is not enough."
|
|
15822
15850
|
)
|
|
15823
15851
|
};
|
|
@@ -15852,16 +15880,16 @@ function describeTestRun(run) {
|
|
|
15852
15880
|
}
|
|
15853
15881
|
|
|
15854
15882
|
// src/tools/list-workspaces.ts
|
|
15855
|
-
import { z as
|
|
15883
|
+
import { z as z84 } from "zod";
|
|
15856
15884
|
var parameters20 = {};
|
|
15857
15885
|
var outputSchema19 = {
|
|
15858
|
-
workspaces:
|
|
15859
|
-
|
|
15860
|
-
id:
|
|
15861
|
-
name:
|
|
15862
|
-
plan:
|
|
15863
|
-
role:
|
|
15864
|
-
access:
|
|
15886
|
+
workspaces: z84.array(
|
|
15887
|
+
z84.object({
|
|
15888
|
+
id: z84.string(),
|
|
15889
|
+
name: z84.string(),
|
|
15890
|
+
plan: z84.enum(WORKSPACE_PLANS),
|
|
15891
|
+
role: z84.enum(WORKSPACE_ROLES).describe("The user\u2019s role in the workspace."),
|
|
15892
|
+
access: z84.enum(WORKSPACE_ACCESS_LEVELS).describe(
|
|
15865
15893
|
'"locked" means the plan does not cover Automations: the workspace is listed, but its automations cannot run and nothing can be created in it.'
|
|
15866
15894
|
)
|
|
15867
15895
|
})
|
|
@@ -15888,13 +15916,13 @@ var listWorkspaces = {
|
|
|
15888
15916
|
};
|
|
15889
15917
|
|
|
15890
15918
|
// src/tools/move-automation.ts
|
|
15891
|
-
import { z as
|
|
15919
|
+
import { z as z85 } from "zod";
|
|
15892
15920
|
var parameters21 = {
|
|
15893
|
-
automationId:
|
|
15921
|
+
automationId: z85.string().describe(
|
|
15894
15922
|
"The id of the automation to move, as returned by find-automations. It may be a personal automation or one in another workspace."
|
|
15895
15923
|
),
|
|
15896
|
-
workspaceId:
|
|
15897
|
-
visibility:
|
|
15924
|
+
workspaceId: z85.string().describe("The workspace to move it into, as returned by list-workspaces."),
|
|
15925
|
+
visibility: z85.enum(AUTOMATION_VISIBILITIES).optional().describe(
|
|
15898
15926
|
'How the automation is shared once moved. Defaults to "workspace", visible to every member; "private" keeps it to its creator.'
|
|
15899
15927
|
)
|
|
15900
15928
|
};
|
|
@@ -15921,19 +15949,19 @@ var moveAutomation = {
|
|
|
15921
15949
|
};
|
|
15922
15950
|
|
|
15923
15951
|
// src/tools/publish-draft.ts
|
|
15924
|
-
import { z as
|
|
15952
|
+
import { z as z86 } from "zod";
|
|
15925
15953
|
var parameters22 = {
|
|
15926
|
-
draftId:
|
|
15954
|
+
draftId: z86.string().describe("The draft to publish, as listed by find-drafts or get-draft."),
|
|
15927
15955
|
// A client holding an older schema still sends it; stripping it would publish a preview.
|
|
15928
|
-
preview:
|
|
15956
|
+
preview: z86.boolean().optional().describe("Not supported: true is refused. Preview with get-draft and publishPreview."),
|
|
15929
15957
|
workspaceId: workspaceIdParameter
|
|
15930
15958
|
};
|
|
15931
15959
|
var outputSchema21 = {
|
|
15932
|
-
automationId:
|
|
15933
|
-
verification:
|
|
15934
|
-
status:
|
|
15960
|
+
automationId: z86.string().describe("The published automation; get-automation reads it."),
|
|
15961
|
+
verification: z86.object({
|
|
15962
|
+
status: z86.enum(["matched", "mismatched", "unavailable"]),
|
|
15935
15963
|
mismatch: manifestDiffSchema.optional(),
|
|
15936
|
-
reason:
|
|
15964
|
+
reason: z86.string().optional().describe("Why reading the automation back failed.")
|
|
15937
15965
|
}).describe(
|
|
15938
15966
|
"The published manifest compared with the draft. Whatever the status, the automation was published."
|
|
15939
15967
|
)
|
|
@@ -15991,27 +16019,27 @@ function describePublished(name, automationId, verification) {
|
|
|
15991
16019
|
}
|
|
15992
16020
|
|
|
15993
16021
|
// src/tools/repair-connection.ts
|
|
15994
|
-
import { z as
|
|
16022
|
+
import { z as z87 } from "zod";
|
|
15995
16023
|
var parameters23 = {
|
|
15996
|
-
connectionId:
|
|
16024
|
+
connectionId: z87.string().describe(
|
|
15997
16025
|
"The connection to repair, as listed by get-connector or reported by check-connection."
|
|
15998
16026
|
)
|
|
15999
16027
|
};
|
|
16000
16028
|
var outputSchema22 = {
|
|
16001
|
-
connectionId:
|
|
16002
|
-
connectorId:
|
|
16003
|
-
serviceName:
|
|
16004
|
-
resumed:
|
|
16029
|
+
connectionId: z87.string().describe("The connection to pass to check-connection next."),
|
|
16030
|
+
connectorId: z87.string(),
|
|
16031
|
+
serviceName: z87.string(),
|
|
16032
|
+
resumed: z87.boolean().describe(
|
|
16005
16033
|
"True when the existing pending setup was returned; false when a replacement was started."
|
|
16006
16034
|
),
|
|
16007
|
-
replacedConnectionId:
|
|
16035
|
+
replacedConnectionId: z87.string().optional().describe(
|
|
16008
16036
|
"The broken connection the replacement stands in for. Present when resumed is false."
|
|
16009
16037
|
),
|
|
16010
|
-
status:
|
|
16038
|
+
status: z87.enum(["pending", "authorized"]).describe(
|
|
16011
16039
|
'"pending" until the user completes the setup; "authorized" when nothing was needed.'
|
|
16012
16040
|
),
|
|
16013
16041
|
setup: connectionSetupSchema.optional().describe("What the user must complete. Absent when authorized."),
|
|
16014
|
-
automations:
|
|
16042
|
+
automations: z87.array(affectedAutomationSchema).optional().describe(
|
|
16015
16043
|
"Personal automations that move to the replacement once it is authorised. Present when resumed is false."
|
|
16016
16044
|
)
|
|
16017
16045
|
};
|
|
@@ -16074,17 +16102,17 @@ var repairConnection = {
|
|
|
16074
16102
|
};
|
|
16075
16103
|
|
|
16076
16104
|
// src/tools/set-automation-schedule.ts
|
|
16077
|
-
import { z as
|
|
16105
|
+
import { z as z88 } from "zod";
|
|
16078
16106
|
var parameters24 = {
|
|
16079
|
-
automationId:
|
|
16107
|
+
automationId: z88.string().describe("The id of the automation, as returned by find-automations."),
|
|
16080
16108
|
workspaceId: workspaceIdParameter,
|
|
16081
|
-
cron:
|
|
16109
|
+
cron: z88.string().optional().describe(
|
|
16082
16110
|
'A five-part cron expression such as "0 9 * * 1-5". Requires timezone. Use this or interval, not both.'
|
|
16083
16111
|
),
|
|
16084
|
-
timezone:
|
|
16112
|
+
timezone: z88.string().optional().describe(
|
|
16085
16113
|
'The IANA zone the cron expression is read in, such as "Europe/London". Only with cron.'
|
|
16086
16114
|
),
|
|
16087
|
-
interval:
|
|
16115
|
+
interval: z88.string().optional().describe(
|
|
16088
16116
|
'How often to run, as a number and unit: "45m", "6h", "1d", "1w". Use this or cron, not both.'
|
|
16089
16117
|
)
|
|
16090
16118
|
};
|
|
@@ -16117,11 +16145,11 @@ var setAutomationSchedule = {
|
|
|
16117
16145
|
};
|
|
16118
16146
|
|
|
16119
16147
|
// src/tools/set-automation-visibility.ts
|
|
16120
|
-
import { z as
|
|
16148
|
+
import { z as z89 } from "zod";
|
|
16121
16149
|
var parameters25 = {
|
|
16122
|
-
automationId:
|
|
16150
|
+
automationId: z89.string().describe("The id of the automation, as returned by find-automations."),
|
|
16123
16151
|
workspaceId: requiredWorkspaceIdParameter,
|
|
16124
|
-
visibility:
|
|
16152
|
+
visibility: z89.enum(AUTOMATION_VISIBILITIES).describe(
|
|
16125
16153
|
'"workspace": every member can see and run it. "private": only its creator can see it, workspace admins included.'
|
|
16126
16154
|
)
|
|
16127
16155
|
};
|
|
@@ -16148,12 +16176,12 @@ var setAutomationVisibility = {
|
|
|
16148
16176
|
};
|
|
16149
16177
|
|
|
16150
16178
|
// src/tools/start-conversation.ts
|
|
16151
|
-
import { z as
|
|
16179
|
+
import { z as z90 } from "zod";
|
|
16152
16180
|
var parameters26 = {
|
|
16153
16181
|
workspaceId: workspaceIdParameter.describe(
|
|
16154
16182
|
"Author the automation in this Todoist workspace: the conversation, its draft and the published automation all belong there, and continue-conversation follows it automatically. Omit for the personal space."
|
|
16155
16183
|
),
|
|
16156
|
-
message:
|
|
16184
|
+
message: z90.string().min(1).describe(
|
|
16157
16185
|
"What the user wants automated, in their words. Say whether the automation should be published or left as a draft; the agent otherwise asks."
|
|
16158
16186
|
)
|
|
16159
16187
|
};
|
|
@@ -16183,25 +16211,25 @@ var startConversation = {
|
|
|
16183
16211
|
};
|
|
16184
16212
|
|
|
16185
16213
|
// src/tools/test-draft.ts
|
|
16186
|
-
import { z as
|
|
16214
|
+
import { z as z91 } from "zod";
|
|
16187
16215
|
var DEFAULT_WAIT_MINUTES = 10;
|
|
16188
16216
|
var parameters27 = {
|
|
16189
|
-
draftId:
|
|
16190
|
-
trigger:
|
|
16217
|
+
draftId: z91.string().describe("The draft to test, as listed by find-drafts or get-draft."),
|
|
16218
|
+
trigger: z91.union([z91.number().int().min(0), z91.string().min(1)]).optional().describe(
|
|
16191
16219
|
"The trigger to test: its position in the manifest's triggers, from 0, or a webhook trigger's event. Omit for the first."
|
|
16192
16220
|
),
|
|
16193
|
-
payload:
|
|
16221
|
+
payload: z91.record(z91.string(), z91.unknown()).optional().describe(
|
|
16194
16222
|
"A real event to test with: what the service sends a webhook trigger, or an API trigger's request body. Omit to use a built-in sample event, whose made-up ids fail a filter on real values."
|
|
16195
16223
|
),
|
|
16196
|
-
waitMinutes:
|
|
16224
|
+
waitMinutes: z91.number().int().min(0).max(30).optional().describe(
|
|
16197
16225
|
`How long to wait for the run to end; 0 returns once it starts. Default ${DEFAULT_WAIT_MINUTES}.`
|
|
16198
16226
|
),
|
|
16199
16227
|
workspaceId: workspaceIdParameter
|
|
16200
16228
|
};
|
|
16201
16229
|
var outputSchema25 = {
|
|
16202
|
-
draftId:
|
|
16203
|
-
testRunId:
|
|
16204
|
-
outcome:
|
|
16230
|
+
draftId: z91.string(),
|
|
16231
|
+
testRunId: z91.string().describe("get-test-run reads the run with it."),
|
|
16232
|
+
outcome: z91.enum(["started", ...DRAFT_TEST_OUTCOMES]).describe(
|
|
16205
16233
|
"started: not waited for. timed_out: still going when the wait ended; it keeps running."
|
|
16206
16234
|
),
|
|
16207
16235
|
status: runDetailSchema.shape.status,
|
|
@@ -16210,7 +16238,7 @@ var outputSchema25 = {
|
|
|
16210
16238
|
),
|
|
16211
16239
|
connectorCalls: draftTestRunSchema.shape.connectorCalls,
|
|
16212
16240
|
failedStep: draftTestRunSchema.shape.failedStep,
|
|
16213
|
-
error:
|
|
16241
|
+
error: z91.string().optional().describe("The failed step's error, else why the run failed or was skipped."),
|
|
16214
16242
|
result: runDetailSchema.shape.result
|
|
16215
16243
|
};
|
|
16216
16244
|
var testDraft = {
|
|
@@ -16316,15 +16344,15 @@ function describeFinished(output, waitMinutes) {
|
|
|
16316
16344
|
}
|
|
16317
16345
|
|
|
16318
16346
|
// src/tools/trigger-automation.ts
|
|
16319
|
-
import { z as
|
|
16347
|
+
import { z as z92 } from "zod";
|
|
16320
16348
|
var parameters28 = {
|
|
16321
|
-
automationId:
|
|
16349
|
+
automationId: z92.string().describe("The id of the automation, as returned by find-automations."),
|
|
16322
16350
|
workspaceId: workspaceIdParameter
|
|
16323
16351
|
};
|
|
16324
16352
|
var outputSchema26 = {
|
|
16325
|
-
automationId:
|
|
16326
|
-
name:
|
|
16327
|
-
accepted:
|
|
16353
|
+
automationId: z92.string(),
|
|
16354
|
+
name: z92.string(),
|
|
16355
|
+
accepted: z92.literal(true).describe("The backend accepted the run. It has not finished.")
|
|
16328
16356
|
};
|
|
16329
16357
|
var triggerAutomation = {
|
|
16330
16358
|
name: ToolNames.TRIGGER_AUTOMATION,
|
|
@@ -16355,13 +16383,13 @@ var triggerAutomation = {
|
|
|
16355
16383
|
};
|
|
16356
16384
|
|
|
16357
16385
|
// src/tools/update-automation.ts
|
|
16358
|
-
import { z as
|
|
16386
|
+
import { z as z93 } from "zod";
|
|
16359
16387
|
var parameters29 = {
|
|
16360
|
-
automationId:
|
|
16388
|
+
automationId: z93.string().describe("The id of the automation, as returned by find-automations."),
|
|
16361
16389
|
workspaceId: workspaceIdParameter,
|
|
16362
|
-
name:
|
|
16363
|
-
description:
|
|
16364
|
-
enabled:
|
|
16390
|
+
name: z93.string().min(1).optional().describe("A new name. Omit to keep the current one."),
|
|
16391
|
+
description: z93.string().optional().describe("A new description. Omit to keep the current one."),
|
|
16392
|
+
enabled: z93.boolean().optional().describe(
|
|
16365
16393
|
"Turn the automation on or off. Enabling fails while disabledReason is set: the system stopped it and the cause must be fixed first."
|
|
16366
16394
|
)
|
|
16367
16395
|
};
|
|
@@ -16420,10 +16448,10 @@ async function mergeMetadata(client, name, description) {
|
|
|
16420
16448
|
}
|
|
16421
16449
|
|
|
16422
16450
|
// src/tools/update-draft.ts
|
|
16423
|
-
import { z as
|
|
16451
|
+
import { z as z94 } from "zod";
|
|
16424
16452
|
var parameters30 = {
|
|
16425
|
-
draftId:
|
|
16426
|
-
manifest:
|
|
16453
|
+
draftId: z94.string().describe("The draft to change, as listed by find-drafts or get-draft."),
|
|
16454
|
+
manifest: z94.record(z94.string(), z94.unknown()).describe(
|
|
16427
16455
|
"The whole manifest. It replaces the draft's manifest rather than merging into it, so start from get-draft's partialManifest and change what is needed."
|
|
16428
16456
|
),
|
|
16429
16457
|
workspaceId: workspaceIdParameter
|
|
@@ -16540,4 +16568,4 @@ export {
|
|
|
16540
16568
|
DEFAULT_BASE_URL,
|
|
16541
16569
|
getMcpServer
|
|
16542
16570
|
};
|
|
16543
|
-
//# sourceMappingURL=chunk-
|
|
16571
|
+
//# sourceMappingURL=chunk-K5HPLEAY.js.map
|