@burdenoff/mcp-libs 2026.511.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.
Files changed (174) hide show
  1. package/README.md +76 -0
  2. package/dist/chunk-4GBVJ4OY.js +847 -0
  3. package/dist/chunk-4GBVJ4OY.js.map +1 -0
  4. package/dist/chunk-H2OYWLOA.js +919 -0
  5. package/dist/chunk-H2OYWLOA.js.map +1 -0
  6. package/dist/chunk-JFEQYSWM.js +174 -0
  7. package/dist/chunk-JFEQYSWM.js.map +1 -0
  8. package/dist/chunk-WWFVD7BO.js +273 -0
  9. package/dist/chunk-WWFVD7BO.js.map +1 -0
  10. package/dist/context-1jV4NsLv.d.cts +138 -0
  11. package/dist/context-1jV4NsLv.d.ts +138 -0
  12. package/dist/core/index.cjs +953 -0
  13. package/dist/core/index.cjs.map +1 -0
  14. package/dist/core/index.d.cts +59 -0
  15. package/dist/core/index.d.ts +59 -0
  16. package/dist/core/index.js +3 -0
  17. package/dist/core/index.js.map +1 -0
  18. package/dist/http-BP4c721D.d.cts +22 -0
  19. package/dist/http-DXTeCD5r.d.ts +22 -0
  20. package/dist/index.cjs +1013 -0
  21. package/dist/index.cjs.map +1 -0
  22. package/dist/index.d.cts +7 -0
  23. package/dist/index.d.ts +7 -0
  24. package/dist/index.js +4 -0
  25. package/dist/index.js.map +1 -0
  26. package/dist/module-DBcfA-i3.d.ts +67 -0
  27. package/dist/module-DFQBZNK6.d.cts +67 -0
  28. package/dist/modules/auth/index.cjs +533 -0
  29. package/dist/modules/auth/index.cjs.map +1 -0
  30. package/dist/modules/auth/index.d.cts +51 -0
  31. package/dist/modules/auth/index.d.ts +51 -0
  32. package/dist/modules/auth/index.js +159 -0
  33. package/dist/modules/auth/index.js.map +1 -0
  34. package/dist/modules/billing/index.cjs +655 -0
  35. package/dist/modules/billing/index.cjs.map +1 -0
  36. package/dist/modules/billing/index.d.cts +8 -0
  37. package/dist/modules/billing/index.d.ts +8 -0
  38. package/dist/modules/billing/index.js +606 -0
  39. package/dist/modules/billing/index.js.map +1 -0
  40. package/dist/modules/channels/index.cjs +443 -0
  41. package/dist/modules/channels/index.cjs.map +1 -0
  42. package/dist/modules/channels/index.d.cts +8 -0
  43. package/dist/modules/channels/index.d.ts +8 -0
  44. package/dist/modules/channels/index.js +394 -0
  45. package/dist/modules/channels/index.js.map +1 -0
  46. package/dist/modules/conversations/index.cjs +288 -0
  47. package/dist/modules/conversations/index.cjs.map +1 -0
  48. package/dist/modules/conversations/index.d.cts +8 -0
  49. package/dist/modules/conversations/index.d.ts +8 -0
  50. package/dist/modules/conversations/index.js +239 -0
  51. package/dist/modules/conversations/index.js.map +1 -0
  52. package/dist/modules/devportal/index.cjs +796 -0
  53. package/dist/modules/devportal/index.cjs.map +1 -0
  54. package/dist/modules/devportal/index.d.cts +8 -0
  55. package/dist/modules/devportal/index.d.ts +8 -0
  56. package/dist/modules/devportal/index.js +747 -0
  57. package/dist/modules/devportal/index.js.map +1 -0
  58. package/dist/modules/export/index.cjs +333 -0
  59. package/dist/modules/export/index.cjs.map +1 -0
  60. package/dist/modules/export/index.d.cts +8 -0
  61. package/dist/modules/export/index.d.ts +8 -0
  62. package/dist/modules/export/index.js +284 -0
  63. package/dist/modules/export/index.js.map +1 -0
  64. package/dist/modules/files/index.cjs +278 -0
  65. package/dist/modules/files/index.cjs.map +1 -0
  66. package/dist/modules/files/index.d.cts +8 -0
  67. package/dist/modules/files/index.d.ts +8 -0
  68. package/dist/modules/files/index.js +229 -0
  69. package/dist/modules/files/index.js.map +1 -0
  70. package/dist/modules/groups/index.cjs +451 -0
  71. package/dist/modules/groups/index.cjs.map +1 -0
  72. package/dist/modules/groups/index.d.cts +8 -0
  73. package/dist/modules/groups/index.d.ts +8 -0
  74. package/dist/modules/groups/index.js +402 -0
  75. package/dist/modules/groups/index.js.map +1 -0
  76. package/dist/modules/health/index.cjs +159 -0
  77. package/dist/modules/health/index.cjs.map +1 -0
  78. package/dist/modules/health/index.d.cts +8 -0
  79. package/dist/modules/health/index.d.ts +8 -0
  80. package/dist/modules/health/index.js +36 -0
  81. package/dist/modules/health/index.js.map +1 -0
  82. package/dist/modules/integrations/index.cjs +316 -0
  83. package/dist/modules/integrations/index.cjs.map +1 -0
  84. package/dist/modules/integrations/index.d.cts +8 -0
  85. package/dist/modules/integrations/index.d.ts +8 -0
  86. package/dist/modules/integrations/index.js +267 -0
  87. package/dist/modules/integrations/index.js.map +1 -0
  88. package/dist/modules/notifications/index.cjs +222 -0
  89. package/dist/modules/notifications/index.cjs.map +1 -0
  90. package/dist/modules/notifications/index.d.cts +8 -0
  91. package/dist/modules/notifications/index.d.ts +8 -0
  92. package/dist/modules/notifications/index.js +173 -0
  93. package/dist/modules/notifications/index.js.map +1 -0
  94. package/dist/modules/organizations/index.cjs +267 -0
  95. package/dist/modules/organizations/index.cjs.map +1 -0
  96. package/dist/modules/organizations/index.d.cts +8 -0
  97. package/dist/modules/organizations/index.d.ts +8 -0
  98. package/dist/modules/organizations/index.js +218 -0
  99. package/dist/modules/organizations/index.js.map +1 -0
  100. package/dist/modules/products/index.cjs +736 -0
  101. package/dist/modules/products/index.cjs.map +1 -0
  102. package/dist/modules/products/index.d.cts +8 -0
  103. package/dist/modules/products/index.d.ts +8 -0
  104. package/dist/modules/products/index.js +687 -0
  105. package/dist/modules/products/index.js.map +1 -0
  106. package/dist/modules/rbac/index.cjs +378 -0
  107. package/dist/modules/rbac/index.cjs.map +1 -0
  108. package/dist/modules/rbac/index.d.cts +8 -0
  109. package/dist/modules/rbac/index.d.ts +8 -0
  110. package/dist/modules/rbac/index.js +329 -0
  111. package/dist/modules/rbac/index.js.map +1 -0
  112. package/dist/modules/sandbox/index.cjs +318 -0
  113. package/dist/modules/sandbox/index.cjs.map +1 -0
  114. package/dist/modules/sandbox/index.d.cts +8 -0
  115. package/dist/modules/sandbox/index.d.ts +8 -0
  116. package/dist/modules/sandbox/index.js +225 -0
  117. package/dist/modules/sandbox/index.js.map +1 -0
  118. package/dist/modules/scheduler/index.cjs +267 -0
  119. package/dist/modules/scheduler/index.cjs.map +1 -0
  120. package/dist/modules/scheduler/index.d.cts +8 -0
  121. package/dist/modules/scheduler/index.d.ts +8 -0
  122. package/dist/modules/scheduler/index.js +218 -0
  123. package/dist/modules/scheduler/index.js.map +1 -0
  124. package/dist/modules/security/index.cjs +529 -0
  125. package/dist/modules/security/index.cjs.map +1 -0
  126. package/dist/modules/security/index.d.cts +8 -0
  127. package/dist/modules/security/index.d.ts +8 -0
  128. package/dist/modules/security/index.js +480 -0
  129. package/dist/modules/security/index.js.map +1 -0
  130. package/dist/modules/store/index.cjs +450 -0
  131. package/dist/modules/store/index.cjs.map +1 -0
  132. package/dist/modules/store/index.d.cts +8 -0
  133. package/dist/modules/store/index.d.ts +8 -0
  134. package/dist/modules/store/index.js +401 -0
  135. package/dist/modules/store/index.js.map +1 -0
  136. package/dist/modules/support/index.cjs +285 -0
  137. package/dist/modules/support/index.cjs.map +1 -0
  138. package/dist/modules/support/index.d.cts +8 -0
  139. package/dist/modules/support/index.d.ts +8 -0
  140. package/dist/modules/support/index.js +236 -0
  141. package/dist/modules/support/index.js.map +1 -0
  142. package/dist/modules/tags/index.cjs +421 -0
  143. package/dist/modules/tags/index.cjs.map +1 -0
  144. package/dist/modules/tags/index.d.cts +8 -0
  145. package/dist/modules/tags/index.d.ts +8 -0
  146. package/dist/modules/tags/index.js +372 -0
  147. package/dist/modules/tags/index.js.map +1 -0
  148. package/dist/modules/tours/index.cjs +225 -0
  149. package/dist/modules/tours/index.cjs.map +1 -0
  150. package/dist/modules/tours/index.d.cts +8 -0
  151. package/dist/modules/tours/index.d.ts +8 -0
  152. package/dist/modules/tours/index.js +176 -0
  153. package/dist/modules/tours/index.js.map +1 -0
  154. package/dist/modules/vibecontrols/index.cjs +5551 -0
  155. package/dist/modules/vibecontrols/index.cjs.map +1 -0
  156. package/dist/modules/vibecontrols/index.d.cts +8 -0
  157. package/dist/modules/vibecontrols/index.d.ts +8 -0
  158. package/dist/modules/vibecontrols/index.js +4380 -0
  159. package/dist/modules/vibecontrols/index.js.map +1 -0
  160. package/dist/modules/workspaces/index.cjs +552 -0
  161. package/dist/modules/workspaces/index.cjs.map +1 -0
  162. package/dist/modules/workspaces/index.d.cts +8 -0
  163. package/dist/modules/workspaces/index.d.ts +8 -0
  164. package/dist/modules/workspaces/index.js +503 -0
  165. package/dist/modules/workspaces/index.js.map +1 -0
  166. package/dist/tool-name-CQf_IqAj.d.cts +47 -0
  167. package/dist/tool-name-DlnrBsZ6.d.ts +47 -0
  168. package/dist/transports/index.cjs +183 -0
  169. package/dist/transports/index.cjs.map +1 -0
  170. package/dist/transports/index.d.cts +13 -0
  171. package/dist/transports/index.d.ts +13 -0
  172. package/dist/transports/index.js +3 -0
  173. package/dist/transports/index.js.map +1 -0
  174. package/package.json +125 -0
@@ -0,0 +1,218 @@
1
+ import { mcpToolName, errorResult, jsonResult } from '../../chunk-H2OYWLOA.js';
2
+ import { z } from 'zod';
3
+
4
+ // src/modules/scheduler/operations.ts
5
+ var LIST_SCHEDULED_JOBS = `
6
+ query ListScheduledJobs($workspaceId: ID!, $filter: JobFilterInput, $pagination: SchedulerPaginationInput) {
7
+ scheduledJobs(workspaceId: $workspaceId, filter: $filter, pagination: $pagination) {
8
+ jobs { id name status scheduleType nextExecutionAt createdAt }
9
+ total nextCursor
10
+ }
11
+ }
12
+ `;
13
+ var GET_SCHEDULED_JOB = `
14
+ query GetScheduledJob($id: ID!) {
15
+ scheduledJob(id: $id) {
16
+ id name status scheduleType cronExpression executorType
17
+ nextExecutionAt lastExecutionAt
18
+ }
19
+ }
20
+ `;
21
+ var CREATE_SCHEDULED_JOB = `
22
+ mutation CreateScheduledJob($workspaceId: ID!, $input: CreateScheduledJobInput!) {
23
+ createScheduledJob(workspaceId: $workspaceId, input: $input) {
24
+ id name status scheduleType
25
+ }
26
+ }
27
+ `;
28
+ var DELETE_SCHEDULED_JOB = `
29
+ mutation DeleteScheduledJob($id: ID!) {
30
+ deleteScheduledJob(id: $id)
31
+ }
32
+ `;
33
+ var JOB_EXECUTIONS = `
34
+ query JobExecutions($jobId: ID!, $pagination: SchedulerPaginationInput) {
35
+ jobExecutions(jobId: $jobId, pagination: $pagination) {
36
+ executions { id status startedAt completedAt duration errorMessage success }
37
+ total nextCursor
38
+ }
39
+ }
40
+ `;
41
+
42
+ // src/modules/scheduler/tools.ts
43
+ function readWorkspaceId(ctx) {
44
+ const auth = ctx.auth.read();
45
+ return auth?.workspaceId ?? null;
46
+ }
47
+ var ScheduleTypeEnum = z.enum(["CRON", "INTERVAL", "ONCE"]);
48
+ var ExecutorTypeEnum = z.enum(["WORKFLOW", "FUNCTION", "WEBHOOK"]);
49
+ function registerSchedulerTools(server, ctx, track) {
50
+ server.registerTool(
51
+ track(mcpToolName(ctx.productName, "scheduler_jobs_list")),
52
+ {
53
+ title: "List Scheduled Jobs",
54
+ description: "List scheduled jobs in the active workspace.",
55
+ inputSchema: {
56
+ status: z.string().optional().describe("Filter by status (will be uppercased)"),
57
+ type: ScheduleTypeEnum.optional().describe("Filter by scheduleType"),
58
+ limit: z.number().optional().describe("Page size (default 50)")
59
+ }
60
+ },
61
+ async ({ status, type, limit }) => {
62
+ try {
63
+ const workspaceId = readWorkspaceId(ctx);
64
+ if (!workspaceId) {
65
+ return errorResult("No workspace set. Run the auth workspace_set tool first.");
66
+ }
67
+ const filter = {};
68
+ if (status !== void 0) filter.status = status.toUpperCase();
69
+ if (type !== void 0) filter.scheduleType = type;
70
+ const data = await ctx.gql.workspace.request(LIST_SCHEDULED_JOBS, {
71
+ workspaceId,
72
+ filter: Object.keys(filter).length > 0 ? filter : void 0,
73
+ pagination: { limit: limit ?? 50, offset: 0 }
74
+ });
75
+ return jsonResult(data.scheduledJobs);
76
+ } catch (error) {
77
+ ctx.logger.error("scheduler_jobs_list failed", { error: String(error) });
78
+ return errorResult(
79
+ `Failed to list scheduled jobs: ${error instanceof Error ? error.message : String(error)}`
80
+ );
81
+ }
82
+ }
83
+ );
84
+ server.registerTool(
85
+ track(mcpToolName(ctx.productName, "scheduler_jobs_get")),
86
+ {
87
+ title: "Get Scheduled Job",
88
+ description: "Get a scheduled job by ID.",
89
+ inputSchema: { id: z.string().describe("Job ID") }
90
+ },
91
+ async ({ id }) => {
92
+ try {
93
+ const data = await ctx.gql.workspace.request(
94
+ GET_SCHEDULED_JOB,
95
+ { id }
96
+ );
97
+ if (!data.scheduledJob) return errorResult(`Job ${id} not found`);
98
+ return jsonResult(data.scheduledJob);
99
+ } catch (error) {
100
+ ctx.logger.error("scheduler_jobs_get failed", { error: String(error) });
101
+ return errorResult(
102
+ `Failed to get scheduled job: ${error instanceof Error ? error.message : String(error)}`
103
+ );
104
+ }
105
+ }
106
+ );
107
+ server.registerTool(
108
+ track(mcpToolName(ctx.productName, "scheduler_jobs_create")),
109
+ {
110
+ title: "Create Scheduled Job",
111
+ description: "Create a scheduled job.",
112
+ inputSchema: {
113
+ name: z.string().describe("Job name"),
114
+ type: ScheduleTypeEnum.describe("Schedule type"),
115
+ cron: z.string().optional().describe("Cron expression (for CRON type)"),
116
+ intervalSeconds: z.number().optional().describe("Interval seconds (for INTERVAL type)"),
117
+ executor: ExecutorTypeEnum.optional().describe("Executor type (default WORKFLOW)"),
118
+ executorConfig: z.record(z.string(), z.unknown()).optional().describe("Executor configuration object")
119
+ }
120
+ },
121
+ async ({ name, type, cron, intervalSeconds, executor, executorConfig }) => {
122
+ try {
123
+ const workspaceId = readWorkspaceId(ctx);
124
+ if (!workspaceId) {
125
+ return errorResult("No workspace set. Run the auth workspace_set tool first.");
126
+ }
127
+ const input = {
128
+ name,
129
+ scheduleType: type,
130
+ executorType: executor ?? "WORKFLOW",
131
+ executorConfig: executorConfig ?? {}
132
+ };
133
+ if (cron !== void 0) input.cronExpression = cron;
134
+ if (intervalSeconds !== void 0) input.intervalSeconds = intervalSeconds;
135
+ const data = await ctx.gql.workspace.request(
136
+ CREATE_SCHEDULED_JOB,
137
+ { workspaceId, input }
138
+ );
139
+ return jsonResult(data.createScheduledJob);
140
+ } catch (error) {
141
+ ctx.logger.error("scheduler_jobs_create failed", { error: String(error) });
142
+ return errorResult(
143
+ `Failed to create scheduled job: ${error instanceof Error ? error.message : String(error)}`
144
+ );
145
+ }
146
+ }
147
+ );
148
+ server.registerTool(
149
+ track(mcpToolName(ctx.productName, "scheduler_jobs_delete")),
150
+ {
151
+ title: "Delete Scheduled Job",
152
+ description: "Delete a scheduled job.",
153
+ inputSchema: { id: z.string().describe("Job ID") }
154
+ },
155
+ async ({ id }) => {
156
+ try {
157
+ const data = await ctx.gql.workspace.request(
158
+ DELETE_SCHEDULED_JOB,
159
+ { id }
160
+ );
161
+ return jsonResult({ deleted: data.deleteScheduledJob, jobId: id });
162
+ } catch (error) {
163
+ ctx.logger.error("scheduler_jobs_delete failed", { error: String(error) });
164
+ return errorResult(
165
+ `Failed to delete scheduled job: ${error instanceof Error ? error.message : String(error)}`
166
+ );
167
+ }
168
+ }
169
+ );
170
+ server.registerTool(
171
+ track(mcpToolName(ctx.productName, "scheduler_executions_list")),
172
+ {
173
+ title: "List Job Executions",
174
+ description: "List execution history for a scheduled job.",
175
+ inputSchema: {
176
+ jobId: z.string().describe("Job ID"),
177
+ limit: z.number().optional().describe("Page size (default 100)")
178
+ }
179
+ },
180
+ async ({ jobId, limit }) => {
181
+ try {
182
+ const data = await ctx.gql.workspace.request(JOB_EXECUTIONS, {
183
+ jobId,
184
+ pagination: { limit: limit ?? 100, offset: 0 }
185
+ });
186
+ return jsonResult(data.jobExecutions);
187
+ } catch (error) {
188
+ ctx.logger.error("scheduler_executions_list failed", { error: String(error) });
189
+ return errorResult(
190
+ `Failed to list executions: ${error instanceof Error ? error.message : String(error)}`
191
+ );
192
+ }
193
+ }
194
+ );
195
+ }
196
+
197
+ // src/modules/scheduler/index.ts
198
+ var schedulerModule = {
199
+ id: "scheduler",
200
+ version: "0.0.1",
201
+ displayName: "Scheduler",
202
+ dependsOn: ["auth"],
203
+ capabilities: { tools: {} },
204
+ register(server, ctx) {
205
+ const tools = [];
206
+ const track = (n) => {
207
+ tools.push(n);
208
+ return n;
209
+ };
210
+ registerSchedulerTools(server, ctx, track);
211
+ return { tools, resources: [], prompts: [] };
212
+ }
213
+ };
214
+ var scheduler_default = schedulerModule;
215
+
216
+ export { scheduler_default as default };
217
+ //# sourceMappingURL=index.js.map
218
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/modules/scheduler/operations.ts","../../../src/modules/scheduler/tools.ts","../../../src/modules/scheduler/index.ts"],"names":[],"mappings":"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","file":"index.js","sourcesContent":["export const LIST_SCHEDULED_JOBS = `\n query ListScheduledJobs($workspaceId: ID!, $filter: JobFilterInput, $pagination: SchedulerPaginationInput) {\n scheduledJobs(workspaceId: $workspaceId, filter: $filter, pagination: $pagination) {\n jobs { id name status scheduleType nextExecutionAt createdAt }\n total nextCursor\n }\n }\n`;\n\nexport const GET_SCHEDULED_JOB = `\n query GetScheduledJob($id: ID!) {\n scheduledJob(id: $id) {\n id name status scheduleType cronExpression executorType\n nextExecutionAt lastExecutionAt\n }\n }\n`;\n\nexport const CREATE_SCHEDULED_JOB = `\n mutation CreateScheduledJob($workspaceId: ID!, $input: CreateScheduledJobInput!) {\n createScheduledJob(workspaceId: $workspaceId, input: $input) {\n id name status scheduleType\n }\n }\n`;\n\nexport const DELETE_SCHEDULED_JOB = `\n mutation DeleteScheduledJob($id: ID!) {\n deleteScheduledJob(id: $id)\n }\n`;\n\nexport const JOB_EXECUTIONS = `\n query JobExecutions($jobId: ID!, $pagination: SchedulerPaginationInput) {\n jobExecutions(jobId: $jobId, pagination: $pagination) {\n executions { id status startedAt completedAt duration errorMessage success }\n total nextCursor\n }\n }\n`;\n","/**\n * Scheduler MCP tools — scheduled jobs CRUD + execution history.\n * Surface mirrors cli-sdk/src/modules/scheduler/commands.ts.\n */\n\nimport { z } from 'zod';\nimport { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';\nimport { jsonResult, errorResult, mcpToolName, type McpContext } from '../../core/index.js';\nimport * as ops from './operations.js';\n\ninterface JobRow {\n id: string;\n name: string;\n status?: string;\n scheduleType?: string;\n nextExecutionAt?: string;\n createdAt?: string;\n}\n\ninterface ExecutionRow {\n id: string;\n status?: string;\n startedAt?: string;\n completedAt?: string;\n duration?: number;\n errorMessage?: string | null;\n success?: boolean;\n}\n\nfunction readWorkspaceId(ctx: McpContext): string | null {\n const auth = ctx.auth.read();\n return auth?.workspaceId ?? null;\n}\n\nconst ScheduleTypeEnum = z.enum(['CRON', 'INTERVAL', 'ONCE']);\nconst ExecutorTypeEnum = z.enum(['WORKFLOW', 'FUNCTION', 'WEBHOOK']);\n\nexport function registerSchedulerTools(\n server: McpServer,\n ctx: McpContext,\n track: (n: string) => string,\n): void {\n server.registerTool(\n track(mcpToolName(ctx.productName, 'scheduler_jobs_list')),\n {\n title: 'List Scheduled Jobs',\n description: 'List scheduled jobs in the active workspace.',\n inputSchema: {\n status: z.string().optional().describe('Filter by status (will be uppercased)'),\n type: ScheduleTypeEnum.optional().describe('Filter by scheduleType'),\n limit: z.number().optional().describe('Page size (default 50)'),\n },\n },\n async ({ status, type, limit }) => {\n try {\n const workspaceId = readWorkspaceId(ctx);\n if (!workspaceId) {\n return errorResult('No workspace set. Run the auth workspace_set tool first.');\n }\n const filter: Record<string, unknown> = {};\n if (status !== undefined) filter.status = status.toUpperCase();\n if (type !== undefined) filter.scheduleType = type;\n const data = await ctx.gql.workspace.request<{\n scheduledJobs: { jobs: JobRow[]; total: number; nextCursor?: string };\n }>(ops.LIST_SCHEDULED_JOBS, {\n workspaceId,\n filter: Object.keys(filter).length > 0 ? filter : undefined,\n pagination: { limit: limit ?? 50, offset: 0 },\n });\n return jsonResult(data.scheduledJobs);\n } catch (error) {\n ctx.logger.error('scheduler_jobs_list failed', { error: String(error) });\n return errorResult(\n `Failed to list scheduled jobs: ${error instanceof Error ? error.message : String(error)}`,\n );\n }\n },\n );\n\n server.registerTool(\n track(mcpToolName(ctx.productName, 'scheduler_jobs_get')),\n {\n title: 'Get Scheduled Job',\n description: 'Get a scheduled job by ID.',\n inputSchema: { id: z.string().describe('Job ID') },\n },\n async ({ id }) => {\n try {\n const data = await ctx.gql.workspace.request<{ scheduledJob: JobRow | null }>(\n ops.GET_SCHEDULED_JOB,\n { id },\n );\n if (!data.scheduledJob) return errorResult(`Job ${id} not found`);\n return jsonResult(data.scheduledJob);\n } catch (error) {\n ctx.logger.error('scheduler_jobs_get failed', { error: String(error) });\n return errorResult(\n `Failed to get scheduled job: ${error instanceof Error ? error.message : String(error)}`,\n );\n }\n },\n );\n\n server.registerTool(\n track(mcpToolName(ctx.productName, 'scheduler_jobs_create')),\n {\n title: 'Create Scheduled Job',\n description: 'Create a scheduled job.',\n inputSchema: {\n name: z.string().describe('Job name'),\n type: ScheduleTypeEnum.describe('Schedule type'),\n cron: z.string().optional().describe('Cron expression (for CRON type)'),\n intervalSeconds: z.number().optional().describe('Interval seconds (for INTERVAL type)'),\n executor: ExecutorTypeEnum.optional().describe('Executor type (default WORKFLOW)'),\n executorConfig: z\n .record(z.string(), z.unknown())\n .optional()\n .describe('Executor configuration object'),\n },\n },\n async ({ name, type, cron, intervalSeconds, executor, executorConfig }) => {\n try {\n const workspaceId = readWorkspaceId(ctx);\n if (!workspaceId) {\n return errorResult('No workspace set. Run the auth workspace_set tool first.');\n }\n const input: Record<string, unknown> = {\n name,\n scheduleType: type,\n executorType: executor ?? 'WORKFLOW',\n executorConfig: executorConfig ?? {},\n };\n if (cron !== undefined) input.cronExpression = cron;\n if (intervalSeconds !== undefined) input.intervalSeconds = intervalSeconds;\n const data = await ctx.gql.workspace.request<{ createScheduledJob: JobRow }>(\n ops.CREATE_SCHEDULED_JOB,\n { workspaceId, input },\n );\n return jsonResult(data.createScheduledJob);\n } catch (error) {\n ctx.logger.error('scheduler_jobs_create failed', { error: String(error) });\n return errorResult(\n `Failed to create scheduled job: ${error instanceof Error ? error.message : String(error)}`,\n );\n }\n },\n );\n\n server.registerTool(\n track(mcpToolName(ctx.productName, 'scheduler_jobs_delete')),\n {\n title: 'Delete Scheduled Job',\n description: 'Delete a scheduled job.',\n inputSchema: { id: z.string().describe('Job ID') },\n },\n async ({ id }) => {\n try {\n const data = await ctx.gql.workspace.request<{ deleteScheduledJob: boolean }>(\n ops.DELETE_SCHEDULED_JOB,\n { id },\n );\n return jsonResult({ deleted: data.deleteScheduledJob, jobId: id });\n } catch (error) {\n ctx.logger.error('scheduler_jobs_delete failed', { error: String(error) });\n return errorResult(\n `Failed to delete scheduled job: ${error instanceof Error ? error.message : String(error)}`,\n );\n }\n },\n );\n\n server.registerTool(\n track(mcpToolName(ctx.productName, 'scheduler_executions_list')),\n {\n title: 'List Job Executions',\n description: 'List execution history for a scheduled job.',\n inputSchema: {\n jobId: z.string().describe('Job ID'),\n limit: z.number().optional().describe('Page size (default 100)'),\n },\n },\n async ({ jobId, limit }) => {\n try {\n const data = await ctx.gql.workspace.request<{\n jobExecutions: { executions: ExecutionRow[]; total: number; nextCursor?: string };\n }>(ops.JOB_EXECUTIONS, {\n jobId,\n pagination: { limit: limit ?? 100, offset: 0 },\n });\n return jsonResult(data.jobExecutions);\n } catch (error) {\n ctx.logger.error('scheduler_executions_list failed', { error: String(error) });\n return errorResult(\n `Failed to list executions: ${error instanceof Error ? error.message : String(error)}`,\n );\n }\n },\n );\n}\n","/**\n * Scheduler module — scheduled jobs and executions.\n * Surface mirrors cli-sdk/src/modules/scheduler/.\n */\n\nimport type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';\nimport type { McpContext, McpModule, ModuleRegistration } from '../../core/index.js';\nimport { registerSchedulerTools } from './tools.js';\n\nconst schedulerModule: McpModule = {\n id: 'scheduler',\n version: '0.0.1',\n displayName: 'Scheduler',\n dependsOn: ['auth'],\n capabilities: { tools: {} },\n\n register(server: McpServer, ctx: McpContext): ModuleRegistration {\n const tools: string[] = [];\n const track = (n: string): string => {\n tools.push(n);\n return n;\n };\n\n registerSchedulerTools(server, ctx, track);\n\n return { tools, resources: [], prompts: [] };\n },\n};\n\nexport default schedulerModule;\n"]}