@continuumdao/continuum-node-sdk 1.2.10 → 1.2.12

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 (178) hide show
  1. package/dist/api/envelope.d.ts.map +1 -1
  2. package/dist/api/envelope.js +33 -6
  3. package/dist/api/envelope.js.map +1 -1
  4. package/dist/api/node-read.d.ts +1 -1
  5. package/dist/api/node-read.d.ts.map +1 -1
  6. package/dist/api/node-read.js +2 -1
  7. package/dist/api/node-read.js.map +1 -1
  8. package/dist/core/agent/cron-jobs.d.ts +55 -0
  9. package/dist/core/agent/cron-jobs.d.ts.map +1 -0
  10. package/dist/core/agent/cron-jobs.js +575 -0
  11. package/dist/core/agent/cron-jobs.js.map +1 -0
  12. package/dist/core/agent/mcp-servers-catalog.d.ts +15 -0
  13. package/dist/core/agent/mcp-servers-catalog.d.ts.map +1 -0
  14. package/dist/core/agent/mcp-servers-catalog.js +109 -0
  15. package/dist/core/agent/mcp-servers-catalog.js.map +1 -0
  16. package/dist/core/agent/mcp-servers.d.ts +28 -0
  17. package/dist/core/agent/mcp-servers.d.ts.map +1 -0
  18. package/dist/core/agent/mcp-servers.js +275 -0
  19. package/dist/core/agent/mcp-servers.js.map +1 -0
  20. package/dist/core/agent/skills.d.ts +26 -0
  21. package/dist/core/agent/skills.d.ts.map +1 -0
  22. package/dist/core/agent/skills.js +200 -0
  23. package/dist/core/agent/skills.js.map +1 -0
  24. package/dist/core/group-request-id.d.ts +9 -0
  25. package/dist/core/group-request-id.d.ts.map +1 -0
  26. package/dist/core/group-request-id.js +49 -0
  27. package/dist/core/group-request-id.js.map +1 -0
  28. package/dist/core/groups.d.ts.map +1 -1
  29. package/dist/core/groups.js +10 -10
  30. package/dist/core/groups.js.map +1 -1
  31. package/dist/core/keygen-id.d.ts +9 -0
  32. package/dist/core/keygen-id.d.ts.map +1 -0
  33. package/dist/core/keygen-id.js +49 -0
  34. package/dist/core/keygen-id.js.map +1 -0
  35. package/dist/core/keygen-messaging.d.ts +31 -0
  36. package/dist/core/keygen-messaging.d.ts.map +1 -0
  37. package/dist/core/keygen-messaging.js +454 -0
  38. package/dist/core/keygen-messaging.js.map +1 -0
  39. package/dist/core/keygen.d.ts +10 -1
  40. package/dist/core/keygen.d.ts.map +1 -1
  41. package/dist/core/keygen.js +99 -25
  42. package/dist/core/keygen.js.map +1 -1
  43. package/dist/core/mpc/broadcast-sign-result.d.ts.map +1 -1
  44. package/dist/core/mpc/broadcast-sign-result.js +64 -26
  45. package/dist/core/mpc/broadcast-sign-result.js.map +1 -1
  46. package/dist/core/mpc/client.d.ts.map +1 -1
  47. package/dist/core/mpc/client.js +37 -13
  48. package/dist/core/mpc/client.js.map +1 -1
  49. package/dist/core/mpc/gas-options.d.ts +7 -0
  50. package/dist/core/mpc/gas-options.d.ts.map +1 -0
  51. package/dist/core/mpc/gas-options.js +122 -0
  52. package/dist/core/mpc/gas-options.js.map +1 -0
  53. package/dist/core/mpc/get-sign-result-summary.d.ts +7 -0
  54. package/dist/core/mpc/get-sign-result-summary.d.ts.map +1 -0
  55. package/dist/core/mpc/get-sign-result-summary.js +20 -0
  56. package/dist/core/mpc/get-sign-result-summary.js.map +1 -0
  57. package/dist/core/mpc/mpa-top-up.d.ts +1 -3
  58. package/dist/core/mpc/mpa-top-up.d.ts.map +1 -1
  59. package/dist/core/mpc/mpa-top-up.js +10 -3
  60. package/dist/core/mpc/mpa-top-up.js.map +1 -1
  61. package/dist/core/mpc/resolve-recipient.d.ts +10 -0
  62. package/dist/core/mpc/resolve-recipient.d.ts.map +1 -0
  63. package/dist/core/mpc/resolve-recipient.js +44 -0
  64. package/dist/core/mpc/resolve-recipient.js.map +1 -0
  65. package/dist/core/mpc/resolve-transfer-input.d.ts +19 -0
  66. package/dist/core/mpc/resolve-transfer-input.d.ts.map +1 -0
  67. package/dist/core/mpc/resolve-transfer-input.js +65 -0
  68. package/dist/core/mpc/resolve-transfer-input.js.map +1 -0
  69. package/dist/core/mpc/schemas.d.ts +182 -16
  70. package/dist/core/mpc/schemas.d.ts.map +1 -1
  71. package/dist/core/mpc/schemas.js +348 -40
  72. package/dist/core/mpc/schemas.js.map +1 -1
  73. package/dist/core/mpc/sign-request-id.d.ts +9 -0
  74. package/dist/core/mpc/sign-request-id.d.ts.map +1 -0
  75. package/dist/core/mpc/sign-request-id.js +50 -0
  76. package/dist/core/mpc/sign-request-id.js.map +1 -0
  77. package/dist/core/mpc/sign-request-lifecycle.d.ts +24 -12
  78. package/dist/core/mpc/sign-request-lifecycle.d.ts.map +1 -1
  79. package/dist/core/mpc/sign-request-lifecycle.js +132 -34
  80. package/dist/core/mpc/sign-request-lifecycle.js.map +1 -1
  81. package/dist/core/mpc/sign-request-utils.d.ts +58 -0
  82. package/dist/core/mpc/sign-request-utils.d.ts.map +1 -1
  83. package/dist/core/mpc/sign-request-utils.js +361 -1
  84. package/dist/core/mpc/sign-request-utils.js.map +1 -1
  85. package/dist/core/mpc/sign-result-summary.d.ts +15 -0
  86. package/dist/core/mpc/sign-result-summary.d.ts.map +1 -0
  87. package/dist/core/mpc/sign-result-summary.js +141 -0
  88. package/dist/core/mpc/sign-result-summary.js.map +1 -0
  89. package/dist/core/mpc/transfer-native.d.ts.map +1 -1
  90. package/dist/core/mpc/transfer-native.js +30 -14
  91. package/dist/core/mpc/transfer-native.js.map +1 -1
  92. package/dist/core/mpc/transfer-tokens.d.ts.map +1 -1
  93. package/dist/core/mpc/transfer-tokens.js +36 -7
  94. package/dist/core/mpc/transfer-tokens.js.map +1 -1
  95. package/dist/core/mpc/trigger-sign-result.d.ts +1 -1
  96. package/dist/core/mpc/trigger-sign-result.d.ts.map +1 -1
  97. package/dist/core/mpc/trigger-sign-result.js +6 -3
  98. package/dist/core/mpc/trigger-sign-result.js.map +1 -1
  99. package/dist/core/registry/networks.d.ts +7 -3
  100. package/dist/core/registry/networks.d.ts.map +1 -1
  101. package/dist/core/registry/networks.js +67 -2
  102. package/dist/core/registry/networks.js.map +1 -1
  103. package/dist/core/registry/registry-lookup.d.ts +21 -0
  104. package/dist/core/registry/registry-lookup.d.ts.map +1 -0
  105. package/dist/core/registry/registry-lookup.js +113 -0
  106. package/dist/core/registry/registry-lookup.js.map +1 -0
  107. package/dist/core/registry/tokens.d.ts +7 -0
  108. package/dist/core/registry/tokens.d.ts.map +1 -1
  109. package/dist/core/registry/tokens.js +104 -2
  110. package/dist/core/registry/tokens.js.map +1 -1
  111. package/dist/core/types.d.ts +1 -1
  112. package/dist/core/types.d.ts.map +1 -1
  113. package/dist/core/types.js +2 -3
  114. package/dist/core/types.js.map +1 -1
  115. package/dist/index.d.ts +12 -4
  116. package/dist/index.d.ts.map +1 -1
  117. package/dist/index.js +12 -4
  118. package/dist/index.js.map +1 -1
  119. package/dist/internal/agent-cron-schedule-input.d.ts +3 -0
  120. package/dist/internal/agent-cron-schedule-input.d.ts.map +1 -0
  121. package/dist/internal/agent-cron-schedule-input.js +84 -0
  122. package/dist/internal/agent-cron-schedule-input.js.map +1 -0
  123. package/dist/mcp/agent-cron-jobs.d.ts +4 -0
  124. package/dist/mcp/agent-cron-jobs.d.ts.map +1 -0
  125. package/dist/mcp/agent-cron-jobs.js +80 -0
  126. package/dist/mcp/agent-cron-jobs.js.map +1 -0
  127. package/dist/mcp/agent-mcp-servers.d.ts +4 -0
  128. package/dist/mcp/agent-mcp-servers.d.ts.map +1 -0
  129. package/dist/mcp/agent-mcp-servers.js +46 -0
  130. package/dist/mcp/agent-mcp-servers.js.map +1 -0
  131. package/dist/mcp/agent-skills.d.ts +4 -0
  132. package/dist/mcp/agent-skills.d.ts.map +1 -0
  133. package/dist/mcp/agent-skills.js +41 -0
  134. package/dist/mcp/agent-skills.js.map +1 -0
  135. package/dist/mcp/defi/input-adapter.d.ts.map +1 -1
  136. package/dist/mcp/defi/input-adapter.js +9 -3
  137. package/dist/mcp/defi/input-adapter.js.map +1 -1
  138. package/dist/mcp/defi/register-protocol-tools.d.ts.map +1 -1
  139. package/dist/mcp/defi/register-protocol-tools.js +3 -0
  140. package/dist/mcp/defi/register-protocol-tools.js.map +1 -1
  141. package/dist/mcp/group.js +1 -1
  142. package/dist/mcp/group.js.map +1 -1
  143. package/dist/mcp/keygen-messaging.d.ts +4 -0
  144. package/dist/mcp/keygen-messaging.d.ts.map +1 -0
  145. package/dist/mcp/keygen-messaging.js +54 -0
  146. package/dist/mcp/keygen-messaging.js.map +1 -0
  147. package/dist/mcp/keygen.d.ts.map +1 -1
  148. package/dist/mcp/keygen.js +19 -2
  149. package/dist/mcp/keygen.js.map +1 -1
  150. package/dist/mcp/mpc-gas-docs.d.ts +7 -0
  151. package/dist/mcp/mpc-gas-docs.d.ts.map +1 -0
  152. package/dist/mcp/mpc-gas-docs.js +7 -0
  153. package/dist/mcp/mpc-gas-docs.js.map +1 -0
  154. package/dist/mcp/mpc.d.ts.map +1 -1
  155. package/dist/mcp/mpc.js +180 -29
  156. package/dist/mcp/mpc.js.map +1 -1
  157. package/dist/mcp/register.d.ts +4 -0
  158. package/dist/mcp/register.d.ts.map +1 -1
  159. package/dist/mcp/register.js +15 -0
  160. package/dist/mcp/register.js.map +1 -1
  161. package/dist/mcp/registry/address-book.d.ts.map +1 -1
  162. package/dist/mcp/registry/address-book.js +1 -1
  163. package/dist/mcp/registry/address-book.js.map +1 -1
  164. package/dist/mcp/registry/networks.d.ts.map +1 -1
  165. package/dist/mcp/registry/networks.js +1 -1
  166. package/dist/mcp/registry/networks.js.map +1 -1
  167. package/dist/mcp/registry/tokens.d.ts.map +1 -1
  168. package/dist/mcp/registry/tokens.js +22 -6
  169. package/dist/mcp/registry/tokens.js.map +1 -1
  170. package/dist/mcp/tool-utils.d.ts +2 -0
  171. package/dist/mcp/tool-utils.d.ts.map +1 -1
  172. package/dist/mcp/tool-utils.js +7 -2
  173. package/dist/mcp/tool-utils.js.map +1 -1
  174. package/dist/schemas/extended.d.ts +590 -3
  175. package/dist/schemas/extended.d.ts.map +1 -1
  176. package/dist/schemas/extended.js +393 -7
  177. package/dist/schemas/extended.js.map +1 -1
  178. package/package.json +1 -1
@@ -0,0 +1,575 @@
1
+ import { buildManagementQueryPath, managementGet, managementPost, } from '../../api/management-api.js';
2
+ import { AGENT_CRON_API_PATHS, AddCronJobInputSchema, AgentCronJobDetailSchema, AgentCronJobSummarySchema, AgentCronRunSchema, AgentCronScheduleSchema, CronJobRefInputSchema, DEFAULT_MANAGEMENT_SIGNING, GetCronJobQuerySchema, ListCronJobRunsDataSchema, ListCronJobRunsQuerySchema, ListCronJobsDataSchema, RemoveCronJobInputSchema, RunCronJobOutputSchema, UpdateCronJobInputSchema, } from '../../schemas/extended.js';
3
+ import { buildManagementPostRequest, managementSign, toSelectedSigningKey, } from '../management-signer.js';
4
+ const CRON_JOB_NAME_RE = /^[a-z][a-z0-9_-]*$/;
5
+ const CRON_FIELD_RE = /^(\*|\*\/\d+|\d+(?:-\d+)?(?:\/\d+)?(?:,\d+(?:-\d+)?(?:\/\d+)?)*)$/;
6
+ export function normalizeCronJobName(raw) {
7
+ return raw
8
+ .trim()
9
+ .toLowerCase()
10
+ .replace(/[^a-z0-9_-]/g, '-')
11
+ .replace(/^-+/, '')
12
+ .replace(/-+/g, '-');
13
+ }
14
+ export function validateCronJobName(name) {
15
+ const normalized = normalizeCronJobName(name);
16
+ if (!normalized) {
17
+ return 'Cron job name is required.';
18
+ }
19
+ if (normalized.length > 64) {
20
+ return 'Cron job name must be at most 64 characters.';
21
+ }
22
+ if (!CRON_JOB_NAME_RE.test(normalized)) {
23
+ return 'Cron job name must start with a-z and use only a-z, 0-9, hyphen, and underscore.';
24
+ }
25
+ return null;
26
+ }
27
+ function validateCronExpr(expr) {
28
+ const trimmed = expr.trim();
29
+ if (!trimmed) {
30
+ return 'Cron expression is required.';
31
+ }
32
+ const parts = trimmed.split(/\s+/);
33
+ if (parts.length !== 5) {
34
+ return 'Cron expression must have exactly 5 fields (minute hour day month weekday).';
35
+ }
36
+ for (const part of parts) {
37
+ if (!CRON_FIELD_RE.test(part)) {
38
+ return `Invalid cron field: ${part}`;
39
+ }
40
+ }
41
+ return null;
42
+ }
43
+ export function validateCronSchedule(schedule) {
44
+ if (schedule.kind === 'every') {
45
+ if (!schedule.everyMs || schedule.everyMs <= 0) {
46
+ return 'Interval must be greater than zero.';
47
+ }
48
+ return null;
49
+ }
50
+ if (schedule.kind === 'cron') {
51
+ const err = validateCronExpr(schedule.expr ?? '');
52
+ if (err) {
53
+ return err;
54
+ }
55
+ return null;
56
+ }
57
+ if (schedule.kind === 'at') {
58
+ if (!schedule.at?.trim()) {
59
+ return 'Date and time are required for a one-off run.';
60
+ }
61
+ const d = new Date(schedule.at);
62
+ if (Number.isNaN(d.getTime())) {
63
+ return 'Invalid date/time.';
64
+ }
65
+ return null;
66
+ }
67
+ return 'Unknown schedule type.';
68
+ }
69
+ function parseScheduleFromApi(raw) {
70
+ if (!raw || typeof raw !== 'object' || Array.isArray(raw)) {
71
+ return null;
72
+ }
73
+ const o = raw;
74
+ const kind = String(o.kind ?? o.Kind ?? '')
75
+ .trim()
76
+ .toLowerCase();
77
+ if (kind !== 'cron' && kind !== 'every' && kind !== 'at') {
78
+ return null;
79
+ }
80
+ const schedule = { kind };
81
+ const expr = String(o.expr ?? o.Expr ?? '').trim();
82
+ if (expr) {
83
+ schedule.expr = expr;
84
+ }
85
+ const tz = String(o.tz ?? o.Tz ?? '').trim();
86
+ if (tz) {
87
+ schedule.tz = tz;
88
+ }
89
+ const everyRaw = o.everyMs ?? o.EveryMs;
90
+ if (everyRaw != null && everyRaw !== '') {
91
+ const n = typeof everyRaw === 'number' ? everyRaw : Number(String(everyRaw));
92
+ if (Number.isFinite(n) && n > 0) {
93
+ schedule.everyMs = n;
94
+ }
95
+ }
96
+ const at = String(o.at ?? o.At ?? '').trim();
97
+ if (at) {
98
+ schedule.at = at;
99
+ }
100
+ const parsed = AgentCronScheduleSchema.safeParse(schedule);
101
+ return parsed.success ? parsed.data : null;
102
+ }
103
+ function scheduleToApiBody(schedule) {
104
+ const body = { kind: schedule.kind };
105
+ if (schedule.kind === 'cron') {
106
+ body.expr = schedule.expr.trim();
107
+ const tz = schedule.tz?.trim();
108
+ if (tz) {
109
+ body.tz = tz;
110
+ }
111
+ }
112
+ else if (schedule.kind === 'every') {
113
+ body.everyMs = schedule.everyMs;
114
+ }
115
+ else if (schedule.kind === 'at') {
116
+ body.at = schedule.at.trim();
117
+ }
118
+ return body;
119
+ }
120
+ function parseJobSummary(raw) {
121
+ if (!raw || typeof raw !== 'object' || Array.isArray(raw)) {
122
+ return null;
123
+ }
124
+ const o = raw;
125
+ const id = String(o.id ?? o.Id ?? '').trim();
126
+ const name = String(o.name ?? o.Name ?? '').trim();
127
+ if (!id || !name) {
128
+ return null;
129
+ }
130
+ const parsed = AgentCronJobSummarySchema.safeParse({
131
+ id,
132
+ name,
133
+ enabled: Boolean(o.enabled ?? o.Enabled ?? false),
134
+ schedule: parseScheduleFromApi(o.schedule ?? o.Schedule),
135
+ conversationId: String(o.conversationId ?? o.ConversationId ?? '').trim(),
136
+ deleteAfterRun: o.deleteAfterRun != null || o.DeleteAfterRun != null
137
+ ? Boolean(o.deleteAfterRun ?? o.DeleteAfterRun)
138
+ : undefined,
139
+ createdAt: String(o.createdAt ?? o.CreatedAt ?? '').trim() || undefined,
140
+ updatedAt: String(o.updatedAt ?? o.UpdatedAt ?? '').trim() || undefined,
141
+ lastRunAt: String(o.lastRunAt ?? o.LastRunAt ?? '').trim() || undefined,
142
+ nextRunAt: String(o.nextRunAt ?? o.NextRunAt ?? '').trim() || undefined,
143
+ lastRunStatus: String(o.lastRunStatus ?? o.LastRunStatus ?? '').trim() || undefined,
144
+ });
145
+ return parsed.success ? parsed.data : null;
146
+ }
147
+ function parseJobDetail(raw) {
148
+ const summary = parseJobSummary(raw);
149
+ if (!summary || !raw || typeof raw !== 'object' || Array.isArray(raw)) {
150
+ return null;
151
+ }
152
+ const o = raw;
153
+ const parsed = AgentCronJobDetailSchema.safeParse({
154
+ ...summary,
155
+ message: String(o.message ?? o.Message ?? ''),
156
+ });
157
+ return parsed.success ? parsed.data : null;
158
+ }
159
+ function parseCronRun(raw) {
160
+ if (!raw || typeof raw !== 'object' || Array.isArray(raw)) {
161
+ return null;
162
+ }
163
+ const o = raw;
164
+ const parsed = AgentCronRunSchema.safeParse({
165
+ runId: String(o.runId ?? o.RunId ?? '').trim(),
166
+ startedAt: String(o.startedAt ?? o.StartedAt ?? '').trim(),
167
+ finishedAt: String(o.finishedAt ?? o.FinishedAt ?? '').trim() || undefined,
168
+ status: String(o.status ?? o.Status ?? '').trim(),
169
+ error: String(o.error ?? o.Error ?? '').trim() || undefined,
170
+ assistantPreview: String(o.assistantPreview ?? o.AssistantPreview ?? '').trim() ||
171
+ undefined,
172
+ });
173
+ return parsed.success && parsed.data.runId ? parsed.data : null;
174
+ }
175
+ function buildCronJobRefFields(ref) {
176
+ const fields = {};
177
+ if (ref.id?.trim()) {
178
+ fields.id = ref.id.trim();
179
+ }
180
+ if (ref.name?.trim()) {
181
+ fields.name = normalizeCronJobName(ref.name);
182
+ }
183
+ return fields;
184
+ }
185
+ function validateCronJobRef(ref) {
186
+ if (!ref.id?.trim() && !ref.name?.trim()) {
187
+ return 'Job id or name is required.';
188
+ }
189
+ if (ref.name?.trim()) {
190
+ return validateCronJobName(ref.name);
191
+ }
192
+ return null;
193
+ }
194
+ function buildAddCronJobBodyFields(input) {
195
+ const fields = {
196
+ name: normalizeCronJobName(input.name),
197
+ message: input.message,
198
+ schedule: scheduleToApiBody(input.schedule),
199
+ };
200
+ if (input.enabled != null) {
201
+ fields.enabled = input.enabled;
202
+ }
203
+ if (input.deleteAfterRun != null) {
204
+ fields.deleteAfterRun = input.deleteAfterRun;
205
+ }
206
+ else if (input.schedule.kind === 'at') {
207
+ fields.deleteAfterRun = true;
208
+ }
209
+ return fields;
210
+ }
211
+ /** GET /listCronJobs — agent cron job summaries (message omitted). */
212
+ export async function listCronJobs(config) {
213
+ const result = await managementGet(config, AGENT_CRON_API_PATHS.list);
214
+ if (!result.ok) {
215
+ return result;
216
+ }
217
+ const data = result.data && typeof result.data === 'object' && !Array.isArray(result.data)
218
+ ? result.data
219
+ : {};
220
+ const listRaw = data.jobs ?? data.Jobs;
221
+ const jobs = [];
222
+ if (Array.isArray(listRaw)) {
223
+ for (const item of listRaw) {
224
+ const row = parseJobSummary(item);
225
+ if (row) {
226
+ jobs.push(row);
227
+ }
228
+ }
229
+ }
230
+ const parsed = ListCronJobsDataSchema.safeParse({ jobs });
231
+ if (!parsed.success) {
232
+ return { ok: false, reason: 'Cron job list response failed validation.' };
233
+ }
234
+ return { ok: true, data: parsed.data };
235
+ }
236
+ /** GET /getCronJob — one cron job including message. */
237
+ export async function getCronJob(config, query) {
238
+ const parsedQuery = GetCronJobQuerySchema.safeParse(query);
239
+ if (!parsedQuery.success) {
240
+ return { ok: false, reason: 'Job id or name is required.' };
241
+ }
242
+ const refErr = validateCronJobRef(parsedQuery.data);
243
+ if (refErr && parsedQuery.data.name) {
244
+ return { ok: false, reason: refErr };
245
+ }
246
+ const params = {};
247
+ if (parsedQuery.data.id?.trim()) {
248
+ params.id = parsedQuery.data.id.trim();
249
+ }
250
+ else if (parsedQuery.data.name?.trim()) {
251
+ params.name = normalizeCronJobName(parsedQuery.data.name);
252
+ }
253
+ const path = buildManagementQueryPath(AGENT_CRON_API_PATHS.get, params);
254
+ const result = await managementGet(config, path);
255
+ if (!result.ok) {
256
+ return result;
257
+ }
258
+ const job = parseJobDetail(result.data);
259
+ if (!job) {
260
+ return { ok: false, reason: 'Cron job response failed validation.' };
261
+ }
262
+ return { ok: true, data: job };
263
+ }
264
+ /** GET /listCronJobRuns — recent run history for a job. */
265
+ export async function listCronJobRuns(config, query) {
266
+ const parsedQuery = ListCronJobRunsQuerySchema.safeParse(query);
267
+ if (!parsedQuery.success) {
268
+ return { ok: false, reason: 'Invalid list cron job runs query.' };
269
+ }
270
+ const params = {
271
+ jobId: parsedQuery.data.jobId.trim(),
272
+ limit: parsedQuery.data.limit != null
273
+ ? String(parsedQuery.data.limit)
274
+ : undefined,
275
+ };
276
+ const path = buildManagementQueryPath(AGENT_CRON_API_PATHS.listRuns, params);
277
+ const result = await managementGet(config, path);
278
+ if (!result.ok) {
279
+ return result;
280
+ }
281
+ const data = result.data && typeof result.data === 'object' && !Array.isArray(result.data)
282
+ ? result.data
283
+ : {};
284
+ const jobId = String(data.jobId ?? data.JobId ?? parsedQuery.data.jobId).trim();
285
+ const listRaw = data.runs ?? data.Runs;
286
+ const runs = [];
287
+ if (Array.isArray(listRaw)) {
288
+ for (const item of listRaw) {
289
+ const row = parseCronRun(item);
290
+ if (row) {
291
+ runs.push(row);
292
+ }
293
+ }
294
+ }
295
+ const parsed = ListCronJobRunsDataSchema.safeParse({ jobId, runs });
296
+ if (!parsed.success) {
297
+ return { ok: false, reason: 'Cron job run list response failed validation.' };
298
+ }
299
+ return { ok: true, data: parsed.data };
300
+ }
301
+ export async function buildAddCronJob(config, input, signing = DEFAULT_MANAGEMENT_SIGNING) {
302
+ const parsed = AddCronJobInputSchema.safeParse(input);
303
+ if (!parsed.success) {
304
+ return { ok: false, reason: 'Invalid add cron job input.' };
305
+ }
306
+ const nameErr = validateCronJobName(parsed.data.name);
307
+ if (nameErr) {
308
+ return { ok: false, reason: nameErr };
309
+ }
310
+ const scheduleErr = validateCronSchedule(parsed.data.schedule);
311
+ if (scheduleErr) {
312
+ return { ok: false, reason: scheduleErr };
313
+ }
314
+ return buildManagementPostRequest(config, {
315
+ path: AGENT_CRON_API_PATHS.add,
316
+ buildRequestFields: () => buildAddCronJobBodyFields(parsed.data),
317
+ }, signing);
318
+ }
319
+ export async function addCronJob(config, input, signing = DEFAULT_MANAGEMENT_SIGNING) {
320
+ const built = await buildAddCronJob(config, input, signing);
321
+ if (!built.ok) {
322
+ return built;
323
+ }
324
+ const signed = await managementSign(config, signing, built.data.unsignedBody);
325
+ if (!signed.ok) {
326
+ return signed;
327
+ }
328
+ const posted = await managementPost(config, built.data.path, signed.data);
329
+ if (!posted.ok) {
330
+ return posted;
331
+ }
332
+ const job = parseJobDetail(posted.data);
333
+ if (!job) {
334
+ return { ok: false, reason: 'Add cron job response failed validation.' };
335
+ }
336
+ return {
337
+ ok: true,
338
+ data: {
339
+ job,
340
+ selectedSigningKey: built.data.selectedSigningKey
341
+ ? toSelectedSigningKey(built.data.selectedSigningKey)
342
+ : undefined,
343
+ signingMessage: built.data.canonicalJson,
344
+ },
345
+ };
346
+ }
347
+ export async function buildUpdateCronJob(config, input, signing = DEFAULT_MANAGEMENT_SIGNING) {
348
+ const parsed = UpdateCronJobInputSchema.safeParse(input);
349
+ if (!parsed.success) {
350
+ return { ok: false, reason: 'Invalid update cron job input.' };
351
+ }
352
+ const refErr = validateCronJobRef(parsed.data);
353
+ if (refErr) {
354
+ return { ok: false, reason: refErr };
355
+ }
356
+ if (parsed.data.schedule) {
357
+ const scheduleErr = validateCronSchedule(parsed.data.schedule);
358
+ if (scheduleErr) {
359
+ return { ok: false, reason: scheduleErr };
360
+ }
361
+ }
362
+ return buildManagementPostRequest(config, {
363
+ path: AGENT_CRON_API_PATHS.update,
364
+ buildRequestFields: () => {
365
+ const fields = buildCronJobRefFields(parsed.data);
366
+ if (parsed.data.message != null) {
367
+ fields.message = parsed.data.message;
368
+ }
369
+ if (parsed.data.schedule) {
370
+ fields.schedule = scheduleToApiBody(parsed.data.schedule);
371
+ }
372
+ if (parsed.data.deleteAfterRun != null) {
373
+ fields.deleteAfterRun = parsed.data.deleteAfterRun;
374
+ }
375
+ return fields;
376
+ },
377
+ }, signing);
378
+ }
379
+ export async function updateCronJob(config, input, signing = DEFAULT_MANAGEMENT_SIGNING) {
380
+ const built = await buildUpdateCronJob(config, input, signing);
381
+ if (!built.ok) {
382
+ return built;
383
+ }
384
+ const signed = await managementSign(config, signing, built.data.unsignedBody);
385
+ if (!signed.ok) {
386
+ return signed;
387
+ }
388
+ const posted = await managementPost(config, built.data.path, signed.data);
389
+ if (!posted.ok) {
390
+ return posted;
391
+ }
392
+ const job = parseJobDetail(posted.data);
393
+ if (!job) {
394
+ return { ok: false, reason: 'Update cron job response failed validation.' };
395
+ }
396
+ return {
397
+ ok: true,
398
+ data: {
399
+ job,
400
+ selectedSigningKey: built.data.selectedSigningKey
401
+ ? toSelectedSigningKey(built.data.selectedSigningKey)
402
+ : undefined,
403
+ signingMessage: built.data.canonicalJson,
404
+ },
405
+ };
406
+ }
407
+ async function postCronJobRefAction(config, path, ref, signing) {
408
+ const parsed = CronJobRefInputSchema.safeParse(ref);
409
+ if (!parsed.success) {
410
+ return { ok: false, reason: 'Job id or name is required.' };
411
+ }
412
+ const refErr = validateCronJobRef(parsed.data);
413
+ if (refErr) {
414
+ return { ok: false, reason: refErr };
415
+ }
416
+ const built = await buildManagementPostRequest(config, {
417
+ path,
418
+ buildRequestFields: () => buildCronJobRefFields(parsed.data),
419
+ }, signing);
420
+ if (!built.ok) {
421
+ return built;
422
+ }
423
+ const signed = await managementSign(config, signing, built.data.unsignedBody);
424
+ if (!signed.ok) {
425
+ return signed;
426
+ }
427
+ const posted = await managementPost(config, path, signed.data);
428
+ if (!posted.ok) {
429
+ return posted;
430
+ }
431
+ const job = parseJobSummary(posted.data);
432
+ if (!job) {
433
+ return { ok: false, reason: 'Cron job response failed validation.' };
434
+ }
435
+ return {
436
+ ok: true,
437
+ data: {
438
+ job,
439
+ selectedSigningKey: built.data.selectedSigningKey
440
+ ? toSelectedSigningKey(built.data.selectedSigningKey)
441
+ : undefined,
442
+ signingMessage: built.data.canonicalJson,
443
+ },
444
+ };
445
+ }
446
+ export async function buildActivateCronJob(config, input, signing = DEFAULT_MANAGEMENT_SIGNING) {
447
+ const parsed = CronJobRefInputSchema.safeParse(input);
448
+ if (!parsed.success) {
449
+ return { ok: false, reason: 'Job id or name is required.' };
450
+ }
451
+ const refErr = validateCronJobRef(parsed.data);
452
+ if (refErr) {
453
+ return { ok: false, reason: refErr };
454
+ }
455
+ return buildManagementPostRequest(config, {
456
+ path: AGENT_CRON_API_PATHS.activate,
457
+ buildRequestFields: () => buildCronJobRefFields(parsed.data),
458
+ }, signing);
459
+ }
460
+ export async function activateCronJob(config, input, signing = DEFAULT_MANAGEMENT_SIGNING) {
461
+ return postCronJobRefAction(config, AGENT_CRON_API_PATHS.activate, input, signing);
462
+ }
463
+ export async function buildDeactivateCronJob(config, input, signing = DEFAULT_MANAGEMENT_SIGNING) {
464
+ const parsed = CronJobRefInputSchema.safeParse(input);
465
+ if (!parsed.success) {
466
+ return { ok: false, reason: 'Job id or name is required.' };
467
+ }
468
+ const refErr = validateCronJobRef(parsed.data);
469
+ if (refErr) {
470
+ return { ok: false, reason: refErr };
471
+ }
472
+ return buildManagementPostRequest(config, {
473
+ path: AGENT_CRON_API_PATHS.deactivate,
474
+ buildRequestFields: () => buildCronJobRefFields(parsed.data),
475
+ }, signing);
476
+ }
477
+ export async function deactivateCronJob(config, input, signing = DEFAULT_MANAGEMENT_SIGNING) {
478
+ return postCronJobRefAction(config, AGENT_CRON_API_PATHS.deactivate, input, signing);
479
+ }
480
+ export async function buildRemoveCronJob(config, input, signing = DEFAULT_MANAGEMENT_SIGNING) {
481
+ const parsed = RemoveCronJobInputSchema.safeParse(input);
482
+ if (!parsed.success) {
483
+ return { ok: false, reason: 'Invalid remove cron job input.' };
484
+ }
485
+ const refErr = validateCronJobRef(parsed.data);
486
+ if (refErr) {
487
+ return { ok: false, reason: refErr };
488
+ }
489
+ return buildManagementPostRequest(config, {
490
+ path: AGENT_CRON_API_PATHS.remove,
491
+ buildRequestFields: () => {
492
+ const fields = buildCronJobRefFields(parsed.data);
493
+ if (parsed.data.deleteConversation != null) {
494
+ fields.deleteConversation = parsed.data.deleteConversation;
495
+ }
496
+ return fields;
497
+ },
498
+ }, signing);
499
+ }
500
+ export async function removeCronJob(config, input, signing = DEFAULT_MANAGEMENT_SIGNING) {
501
+ const built = await buildRemoveCronJob(config, input, signing);
502
+ if (!built.ok) {
503
+ return built;
504
+ }
505
+ const signed = await managementSign(config, signing, built.data.unsignedBody);
506
+ if (!signed.ok) {
507
+ return signed;
508
+ }
509
+ const posted = await managementPost(config, built.data.path, signed.data);
510
+ if (!posted.ok) {
511
+ return posted;
512
+ }
513
+ return {
514
+ ok: true,
515
+ data: {
516
+ message: typeof posted.data === 'string' && posted.data.trim()
517
+ ? posted.data
518
+ : 'Cron job removed',
519
+ selectedSigningKey: built.data.selectedSigningKey
520
+ ? toSelectedSigningKey(built.data.selectedSigningKey)
521
+ : undefined,
522
+ signingMessage: built.data.canonicalJson,
523
+ },
524
+ };
525
+ }
526
+ export async function buildRunCronJob(config, input, signing = DEFAULT_MANAGEMENT_SIGNING) {
527
+ const parsed = CronJobRefInputSchema.safeParse(input);
528
+ if (!parsed.success) {
529
+ return { ok: false, reason: 'Job id or name is required.' };
530
+ }
531
+ const refErr = validateCronJobRef(parsed.data);
532
+ if (refErr) {
533
+ return { ok: false, reason: refErr };
534
+ }
535
+ return buildManagementPostRequest(config, {
536
+ path: AGENT_CRON_API_PATHS.run,
537
+ buildRequestFields: () => buildCronJobRefFields(parsed.data),
538
+ }, signing);
539
+ }
540
+ export async function runCronJob(config, input, signing = DEFAULT_MANAGEMENT_SIGNING) {
541
+ const built = await buildRunCronJob(config, input, signing);
542
+ if (!built.ok) {
543
+ return built;
544
+ }
545
+ const signed = await managementSign(config, signing, built.data.unsignedBody);
546
+ if (!signed.ok) {
547
+ return signed;
548
+ }
549
+ const posted = await managementPost(config, built.data.path, signed.data);
550
+ if (!posted.ok) {
551
+ return posted;
552
+ }
553
+ const data = posted.data && typeof posted.data === 'object' && !Array.isArray(posted.data)
554
+ ? posted.data
555
+ : {};
556
+ const parsed = RunCronJobOutputSchema.safeParse({
557
+ jobId: String(data.jobId ?? data.JobId ?? '').trim(),
558
+ runId: String(data.runId ?? data.RunId ?? '').trim(),
559
+ status: String(data.status ?? data.Status ?? '').trim(),
560
+ });
561
+ if (!parsed.success) {
562
+ return { ok: false, reason: 'Run cron job response failed validation.' };
563
+ }
564
+ return {
565
+ ok: true,
566
+ data: {
567
+ enqueue: parsed.data,
568
+ selectedSigningKey: built.data.selectedSigningKey
569
+ ? toSelectedSigningKey(built.data.selectedSigningKey)
570
+ : undefined,
571
+ signingMessage: built.data.canonicalJson,
572
+ },
573
+ };
574
+ }
575
+ //# sourceMappingURL=cron-jobs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cron-jobs.js","sourceRoot":"","sources":["../../../src/core/agent/cron-jobs.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ import type { AddMcpServerInput } from '../../schemas/extended.js';
2
+ /**
3
+ * Bundled optional MCP catalog (keep in sync with mpc-config agent_llm_config.defaults/MCP_servers.json).
4
+ *
5
+ * When adding another MCP server template, always wire secrets through agent Variables — never inline
6
+ * values in this catalog or in MCP_servers.json on disk:
7
+ * - HTTP auth: `apiKeyEnvVar` (+ optional `apiKeyHeader`); never `apiKey`.
8
+ * - STDIO secrets: `envVars` (all listed names required before load) and/or optional `apiKeyEnvVar`
9
+ * (injected when set; does not block load if unset). Operators set values via POST /addEnvironmentVariable
10
+ * (Node UI → AI Agent → Variables).
11
+ * The AI agent must not see Variable values — only names in listings (`apiKeyEnvVar`, `envVars`,
12
+ * `envConfigured`). Do not add MCP tools that return secret values to the agent.
13
+ */
14
+ export declare const BUNDLED_MCP_SERVER_TEMPLATES: readonly AddMcpServerInput[];
15
+ //# sourceMappingURL=mcp-servers-catalog.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mcp-servers-catalog.d.ts","sourceRoot":"","sources":["../../../src/core/agent/mcp-servers-catalog.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,iBAAiB,EAAC,MAAM,2BAA2B,CAAC;AAEjE;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,4BAA4B,EAAE,SAAS,iBAAiB,EA+F3D,CAAC"}