terse-types 0.0.1 → 0.0.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.
- package/dist/ApiRouteBuilder.d.ts +2 -0
- package/dist/ApiRoutes.json +4 -2
- package/dist/Configs.d.ts +214 -57
- package/dist/Configs.js +289 -36
- package/dist/Integrations.d.ts +10 -1
- package/dist/Integrations.js +11 -2
- package/dist/ModelEvents.d.ts +302 -155
- package/dist/ModelEvents.js +184 -0
- package/dist/Notifications.d.ts +23 -10
- package/dist/Notifications.js +12 -0
- package/dist/RunHistoryTypes.d.ts +7 -3
- package/dist/RunHistoryTypes.js +5 -6
- package/dist/Tools.d.ts +299 -168
- package/dist/Tools.js +171 -164
- package/dist/ToolsTypes.d.ts +4 -0
- package/dist/ToolsTypes.js +5 -1
- package/dist/types.d.ts +4934 -685
- package/dist/types.js +732 -103
- package/package.json +46 -42
package/dist/Tools.js
CHANGED
|
@@ -37,7 +37,7 @@ export const linearIssueSummarySchema = z.object({
|
|
|
37
37
|
title: z.string(),
|
|
38
38
|
description: z.string().nullable().optional(),
|
|
39
39
|
state: z.string(),
|
|
40
|
-
priority: z.number().nullable().optional(),
|
|
40
|
+
priority: z.number().int().nullable().optional(),
|
|
41
41
|
assignee: linearIssueAssigneeSchema.nullable(),
|
|
42
42
|
url: z.string(),
|
|
43
43
|
createdAt: dateLikeSchema,
|
|
@@ -98,7 +98,7 @@ export const linearUserSummarySchema = z.object({
|
|
|
98
98
|
export const linearSearchPaginationSchema = z.object({
|
|
99
99
|
hasNextPage: z.boolean(),
|
|
100
100
|
endCursor: z.string().nullable(),
|
|
101
|
-
limit: z.number().nullable()
|
|
101
|
+
limit: z.number().int().nullable()
|
|
102
102
|
});
|
|
103
103
|
export const slackUserResponseSchema = z.object({
|
|
104
104
|
id: z.string(),
|
|
@@ -145,7 +145,7 @@ export const jiraIssueSummarySchema = z.object({
|
|
|
145
145
|
title: z.string().optional(),
|
|
146
146
|
description: jiraRichDescriptionSchema.optional(),
|
|
147
147
|
state: jiraIssueStateSchema.optional(),
|
|
148
|
-
priority: z.number().optional(),
|
|
148
|
+
priority: z.number().int().optional(),
|
|
149
149
|
assignee: jiraIssueAssigneeSchema.nullable().optional(),
|
|
150
150
|
labels: z.array(z.string()).optional(),
|
|
151
151
|
dueDate: z.string().optional(),
|
|
@@ -156,26 +156,26 @@ export const jiraIssueSummarySchema = z.object({
|
|
|
156
156
|
updatedAt: z.string().optional()
|
|
157
157
|
});
|
|
158
158
|
export const gitHubPaginationSchema = z.object({
|
|
159
|
-
page: z.number(),
|
|
160
|
-
perPage: z.number(),
|
|
159
|
+
page: z.number().int(),
|
|
160
|
+
perPage: z.number().int(),
|
|
161
161
|
hasMore: z.boolean()
|
|
162
162
|
});
|
|
163
163
|
export const gitHubCodeSearchResultSchema = z.object({
|
|
164
|
-
index: z.number(),
|
|
164
|
+
index: z.number().int(),
|
|
165
165
|
repository: z.string(),
|
|
166
166
|
path: z.string(),
|
|
167
167
|
url: z.string(),
|
|
168
168
|
snippets: z.string()
|
|
169
169
|
});
|
|
170
170
|
export const gitHubCodeGrepResultSchema = z.object({
|
|
171
|
-
index: z.number(),
|
|
171
|
+
index: z.number().int(),
|
|
172
172
|
repository: z.string(),
|
|
173
173
|
file: z.string(),
|
|
174
174
|
url: z.string(),
|
|
175
175
|
matches: z.string()
|
|
176
176
|
});
|
|
177
177
|
export const gitHubPullRequestSummarySchema = z.object({
|
|
178
|
-
number: z.number(),
|
|
178
|
+
number: z.number().int(),
|
|
179
179
|
title: z.string(),
|
|
180
180
|
description: z.string(),
|
|
181
181
|
author: z.string(),
|
|
@@ -198,7 +198,7 @@ export const gitHubFileEntrySchema = z.object({
|
|
|
198
198
|
name: z.string().optional(),
|
|
199
199
|
path: z.string(),
|
|
200
200
|
type: z.literal("file").optional(),
|
|
201
|
-
size: z.number().optional()
|
|
201
|
+
size: z.number().int().optional()
|
|
202
202
|
});
|
|
203
203
|
export const gitHubOtherEntrySchema = z.object({
|
|
204
204
|
name: z.string(),
|
|
@@ -213,8 +213,18 @@ export const gitHubCommitSummarySchema = z.object({
|
|
|
213
213
|
date: z.string(),
|
|
214
214
|
url: z.string()
|
|
215
215
|
});
|
|
216
|
+
export const gitHubPullRequestListSummarySchema = z.object({
|
|
217
|
+
total: z.number().int(),
|
|
218
|
+
merged: z.number().int(),
|
|
219
|
+
open: z.number().int(),
|
|
220
|
+
closed: z.number().int()
|
|
221
|
+
});
|
|
222
|
+
export const gitHubCommitListSummarySchema = z.object({
|
|
223
|
+
total: z.number().int(),
|
|
224
|
+
byAuthor: z.record(z.string(), z.number().int())
|
|
225
|
+
});
|
|
216
226
|
export const gitHubPullRequestRefSchema = z.object({
|
|
217
|
-
number: z.number(),
|
|
227
|
+
number: z.number().int(),
|
|
218
228
|
title: z.string(),
|
|
219
229
|
state: z.string(),
|
|
220
230
|
merged: z.boolean(),
|
|
@@ -267,7 +277,7 @@ export const notionPageBlockSchema = z.lazy(() => z.object({
|
|
|
267
277
|
checked: z.boolean().optional(),
|
|
268
278
|
language: z.string().optional(),
|
|
269
279
|
icon: notionLooseObjectSchema.optional(),
|
|
270
|
-
table_width: z.number().optional(),
|
|
280
|
+
table_width: z.number().int().optional(),
|
|
271
281
|
has_column_header: z.boolean().optional(),
|
|
272
282
|
has_row_header: z.boolean().optional(),
|
|
273
283
|
caption: z.string().optional(),
|
|
@@ -321,7 +331,7 @@ export const notionQueryDatabaseFailureSchema = toolOutputFailureSchema.extend({
|
|
|
321
331
|
});
|
|
322
332
|
export const notionQueryDatabaseSuccessSchema = toolOutputSuccessSchema.extend({
|
|
323
333
|
pages: z.array(notionDatabaseQueryPageSchema),
|
|
324
|
-
total_returned: z.number(),
|
|
334
|
+
total_returned: z.number().int(),
|
|
325
335
|
has_more: z.boolean(),
|
|
326
336
|
next_cursor: z.string().nullable()
|
|
327
337
|
});
|
|
@@ -329,7 +339,7 @@ export const notionModifyBlocksAppendResultSchema = z.object({
|
|
|
329
339
|
operation: z.literal("append"),
|
|
330
340
|
actions: z.array(runHistoryActionBaseSchema),
|
|
331
341
|
block_ids: z.array(z.string()),
|
|
332
|
-
blocks_count: z.number()
|
|
342
|
+
blocks_count: z.number().int()
|
|
333
343
|
});
|
|
334
344
|
export const notionModifyBlocksUpdateResultSchema = z.object({
|
|
335
345
|
operation: z.literal("update"),
|
|
@@ -345,7 +355,7 @@ export const notionModifyBlocksOperationResultSchema = z.union([notionModifyBloc
|
|
|
345
355
|
export const notionModifyBlocksAppendSuccessSchema = toolOutputSuccessSchema.extend({
|
|
346
356
|
operation: z.literal("append"),
|
|
347
357
|
block_ids: z.array(z.string()),
|
|
348
|
-
blocks_count: z.number()
|
|
358
|
+
blocks_count: z.number().int()
|
|
349
359
|
});
|
|
350
360
|
export const notionModifyBlocksSingleBlockSuccessSchema = toolOutputSuccessSchema.extend({
|
|
351
361
|
operation: z.enum(["update", "delete"]),
|
|
@@ -354,15 +364,15 @@ export const notionModifyBlocksSingleBlockSuccessSchema = toolOutputSuccessSchem
|
|
|
354
364
|
export const notionModifyBlocksBatchSuccessSchema = toolOutputSuccessSchema.extend({
|
|
355
365
|
operations: z.array(notionModifyBlocksOperationResultSchema),
|
|
356
366
|
block_ids: z.array(z.string()),
|
|
357
|
-
total_operations: z.number()
|
|
367
|
+
total_operations: z.number().int()
|
|
358
368
|
});
|
|
359
369
|
export const notionModifyBlocksSuccessSchema = z.union([notionModifyBlocksAppendSuccessSchema, notionModifyBlocksSingleBlockSuccessSchema, notionModifyBlocksBatchSuccessSchema]);
|
|
360
370
|
export const notionModifyBlocksFailureSchema = toolOutputFailureSchema.extend({
|
|
361
371
|
error: z.string(),
|
|
362
372
|
block_ids: z.array(z.string()),
|
|
363
373
|
operations: z.array(notionModifyBlocksOperationResultSchema).optional(),
|
|
364
|
-
failed_at_index: z.number().optional(),
|
|
365
|
-
total_operations: z.number().optional(),
|
|
374
|
+
failed_at_index: z.number().int().optional(),
|
|
375
|
+
total_operations: z.number().int().optional(),
|
|
366
376
|
hint: z.string().optional(),
|
|
367
377
|
retry_instructions: z.string().optional()
|
|
368
378
|
});
|
|
@@ -407,7 +417,7 @@ export const confluencePageVersionAuthorSchema = z.object({
|
|
|
407
417
|
displayName: z.string().optional()
|
|
408
418
|
});
|
|
409
419
|
export const confluencePageVersionSchema = z.object({
|
|
410
|
-
number: z.number(),
|
|
420
|
+
number: z.number().int(),
|
|
411
421
|
when: z.string(),
|
|
412
422
|
message: z.string().optional(),
|
|
413
423
|
by: confluencePageVersionAuthorSchema.optional()
|
|
@@ -427,8 +437,8 @@ export const confluencePageRelationSchema = z.object({
|
|
|
427
437
|
type: z.string()
|
|
428
438
|
});
|
|
429
439
|
export const confluenceCommentPositionSchema = z.object({
|
|
430
|
-
start: z.number(),
|
|
431
|
-
end: z.number()
|
|
440
|
+
start: z.number().int(),
|
|
441
|
+
end: z.number().int()
|
|
432
442
|
});
|
|
433
443
|
export const confluencePageQueryResultSchema = z.object({
|
|
434
444
|
page_id: z.string(),
|
|
@@ -444,8 +454,8 @@ export const confluencePageQueryResultSchema = z.object({
|
|
|
444
454
|
body_text: z.string(),
|
|
445
455
|
ancestors: z.array(confluencePageRelationSchema),
|
|
446
456
|
descendants: z.array(confluencePageRelationSchema),
|
|
447
|
-
ancestors_count: z.number(),
|
|
448
|
-
descendants_count: z.number()
|
|
457
|
+
ancestors_count: z.number().int(),
|
|
458
|
+
descendants_count: z.number().int()
|
|
449
459
|
});
|
|
450
460
|
export const posthogSeverityLevelSchema = z.enum(["error", "warn", "info", "debug"]);
|
|
451
461
|
export const posthogSessionSummarySchema = z.object({
|
|
@@ -453,18 +463,18 @@ export const posthogSessionSummarySchema = z.object({
|
|
|
453
463
|
startTime: z.string().optional(),
|
|
454
464
|
endTime: z.string().optional(),
|
|
455
465
|
duration: z.number().optional(),
|
|
456
|
-
eventsCount: z.number(),
|
|
466
|
+
eventsCount: z.number().int(),
|
|
457
467
|
sessionUrl: z.string(),
|
|
458
468
|
personId: z.string(),
|
|
459
469
|
distinctId: z.string()
|
|
460
470
|
});
|
|
461
471
|
export const posthogSearchSessionsPaginationSchema = z.object({
|
|
462
|
-
limit: z.number(),
|
|
463
|
-
offset: z.number(),
|
|
472
|
+
limit: z.number().int(),
|
|
473
|
+
offset: z.number().int(),
|
|
464
474
|
hasNext: z.boolean(),
|
|
465
475
|
hasPrevious: z.boolean(),
|
|
466
|
-
nextOffset: z.number().nullable(),
|
|
467
|
-
previousOffset: z.number().nullable()
|
|
476
|
+
nextOffset: z.number().int().nullable(),
|
|
477
|
+
previousOffset: z.number().int().nullable()
|
|
468
478
|
});
|
|
469
479
|
export const posthogSearchSessionsFoundSchema = toolOutputSuccessSchema.extend({
|
|
470
480
|
userEmail: z.string(),
|
|
@@ -472,7 +482,7 @@ export const posthogSearchSessionsFoundSchema = toolOutputSuccessSchema.extend({
|
|
|
472
482
|
personFound: z.literal(true),
|
|
473
483
|
personId: z.string(),
|
|
474
484
|
distinctId: z.string(),
|
|
475
|
-
totalSessions: z.number(),
|
|
485
|
+
totalSessions: z.number().int(),
|
|
476
486
|
sessions: z.array(posthogSessionSummarySchema),
|
|
477
487
|
sessionsLink: z.string(),
|
|
478
488
|
pagination: posthogSearchSessionsPaginationSchema,
|
|
@@ -495,15 +505,15 @@ export const posthogLogEntrySchema = z.object({
|
|
|
495
505
|
attributes: z.record(z.string(), z.unknown())
|
|
496
506
|
});
|
|
497
507
|
export const posthogOffsetPaginationSchema = z.object({
|
|
498
|
-
limit: z.number(),
|
|
499
|
-
offset: z.number(),
|
|
508
|
+
limit: z.number().int(),
|
|
509
|
+
offset: z.number().int(),
|
|
500
510
|
hasMore: z.boolean(),
|
|
501
|
-
nextOffset: z.number().nullable(),
|
|
511
|
+
nextOffset: z.number().int().nullable(),
|
|
502
512
|
showing: z.string()
|
|
503
513
|
});
|
|
504
514
|
export const posthogEventCountSchema = z.object({
|
|
505
515
|
eventName: z.string(),
|
|
506
|
-
count: z.number()
|
|
516
|
+
count: z.number().int()
|
|
507
517
|
});
|
|
508
518
|
export const posthogEventSummarySchema = z.object({
|
|
509
519
|
id: z.string(),
|
|
@@ -525,28 +535,33 @@ export const posthogSessionConsoleLogSchema = z.object({
|
|
|
525
535
|
message: z.string()
|
|
526
536
|
});
|
|
527
537
|
export const posthogSessionEventsSummarySchema = z.object({
|
|
528
|
-
totalRawEvents: z.number(),
|
|
529
|
-
meaningfulEventsReturned: z.number(),
|
|
530
|
-
consoleLogsReturned: z.number()
|
|
538
|
+
totalRawEvents: z.number().int(),
|
|
539
|
+
meaningfulEventsReturned: z.number().int(),
|
|
540
|
+
consoleLogsReturned: z.number().int()
|
|
541
|
+
});
|
|
542
|
+
export const posthogSessionEventsTimeWindowSchema = z.object({
|
|
543
|
+
startSeconds: z.number(),
|
|
544
|
+
endSeconds: z.number().nullable()
|
|
545
|
+
});
|
|
546
|
+
export const linearCreateTicketPayloadSchema = z.object({
|
|
547
|
+
title: z.string(),
|
|
548
|
+
teamId: z.string(),
|
|
549
|
+
description: z.string().nullable().optional(),
|
|
550
|
+
stateId: z.string().nullable().optional(),
|
|
551
|
+
priority: z.number().int().nullable().optional(),
|
|
552
|
+
projectId: z.string().nullable().optional(),
|
|
553
|
+
labelIds: z.array(z.string()).nullable().optional(),
|
|
554
|
+
assigneeId: z.string().nullable().optional()
|
|
531
555
|
});
|
|
532
556
|
export const linearCreateTicketInputSchema = z.object({
|
|
533
557
|
integrationId: z.string().describe("The integration ID of the Linear workspace to use."),
|
|
534
|
-
ticket:
|
|
535
|
-
title: z.string(),
|
|
536
|
-
teamId: z.string(),
|
|
537
|
-
description: z.string().nullable().optional(),
|
|
538
|
-
stateId: z.string().nullable().optional(),
|
|
539
|
-
priority: z.number().nullable().optional(),
|
|
540
|
-
projectId: z.string().nullable().optional(),
|
|
541
|
-
labelIds: z.array(z.string()).nullable().optional(),
|
|
542
|
-
assigneeId: z.string().nullable().optional()
|
|
543
|
-
})
|
|
558
|
+
ticket: linearCreateTicketPayloadSchema
|
|
544
559
|
});
|
|
545
560
|
export const linearUpdateTicketUpdatesSchema = z.object({
|
|
546
561
|
title: z.string().nullable().optional().describe("The updated title of the ticket."),
|
|
547
562
|
description: z.string().nullable().optional().describe("The updated description of the ticket."),
|
|
548
563
|
stateId: z.string().nullable().optional().describe("The ID of the state to set. Use linear_get_states to find available states."),
|
|
549
|
-
priority: z.number().nullable().optional().describe("The priority of the ticket. 0 = No priority, 1 = Urgent, 2 = High, 3 = Normal, 4 = Low."),
|
|
564
|
+
priority: z.number().int().nullable().optional().describe("The priority of the ticket. 0 = No priority, 1 = Urgent, 2 = High, 3 = Normal, 4 = Low."),
|
|
550
565
|
projectId: z.string().nullable().optional().describe("The ID of the project to associate with the ticket. Use linear_get_projects to find available projects."),
|
|
551
566
|
labelIds: z.array(z.string()).nullable().optional().describe("The IDs of labels to add to the ticket. Use linear_get_labels to find available labels."),
|
|
552
567
|
assigneeId: z.string().nullable().optional().describe("The ID of the user to assign the ticket to. Use linear_get_users to find available users and their IDs.")
|
|
@@ -591,7 +606,7 @@ export const linearSearchTicketInputSchema = z.object({
|
|
|
591
606
|
.nullable()
|
|
592
607
|
.optional()
|
|
593
608
|
.describe("Filter to only include issues where the dateFilterField is on or before this date. ISO 8601 format (e.g., '2026-02-01' or '2026-02-01T23:59:59Z')."),
|
|
594
|
-
limit: z.number().nullable().optional().describe("Maximum number of issues to return. Defaults to 10 if not provided."),
|
|
609
|
+
limit: z.number().int().nullable().optional().describe("Maximum number of issues to return. Defaults to 10 if not provided."),
|
|
595
610
|
after: z.string().nullable().optional().describe("Cursor for pagination. Use the endCursor from the previous response to fetch the next page of results.")
|
|
596
611
|
});
|
|
597
612
|
export const linearReadTicketInputSchema = z.object({
|
|
@@ -632,7 +647,7 @@ export const slackListChannelsTypesSchema = z.enum(["public", "private", "im", "
|
|
|
632
647
|
export const slackListChannelsInputSchema = z.object({
|
|
633
648
|
integrationId: z.string().describe("The integration ID of the Slack workspace (user_slack_integrations id)."),
|
|
634
649
|
types: slackListChannelsTypesSchema.nullable().optional().describe("Filter by type: public (public channels), private (private channels), im (DMs), mpim (group DMs), or all. Defaults to all."),
|
|
635
|
-
limit: z.number().min(1).max(500).nullable().optional().default(100).describe("Maximum number of conversations to return."),
|
|
650
|
+
limit: z.number().int().min(1).max(500).nullable().optional().default(100).describe("Maximum number of conversations to return."),
|
|
636
651
|
cursor: z.string().nullable().optional().describe("Pagination cursor from a previous response (nextCursor). Omit on first call.")
|
|
637
652
|
});
|
|
638
653
|
export const slackListUsersInputSchema = z.object({
|
|
@@ -642,7 +657,7 @@ export const slackListUsersInputSchema = z.object({
|
|
|
642
657
|
export const slackReadConversationInputSchema = z.object({
|
|
643
658
|
integrationId: z.string().describe("The integration ID of the Slack workspace (user_slack_integrations id)."),
|
|
644
659
|
channelId: z.string().describe("The Slack channel ID to read (from slack_list_channels)."),
|
|
645
|
-
limit: z.number().min(1).max(200).nullable().optional().default(50).describe("Maximum number of messages to return."),
|
|
660
|
+
limit: z.number().int().min(1).max(200).nullable().optional().default(50).describe("Maximum number of messages to return."),
|
|
646
661
|
cursor: z.string().nullable().optional().describe("Pagination cursor from a previous response (nextCursor). Omit on first call.")
|
|
647
662
|
});
|
|
648
663
|
export const jiraAssigneeInputSchema = z
|
|
@@ -657,7 +672,7 @@ export const jiraCreateTicketInputSchema = z.object({
|
|
|
657
672
|
projectKey: z.string().describe('The Jira project key (e.g., "PROJ", "TEAM"). This is required.'),
|
|
658
673
|
issueType: z.string().nullable().optional().describe('The Jira issue type (e.g., "Task", "Bug", "Story", "Epic", "Subtask", "Improvement", "New Feature")').default("Task"),
|
|
659
674
|
assignee: jiraAssigneeInputSchema.optional().describe("The assignee of the ticket"),
|
|
660
|
-
priority: z.number().nullable().optional().describe("The priority of the ticket (number, typically 1-5)"),
|
|
675
|
+
priority: z.number().int().nullable().optional().describe("The priority of the ticket (number, typically 1-5)"),
|
|
661
676
|
labels: z.array(z.string()).nullable().optional().describe("The labels for the ticket (array of label names)"),
|
|
662
677
|
dueDate: z.string().nullable().optional().describe('The due date for the ticket in format "yyyy-MM-dd" (e.g., "2024-12-31"). Note: Jira requires the due date format to be yyyy-MM-dd.')
|
|
663
678
|
});
|
|
@@ -668,7 +683,7 @@ export const jiraUpdateTicketInputSchema = z.object({
|
|
|
668
683
|
description: z.string().nullable().optional().describe("The issue description in plain text or markdown format."),
|
|
669
684
|
status: z.string().nullable().optional().describe('The status name to transition to (e.g., "In Progress", "Done", "To Do").'),
|
|
670
685
|
assignee: jiraAssigneeInputSchema.optional().describe("The assignee of the ticket. Set to null to unassign."),
|
|
671
|
-
priority: z.number().nullable().optional().describe("The priority of the ticket (number, typically 1-5)."),
|
|
686
|
+
priority: z.number().int().nullable().optional().describe("The priority of the ticket (number, typically 1-5)."),
|
|
672
687
|
labels: z.array(z.string()).nullable().optional().describe("The labels for the ticket (array of label names). This replaces all existing labels."),
|
|
673
688
|
dueDate: z
|
|
674
689
|
.string()
|
|
@@ -683,7 +698,7 @@ export const jiraSearchTicketInputSchema = z.object({
|
|
|
683
698
|
projectKey: z.string().nullable().optional().describe('Filter by Jira project key (e.g., "PROJ", "TEAM")'),
|
|
684
699
|
assigneeEmail: z.string().nullable().optional().describe("Filter by assignee email address"),
|
|
685
700
|
status: z.string().nullable().optional().describe('Filter by status name (e.g., "In Progress", "Done", "To Do")'),
|
|
686
|
-
limit: z.number().nullable().optional().describe("Maximum number of issues to return. Defaults to 50 if not provided."),
|
|
701
|
+
limit: z.number().int().nullable().optional().describe("Maximum number of issues to return. Defaults to 50 if not provided."),
|
|
687
702
|
nextPageToken: z
|
|
688
703
|
.string()
|
|
689
704
|
.nullable()
|
|
@@ -696,7 +711,7 @@ export const searchGitHubCodeInputSchema = z.object({
|
|
|
696
711
|
language: z.string().nullable().optional().describe('Filter by programming language (e.g., "typescript", "python", "javascript"). Use null to search all languages.'),
|
|
697
712
|
filename: z.string().nullable().optional().describe('Filter by filename pattern (e.g., "*.test.ts" for test files, "*.config.*" for config files). Use null to search all files.'),
|
|
698
713
|
path: z.string().nullable().optional().describe('Filter by path (e.g., "src/components" to only search in that directory). Use null to search everywhere.'),
|
|
699
|
-
perPage: z.number().describe("Number of results to return (default: 10, max: 100)"),
|
|
714
|
+
perPage: z.number().int().describe("Number of results to return (default: 10, max: 100)"),
|
|
700
715
|
page: z
|
|
701
716
|
.number()
|
|
702
717
|
.int()
|
|
@@ -709,7 +724,7 @@ export const grepGitHubCodeInputSchema = z.object({
|
|
|
709
724
|
pattern: z.string().describe('The exact text pattern to search for. For function calls, include the opening parenthesis (e.g., "fetchUser("). For strings, include quotes if needed.'),
|
|
710
725
|
fileExtension: z.string().nullable().optional().describe('Filter by file extension (e.g., "ts", "js", "py"). Do not include the dot. Use null to search all file types.'),
|
|
711
726
|
path: z.string().nullable().optional().describe('Filter by directory path (e.g., "src/services" to only search in that directory). Use null to search everywhere.'),
|
|
712
|
-
perPage: z.number().describe("Number of results to return (default: 20, max: 100)"),
|
|
727
|
+
perPage: z.number().int().describe("Number of results to return (default: 20, max: 100)"),
|
|
713
728
|
page: z
|
|
714
729
|
.number()
|
|
715
730
|
.int()
|
|
@@ -720,8 +735,8 @@ export const grepGitHubCodeInputSchema = z.object({
|
|
|
720
735
|
export const readGitHubFileInputSchema = z.object({
|
|
721
736
|
repository: z.string().describe('The repository in "owner/repo" format (e.g., "facebook/react"). Must be one of the configured repositories.'),
|
|
722
737
|
path: z.string().describe('The file path within the repository (e.g., "src/components/Button.tsx" or "README.md")'),
|
|
723
|
-
startLine: z.number().nullable().optional().describe("Start reading from this line number (1-indexed). Use with endLine for partial file reads. Use null to start from beginning."),
|
|
724
|
-
endLine: z.number().nullable().optional().describe("Stop reading at this line number (1-indexed, inclusive). Use with startLine for partial file reads. Use null to read to end.")
|
|
738
|
+
startLine: z.number().int().nullable().optional().describe("Start reading from this line number (1-indexed). Use with endLine for partial file reads. Use null to start from beginning."),
|
|
739
|
+
endLine: z.number().int().nullable().optional().describe("Stop reading at this line number (1-indexed, inclusive). Use with startLine for partial file reads. Use null to read to end.")
|
|
725
740
|
});
|
|
726
741
|
export const listGitHubDirectoryInputSchema = z.object({
|
|
727
742
|
repository: z.string().describe('The repository in "owner/repo" format (e.g., "facebook/react"). Must be one of the configured repositories.'),
|
|
@@ -736,7 +751,7 @@ export const listGitHubPullRequestsInputSchema = z.object({
|
|
|
736
751
|
.nullable()
|
|
737
752
|
.describe('Start date in YYYY-MM-DD format (e.g., "2024-01-15"). Only PRs updated on or after this date (starting at 00:00:00) are included. Use null for no start filter.'),
|
|
738
753
|
until: z.string().nullable().describe('End date in YYYY-MM-DD format (e.g., "2024-01-15"). Only PRs updated on or before this date (ending at 23:59:59) are included. Use null for no end filter.'),
|
|
739
|
-
perPage: z.number().describe("Number of results to return (default: 20, max: 100)"),
|
|
754
|
+
perPage: z.number().int().describe("Number of results to return (default: 20, max: 100)"),
|
|
740
755
|
page: z
|
|
741
756
|
.number()
|
|
742
757
|
.int()
|
|
@@ -754,11 +769,11 @@ export const listGitHubCommitsInputSchema = z.object({
|
|
|
754
769
|
branch: z.string().nullable().optional().describe('Branch name to list commits from (e.g., "main", "develop"). Use null for the repository\'s default branch.'),
|
|
755
770
|
path: z.string().nullable().optional().describe('Only include commits that affect this file or directory path (e.g., "src/components" or "package.json"). Use null for all paths.'),
|
|
756
771
|
author: z.string().nullable().optional().describe("Filter commits by author (GitHub username or email). Use null for all authors."),
|
|
757
|
-
perPage: z.number().describe("Number of results to return (default: 30, max: 100)")
|
|
772
|
+
perPage: z.number().int().describe("Number of results to return (default: 30, max: 100)")
|
|
758
773
|
});
|
|
759
774
|
export const summarizeGitHubPullRequestDiffInputSchema = z.object({
|
|
760
775
|
repository: z.string().describe('The repository in "owner/repo" format (e.g., "facebook/react"). Must be one of the configured repositories.'),
|
|
761
|
-
pullNumber: z.number().describe("The pull request number (e.g., 123 for PR #123)"),
|
|
776
|
+
pullNumber: z.number().int().describe("The pull request number (e.g., 123 for PR #123)"),
|
|
762
777
|
page: z
|
|
763
778
|
.number()
|
|
764
779
|
.int()
|
|
@@ -994,11 +1009,13 @@ export const confluenceAddCommentInputSchema = z.object({
|
|
|
994
1009
|
.describe("Optional: The specific text in the page that this comment refers to. If provided, the tool will try to find this text and attach the comment to it. If not provided, you must specify start_position and end_position."),
|
|
995
1010
|
start_position: z
|
|
996
1011
|
.number()
|
|
1012
|
+
.int()
|
|
997
1013
|
.nullable()
|
|
998
1014
|
.optional()
|
|
999
1015
|
.describe("Optional: The start character position (offset) in the page storage format where the comment should be attached. Required if text_to_comment_on is not provided."),
|
|
1000
1016
|
end_position: z
|
|
1001
1017
|
.number()
|
|
1018
|
+
.int()
|
|
1002
1019
|
.nullable()
|
|
1003
1020
|
.optional()
|
|
1004
1021
|
.describe("Optional: The end character position (offset) in the page storage format where the comment should be attached. Required if text_to_comment_on is not provided.")
|
|
@@ -1007,8 +1024,8 @@ export const searchPosthogSessionsInputSchema = z.object({
|
|
|
1007
1024
|
integrationId: z.string().describe("The integration ID of the PostHog skill to use."),
|
|
1008
1025
|
projectId: z.string().describe("The PostHog project ID."),
|
|
1009
1026
|
userEmail: z.string().describe("The email address of the user to query session recordings for. Must be a valid email address."),
|
|
1010
|
-
limit: z.number().default(10).describe("Maximum number of session recordings to return (default: 10, max: 100)"),
|
|
1011
|
-
offset: z.number().default(0).describe("Offset for pagination (default: 0)"),
|
|
1027
|
+
limit: z.number().int().default(10).describe("Maximum number of session recordings to return (default: 10, max: 100)"),
|
|
1028
|
+
offset: z.number().int().default(0).describe("Offset for pagination (default: 0)"),
|
|
1012
1029
|
last7Days: z
|
|
1013
1030
|
.boolean()
|
|
1014
1031
|
.default(false)
|
|
@@ -1026,8 +1043,8 @@ export const searchPosthogLogsInputSchema = z.object({
|
|
|
1026
1043
|
.union([z.array(posthogSeverityLevelSchema), z.null()])
|
|
1027
1044
|
.describe('Optional: Array of log severity levels to filter by (e.g., ["error", "warn"]). If not provided, all severity levels are included.'),
|
|
1028
1045
|
messageSearch: z.string().nullable().optional().describe("Optional: Text to search for within log messages. Searches are case-insensitive and match partial text."),
|
|
1029
|
-
limit: z.number().default(50).describe("Maximum number of log entries to return (default: 50, max: 250)"),
|
|
1030
|
-
offset: z.number().default(0).describe("Offset for pagination (default: 0). Use with limit to page through results. For example, offset=0 gets logs 1-50, offset=50 gets logs 51-100, etc."),
|
|
1046
|
+
limit: z.number().int().default(50).describe("Maximum number of log entries to return (default: 50, max: 250)"),
|
|
1047
|
+
offset: z.number().int().default(0).describe("Offset for pagination (default: 0). Use with limit to page through results. For example, offset=0 gets logs 1-50, offset=50 gets logs 51-100, etc."),
|
|
1031
1048
|
last7Days: z
|
|
1032
1049
|
.boolean()
|
|
1033
1050
|
.default(false)
|
|
@@ -1065,8 +1082,8 @@ export const searchPosthogEventsInputSchema = z.object({
|
|
|
1065
1082
|
.union([z.array(posthogPropertyFilterSchema), z.null()])
|
|
1066
1083
|
.optional()
|
|
1067
1084
|
.describe("Optional: Array of property filters to apply. Each filter has a key, value, and operator."),
|
|
1068
|
-
limit: z.number().default(50).describe("Maximum number of events to return when countByEventNameOnly is false (default: 50, max: 100). Ignored when countByEventNameOnly is true."),
|
|
1069
|
-
offset: z.number().default(0).describe("Offset for pagination when countByEventNameOnly is false (default: 0). Ignored when countByEventNameOnly is true."),
|
|
1085
|
+
limit: z.number().int().default(50).describe("Maximum number of events to return when countByEventNameOnly is false (default: 50, max: 100). Ignored when countByEventNameOnly is true."),
|
|
1086
|
+
offset: z.number().int().default(0).describe("Offset for pagination when countByEventNameOnly is false (default: 0). Ignored when countByEventNameOnly is true."),
|
|
1070
1087
|
last7Days: z
|
|
1071
1088
|
.boolean()
|
|
1072
1089
|
.default(false)
|
|
@@ -1104,7 +1121,7 @@ export const linearSearchTicketTool = defineTool({
|
|
|
1104
1121
|
inputSchema: linearSearchTicketInputSchema,
|
|
1105
1122
|
outputSchema: toolOutputBaseSchema.extend({
|
|
1106
1123
|
issues: z.array(linearIssueSummarySchema),
|
|
1107
|
-
count: z.number(),
|
|
1124
|
+
count: z.number().int(),
|
|
1108
1125
|
query: z.string(),
|
|
1109
1126
|
pagination: linearSearchPaginationSchema
|
|
1110
1127
|
})
|
|
@@ -1168,7 +1185,7 @@ export const slackListChannelsTool = defineTool({
|
|
|
1168
1185
|
inputSchema: slackListChannelsInputSchema,
|
|
1169
1186
|
outputSchema: toolOutputBaseSchema.extend({
|
|
1170
1187
|
channels: z.array(slackChannelListItemSchema),
|
|
1171
|
-
count: z.number(),
|
|
1188
|
+
count: z.number().int(),
|
|
1172
1189
|
nextCursor: z.string().nullable(),
|
|
1173
1190
|
hasMore: z.boolean()
|
|
1174
1191
|
})
|
|
@@ -1178,7 +1195,7 @@ export const slackListUsersTool = defineTool({
|
|
|
1178
1195
|
inputSchema: slackListUsersInputSchema,
|
|
1179
1196
|
outputSchema: toolOutputBaseSchema.extend({
|
|
1180
1197
|
users: z.array(slackUserResponseSchema),
|
|
1181
|
-
count: z.number()
|
|
1198
|
+
count: z.number().int()
|
|
1182
1199
|
})
|
|
1183
1200
|
});
|
|
1184
1201
|
export const slackReadConversationTool = defineTool({
|
|
@@ -1188,7 +1205,7 @@ export const slackReadConversationTool = defineTool({
|
|
|
1188
1205
|
channelId: z.string(),
|
|
1189
1206
|
channelName: z.string().optional(),
|
|
1190
1207
|
messages: z.array(slackConversationMessageSchema),
|
|
1191
|
-
count: z.number(),
|
|
1208
|
+
count: z.number().int(),
|
|
1192
1209
|
hasMore: z.boolean(),
|
|
1193
1210
|
nextCursor: z.string().nullable()
|
|
1194
1211
|
})
|
|
@@ -1213,9 +1230,9 @@ export const jiraSearchTicketTool = defineTool({
|
|
|
1213
1230
|
inputSchema: jiraSearchTicketInputSchema,
|
|
1214
1231
|
outputSchema: toolOutputBaseSchema.extend({
|
|
1215
1232
|
issues: z.array(jiraIssueSummarySchema),
|
|
1216
|
-
count: z.number(),
|
|
1217
|
-
total: z.number(),
|
|
1218
|
-
maxResults: z.number(),
|
|
1233
|
+
count: z.number().int(),
|
|
1234
|
+
total: z.number().int(),
|
|
1235
|
+
maxResults: z.number().int(),
|
|
1219
1236
|
isLast: z.boolean(),
|
|
1220
1237
|
nextPageToken: z.string().optional(),
|
|
1221
1238
|
jql: z.string()
|
|
@@ -1225,8 +1242,8 @@ export const searchGitHubCodeTool = defineTool({
|
|
|
1225
1242
|
name: "searchGitHubCode",
|
|
1226
1243
|
inputSchema: searchGitHubCodeInputSchema,
|
|
1227
1244
|
outputSchema: toolOutputBaseSchema.extend({
|
|
1228
|
-
totalCount: z.number(),
|
|
1229
|
-
resultsReturned: z.number(),
|
|
1245
|
+
totalCount: z.number().int(),
|
|
1246
|
+
resultsReturned: z.number().int(),
|
|
1230
1247
|
query: z.string(),
|
|
1231
1248
|
repositories: z.array(z.string()),
|
|
1232
1249
|
pagination: gitHubPaginationSchema,
|
|
@@ -1239,8 +1256,8 @@ export const grepGitHubCodeTool = defineTool({
|
|
|
1239
1256
|
name: "grepGitHubCode",
|
|
1240
1257
|
inputSchema: grepGitHubCodeInputSchema,
|
|
1241
1258
|
outputSchema: toolOutputBaseSchema.extend({
|
|
1242
|
-
totalCount: z.number(),
|
|
1243
|
-
resultsReturned: z.number(),
|
|
1259
|
+
totalCount: z.number().int(),
|
|
1260
|
+
resultsReturned: z.number().int(),
|
|
1244
1261
|
pattern: z.string(),
|
|
1245
1262
|
query: z.string(),
|
|
1246
1263
|
repositories: z.array(z.string()),
|
|
@@ -1257,9 +1274,9 @@ export const readGitHubFileTool = defineTool({
|
|
|
1257
1274
|
repository: z.string(),
|
|
1258
1275
|
path: z.string(),
|
|
1259
1276
|
url: z.string(),
|
|
1260
|
-
totalLines: z.number(),
|
|
1277
|
+
totalLines: z.number().int(),
|
|
1261
1278
|
displayedLines: z.string(),
|
|
1262
|
-
size: z.number(),
|
|
1279
|
+
size: z.number().int(),
|
|
1263
1280
|
content: z.string(),
|
|
1264
1281
|
warning: z.string().optional()
|
|
1265
1282
|
})
|
|
@@ -1271,7 +1288,7 @@ export const listGitHubDirectoryTool = defineTool({
|
|
|
1271
1288
|
repository: z.string(),
|
|
1272
1289
|
path: z.string(),
|
|
1273
1290
|
recursive: z.boolean(),
|
|
1274
|
-
totalItems: z.number(),
|
|
1291
|
+
totalItems: z.number().int(),
|
|
1275
1292
|
directories: z.array(z.union([gitHubDirectoryEntrySchema, z.string()])),
|
|
1276
1293
|
files: z.array(gitHubFileEntrySchema),
|
|
1277
1294
|
warning: z.string().optional(),
|
|
@@ -1286,12 +1303,7 @@ export const listGitHubPullRequestsTool = defineTool({
|
|
|
1286
1303
|
outputSchema: toolOutputBaseSchema.extend({
|
|
1287
1304
|
repository: z.string(),
|
|
1288
1305
|
timeWindow: z.string(),
|
|
1289
|
-
summary:
|
|
1290
|
-
total: z.number(),
|
|
1291
|
-
merged: z.number(),
|
|
1292
|
-
open: z.number(),
|
|
1293
|
-
closed: z.number()
|
|
1294
|
-
}),
|
|
1306
|
+
summary: gitHubPullRequestListSummarySchema,
|
|
1295
1307
|
pagination: gitHubPaginationSchema,
|
|
1296
1308
|
pullRequests: z.array(gitHubPullRequestSummarySchema),
|
|
1297
1309
|
message: z.string()
|
|
@@ -1304,10 +1316,7 @@ export const listGitHubCommitsTool = defineTool({
|
|
|
1304
1316
|
repository: z.string(),
|
|
1305
1317
|
timeWindow: z.string(),
|
|
1306
1318
|
filters: z.string(),
|
|
1307
|
-
summary:
|
|
1308
|
-
total: z.number(),
|
|
1309
|
-
byAuthor: z.record(z.string(), z.number())
|
|
1310
|
-
}),
|
|
1319
|
+
summary: gitHubCommitListSummarySchema,
|
|
1311
1320
|
commits: z.array(gitHubCommitSummarySchema),
|
|
1312
1321
|
message: z.string(),
|
|
1313
1322
|
tip: z.string()
|
|
@@ -1349,7 +1358,7 @@ export const notionQueryPageTool = defineTool({
|
|
|
1349
1358
|
properties: z.record(z.string(), notionReadablePropertyValueSchema),
|
|
1350
1359
|
properties_raw: z.record(z.string(), z.unknown()).optional(),
|
|
1351
1360
|
blocks: z.array(notionPageBlockSchema),
|
|
1352
|
-
blocks_count: z.number()
|
|
1361
|
+
blocks_count: z.number().int()
|
|
1353
1362
|
})
|
|
1354
1363
|
});
|
|
1355
1364
|
export const notionQueryDatabaseTool = defineTool({
|
|
@@ -1364,14 +1373,14 @@ export const notionGetSchemaTool = defineTool({
|
|
|
1364
1373
|
data_source_id: z.string(),
|
|
1365
1374
|
database_name: z.string(),
|
|
1366
1375
|
schema: z.record(z.string(), notionSchemaPropertySchema),
|
|
1367
|
-
property_count: z.number()
|
|
1376
|
+
property_count: z.number().int()
|
|
1368
1377
|
})
|
|
1369
1378
|
});
|
|
1370
1379
|
export const notionFetchRelatedEventsTool = defineTool({
|
|
1371
1380
|
name: "notion_fetch_related_events",
|
|
1372
1381
|
inputSchema: notionFetchRelatedEventsInputSchema,
|
|
1373
1382
|
outputSchema: toolOutputSuccessSchema.extend({
|
|
1374
|
-
events_count: z.number(),
|
|
1383
|
+
events_count: z.number().int(),
|
|
1375
1384
|
events: z.string().optional(),
|
|
1376
1385
|
message: z.string()
|
|
1377
1386
|
})
|
|
@@ -1381,7 +1390,7 @@ export const notionListUsersTool = defineTool({
|
|
|
1381
1390
|
inputSchema: notionListUsersInputSchema,
|
|
1382
1391
|
outputSchema: toolOutputSuccessSchema.extend({
|
|
1383
1392
|
users: z.array(notionWorkspaceUserSchema),
|
|
1384
|
-
count: z.number()
|
|
1393
|
+
count: z.number().int()
|
|
1385
1394
|
})
|
|
1386
1395
|
});
|
|
1387
1396
|
export const gmailSendEmailTool = defineTool({
|
|
@@ -1423,7 +1432,7 @@ export const searchPosthogLogsTool = defineTool({
|
|
|
1423
1432
|
severityLevels: z.array(posthogSeverityLevelSchema).nullable(),
|
|
1424
1433
|
messageSearch: z.string().nullable(),
|
|
1425
1434
|
projectId: z.string(),
|
|
1426
|
-
totalLogs: z.number(),
|
|
1435
|
+
totalLogs: z.number().int(),
|
|
1427
1436
|
logs: z.array(posthogLogEntrySchema),
|
|
1428
1437
|
logsLink: z.string(),
|
|
1429
1438
|
pagination: posthogOffsetPaginationSchema,
|
|
@@ -1438,39 +1447,35 @@ export const getPosthogSessionEventsTool = defineTool({
|
|
|
1438
1447
|
sessionUrl: z.string(),
|
|
1439
1448
|
startTime: z.string(),
|
|
1440
1449
|
duration: z.number().optional(),
|
|
1441
|
-
timeWindow:
|
|
1442
|
-
startSeconds: z.number(),
|
|
1443
|
-
endSeconds: z.number().nullable()
|
|
1444
|
-
}),
|
|
1450
|
+
timeWindow: posthogSessionEventsTimeWindowSchema,
|
|
1445
1451
|
summary: posthogSessionEventsSummarySchema,
|
|
1446
1452
|
events: z.array(posthogSessionEventSchema),
|
|
1447
1453
|
consoleLogs: z.array(posthogSessionConsoleLogSchema),
|
|
1448
1454
|
message: z.string()
|
|
1449
1455
|
})
|
|
1450
1456
|
});
|
|
1457
|
+
export const searchPosthogEventsCountSummarySchema = toolOutputSuccessSchema.extend({
|
|
1458
|
+
countByEventNameOnly: z.literal(true),
|
|
1459
|
+
customEventsOnly: z.boolean(),
|
|
1460
|
+
eventCounts: z.array(posthogEventCountSchema),
|
|
1461
|
+
totalEventTypes: z.number().int(),
|
|
1462
|
+
eventsLink: z.string(),
|
|
1463
|
+
message: z.string()
|
|
1464
|
+
});
|
|
1465
|
+
export const searchPosthogEventsEventListSchema = toolOutputSuccessSchema.extend({
|
|
1466
|
+
userEmail: z.string().nullable(),
|
|
1467
|
+
eventName: z.string().nullable(),
|
|
1468
|
+
projectId: z.string(),
|
|
1469
|
+
totalEvents: z.number().int(),
|
|
1470
|
+
events: z.array(posthogEventSummarySchema),
|
|
1471
|
+
eventsLink: z.string(),
|
|
1472
|
+
pagination: posthogOffsetPaginationSchema,
|
|
1473
|
+
message: z.string()
|
|
1474
|
+
});
|
|
1451
1475
|
export const searchPosthogEventsTool = defineTool({
|
|
1452
1476
|
name: "searchPosthogEvents",
|
|
1453
1477
|
inputSchema: searchPosthogEventsInputSchema,
|
|
1454
|
-
outputSchema: z.union([
|
|
1455
|
-
toolOutputSuccessSchema.extend({
|
|
1456
|
-
countByEventNameOnly: z.literal(true),
|
|
1457
|
-
customEventsOnly: z.boolean(),
|
|
1458
|
-
eventCounts: z.array(posthogEventCountSchema),
|
|
1459
|
-
totalEventTypes: z.number(),
|
|
1460
|
-
eventsLink: z.string(),
|
|
1461
|
-
message: z.string()
|
|
1462
|
-
}),
|
|
1463
|
-
toolOutputSuccessSchema.extend({
|
|
1464
|
-
userEmail: z.string().nullable(),
|
|
1465
|
-
eventName: z.string().nullable(),
|
|
1466
|
-
projectId: z.string(),
|
|
1467
|
-
totalEvents: z.number(),
|
|
1468
|
-
events: z.array(posthogEventSummarySchema),
|
|
1469
|
-
eventsLink: z.string(),
|
|
1470
|
-
pagination: posthogOffsetPaginationSchema,
|
|
1471
|
-
message: z.string()
|
|
1472
|
-
})
|
|
1473
|
-
])
|
|
1478
|
+
outputSchema: z.union([searchPosthogEventsCountSummarySchema, searchPosthogEventsEventListSchema])
|
|
1474
1479
|
});
|
|
1475
1480
|
// Datadog schemas
|
|
1476
1481
|
export const datadogLogEntrySchema = z.object({
|
|
@@ -1484,12 +1489,13 @@ export const datadogLogEntrySchema = z.object({
|
|
|
1484
1489
|
customAttributes: z.record(z.string(), z.unknown())
|
|
1485
1490
|
});
|
|
1486
1491
|
export const datadogCursorPaginationSchema = z.object({
|
|
1487
|
-
limit: z.number(),
|
|
1492
|
+
limit: z.number().int(),
|
|
1488
1493
|
cursor: z.string().nullable().optional(),
|
|
1489
1494
|
nextCursor: z.string().nullable(),
|
|
1490
1495
|
hasMore: z.boolean(),
|
|
1491
1496
|
showing: z.string()
|
|
1492
1497
|
});
|
|
1498
|
+
export const datadogPagePaginationSchema = datadogCursorPaginationSchema.omit({ cursor: true });
|
|
1493
1499
|
export const datadogRumSessionDetailsSchema = z.object({
|
|
1494
1500
|
id: z.string().optional(),
|
|
1495
1501
|
type: z.string().optional(),
|
|
@@ -1521,7 +1527,7 @@ export const datadogRumResourceDetailsSchema = z.object({
|
|
|
1521
1527
|
type: z.string().optional(),
|
|
1522
1528
|
url: z.string().optional(),
|
|
1523
1529
|
method: z.string().optional(),
|
|
1524
|
-
statusCode: z.number().optional(),
|
|
1530
|
+
statusCode: z.number().int().optional(),
|
|
1525
1531
|
duration: z.number().optional()
|
|
1526
1532
|
});
|
|
1527
1533
|
export const datadogRumLongTaskDetailsSchema = z.object({
|
|
@@ -1562,6 +1568,16 @@ export const datadogAggregationMetaSchema = z.object({
|
|
|
1562
1568
|
requestId: z.string().optional(),
|
|
1563
1569
|
status: z.unknown().optional()
|
|
1564
1570
|
});
|
|
1571
|
+
export const datadogAggregationComputeSchema = z.object({
|
|
1572
|
+
aggregation: z.enum(["count", "pc90", "pc95", "pc99", "avg", "sum", "min", "max", "cardinality"]).describe("Aggregation: count, pc90/pc95/pc99, avg, sum, min, max, cardinality"),
|
|
1573
|
+
metric: z.string().describe('Metric to compute (e.g., @view.loading_time, @duration). Use "*" for count of all events.'),
|
|
1574
|
+
type: z.enum(["total", "timeseries"]).default("total").describe('Computation type: "total" (overall) or "timeseries" (time-bucketed)')
|
|
1575
|
+
});
|
|
1576
|
+
export const datadogAggregationGroupBySchema = z.object({
|
|
1577
|
+
facet: z.string().describe("Facet to group by (e.g., @view.name, @service, @browser.name)"),
|
|
1578
|
+
limit: z.number().int().default(10).describe("Maximum number of groups to return (default: 10)"),
|
|
1579
|
+
total: z.boolean().default(false).describe('Include "total" group with all events combined (default: false)')
|
|
1580
|
+
});
|
|
1565
1581
|
// Datadog input schemas
|
|
1566
1582
|
export const searchDatadogLogsInputSchema = z.object({
|
|
1567
1583
|
integrationId: z.string().describe("The integration ID of the Datadog skill to use."),
|
|
@@ -1576,7 +1592,7 @@ export const searchDatadogLogsInputSchema = z.object({
|
|
|
1576
1592
|
.describe('Log indexes to search (e.g., ["main"]). Defaults to defaultIndexes if not provided.'),
|
|
1577
1593
|
from: z.string().nullable().optional().describe('Start time (ISO8601 or relative like "now-1h")'),
|
|
1578
1594
|
to: z.string().nullable().optional().describe("End time (ISO8601). Defaults to now if not provided."),
|
|
1579
|
-
limit: z.number().default(50).describe("Maximum number of log entries to return (default: 50)"),
|
|
1595
|
+
limit: z.number().int().default(50).describe("Maximum number of log entries to return (default: 50)"),
|
|
1580
1596
|
cursor: z.string().nullable().optional().describe("Pagination cursor from previous response"),
|
|
1581
1597
|
sort: z.enum(["timestamp", "-timestamp"]).default("timestamp").describe('Sort order: "timestamp" (ascending) or "-timestamp" (descending)')
|
|
1582
1598
|
});
|
|
@@ -1585,7 +1601,7 @@ export const searchRumEventsInputSchema = z.object({
|
|
|
1585
1601
|
query: z.string().nullable().optional().describe("Datadog RUM search query (e.g., @type:error AND @error.source:network)"),
|
|
1586
1602
|
from: z.string().describe('Start time (ISO8601 or relative like "now-15m")'),
|
|
1587
1603
|
to: z.string().nullable().optional().describe('End time (ISO8601). Defaults to "now" if not provided.'),
|
|
1588
|
-
limit: z.number().default(25).describe("Maximum number of RUM events to return (default: 25, max: 1000)"),
|
|
1604
|
+
limit: z.number().int().default(25).describe("Maximum number of RUM events to return (default: 25, max: 1000)"),
|
|
1589
1605
|
pageCursor: z.string().nullable().optional().describe("Pagination cursor from previous response"),
|
|
1590
1606
|
sort: z.enum(["timestamp", "-timestamp"]).default("timestamp").describe('Sort order: "timestamp" (ascending) or "-timestamp" (descending)'),
|
|
1591
1607
|
timezone: z.string().default("GMT").describe('Timezone for time-based queries (default: "GMT")')
|
|
@@ -1595,7 +1611,7 @@ export const listRumEventsInputSchema = z.object({
|
|
|
1595
1611
|
query: z.string().nullable().optional().describe("Datadog RUM search query to filter events (e.g., @type:view)"),
|
|
1596
1612
|
from: z.string().nullable().optional().describe('Minimum timestamp (ISO8601 only, e.g., "2020-09-17T11:48:36+01:00")'),
|
|
1597
1613
|
to: z.string().nullable().optional().describe("Maximum timestamp (ISO8601 only). Defaults to now if not provided."),
|
|
1598
|
-
limit: z.number().default(25).describe("Maximum number of RUM events to return (default: 25, max: 1000)"),
|
|
1614
|
+
limit: z.number().int().default(25).describe("Maximum number of RUM events to return (default: 25, max: 1000)"),
|
|
1599
1615
|
pageCursor: z.string().nullable().optional().describe("Pagination cursor from previous response"),
|
|
1600
1616
|
sort: z.enum(["timestamp", "-timestamp"]).default("timestamp").describe('Sort order: "timestamp" (ascending) or "-timestamp" (descending)')
|
|
1601
1617
|
});
|
|
@@ -1603,25 +1619,10 @@ export const aggregateRumEventsInputSchema = z.object({
|
|
|
1603
1619
|
query: z.string().nullable().optional().describe("Datadog RUM search query to filter events before aggregation (e.g., @type:view)"),
|
|
1604
1620
|
from: z.string().describe('Start time (ISO8601 or relative like "now-15m")'),
|
|
1605
1621
|
to: z.string().nullable().optional().describe('End time (ISO8601). Defaults to "now" if not provided.'),
|
|
1606
|
-
compute: z
|
|
1607
|
-
|
|
1608
|
-
aggregation: z.enum(["count", "pc90", "pc95", "pc99", "avg", "sum", "min", "max", "cardinality"]).describe("Aggregation: count, pc90/pc95/pc99, avg, sum, min, max, cardinality"),
|
|
1609
|
-
metric: z.string().describe('Metric to compute (e.g., @view.loading_time, @duration). Use "*" for count of all events.'),
|
|
1610
|
-
type: z.enum(["total", "timeseries"]).default("total").describe('Computation type: "total" (overall) or "timeseries" (time-bucketed)')
|
|
1611
|
-
}))
|
|
1612
|
-
.describe("Array of metrics to compute. At least one required."),
|
|
1613
|
-
groupBy: z
|
|
1614
|
-
.union([
|
|
1615
|
-
z.array(z.object({
|
|
1616
|
-
facet: z.string().describe("Facet to group by (e.g., @view.name, @service, @browser.name)"),
|
|
1617
|
-
limit: z.number().default(10).describe("Maximum number of groups to return (default: 10)"),
|
|
1618
|
-
total: z.boolean().default(false).describe('Include "total" group with all events combined (default: false)')
|
|
1619
|
-
})),
|
|
1620
|
-
z.null()
|
|
1621
|
-
])
|
|
1622
|
-
.describe("Facets to group results by"),
|
|
1622
|
+
compute: z.array(datadogAggregationComputeSchema).describe("Array of metrics to compute. At least one required."),
|
|
1623
|
+
groupBy: z.union([z.array(datadogAggregationGroupBySchema), z.null()]).describe("Facets to group results by"),
|
|
1623
1624
|
timezone: z.string().default("GMT").describe('Timezone for time-based queries (default: "GMT")'),
|
|
1624
|
-
pageLimit: z.number().default(25).describe("Maximum number of buckets to return (default: 25)"),
|
|
1625
|
+
pageLimit: z.number().int().default(25).describe("Maximum number of buckets to return (default: 25)"),
|
|
1625
1626
|
integrationId: z.string().describe("The integration ID of the Datadog skill to use.")
|
|
1626
1627
|
});
|
|
1627
1628
|
// Terse tool schemas
|
|
@@ -1672,7 +1673,7 @@ export const searchDatadogLogsTool = defineTool({
|
|
|
1672
1673
|
outputSchema: toolOutputBaseSchema.extend({
|
|
1673
1674
|
query: z.string().nullable(),
|
|
1674
1675
|
indexes: z.array(z.string()),
|
|
1675
|
-
totalLogs: z.number(),
|
|
1676
|
+
totalLogs: z.number().int(),
|
|
1676
1677
|
logs: z.array(datadogLogEntrySchema),
|
|
1677
1678
|
logsLink: z.string(),
|
|
1678
1679
|
pagination: datadogCursorPaginationSchema,
|
|
@@ -1685,9 +1686,9 @@ export const searchRumEventsTool = defineTool({
|
|
|
1685
1686
|
inputSchema: searchRumEventsInputSchema,
|
|
1686
1687
|
outputSchema: toolOutputBaseSchema.extend({
|
|
1687
1688
|
query: z.string().nullable(),
|
|
1688
|
-
totalEvents: z.number(),
|
|
1689
|
+
totalEvents: z.number().int(),
|
|
1689
1690
|
events: z.array(datadogRumEventSchema),
|
|
1690
|
-
eventsByType: z.record(z.string(), z.number()),
|
|
1691
|
+
eventsByType: z.record(z.string(), z.number().int()),
|
|
1691
1692
|
rumLink: z.string(),
|
|
1692
1693
|
pagination: datadogCursorPaginationSchema,
|
|
1693
1694
|
warnings: z.string().nullable(),
|
|
@@ -1699,9 +1700,9 @@ export const listRumEventsTool = defineTool({
|
|
|
1699
1700
|
inputSchema: listRumEventsInputSchema,
|
|
1700
1701
|
outputSchema: toolOutputBaseSchema.extend({
|
|
1701
1702
|
query: z.string().nullable(),
|
|
1702
|
-
totalEvents: z.number(),
|
|
1703
|
+
totalEvents: z.number().int(),
|
|
1703
1704
|
events: z.array(datadogRumEventSchema),
|
|
1704
|
-
eventsByType: z.record(z.string(), z.number()),
|
|
1705
|
+
eventsByType: z.record(z.string(), z.number().int()),
|
|
1705
1706
|
rumLink: z.string(),
|
|
1706
1707
|
pagination: datadogCursorPaginationSchema,
|
|
1707
1708
|
warnings: z.string().nullable(),
|
|
@@ -1717,10 +1718,10 @@ export const aggregateRumEventsTool = defineTool({
|
|
|
1717
1718
|
to: z.string().nullable(),
|
|
1718
1719
|
compute: z.string(),
|
|
1719
1720
|
groupBy: z.string(),
|
|
1720
|
-
totalBuckets: z.number(),
|
|
1721
|
+
totalBuckets: z.number().int(),
|
|
1721
1722
|
buckets: z.array(datadogAggregationBucketSchema),
|
|
1722
1723
|
rumLink: z.string(),
|
|
1723
|
-
pagination:
|
|
1724
|
+
pagination: datadogPagePaginationSchema,
|
|
1724
1725
|
warnings: z.string().nullable(),
|
|
1725
1726
|
meta: datadogAggregationMetaSchema,
|
|
1726
1727
|
message: z.string()
|
|
@@ -1775,7 +1776,7 @@ export const attioRecordSchema = z
|
|
|
1775
1776
|
})
|
|
1776
1777
|
.catchall(z.unknown());
|
|
1777
1778
|
export const attioUpsertErrorSchema = z.object({
|
|
1778
|
-
index: z.number(),
|
|
1779
|
+
index: z.number().int(),
|
|
1779
1780
|
message: z.string()
|
|
1780
1781
|
});
|
|
1781
1782
|
// WorkOS schemas
|
|
@@ -1825,7 +1826,7 @@ export const launchDarklyEnvironmentConfigSchema = z.object({
|
|
|
1825
1826
|
contextTargets: z.array(z.record(z.string(), z.unknown())),
|
|
1826
1827
|
rules: z.array(z.record(z.string(), z.unknown())),
|
|
1827
1828
|
fallthrough: z.record(z.string(), z.unknown()).nullable(),
|
|
1828
|
-
offVariation: z.number().nullable(),
|
|
1829
|
+
offVariation: z.number().int().nullable(),
|
|
1829
1830
|
prerequisites: z.array(z.record(z.string(), z.unknown()))
|
|
1830
1831
|
});
|
|
1831
1832
|
export const launchDarklyHistoryEntrySchema = z.object({
|
|
@@ -1840,7 +1841,7 @@ export const launchDarklyHistoryEntrySchema = z.object({
|
|
|
1840
1841
|
});
|
|
1841
1842
|
export const launchDarklyHistoryResultSchema = z.object({
|
|
1842
1843
|
entries: z.array(launchDarklyHistoryEntrySchema),
|
|
1843
|
-
totalEntries: z.number(),
|
|
1844
|
+
totalEntries: z.number().int(),
|
|
1844
1845
|
url: z.string()
|
|
1845
1846
|
});
|
|
1846
1847
|
// Snowflake schemas
|
|
@@ -1856,7 +1857,7 @@ export const attioQueryRecordsInputSchema = z.object({
|
|
|
1856
1857
|
.string()
|
|
1857
1858
|
.nullable()
|
|
1858
1859
|
.describe('Optional Attio filter as a JSON string. Pass null for no filtering. Use shorthand (e.g. \'{"email_addresses":"test@example.com"}\') or verbose syntax with operators.'),
|
|
1859
|
-
limit: z.number().nullable().describe("Maximum number of records to return. Pass null to use the default of 20.")
|
|
1860
|
+
limit: z.number().int().nullable().describe("Maximum number of records to return. Pass null to use the default of 20.")
|
|
1860
1861
|
});
|
|
1861
1862
|
export const attioUpsertRecordInputSchema = z.object({
|
|
1862
1863
|
integrationId: z.string().describe("The integration ID of the Attio workspace to use."),
|
|
@@ -1871,12 +1872,12 @@ export const listWorkOSUsersInputSchema = z.object({
|
|
|
1871
1872
|
integrationId: z.string().describe("The integration ID of the WorkOS skill to use."),
|
|
1872
1873
|
email: z.string().nullable().optional().describe("Optional exact email address filter. Omit or pass null to list all users."),
|
|
1873
1874
|
organizationId: z.string().nullable().optional().describe("Optional WorkOS organization ID filter. Omit or pass null for all organizations."),
|
|
1874
|
-
limit: z.number().default(20).describe("Maximum number of users to return (default: 20, max: 100)."),
|
|
1875
|
+
limit: z.number().int().default(20).describe("Maximum number of users to return (default: 20, max: 100)."),
|
|
1875
1876
|
after: z.string().nullable().optional().describe("Optional pagination cursor. Use the 'after' value from a previous response to get the next page.")
|
|
1876
1877
|
});
|
|
1877
1878
|
export const listWorkOSOrganizationsInputSchema = z.object({
|
|
1878
1879
|
integrationId: z.string().describe("The integration ID of the WorkOS skill to use."),
|
|
1879
|
-
limit: z.number().default(20).describe("Maximum number of organizations to return (default: 20, max: 100)."),
|
|
1880
|
+
limit: z.number().int().default(20).describe("Maximum number of organizations to return (default: 20, max: 100)."),
|
|
1880
1881
|
after: z.string().nullable().optional().describe("Optional pagination cursor. Use the 'after' value from a previous response to get the next page.")
|
|
1881
1882
|
});
|
|
1882
1883
|
export const getWorkOSUserInputSchema = z.object({
|
|
@@ -1904,7 +1905,7 @@ export const getLaunchDarklyFlagDetailsInputSchema = z.object({
|
|
|
1904
1905
|
includeHistory: z.boolean().default(false).describe("If true, includes change history for the flag over the specified time window."),
|
|
1905
1906
|
before: z.string().nullable().optional().describe("Optional: ISO date - only return history entries before this date (only used if includeHistory is true)."),
|
|
1906
1907
|
after: z.string().nullable().optional().describe("Optional: ISO date - only return history entries after this date (only used if includeHistory is true)."),
|
|
1907
|
-
historyLimit: z.number().default(20).describe("Number of history entries to return if includeHistory is true (default: 20, max: 20).")
|
|
1908
|
+
historyLimit: z.number().int().default(20).describe("Number of history entries to return if includeHistory is true (default: 20, max: 20).")
|
|
1908
1909
|
});
|
|
1909
1910
|
// Snowflake input schemas
|
|
1910
1911
|
export const snowflakeExecuteQueryInputSchema = z.object({
|
|
@@ -1931,7 +1932,7 @@ export const attioListObjectsTool = defineTool({
|
|
|
1931
1932
|
inputSchema: attioListObjectsInputSchema,
|
|
1932
1933
|
outputSchema: toolOutputBaseSchema.extend({
|
|
1933
1934
|
objects: z.array(attioObjectWithAttributesSchema),
|
|
1934
|
-
count: z.number()
|
|
1935
|
+
count: z.number().int()
|
|
1935
1936
|
})
|
|
1936
1937
|
});
|
|
1937
1938
|
export const attioQueryRecordsTool = defineTool({
|
|
@@ -1939,7 +1940,7 @@ export const attioQueryRecordsTool = defineTool({
|
|
|
1939
1940
|
inputSchema: attioQueryRecordsInputSchema,
|
|
1940
1941
|
outputSchema: toolOutputBaseSchema.extend({
|
|
1941
1942
|
records: z.array(attioRecordSchema),
|
|
1942
|
-
count: z.number()
|
|
1943
|
+
count: z.number().int()
|
|
1943
1944
|
})
|
|
1944
1945
|
});
|
|
1945
1946
|
export const attioUpsertRecordTool = defineTool({
|
|
@@ -1947,10 +1948,10 @@ export const attioUpsertRecordTool = defineTool({
|
|
|
1947
1948
|
inputSchema: attioUpsertRecordInputSchema,
|
|
1948
1949
|
outputSchema: toolOutputBaseSchema.extend({
|
|
1949
1950
|
records: z.array(attioRecordSchema).optional(),
|
|
1950
|
-
count: z.number().optional(),
|
|
1951
|
-
requestedCount: z.number().optional(),
|
|
1952
|
-
successCount: z.number().optional(),
|
|
1953
|
-
failureCount: z.number().optional(),
|
|
1951
|
+
count: z.number().int().optional(),
|
|
1952
|
+
requestedCount: z.number().int().optional(),
|
|
1953
|
+
successCount: z.number().int().optional(),
|
|
1954
|
+
failureCount: z.number().int().optional(),
|
|
1954
1955
|
partial: z.boolean().optional(),
|
|
1955
1956
|
errors: z.array(attioUpsertErrorSchema).optional()
|
|
1956
1957
|
})
|
|
@@ -1986,7 +1987,7 @@ export const listLaunchDarklyFlagsTool = defineTool({
|
|
|
1986
1987
|
inputSchema: listLaunchDarklyFlagsInputSchema,
|
|
1987
1988
|
outputSchema: toolOutputBaseSchema.extend({
|
|
1988
1989
|
projectKey: z.string(),
|
|
1989
|
-
totalFlags: z.number(),
|
|
1990
|
+
totalFlags: z.number().int(),
|
|
1990
1991
|
flags: z.array(launchDarklyFlagSummarySchema),
|
|
1991
1992
|
flagsLink: z.string(),
|
|
1992
1993
|
message: z.string()
|
|
@@ -2010,7 +2011,7 @@ export const snowflakeExecuteQueryTool = defineTool({
|
|
|
2010
2011
|
outputSchema: toolOutputBaseSchema.extend({
|
|
2011
2012
|
rows: z.array(snowflakeQueryRowSchema),
|
|
2012
2013
|
columns: z.array(z.string()),
|
|
2013
|
-
rowCount: z.number()
|
|
2014
|
+
rowCount: z.number().int()
|
|
2014
2015
|
})
|
|
2015
2016
|
});
|
|
2016
2017
|
export const snowflakeExplainQueryTool = defineTool({
|
|
@@ -2019,7 +2020,7 @@ export const snowflakeExplainQueryTool = defineTool({
|
|
|
2019
2020
|
outputSchema: toolOutputBaseSchema.extend({
|
|
2020
2021
|
explainPlan: z.array(snowflakeQueryRowSchema),
|
|
2021
2022
|
columns: z.array(z.string()),
|
|
2022
|
-
rowCount: z.number()
|
|
2023
|
+
rowCount: z.number().int()
|
|
2023
2024
|
})
|
|
2024
2025
|
});
|
|
2025
2026
|
export const webSearchTool = defineTool({
|
|
@@ -2094,6 +2095,12 @@ export const ToolDefinitions = {
|
|
|
2094
2095
|
[webResearchTool.name]: webResearchTool,
|
|
2095
2096
|
[imageEditTool.name]: imageEditTool
|
|
2096
2097
|
};
|
|
2098
|
+
export const toolsWithIntegrationId = new Set(Object.entries(ToolDefinitions)
|
|
2099
|
+
.filter(([, def]) => {
|
|
2100
|
+
const shape = def.inputSchema instanceof z.ZodObject ? def.inputSchema.shape : undefined;
|
|
2101
|
+
return shape?.integrationId !== undefined;
|
|
2102
|
+
})
|
|
2103
|
+
.map(([name]) => name));
|
|
2097
2104
|
export function isValidToolName(name) {
|
|
2098
2105
|
return name in ToolDefinitions;
|
|
2099
2106
|
}
|