huly-mcp-selfhost 2.1.0 → 3.2.0
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/.env.example +39 -2
- package/README.md +462 -16
- package/dist/connection.d.ts +8 -0
- package/dist/connection.js +13 -1
- package/dist/connection.js.map +1 -1
- package/dist/env.d.ts +1 -0
- package/dist/env.js +17 -0
- package/dist/env.js.map +1 -0
- package/dist/guard.d.ts +28 -0
- package/dist/guard.js +152 -0
- package/dist/guard.js.map +1 -0
- package/dist/guides/costs.md +48 -0
- package/dist/guides/features.md +49 -0
- package/dist/guides/onboarding.md +56 -0
- package/dist/guides/workflow.md +57 -0
- package/dist/index.js +18 -1
- package/dist/index.js.map +1 -1
- package/dist/junit-cli.d.ts +8 -0
- package/dist/junit-cli.js +106 -0
- package/dist/junit-cli.js.map +1 -0
- package/dist/registry.d.ts +18 -0
- package/dist/registry.js +318 -0
- package/dist/registry.js.map +1 -0
- package/dist/resources.d.ts +12 -0
- package/dist/resources.js +212 -0
- package/dist/resources.js.map +1 -0
- package/dist/schemas.d.ts +1269 -17
- package/dist/schemas.js +890 -97
- package/dist/schemas.js.map +1 -1
- package/dist/server.d.ts +27 -1
- package/dist/server.js +197 -128
- package/dist/server.js.map +1 -1
- package/dist/tools/activity.d.ts +10 -0
- package/dist/tools/activity.js +62 -0
- package/dist/tools/activity.js.map +1 -0
- package/dist/tools/agent.d.ts +156 -0
- package/dist/tools/agent.js +523 -0
- package/dist/tools/agent.js.map +1 -0
- package/dist/tools/attachments.d.ts +4 -4
- package/dist/tools/calendar.d.ts +49 -0
- package/dist/tools/calendar.js +116 -0
- package/dist/tools/calendar.js.map +1 -0
- package/dist/tools/cards.d.ts +87 -0
- package/dist/tools/cards.js +246 -0
- package/dist/tools/cards.js.map +1 -0
- package/dist/tools/channels.d.ts +76 -7
- package/dist/tools/channels.js +86 -5
- package/dist/tools/channels.js.map +1 -1
- package/dist/tools/comments.d.ts +16 -4
- package/dist/tools/comments.js +26 -9
- package/dist/tools/comments.js.map +1 -1
- package/dist/tools/components.d.ts +5 -5
- package/dist/tools/components.js +4 -22
- package/dist/tools/components.js.map +1 -1
- package/dist/tools/contacts.d.ts +69 -0
- package/dist/tools/contacts.js +130 -0
- package/dist/tools/contacts.js.map +1 -0
- package/dist/tools/crm.d.ts +61 -0
- package/dist/tools/crm.js +117 -0
- package/dist/tools/crm.js.map +1 -0
- package/dist/tools/documents.d.ts +35 -12
- package/dist/tools/documents.js +107 -22
- package/dist/tools/documents.js.map +1 -1
- package/dist/tools/drive.d.ts +107 -0
- package/dist/tools/drive.js +277 -0
- package/dist/tools/drive.js.map +1 -0
- package/dist/tools/fields.d.ts +33 -0
- package/dist/tools/fields.js +124 -0
- package/dist/tools/fields.js.map +1 -0
- package/dist/tools/generic.d.ts +72 -0
- package/dist/tools/generic.js +242 -0
- package/dist/tools/generic.js.map +1 -0
- package/dist/tools/github.d.ts +21 -0
- package/dist/tools/github.js +80 -0
- package/dist/tools/github.js.map +1 -0
- package/dist/tools/hr.d.ts +97 -0
- package/dist/tools/hr.js +150 -0
- package/dist/tools/hr.js.map +1 -0
- package/dist/tools/inbox.d.ts +23 -0
- package/dist/tools/inbox.js +76 -0
- package/dist/tools/inbox.js.map +1 -0
- package/dist/tools/inventory.d.ts +61 -0
- package/dist/tools/inventory.js +103 -0
- package/dist/tools/inventory.js.map +1 -0
- package/dist/tools/issues.d.ts +63 -12
- package/dist/tools/issues.js +259 -48
- package/dist/tools/issues.js.map +1 -1
- package/dist/tools/labels.d.ts +52 -4
- package/dist/tools/labels.js +86 -4
- package/dist/tools/labels.js.map +1 -1
- package/dist/tools/log-time.d.ts +15 -1
- package/dist/tools/log-time.js +70 -6
- package/dist/tools/log-time.js.map +1 -1
- package/dist/tools/meetings.d.ts +30 -0
- package/dist/tools/meetings.js +78 -0
- package/dist/tools/meetings.js.map +1 -0
- package/dist/tools/members.d.ts +1 -1
- package/dist/tools/members.js +17 -1
- package/dist/tools/members.js.map +1 -1
- package/dist/tools/message-templates.d.ts +54 -0
- package/dist/tools/message-templates.js +88 -0
- package/dist/tools/message-templates.js.map +1 -0
- package/dist/tools/milestones.d.ts +9 -9
- package/dist/tools/organizations.d.ts +5 -5
- package/dist/tools/organizations.js +2 -1
- package/dist/tools/organizations.js.map +1 -1
- package/dist/tools/overview.d.ts +55 -0
- package/dist/tools/overview.js +395 -0
- package/dist/tools/overview.js.map +1 -0
- package/dist/tools/planner.d.ts +60 -0
- package/dist/tools/planner.js +145 -0
- package/dist/tools/planner.js.map +1 -0
- package/dist/tools/process.d.ts +50 -0
- package/dist/tools/process.js +137 -0
- package/dist/tools/process.js.map +1 -0
- package/dist/tools/products.d.ts +17 -0
- package/dist/tools/products.js +45 -0
- package/dist/tools/products.js.map +1 -0
- package/dist/tools/projects.d.ts +17 -4
- package/dist/tools/projects.js +31 -2
- package/dist/tools/projects.js.map +1 -1
- package/dist/tools/qms.d.ts +57 -0
- package/dist/tools/qms.js +171 -0
- package/dist/tools/qms.js.map +1 -0
- package/dist/tools/recruiting.d.ts +112 -0
- package/dist/tools/recruiting.js +203 -0
- package/dist/tools/recruiting.js.map +1 -0
- package/dist/tools/relations.d.ts +45 -3
- package/dist/tools/relations.js +128 -39
- package/dist/tools/relations.js.map +1 -1
- package/dist/tools/search.d.ts +14 -1
- package/dist/tools/search.js +29 -1
- package/dist/tools/search.js.map +1 -1
- package/dist/tools/sharing.d.ts +62 -0
- package/dist/tools/sharing.js +149 -0
- package/dist/tools/sharing.js.map +1 -0
- package/dist/tools/statuses.d.ts +3 -3
- package/dist/tools/surveys.d.ts +22 -0
- package/dist/tools/surveys.js +53 -0
- package/dist/tools/surveys.js.map +1 -0
- package/dist/tools/templates.d.ts +95 -0
- package/dist/tools/templates.js +260 -0
- package/dist/tools/templates.js.map +1 -0
- package/dist/tools/test-automation.d.ts +81 -0
- package/dist/tools/test-automation.js +225 -0
- package/dist/tools/test-automation.js.map +1 -0
- package/dist/tools/testing.d.ts +234 -0
- package/dist/tools/testing.js +401 -0
- package/dist/tools/testing.js.map +1 -0
- package/dist/tools/workspace-admin.d.ts +55 -0
- package/dist/tools/workspace-admin.js +117 -0
- package/dist/tools/workspace-admin.js.map +1 -0
- package/dist/tools/workspaces.d.ts +1 -1
- package/dist/utils/attributes.d.ts +37 -0
- package/dist/utils/attributes.js +188 -0
- package/dist/utils/attributes.js.map +1 -0
- package/dist/utils/classes.d.ts +51 -0
- package/dist/utils/classes.js +73 -0
- package/dist/utils/classes.js.map +1 -0
- package/dist/utils/content.d.ts +11 -0
- package/dist/utils/content.js +86 -0
- package/dist/utils/content.js.map +1 -0
- package/dist/utils/errors.js +1 -1
- package/dist/utils/errors.js.map +1 -1
- package/dist/utils/files.d.ts +5 -0
- package/dist/utils/files.js +50 -0
- package/dist/utils/files.js.map +1 -0
- package/dist/utils/format.d.ts +2 -0
- package/dist/utils/format.js +7 -13
- package/dist/utils/format.js.map +1 -1
- package/dist/utils/junit.d.ts +13 -0
- package/dist/utils/junit.js +81 -0
- package/dist/utils/junit.js.map +1 -0
- package/dist/utils/markdown.js +9 -4
- package/dist/utils/markdown.js.map +1 -1
- package/dist/utils/meeting.d.ts +13 -0
- package/dist/utils/meeting.js +118 -0
- package/dist/utils/meeting.js.map +1 -0
- package/dist/utils/people.d.ts +25 -0
- package/dist/utils/people.js +80 -0
- package/dist/utils/people.js.map +1 -0
- package/dist/utils/redact.d.ts +3 -0
- package/dist/utils/redact.js +26 -0
- package/dist/utils/redact.js.map +1 -0
- package/dist/utils/resolve.d.ts +17 -0
- package/dist/utils/resolve.js +54 -0
- package/dist/utils/resolve.js.map +1 -0
- package/dist/utils/spec.d.ts +10 -0
- package/dist/utils/spec.js +90 -0
- package/dist/utils/spec.js.map +1 -0
- package/dist/utils/storage.js +7 -3
- package/dist/utils/storage.js.map +1 -1
- package/dist/utils/tasks.d.ts +22 -0
- package/dist/utils/tasks.js +81 -0
- package/dist/utils/tasks.js.map +1 -0
- package/dist/watch.d.ts +62 -0
- package/dist/watch.js +405 -0
- package/dist/watch.js.map +1 -0
- package/package.json +4 -3
- package/scripts/setup.js +3 -1
package/dist/schemas.js
CHANGED
|
@@ -1,14 +1,17 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
4
|
-
exports.UpdateOrganizationSchema = exports.CreateOrganizationSchema = exports.GetOrganizationSchema = void 0;
|
|
3
|
+
exports.DeleteAttachmentSchema = exports.ListAttachmentsSchema = exports.AttachFileSchema = exports.ListMessagesSchema = exports.SendMessageSchema = exports.StartDirectMessageSchema = exports.CreateChannelSchema = exports.ListChannelsSchema = exports.LinkDocumentSchema = exports.DeleteCommentSchema = exports.AddDocumentCommentSchema = exports.ListDocumentCommentsSchema = exports.UpdateDocumentSchema = exports.LogTimeSchema = exports.ListCommentsSchema = exports.SetParentSchema = exports.AddBlockedBySchema = exports.AddRelationSchema = exports.RemoveLabelSchema = exports.AddLabelSchema = exports.CreateLabelSchema = exports.ListLabelsSchema = exports.SearchAllSchema = exports.SearchIssuesSchema = exports.CreateDocumentSchema = exports.GetDocumentSchema = exports.ListDocumentsSchema = exports.CreateTeamspaceSchema = exports.DeleteDocumentSchema = exports.CreateProjectSchema = exports.DeleteComponentSchema = exports.UpdateComponentSchema = exports.CreateComponentSchema = exports.ListComponentsSchema = exports.DeleteMilestoneSchema = exports.UpdateMilestoneSchema = exports.GetMilestoneSchema = exports.CreateMilestoneSchema = exports.ListMilestonesSchema = exports.AddCommentSchema = exports.UpdateIssueSchema = exports.DeleteIssueSchema = exports.CreateIssueSchema = exports.GetIssueSchema = exports.ListIssuesSchema = exports.GetProjectSchema = exports.ListTeamspacesSchema = exports.ListMembersSchema = exports.ListProjectsSchema = exports.ListWorkspacesSchema = void 0;
|
|
4
|
+
exports.StartWorkSchema = exports.GetIssueContextSchema = exports.GenericDeleteSchema = exports.GenericUpdateSchema = exports.GenericCreateSchema = exports.QueryDocumentsSchema = exports.DescribeClassSchema = exports.ListClassesSchema = exports.ContactChannelSchema = exports.UpdatePersonSchema = exports.CreatePersonSchema = exports.GetPersonSchema = exports.ListPersonsSchema = exports.GetPullRequestSchema = exports.ListPullRequestsSchema = exports.PinMessageSchema = exports.ReactionSchema = exports.DeleteMessageSchema = exports.UpdateMessageSchema = exports.ReplyToMessageSchema = exports.ListThreadSchema = exports.DeleteEventSchema = exports.UpdateEventSchema = exports.CreateEventSchema = exports.ListEventsSchema = exports.ScheduleTodoSchema = exports.DeleteTodoSchema = exports.UpdateTodoSchema = exports.CreateTodoSchema = exports.ListTodosSchema = exports.GetActivitySchema = exports.MarkNotificationsReadSchema = exports.ListNotificationsSchema = exports.RepairParentLinksSchema = exports.ListTimeReportsSchema = exports.UpdateProjectSchema = exports.DeleteLabelSchema = exports.UpdateLabelSchema = exports.UpdateCommentSchema = exports.RemoveBlockedBySchema = exports.RemoveRelationSchema = exports.ListSubIssuesSchema = exports.MoveIssueSchema = exports.BulkUpdateIssuesSchema = exports.UpdateOrganizationSchema = exports.CreateOrganizationSchema = exports.GetOrganizationSchema = exports.ListOrganizationsSchema = exports.CreateIssueStatusSchema = exports.ListIssueStatusesSchema = void 0;
|
|
5
|
+
exports.CreateTestSuiteSchema = exports.ListTestCasesSchema = exports.CreateTestProjectSchema = exports.ListTestProjectsSchema = exports.CreateIssueFromTemplateSchema = exports.DeleteIssueTemplateSchema = exports.UpdateIssueTemplateSchema = exports.CreateIssueTemplateSchema = exports.GetIssueTemplateSchema = exports.ListIssueTemplatesSchema = exports.RestoreFileVersionSchema = exports.ListFileVersionsSchema = exports.DeleteDriveItemSchema = exports.UpdateDriveItemSchema = exports.DownloadFileSchema = exports.UploadFileSchema = exports.CreateFolderSchema = exports.ListDriveFilesSchema = exports.CreateDriveSchema = exports.ListDrivesSchema = exports.SetCustomFieldsSchema = exports.CreateCustomFieldSchema = exports.ListCustomFieldsSchema = exports.DeleteCardTypeSchema = exports.CreateCardTypeSchema = exports.DeleteCardSchema = exports.UpdateCardSchema = exports.CreateCardSchema = exports.GetCardSchema = exports.ListCardsSchema = exports.ListCardTypesSchema = exports.RevokePublicLinkSchema = exports.ListPublicLinksSchema = exports.CreatePublicLinkSchema = exports.RemoveCollaboratorSchema = exports.AddCollaboratorSchema = exports.ListCollaboratorsSchema = exports.FindProjectForRepoSchema = exports.ReleaseIssueSchema = exports.ClaimIssueSchema = exports.ChangesSinceSchema = exports.ProjectReportSchema = exports.StandupSchema = exports.ReleaseNotesSchema = exports.TriageInboxSchema = exports.MyDaySchema = exports.IssuesFromMeetingSchema = exports.IssuesFromDocumentSchema = exports.CreateIssueTreeSchema = exports.FinishWorkSchema = void 0;
|
|
6
|
+
exports.DeleteTimeOffSchema = exports.CreateTimeOffSchema = exports.ListTimeOffSchema = exports.SetDepartmentSchema = exports.DeleteDepartmentSchema = exports.CreateDepartmentSchema = exports.ListDepartmentsSchema = exports.DeleteLeadSchema = exports.UpdateLeadSchema = exports.CreateLeadSchema = exports.ListCustomersSchema = exports.ListLeadsSchema = exports.DeleteApplicationSchema = exports.UpdateApplicationSchema = exports.CreateApplicationSchema = exports.ListApplicationsSchema = exports.CreateCandidateSchema = exports.ListCandidatesSchema = exports.UpdateVacancySchema = exports.CreateVacancySchema = exports.ListVacanciesSchema = exports.ListProjectTypesSchema = exports.GetWorkspaceSettingsSchema = exports.SetMemberRoleSchema = exports.SendInviteSchema = exports.CreateInviteLinkSchema = exports.SetLabelCategorySchema = exports.CreateLabelCategorySchema = exports.ListLabelCategoriesSchema = exports.GetProductSchema = exports.ListProductsSchema = exports.CreateTestCasesSchema = exports.CreateIssueFromTestResultSchema = exports.GetTestReportSchema = exports.ImportTestResultsSchema = exports.DeleteTestPlanSchema = exports.DeleteTestRunSchema = exports.UpdateTestRunSchema = exports.DeleteTestSuiteSchema = exports.UpdateTestSuiteSchema = exports.SetTestResultSchema = exports.GetTestRunSchema = exports.ListTestRunsSchema = exports.CreateTestRunSchema = exports.CreateTestPlanSchema = exports.ListTestPlansSchema = exports.DeleteTestCaseSchema = exports.UpdateTestCaseSchema = exports.CreateTestCaseSchema = exports.GetTestCaseSchema = void 0;
|
|
7
|
+
exports.GetSurveySchema = exports.ListSurveysSchema = exports.CancelExecutionSchema = exports.StartProcessSchema = exports.ListExecutionsSchema = exports.ListProcessesSchema = exports.GetTrainingSchema = exports.ListTrainingsSchema = exports.GetControlledDocumentSchema = exports.ListControlledDocumentsSchema = exports.GetMeetingSchema = exports.ListMeetingsSchema = exports.DeleteMessageTemplateSchema = exports.UpdateMessageTemplateSchema = exports.CreateMessageTemplateSchema = exports.GetMessageTemplateSchema = exports.ListMessageTemplatesSchema = exports.DeleteInventoryItemSchema = exports.UpdateInventoryItemSchema = exports.CreateInventoryProductSchema = exports.CreateInventoryCategorySchema = exports.ListInventorySchema = void 0;
|
|
5
8
|
const zod_1 = require("zod");
|
|
6
9
|
// Every tool names its workspace. Entity IDs (issue identifiers, document IDs, …)
|
|
7
10
|
// are only unique within a workspace, so the workspace is part of their identity.
|
|
8
11
|
// Mutations always require it; reads may omit it only when exactly one
|
|
9
12
|
// workspace is available.
|
|
10
|
-
const WorkspaceArg = zod_1.z.string().min(1)
|
|
11
|
-
const ReadWorkspaceArg = zod_1.z.string().min(1).optional()
|
|
13
|
+
const WorkspaceArg = zod_1.z.string().min(1);
|
|
14
|
+
const ReadWorkspaceArg = zod_1.z.string().min(1).optional();
|
|
12
15
|
const PriorityEnum = zod_1.z.enum(['NoPriority', 'Urgent', 'High', 'Medium', 'Low']);
|
|
13
16
|
exports.ListWorkspacesSchema = zod_1.z.object({});
|
|
14
17
|
exports.ListProjectsSchema = zod_1.z.object({
|
|
@@ -22,27 +25,36 @@ exports.ListTeamspacesSchema = zod_1.z.object({
|
|
|
22
25
|
});
|
|
23
26
|
exports.GetProjectSchema = zod_1.z.object({
|
|
24
27
|
workspace: ReadWorkspaceArg,
|
|
25
|
-
identifier: zod_1.z.string().describe('Project
|
|
28
|
+
identifier: zod_1.z.string().describe('Project key')
|
|
26
29
|
});
|
|
27
30
|
exports.ListIssuesSchema = zod_1.z.object({
|
|
28
31
|
workspace: ReadWorkspaceArg,
|
|
29
|
-
projectIdentifier: zod_1.z.string().describe('Project
|
|
30
|
-
status: zod_1.z.string().optional().describe('
|
|
32
|
+
projectIdentifier: zod_1.z.string().describe('Project key'),
|
|
33
|
+
status: zod_1.z.string().optional().describe('Status name, "open" (default) or "all"'),
|
|
31
34
|
priority: PriorityEnum.optional().describe('Filter by priority'),
|
|
32
|
-
|
|
35
|
+
milestoneLabel: zod_1.z.string().min(1).nullable().optional().describe('Milestone name; null = none'),
|
|
36
|
+
componentLabel: zod_1.z.string().min(1).nullable().optional().describe('Component name; null = none'),
|
|
37
|
+
labelName: zod_1.z.string().min(1).optional().describe('Filter by label name'),
|
|
38
|
+
assignee: zod_1.z.string().min(1).nullable().optional().describe('Person name; null = unassigned'),
|
|
39
|
+
parentIdentifier: zod_1.z.string().min(1).nullable().optional().describe('Direct sub-issues of this issue; null = top-level only'),
|
|
40
|
+
limit: zod_1.z.number().int().min(1).max(250).default(50),
|
|
41
|
+
offset: zod_1.z.number().int().min(0).optional()
|
|
33
42
|
});
|
|
34
43
|
exports.GetIssueSchema = zod_1.z.object({
|
|
35
44
|
workspace: ReadWorkspaceArg,
|
|
36
|
-
identifier: zod_1.z.string().describe('Issue
|
|
45
|
+
identifier: zod_1.z.string().describe('Issue id')
|
|
37
46
|
});
|
|
38
47
|
exports.CreateIssueSchema = zod_1.z.object({
|
|
39
48
|
workspace: WorkspaceArg,
|
|
40
|
-
projectIdentifier: zod_1.z.string().describe('Project
|
|
49
|
+
projectIdentifier: zod_1.z.string().describe('Project key'),
|
|
41
50
|
title: zod_1.z.string().min(1).describe('Issue title'),
|
|
42
51
|
description: zod_1.z.string().optional().describe('Issue description as Markdown (headings, bold, code, lists, tables, mermaid supported)'),
|
|
43
52
|
priority: PriorityEnum.default('NoPriority').describe('Issue priority'),
|
|
44
|
-
statusName: zod_1.z.string().optional().describe('
|
|
45
|
-
dueDate: zod_1.z.string().optional().describe('Due date as ISO 8601 string, e.g. "2026-04-01"')
|
|
53
|
+
statusName: zod_1.z.string().optional().describe('Default: project default'),
|
|
54
|
+
dueDate: zod_1.z.string().optional().describe('Due date as ISO 8601 string, e.g. "2026-04-01"'),
|
|
55
|
+
assignee: zod_1.z.string().optional(),
|
|
56
|
+
componentLabel: zod_1.z.string().optional(),
|
|
57
|
+
milestoneLabel: zod_1.z.string().optional()
|
|
46
58
|
});
|
|
47
59
|
exports.DeleteIssueSchema = zod_1.z.object({
|
|
48
60
|
workspace: WorkspaceArg,
|
|
@@ -50,83 +62,83 @@ exports.DeleteIssueSchema = zod_1.z.object({
|
|
|
50
62
|
});
|
|
51
63
|
exports.UpdateIssueSchema = zod_1.z.object({
|
|
52
64
|
workspace: WorkspaceArg,
|
|
53
|
-
identifier: zod_1.z.string().describe('Issue
|
|
54
|
-
title: zod_1.z.string().optional()
|
|
55
|
-
description: zod_1.z.string().optional().describe('
|
|
56
|
-
statusName: zod_1.z.string().optional()
|
|
57
|
-
priority: PriorityEnum.optional()
|
|
58
|
-
dueDate: zod_1.z.string().nullable().optional().describe('
|
|
59
|
-
assignee: zod_1.z.string().nullable().optional().describe('
|
|
60
|
-
componentLabel: zod_1.z.string().optional().describe('Component name
|
|
61
|
-
milestoneLabel: zod_1.z.string().nullable().optional().describe('Milestone name
|
|
65
|
+
identifier: zod_1.z.string().describe('Issue id'),
|
|
66
|
+
title: zod_1.z.string().optional(),
|
|
67
|
+
description: zod_1.z.string().optional().describe('Markdown, replaces existing'),
|
|
68
|
+
statusName: zod_1.z.string().optional(),
|
|
69
|
+
priority: PriorityEnum.optional(),
|
|
70
|
+
dueDate: zod_1.z.string().nullable().optional().describe('null clears'),
|
|
71
|
+
assignee: zod_1.z.string().nullable().optional().describe('Person name; null clears'),
|
|
72
|
+
componentLabel: zod_1.z.string().nullable().optional().describe('Component name; null clears'),
|
|
73
|
+
milestoneLabel: zod_1.z.string().nullable().optional().describe('Milestone name; null clears')
|
|
62
74
|
});
|
|
63
75
|
exports.AddCommentSchema = zod_1.z.object({
|
|
64
76
|
workspace: WorkspaceArg,
|
|
65
|
-
identifier: zod_1.z.string().describe('Issue
|
|
66
|
-
message: zod_1.z.string().min(1)
|
|
77
|
+
identifier: zod_1.z.string().describe('Issue id'),
|
|
78
|
+
message: zod_1.z.string().min(1)
|
|
67
79
|
});
|
|
68
80
|
exports.ListMilestonesSchema = zod_1.z.object({
|
|
69
81
|
workspace: ReadWorkspaceArg,
|
|
70
|
-
projectIdentifier: zod_1.z.string().describe('Project
|
|
82
|
+
projectIdentifier: zod_1.z.string().describe('Project key')
|
|
71
83
|
});
|
|
72
84
|
const MilestoneStatusEnum = zod_1.z.enum(['Planned', 'InProgress', 'Completed', 'Canceled']);
|
|
73
85
|
exports.CreateMilestoneSchema = zod_1.z.object({
|
|
74
86
|
workspace: WorkspaceArg,
|
|
75
|
-
projectIdentifier: zod_1.z.string().describe('Project
|
|
76
|
-
label: zod_1.z.string().min(1)
|
|
77
|
-
targetDate: zod_1.z.string().describe('
|
|
78
|
-
status: MilestoneStatusEnum.default('Planned')
|
|
87
|
+
projectIdentifier: zod_1.z.string().describe('Project key'),
|
|
88
|
+
label: zod_1.z.string().min(1),
|
|
89
|
+
targetDate: zod_1.z.string().describe('ISO date'),
|
|
90
|
+
status: MilestoneStatusEnum.default('Planned')
|
|
79
91
|
});
|
|
80
92
|
exports.GetMilestoneSchema = zod_1.z.object({
|
|
81
93
|
workspace: ReadWorkspaceArg,
|
|
82
|
-
projectIdentifier: zod_1.z.string().describe('Project
|
|
83
|
-
label: zod_1.z.string().min(1)
|
|
94
|
+
projectIdentifier: zod_1.z.string().describe('Project key'),
|
|
95
|
+
label: zod_1.z.string().min(1)
|
|
84
96
|
});
|
|
85
97
|
exports.UpdateMilestoneSchema = zod_1.z.object({
|
|
86
98
|
workspace: WorkspaceArg,
|
|
87
|
-
projectIdentifier: zod_1.z.string().describe('Project
|
|
88
|
-
label: zod_1.z.string().min(1)
|
|
89
|
-
newLabel: zod_1.z.string().min(1).optional()
|
|
90
|
-
targetDate: zod_1.z.string().optional().describe('
|
|
91
|
-
status: MilestoneStatusEnum.optional()
|
|
92
|
-
description: zod_1.z.string().nullable().optional().describe('
|
|
99
|
+
projectIdentifier: zod_1.z.string().describe('Project key'),
|
|
100
|
+
label: zod_1.z.string().min(1),
|
|
101
|
+
newLabel: zod_1.z.string().min(1).optional(),
|
|
102
|
+
targetDate: zod_1.z.string().optional().describe('ISO date'),
|
|
103
|
+
status: MilestoneStatusEnum.optional(),
|
|
104
|
+
description: zod_1.z.string().nullable().optional().describe('Markdown; null clears')
|
|
93
105
|
});
|
|
94
106
|
exports.DeleteMilestoneSchema = zod_1.z.object({
|
|
95
107
|
workspace: WorkspaceArg,
|
|
96
|
-
projectIdentifier: zod_1.z.string().describe('Project
|
|
97
|
-
label: zod_1.z.string().min(1)
|
|
98
|
-
moveIssuesTo: zod_1.z.string().min(1).optional().describe('
|
|
108
|
+
projectIdentifier: zod_1.z.string().describe('Project key'),
|
|
109
|
+
label: zod_1.z.string().min(1),
|
|
110
|
+
moveIssuesTo: zod_1.z.string().min(1).optional().describe('Move its issues here; omitted = issues lose the milestone')
|
|
99
111
|
});
|
|
100
112
|
exports.ListComponentsSchema = zod_1.z.object({
|
|
101
113
|
workspace: ReadWorkspaceArg,
|
|
102
|
-
projectIdentifier: zod_1.z.string().describe('Project
|
|
114
|
+
projectIdentifier: zod_1.z.string().describe('Project key')
|
|
103
115
|
});
|
|
104
116
|
exports.CreateComponentSchema = zod_1.z.object({
|
|
105
117
|
workspace: WorkspaceArg,
|
|
106
|
-
projectIdentifier: zod_1.z.string().describe('Project
|
|
107
|
-
label: zod_1.z.string().min(1)
|
|
108
|
-
description: zod_1.z.string().optional()
|
|
109
|
-
lead: zod_1.z.string().optional().describe('
|
|
118
|
+
projectIdentifier: zod_1.z.string().describe('Project key'),
|
|
119
|
+
label: zod_1.z.string().min(1),
|
|
120
|
+
description: zod_1.z.string().optional(),
|
|
121
|
+
lead: zod_1.z.string().optional().describe('Person name')
|
|
110
122
|
});
|
|
111
123
|
exports.UpdateComponentSchema = zod_1.z.object({
|
|
112
124
|
workspace: WorkspaceArg,
|
|
113
|
-
projectIdentifier: zod_1.z.string().describe('Project
|
|
114
|
-
label: zod_1.z.string().min(1)
|
|
115
|
-
newLabel: zod_1.z.string().min(1).optional()
|
|
116
|
-
description: zod_1.z.string().nullable().optional().describe('
|
|
117
|
-
lead: zod_1.z.string().nullable().optional().describe('
|
|
125
|
+
projectIdentifier: zod_1.z.string().describe('Project key'),
|
|
126
|
+
label: zod_1.z.string().min(1),
|
|
127
|
+
newLabel: zod_1.z.string().min(1).optional(),
|
|
128
|
+
description: zod_1.z.string().nullable().optional().describe('Markdown; null clears'),
|
|
129
|
+
lead: zod_1.z.string().nullable().optional().describe('Person name; null clears')
|
|
118
130
|
});
|
|
119
131
|
exports.DeleteComponentSchema = zod_1.z.object({
|
|
120
132
|
workspace: WorkspaceArg,
|
|
121
|
-
projectIdentifier: zod_1.z.string().describe('Project
|
|
122
|
-
label: zod_1.z.string().min(1)
|
|
123
|
-
moveIssuesTo: zod_1.z.string().min(1).optional().describe('
|
|
133
|
+
projectIdentifier: zod_1.z.string().describe('Project key'),
|
|
134
|
+
label: zod_1.z.string().min(1),
|
|
135
|
+
moveIssuesTo: zod_1.z.string().min(1).optional().describe('Move its issues here; omitted = issues lose the component')
|
|
124
136
|
});
|
|
125
137
|
exports.CreateProjectSchema = zod_1.z.object({
|
|
126
138
|
workspace: WorkspaceArg,
|
|
127
|
-
name: zod_1.z.string().min(1).describe('Project name
|
|
128
|
-
identifier: zod_1.z.string().min(1).max(5).regex(/^[A-Z]+$/).describe('
|
|
129
|
-
description: zod_1.z.string().optional()
|
|
139
|
+
name: zod_1.z.string().min(1).describe('Project name'),
|
|
140
|
+
identifier: zod_1.z.string().min(1).max(5).regex(/^[A-Z]+$/).describe('ALL-CAPS key, max 5 letters'),
|
|
141
|
+
description: zod_1.z.string().optional()
|
|
130
142
|
});
|
|
131
143
|
exports.DeleteDocumentSchema = zod_1.z.object({
|
|
132
144
|
workspace: WorkspaceArg,
|
|
@@ -134,13 +146,13 @@ exports.DeleteDocumentSchema = zod_1.z.object({
|
|
|
134
146
|
});
|
|
135
147
|
exports.CreateTeamspaceSchema = zod_1.z.object({
|
|
136
148
|
workspace: WorkspaceArg,
|
|
137
|
-
name: zod_1.z.string().min(1)
|
|
138
|
-
description: zod_1.z.string().optional()
|
|
139
|
-
isPrivate: zod_1.z.boolean().default(false).describe('
|
|
149
|
+
name: zod_1.z.string().min(1),
|
|
150
|
+
description: zod_1.z.string().optional(),
|
|
151
|
+
isPrivate: zod_1.z.boolean().default(false).describe('Private teamspace')
|
|
140
152
|
});
|
|
141
153
|
exports.ListDocumentsSchema = zod_1.z.object({
|
|
142
154
|
workspace: ReadWorkspaceArg,
|
|
143
|
-
teamspaceId: zod_1.z.string().describe('Teamspace
|
|
155
|
+
teamspaceId: zod_1.z.string().describe('Teamspace id')
|
|
144
156
|
});
|
|
145
157
|
exports.GetDocumentSchema = zod_1.z.object({
|
|
146
158
|
workspace: ReadWorkspaceArg,
|
|
@@ -148,76 +160,96 @@ exports.GetDocumentSchema = zod_1.z.object({
|
|
|
148
160
|
});
|
|
149
161
|
exports.CreateDocumentSchema = zod_1.z.object({
|
|
150
162
|
workspace: WorkspaceArg,
|
|
151
|
-
teamspaceId: zod_1.z.string().describe('Teamspace
|
|
152
|
-
title: zod_1.z.string().min(1)
|
|
153
|
-
parentId: zod_1.z.string().optional().describe('Parent document
|
|
163
|
+
teamspaceId: zod_1.z.string().describe('Teamspace id'),
|
|
164
|
+
title: zod_1.z.string().min(1),
|
|
165
|
+
parentId: zod_1.z.string().optional().describe('Parent document id; omit for top-level')
|
|
154
166
|
});
|
|
155
167
|
exports.SearchIssuesSchema = zod_1.z.object({
|
|
156
168
|
workspace: ReadWorkspaceArg,
|
|
157
|
-
query: zod_1.z.string().min(1)
|
|
158
|
-
limit: zod_1.z.number().int().min(1).max(50).default(20)
|
|
169
|
+
query: zod_1.z.string().min(1),
|
|
170
|
+
limit: zod_1.z.number().int().min(1).max(50).default(20)
|
|
171
|
+
});
|
|
172
|
+
exports.SearchAllSchema = zod_1.z.object({
|
|
173
|
+
workspace: ReadWorkspaceArg,
|
|
174
|
+
query: zod_1.z.string().min(1),
|
|
175
|
+
kinds: zod_1.z.array(zod_1.z.string()).optional().describe('issue, document, message, card, file, person, organization, test-case, attachment or a class id'),
|
|
176
|
+
limit: zod_1.z.number().int().min(1).max(50).default(20)
|
|
159
177
|
});
|
|
160
178
|
// ── Labels ────────────────────────────────────────────────────────────────────
|
|
161
179
|
exports.ListLabelsSchema = zod_1.z.object({
|
|
162
180
|
workspace: ReadWorkspaceArg,
|
|
163
|
-
projectIdentifier: zod_1.z.string().optional().describe('
|
|
181
|
+
projectIdentifier: zod_1.z.string().optional().describe('Ignored (labels are workspace-wide)')
|
|
164
182
|
});
|
|
165
183
|
exports.CreateLabelSchema = zod_1.z.object({
|
|
166
184
|
workspace: WorkspaceArg,
|
|
167
|
-
title: zod_1.z.string().min(1)
|
|
168
|
-
color: zod_1.z.string().optional().describe('Hex color, e.g.
|
|
185
|
+
title: zod_1.z.string().min(1),
|
|
186
|
+
color: zod_1.z.string().optional().describe('Hex color, e.g. #FF6B6B')
|
|
169
187
|
});
|
|
170
188
|
exports.AddLabelSchema = zod_1.z.object({
|
|
171
189
|
workspace: WorkspaceArg,
|
|
172
|
-
identifier: zod_1.z.string().describe('Issue
|
|
190
|
+
identifier: zod_1.z.string().describe('Issue id'),
|
|
173
191
|
labelName: zod_1.z.string().min(1).describe('Label name to add (auto-created if it does not exist)')
|
|
174
192
|
});
|
|
175
193
|
exports.RemoveLabelSchema = zod_1.z.object({
|
|
176
194
|
workspace: WorkspaceArg,
|
|
177
|
-
identifier: zod_1.z.string().describe('Issue
|
|
178
|
-
labelName: zod_1.z.string().min(1)
|
|
195
|
+
identifier: zod_1.z.string().describe('Issue id'),
|
|
196
|
+
labelName: zod_1.z.string().min(1)
|
|
179
197
|
});
|
|
180
198
|
// ── Relations ─────────────────────────────────────────────────────────────────
|
|
181
199
|
exports.AddRelationSchema = zod_1.z.object({
|
|
182
200
|
workspace: WorkspaceArg,
|
|
183
|
-
identifier: zod_1.z.string().describe('Issue
|
|
184
|
-
relatedTo: zod_1.z.string().describe('Related issue
|
|
201
|
+
identifier: zod_1.z.string().describe('Issue id'),
|
|
202
|
+
relatedTo: zod_1.z.string().describe('Related issue id')
|
|
185
203
|
});
|
|
186
204
|
exports.AddBlockedBySchema = zod_1.z.object({
|
|
187
205
|
workspace: WorkspaceArg,
|
|
188
|
-
identifier: zod_1.z.string().describe('
|
|
206
|
+
identifier: zod_1.z.string().describe('Blocked issue id'),
|
|
189
207
|
blockedBy: zod_1.z.string().describe('Issue that blocks it, e.g. "PROJ-100"')
|
|
190
208
|
});
|
|
191
209
|
exports.SetParentSchema = zod_1.z.object({
|
|
192
210
|
workspace: WorkspaceArg,
|
|
193
211
|
identifier: zod_1.z.string().describe('Child issue identifier, e.g. "PROJ-123"'),
|
|
194
|
-
parentIdentifier: zod_1.z.string().nullable().optional().describe('Parent issue
|
|
212
|
+
parentIdentifier: zod_1.z.string().nullable().optional().describe('Parent issue id; null clears')
|
|
195
213
|
});
|
|
196
214
|
exports.ListCommentsSchema = zod_1.z.object({
|
|
197
215
|
workspace: ReadWorkspaceArg,
|
|
198
|
-
identifier: zod_1.z.string().describe('Issue
|
|
199
|
-
limit: zod_1.z.number().int().min(1).max(100).default(20).describe('
|
|
216
|
+
identifier: zod_1.z.string().describe('Issue id'),
|
|
217
|
+
limit: zod_1.z.number().int().min(1).max(100).default(20).describe('Newest n'),
|
|
218
|
+
full: zod_1.z.boolean().optional().describe('Do not shorten long comments')
|
|
200
219
|
});
|
|
201
220
|
exports.LogTimeSchema = zod_1.z.object({
|
|
202
221
|
workspace: WorkspaceArg,
|
|
203
|
-
identifier: zod_1.z.string().describe('Issue
|
|
222
|
+
identifier: zod_1.z.string().describe('Issue id'),
|
|
204
223
|
hours: zod_1.z.number().positive().describe('Hours spent (e.g. 2.5)'),
|
|
205
|
-
description: zod_1.z.string().optional().describe('
|
|
224
|
+
description: zod_1.z.string().optional().describe('Note')
|
|
206
225
|
});
|
|
207
226
|
exports.UpdateDocumentSchema = zod_1.z.object({
|
|
208
227
|
workspace: WorkspaceArg,
|
|
209
|
-
documentId: zod_1.z.string().describe('Document
|
|
210
|
-
markdown: zod_1.z.string().min(1).describe('
|
|
228
|
+
documentId: zod_1.z.string().describe('Document id'),
|
|
229
|
+
markdown: zod_1.z.string().min(1).optional().describe('New body (replaces content)'),
|
|
230
|
+
title: zod_1.z.string().min(1).optional(),
|
|
231
|
+
parentId: zod_1.z.string().nullable().optional().describe('Move under this document; null = top level'),
|
|
232
|
+
teamspaceId: zod_1.z.string().optional().describe('Move to this teamspace')
|
|
233
|
+
});
|
|
234
|
+
exports.ListDocumentCommentsSchema = zod_1.z.object({
|
|
235
|
+
workspace: ReadWorkspaceArg,
|
|
236
|
+
documentId: zod_1.z.string(),
|
|
237
|
+
limit: zod_1.z.number().int().min(1).max(200).default(50)
|
|
238
|
+
});
|
|
239
|
+
exports.AddDocumentCommentSchema = zod_1.z.object({
|
|
240
|
+
workspace: WorkspaceArg,
|
|
241
|
+
documentId: zod_1.z.string(),
|
|
242
|
+
message: zod_1.z.string().min(1)
|
|
211
243
|
});
|
|
212
244
|
exports.DeleteCommentSchema = zod_1.z.object({
|
|
213
245
|
workspace: WorkspaceArg,
|
|
214
|
-
identifier: zod_1.z.string().describe('Issue
|
|
246
|
+
identifier: zod_1.z.string().describe('Issue id'),
|
|
215
247
|
commentId: zod_1.z.string().describe('Comment _id from list_comments')
|
|
216
248
|
});
|
|
217
249
|
exports.LinkDocumentSchema = zod_1.z.object({
|
|
218
250
|
workspace: WorkspaceArg,
|
|
219
|
-
identifier: zod_1.z.string().describe('Issue
|
|
220
|
-
documentId: zod_1.z.string().describe('Document
|
|
251
|
+
identifier: zod_1.z.string().describe('Issue id'),
|
|
252
|
+
documentId: zod_1.z.string().describe('Document id')
|
|
221
253
|
});
|
|
222
254
|
// ── Chat (Channels & Direct Messages) ──────────────────────────────────────
|
|
223
255
|
exports.ListChannelsSchema = zod_1.z.object({
|
|
@@ -226,23 +258,23 @@ exports.ListChannelsSchema = zod_1.z.object({
|
|
|
226
258
|
});
|
|
227
259
|
exports.CreateChannelSchema = zod_1.z.object({
|
|
228
260
|
workspace: WorkspaceArg,
|
|
229
|
-
name: zod_1.z.string().min(1)
|
|
261
|
+
name: zod_1.z.string().min(1),
|
|
230
262
|
topic: zod_1.z.string().optional().describe('Optional channel topic/description'),
|
|
231
|
-
isPrivate: zod_1.z.boolean().default(false).describe('
|
|
263
|
+
isPrivate: zod_1.z.boolean().default(false).describe('Invite-only')
|
|
232
264
|
});
|
|
233
265
|
exports.StartDirectMessageSchema = zod_1.z.object({
|
|
234
266
|
workspace: WorkspaceArg,
|
|
235
|
-
member: zod_1.z.string().min(1).describe('
|
|
267
|
+
member: zod_1.z.string().min(1).describe('Person name')
|
|
236
268
|
});
|
|
237
269
|
exports.SendMessageSchema = zod_1.z.object({
|
|
238
270
|
workspace: WorkspaceArg,
|
|
239
271
|
spaceId: zod_1.z.string().describe('Channel or direct-message _id, from list_channels/create_channel/start_direct_message'),
|
|
240
|
-
message: zod_1.z.string().min(1)
|
|
272
|
+
message: zod_1.z.string().min(1)
|
|
241
273
|
});
|
|
242
274
|
exports.ListMessagesSchema = zod_1.z.object({
|
|
243
275
|
workspace: ReadWorkspaceArg,
|
|
244
276
|
spaceId: zod_1.z.string().describe('Channel or direct-message _id'),
|
|
245
|
-
limit: zod_1.z.number().int().min(1).max(200).default(50)
|
|
277
|
+
limit: zod_1.z.number().int().min(1).max(200).default(50)
|
|
246
278
|
});
|
|
247
279
|
// ── Attachments ─────────────────────────────────────────────────────────────
|
|
248
280
|
exports.AttachFileSchema = zod_1.z.object({
|
|
@@ -254,11 +286,11 @@ exports.AttachFileSchema = zod_1.z.object({
|
|
|
254
286
|
});
|
|
255
287
|
exports.ListAttachmentsSchema = zod_1.z.object({
|
|
256
288
|
workspace: ReadWorkspaceArg,
|
|
257
|
-
identifier: zod_1.z.string().describe('Issue
|
|
289
|
+
identifier: zod_1.z.string().describe('Issue id')
|
|
258
290
|
});
|
|
259
291
|
exports.DeleteAttachmentSchema = zod_1.z.object({
|
|
260
292
|
workspace: WorkspaceArg,
|
|
261
|
-
identifier: zod_1.z.string().describe('Issue
|
|
293
|
+
identifier: zod_1.z.string().describe('Issue id'),
|
|
262
294
|
attachmentId: zod_1.z.string().describe('Attachment _id from list_attachments')
|
|
263
295
|
});
|
|
264
296
|
// ── Issue Statuses (custom workflow states) ────────────────────────────────
|
|
@@ -268,9 +300,9 @@ exports.ListIssueStatusesSchema = zod_1.z.object({
|
|
|
268
300
|
});
|
|
269
301
|
exports.CreateIssueStatusSchema = zod_1.z.object({
|
|
270
302
|
workspace: WorkspaceArg,
|
|
271
|
-
name: zod_1.z.string().min(1).describe('Status name
|
|
272
|
-
category: StatusCategoryEnum.describe('
|
|
273
|
-
color: zod_1.z.string().optional().describe('Hex color, e.g.
|
|
303
|
+
name: zod_1.z.string().min(1).describe('Status name'),
|
|
304
|
+
category: StatusCategoryEnum.describe('Status phase'),
|
|
305
|
+
color: zod_1.z.string().optional().describe('Hex color, e.g. #FF6B6B')
|
|
274
306
|
});
|
|
275
307
|
// ── Organizations (contacts/CRM) ────────────────────────────────────────────
|
|
276
308
|
exports.ListOrganizationsSchema = zod_1.z.object({
|
|
@@ -278,16 +310,777 @@ exports.ListOrganizationsSchema = zod_1.z.object({
|
|
|
278
310
|
});
|
|
279
311
|
exports.GetOrganizationSchema = zod_1.z.object({
|
|
280
312
|
workspace: ReadWorkspaceArg,
|
|
281
|
-
organizationId: zod_1.z.string().describe('Organization
|
|
313
|
+
organizationId: zod_1.z.string().describe('Organization id')
|
|
282
314
|
});
|
|
283
315
|
exports.CreateOrganizationSchema = zod_1.z.object({
|
|
284
316
|
workspace: WorkspaceArg,
|
|
285
|
-
name: zod_1.z.string().min(1)
|
|
317
|
+
name: zod_1.z.string().min(1),
|
|
286
318
|
city: zod_1.z.string().optional().describe('City (optional)')
|
|
287
319
|
});
|
|
288
320
|
exports.UpdateOrganizationSchema = zod_1.z.object({
|
|
289
321
|
workspace: WorkspaceArg,
|
|
290
|
-
organizationId: zod_1.z.string().describe('Organization
|
|
291
|
-
description: zod_1.z.string().describe('
|
|
322
|
+
organizationId: zod_1.z.string().describe('Organization id'),
|
|
323
|
+
description: zod_1.z.string().describe('Markdown, replaces existing')
|
|
324
|
+
});
|
|
325
|
+
// ── 2.2.0 additions ──────────────────────────────────────────────────────────
|
|
326
|
+
const IssueRef = zod_1.z.string().describe('Issue id');
|
|
327
|
+
exports.BulkUpdateIssuesSchema = zod_1.z.object({
|
|
328
|
+
workspace: WorkspaceArg,
|
|
329
|
+
identifiers: zod_1.z.array(zod_1.z.string().min(1)).min(1).max(100).describe('Issue ids'),
|
|
330
|
+
statusName: zod_1.z.string().optional(),
|
|
331
|
+
priority: PriorityEnum.optional(),
|
|
332
|
+
dueDate: zod_1.z.string().nullable().optional().describe('null clears'),
|
|
333
|
+
assignee: zod_1.z.string().nullable().optional().describe('Person name; null clears'),
|
|
334
|
+
componentLabel: zod_1.z.string().nullable().optional().describe('Component name; null clears'),
|
|
335
|
+
milestoneLabel: zod_1.z.string().nullable().optional().describe('Milestone name; null clears')
|
|
336
|
+
});
|
|
337
|
+
exports.MoveIssueSchema = zod_1.z.object({
|
|
338
|
+
workspace: WorkspaceArg,
|
|
339
|
+
identifier: IssueRef,
|
|
340
|
+
targetProjectIdentifier: zod_1.z.string().describe('Target project key'),
|
|
341
|
+
statusName: zod_1.z.string().optional().describe('Default: keep current')
|
|
342
|
+
});
|
|
343
|
+
exports.ListSubIssuesSchema = zod_1.z.object({
|
|
344
|
+
workspace: ReadWorkspaceArg,
|
|
345
|
+
identifier: zod_1.z.string().describe('Parent issue id'),
|
|
346
|
+
depth: zod_1.z.number().int().min(1).max(10).default(5).describe('Levels')
|
|
347
|
+
});
|
|
348
|
+
exports.RemoveRelationSchema = zod_1.z.object({
|
|
349
|
+
workspace: WorkspaceArg,
|
|
350
|
+
identifier: IssueRef,
|
|
351
|
+
relatedTo: zod_1.z.string().describe('Related issue id')
|
|
352
|
+
});
|
|
353
|
+
exports.RemoveBlockedBySchema = zod_1.z.object({
|
|
354
|
+
workspace: WorkspaceArg,
|
|
355
|
+
identifier: zod_1.z.string().describe('Blocked issue id'),
|
|
356
|
+
blockedBy: zod_1.z.string().describe('Blocking issue to remove, e.g. "PROJ-100"')
|
|
357
|
+
});
|
|
358
|
+
exports.UpdateCommentSchema = zod_1.z.object({
|
|
359
|
+
workspace: WorkspaceArg,
|
|
360
|
+
identifier: IssueRef,
|
|
361
|
+
commentId: zod_1.z.string().min(1).describe('From list_comments'),
|
|
362
|
+
message: zod_1.z.string().min(1)
|
|
363
|
+
});
|
|
364
|
+
exports.UpdateLabelSchema = zod_1.z.object({
|
|
365
|
+
workspace: WorkspaceArg,
|
|
366
|
+
labelName: zod_1.z.string().min(1),
|
|
367
|
+
newName: zod_1.z.string().min(1).optional(),
|
|
368
|
+
color: zod_1.z.string().regex(/^#?[0-9a-fA-F]{6}$/).optional().describe('Hex color'),
|
|
369
|
+
description: zod_1.z.string().optional()
|
|
370
|
+
});
|
|
371
|
+
exports.DeleteLabelSchema = zod_1.z.object({
|
|
372
|
+
workspace: WorkspaceArg,
|
|
373
|
+
labelName: zod_1.z.string().min(1)
|
|
374
|
+
});
|
|
375
|
+
exports.UpdateProjectSchema = zod_1.z.object({
|
|
376
|
+
workspace: WorkspaceArg,
|
|
377
|
+
identifier: zod_1.z.string().describe('Project key'),
|
|
378
|
+
name: zod_1.z.string().min(1).optional(),
|
|
379
|
+
description: zod_1.z.string().optional(),
|
|
380
|
+
defaultAssignee: zod_1.z.string().nullable().optional().describe('Person name; null clears'),
|
|
381
|
+
defaultStatus: zod_1.z.string().optional().describe('Status name')
|
|
382
|
+
});
|
|
383
|
+
exports.ListTimeReportsSchema = zod_1.z.object({
|
|
384
|
+
workspace: ReadWorkspaceArg,
|
|
385
|
+
identifier: zod_1.z.string().optional().describe('Issue id (without sub-issues)'),
|
|
386
|
+
projectIdentifier: zod_1.z.string().optional().describe('Project key (all its issues)'),
|
|
387
|
+
member: zod_1.z.string().optional().describe('Person name'),
|
|
388
|
+
from: zod_1.z.string().optional().describe('ISO date'),
|
|
389
|
+
to: zod_1.z.string().optional().describe('ISO date, inclusive'),
|
|
390
|
+
limit: zod_1.z.number().int().min(1).max(500).default(100)
|
|
391
|
+
});
|
|
392
|
+
exports.RepairParentLinksSchema = zod_1.z.object({
|
|
393
|
+
workspace: WorkspaceArg,
|
|
394
|
+
projectIdentifier: zod_1.z.string().describe('Project key'),
|
|
395
|
+
dryRun: zod_1.z.boolean().default(true).describe('false applies the repair')
|
|
396
|
+
});
|
|
397
|
+
// ── 3.0: inbox, activity, planner, calendar, chat, github, contacts, generic ─
|
|
398
|
+
const ToDoPriorityEnum = zod_1.z.enum(['Urgent', 'High', 'Medium', 'Low', 'NoPriority']);
|
|
399
|
+
const ProviderEnum = zod_1.z.enum(['Email', 'Phone', 'LinkedIn', 'Twitter', 'GitHub', 'Facebook', 'Homepage', 'Whatsapp', 'Skype', 'Telegram', 'Viber', 'Profile']);
|
|
400
|
+
exports.ListNotificationsSchema = zod_1.z.object({
|
|
401
|
+
workspace: ReadWorkspaceArg,
|
|
402
|
+
unreadOnly: zod_1.z.boolean().default(true),
|
|
403
|
+
limit: zod_1.z.number().int().min(1).max(200).default(30),
|
|
404
|
+
ids: zod_1.z.boolean().optional().describe('Show notification ids')
|
|
405
|
+
});
|
|
406
|
+
exports.MarkNotificationsReadSchema = zod_1.z.object({
|
|
407
|
+
workspace: WorkspaceArg,
|
|
408
|
+
object: zod_1.z.string().optional().describe('Issue id or object id: read all its notifications'),
|
|
409
|
+
notificationIds: zod_1.z.array(zod_1.z.string()).optional().describe('From list_notifications'),
|
|
410
|
+
all: zod_1.z.boolean().optional().describe('Mark everything read'),
|
|
411
|
+
archive: zod_1.z.boolean().default(false).describe('Also archive')
|
|
412
|
+
});
|
|
413
|
+
exports.GetActivitySchema = zod_1.z.object({
|
|
414
|
+
workspace: ReadWorkspaceArg,
|
|
415
|
+
object: zod_1.z.string().describe('Issue id (PROJ-1) or object id'),
|
|
416
|
+
limit: zod_1.z.number().int().min(1).max(200).default(50)
|
|
417
|
+
});
|
|
418
|
+
exports.ListTodosSchema = zod_1.z.object({
|
|
419
|
+
workspace: ReadWorkspaceArg,
|
|
420
|
+
status: zod_1.z.enum(['open', 'done', 'all']).default('open'),
|
|
421
|
+
dueBefore: zod_1.z.string().optional().describe('ISO date'),
|
|
422
|
+
limit: zod_1.z.number().int().min(1).max(200).default(50)
|
|
423
|
+
});
|
|
424
|
+
exports.CreateTodoSchema = zod_1.z.object({
|
|
425
|
+
workspace: WorkspaceArg,
|
|
426
|
+
title: zod_1.z.string().min(1),
|
|
427
|
+
description: zod_1.z.string().optional().describe('Markdown'),
|
|
428
|
+
dueDate: zod_1.z.string().optional().describe('ISO date'),
|
|
429
|
+
priority: ToDoPriorityEnum.default('NoPriority'),
|
|
430
|
+
issue: zod_1.z.string().optional().describe('Issue id to attach the to-do to')
|
|
431
|
+
});
|
|
432
|
+
exports.UpdateTodoSchema = zod_1.z.object({
|
|
433
|
+
workspace: WorkspaceArg,
|
|
434
|
+
todoId: zod_1.z.string().describe('From list_todos'),
|
|
435
|
+
title: zod_1.z.string().min(1).optional(),
|
|
436
|
+
description: zod_1.z.string().optional().describe('Markdown'),
|
|
437
|
+
dueDate: zod_1.z.string().nullable().optional(),
|
|
438
|
+
priority: ToDoPriorityEnum.optional(),
|
|
439
|
+
done: zod_1.z.boolean().optional()
|
|
440
|
+
});
|
|
441
|
+
exports.DeleteTodoSchema = zod_1.z.object({
|
|
442
|
+
workspace: WorkspaceArg,
|
|
443
|
+
todoId: zod_1.z.string().describe('From list_todos')
|
|
444
|
+
});
|
|
445
|
+
exports.ScheduleTodoSchema = zod_1.z.object({
|
|
446
|
+
workspace: WorkspaceArg,
|
|
447
|
+
todoId: zod_1.z.string().describe('From list_todos'),
|
|
448
|
+
start: zod_1.z.string().describe('ISO date-time, e.g. 2026-11-03T09:00'),
|
|
449
|
+
durationMinutes: zod_1.z.number().int().min(5).max(1440).default(30)
|
|
450
|
+
});
|
|
451
|
+
exports.ListEventsSchema = zod_1.z.object({
|
|
452
|
+
workspace: ReadWorkspaceArg,
|
|
453
|
+
from: zod_1.z.string().optional().describe('ISO date; default today'),
|
|
454
|
+
to: zod_1.z.string().optional().describe('ISO date, inclusive; default from + 7 days'),
|
|
455
|
+
limit: zod_1.z.number().int().min(1).max(200).default(50)
|
|
456
|
+
});
|
|
457
|
+
exports.CreateEventSchema = zod_1.z.object({
|
|
458
|
+
workspace: WorkspaceArg,
|
|
459
|
+
title: zod_1.z.string().min(1),
|
|
460
|
+
start: zod_1.z.string().describe('ISO date-time, or date for allDay'),
|
|
461
|
+
end: zod_1.z.string().optional().describe('ISO date-time; default start + 1h'),
|
|
462
|
+
allDay: zod_1.z.boolean().default(false),
|
|
463
|
+
location: zod_1.z.string().optional(),
|
|
464
|
+
description: zod_1.z.string().optional().describe('Markdown'),
|
|
465
|
+
participants: zod_1.z.array(zod_1.z.string()).optional().describe('Person names; you are always included')
|
|
466
|
+
});
|
|
467
|
+
exports.UpdateEventSchema = zod_1.z.object({
|
|
468
|
+
workspace: WorkspaceArg,
|
|
469
|
+
eventId: zod_1.z.string().describe('From list_events'),
|
|
470
|
+
title: zod_1.z.string().min(1).optional(),
|
|
471
|
+
start: zod_1.z.string().optional(),
|
|
472
|
+
end: zod_1.z.string().optional(),
|
|
473
|
+
location: zod_1.z.string().optional(),
|
|
474
|
+
description: zod_1.z.string().optional().describe('Markdown')
|
|
475
|
+
});
|
|
476
|
+
exports.DeleteEventSchema = zod_1.z.object({
|
|
477
|
+
workspace: WorkspaceArg,
|
|
478
|
+
eventId: zod_1.z.string().describe('From list_events')
|
|
479
|
+
});
|
|
480
|
+
const MessageIdArg = zod_1.z.string().describe('Message id (list_messages, list_comments, list_thread)');
|
|
481
|
+
exports.ListThreadSchema = zod_1.z.object({
|
|
482
|
+
workspace: ReadWorkspaceArg,
|
|
483
|
+
messageId: MessageIdArg,
|
|
484
|
+
limit: zod_1.z.number().int().min(1).max(200).default(50)
|
|
485
|
+
});
|
|
486
|
+
exports.ReplyToMessageSchema = zod_1.z.object({
|
|
487
|
+
workspace: WorkspaceArg,
|
|
488
|
+
messageId: MessageIdArg,
|
|
489
|
+
message: zod_1.z.string().min(1)
|
|
490
|
+
});
|
|
491
|
+
exports.UpdateMessageSchema = zod_1.z.object({
|
|
492
|
+
workspace: WorkspaceArg,
|
|
493
|
+
messageId: MessageIdArg,
|
|
494
|
+
message: zod_1.z.string().min(1)
|
|
495
|
+
});
|
|
496
|
+
exports.DeleteMessageSchema = zod_1.z.object({
|
|
497
|
+
workspace: WorkspaceArg,
|
|
498
|
+
messageId: MessageIdArg
|
|
499
|
+
});
|
|
500
|
+
exports.ReactionSchema = zod_1.z.object({
|
|
501
|
+
workspace: WorkspaceArg,
|
|
502
|
+
messageId: MessageIdArg,
|
|
503
|
+
emoji: zod_1.z.string().min(1).describe('e.g. 👍')
|
|
504
|
+
});
|
|
505
|
+
exports.PinMessageSchema = zod_1.z.object({
|
|
506
|
+
workspace: WorkspaceArg,
|
|
507
|
+
messageId: MessageIdArg,
|
|
508
|
+
pinned: zod_1.z.boolean().default(true)
|
|
509
|
+
});
|
|
510
|
+
exports.ListPullRequestsSchema = zod_1.z.object({
|
|
511
|
+
workspace: ReadWorkspaceArg,
|
|
512
|
+
projectIdentifier: zod_1.z.string().optional().describe('Project key'),
|
|
513
|
+
issue: zod_1.z.string().optional().describe('Issue id the PRs belong to'),
|
|
514
|
+
state: zod_1.z.enum(['open', 'closed', 'merged', 'all']).default('open'),
|
|
515
|
+
limit: zod_1.z.number().int().min(1).max(200).default(30)
|
|
516
|
+
});
|
|
517
|
+
exports.GetPullRequestSchema = zod_1.z.object({
|
|
518
|
+
workspace: ReadWorkspaceArg,
|
|
519
|
+
identifier: zod_1.z.string().describe('PR id, e.g. PROJ-34')
|
|
520
|
+
});
|
|
521
|
+
const PersonRef = zod_1.z.string().describe('Person name or id');
|
|
522
|
+
exports.ListPersonsSchema = zod_1.z.object({
|
|
523
|
+
workspace: ReadWorkspaceArg,
|
|
524
|
+
query: zod_1.z.string().optional().describe('Name filter'),
|
|
525
|
+
employeesOnly: zod_1.z.boolean().default(false),
|
|
526
|
+
limit: zod_1.z.number().int().min(1).max(500).default(100)
|
|
527
|
+
});
|
|
528
|
+
exports.GetPersonSchema = zod_1.z.object({
|
|
529
|
+
workspace: ReadWorkspaceArg,
|
|
530
|
+
person: PersonRef
|
|
531
|
+
});
|
|
532
|
+
exports.CreatePersonSchema = zod_1.z.object({
|
|
533
|
+
workspace: WorkspaceArg,
|
|
534
|
+
firstName: zod_1.z.string().min(1),
|
|
535
|
+
lastName: zod_1.z.string().default(''),
|
|
536
|
+
city: zod_1.z.string().optional(),
|
|
537
|
+
channels: zod_1.z.array(zod_1.z.object({ provider: ProviderEnum, value: zod_1.z.string().min(1) })).optional()
|
|
538
|
+
});
|
|
539
|
+
exports.UpdatePersonSchema = zod_1.z.object({
|
|
540
|
+
workspace: WorkspaceArg,
|
|
541
|
+
person: PersonRef,
|
|
542
|
+
firstName: zod_1.z.string().min(1).optional(),
|
|
543
|
+
lastName: zod_1.z.string().optional(),
|
|
544
|
+
city: zod_1.z.string().optional()
|
|
545
|
+
});
|
|
546
|
+
exports.ContactChannelSchema = zod_1.z.object({
|
|
547
|
+
workspace: WorkspaceArg,
|
|
548
|
+
person: PersonRef,
|
|
549
|
+
provider: ProviderEnum,
|
|
550
|
+
value: zod_1.z.string().min(1)
|
|
551
|
+
});
|
|
552
|
+
exports.ListClassesSchema = zod_1.z.object({
|
|
553
|
+
workspace: ReadWorkspaceArg,
|
|
554
|
+
module: zod_1.z.string().optional().describe('e.g. recruit, lead, hr, board, drive'),
|
|
555
|
+
withCounts: zod_1.z.boolean().default(false).describe('Count documents (slower)')
|
|
556
|
+
});
|
|
557
|
+
exports.DescribeClassSchema = zod_1.z.object({
|
|
558
|
+
workspace: ReadWorkspaceArg,
|
|
559
|
+
className: zod_1.z.string().describe('e.g. recruit:class:Vacancy')
|
|
560
|
+
});
|
|
561
|
+
exports.QueryDocumentsSchema = zod_1.z.object({
|
|
562
|
+
workspace: ReadWorkspaceArg,
|
|
563
|
+
className: zod_1.z.string(),
|
|
564
|
+
query: zod_1.z.record(zod_1.z.string(), zod_1.z.any()).optional().describe('Field equality filter, e.g. {"space":"…"}'),
|
|
565
|
+
fields: zod_1.z.array(zod_1.z.string()).optional().describe('Only these fields'),
|
|
566
|
+
limit: zod_1.z.number().int().min(1).max(200).default(20)
|
|
567
|
+
});
|
|
568
|
+
exports.GenericCreateSchema = zod_1.z.object({
|
|
569
|
+
workspace: WorkspaceArg,
|
|
570
|
+
className: zod_1.z.string(),
|
|
571
|
+
space: zod_1.z.string().describe('Space id the document belongs to'),
|
|
572
|
+
attributes: zod_1.z.record(zod_1.z.string(), zod_1.z.any()),
|
|
573
|
+
attachTo: zod_1.z.object({ id: zod_1.z.string(), className: zod_1.z.string(), collection: zod_1.z.string() }).optional().describe('For attached docs'),
|
|
574
|
+
dryRun: zod_1.z.boolean().default(true)
|
|
575
|
+
});
|
|
576
|
+
exports.GenericUpdateSchema = zod_1.z.object({
|
|
577
|
+
workspace: WorkspaceArg,
|
|
578
|
+
className: zod_1.z.string(),
|
|
579
|
+
id: zod_1.z.string(),
|
|
580
|
+
attributes: zod_1.z.record(zod_1.z.string(), zod_1.z.any()),
|
|
581
|
+
dryRun: zod_1.z.boolean().default(true)
|
|
582
|
+
});
|
|
583
|
+
exports.GenericDeleteSchema = zod_1.z.object({
|
|
584
|
+
workspace: WorkspaceArg,
|
|
585
|
+
className: zod_1.z.string(),
|
|
586
|
+
id: zod_1.z.string(),
|
|
587
|
+
dryRun: zod_1.z.boolean().default(true),
|
|
588
|
+
confirm: zod_1.z.boolean().default(false).describe('Must be true to delete')
|
|
589
|
+
});
|
|
590
|
+
// ── 3.1: agent workflow ──────────────────────────────────────────────────────
|
|
591
|
+
exports.GetIssueContextSchema = zod_1.z.object({
|
|
592
|
+
workspace: ReadWorkspaceArg,
|
|
593
|
+
identifier: zod_1.z.string().describe('Issue id'),
|
|
594
|
+
commentLimit: zod_1.z.number().int().min(0).max(100).default(20)
|
|
595
|
+
});
|
|
596
|
+
exports.StartWorkSchema = zod_1.z.object({
|
|
597
|
+
workspace: WorkspaceArg,
|
|
598
|
+
identifier: zod_1.z.string().describe('Issue id'),
|
|
599
|
+
statusName: zod_1.z.string().default('In Progress'),
|
|
600
|
+
assignToMe: zod_1.z.boolean().default(true),
|
|
601
|
+
claimAs: zod_1.z.string().optional().describe('Also claim it under this agent name')
|
|
602
|
+
});
|
|
603
|
+
exports.FinishWorkSchema = zod_1.z.object({
|
|
604
|
+
workspace: WorkspaceArg,
|
|
605
|
+
identifier: zod_1.z.string().describe('Issue id'),
|
|
606
|
+
summary: zod_1.z.string().min(1).describe('Markdown'),
|
|
607
|
+
pullRequest: zod_1.z.string().optional().describe('#12, URL or Huly id'),
|
|
608
|
+
statusName: zod_1.z.string().nullable().default('Review in progress').describe('null keeps status')
|
|
609
|
+
});
|
|
610
|
+
const PlannedIssue = zod_1.z.object({
|
|
611
|
+
title: zod_1.z.string().min(1),
|
|
612
|
+
description: zod_1.z.string().optional().describe('Markdown'),
|
|
613
|
+
priority: PriorityEnum.optional(),
|
|
614
|
+
componentLabel: zod_1.z.string().optional(),
|
|
615
|
+
milestoneLabel: zod_1.z.string().optional(),
|
|
616
|
+
assignee: zod_1.z.string().optional().describe('Person name'),
|
|
617
|
+
labels: zod_1.z.array(zod_1.z.string()).optional(),
|
|
618
|
+
blockedBy: zod_1.z.array(zod_1.z.string()).optional().describe('"#2" (2nd child) or issue id')
|
|
619
|
+
});
|
|
620
|
+
exports.CreateIssueTreeSchema = zod_1.z.object({
|
|
621
|
+
workspace: WorkspaceArg,
|
|
622
|
+
projectIdentifier: zod_1.z.string().describe('Project key'),
|
|
623
|
+
epic: PlannedIssue.pick({ title: true, description: true, priority: true, labels: true }).optional().describe('New epic'),
|
|
624
|
+
epicIdentifier: zod_1.z.string().optional().describe('Or an existing epic'),
|
|
625
|
+
children: zod_1.z.array(PlannedIssue).min(1).max(50),
|
|
626
|
+
componentLabel: zod_1.z.string().optional().describe('Default for children'),
|
|
627
|
+
milestoneLabel: zod_1.z.string().optional().describe('Default for children'),
|
|
628
|
+
skipDuplicates: zod_1.z.boolean().default(true).describe('Reuse same-title issues'),
|
|
629
|
+
dryRun: zod_1.z.boolean().default(true)
|
|
630
|
+
});
|
|
631
|
+
exports.IssuesFromDocumentSchema = zod_1.z.object({
|
|
632
|
+
workspace: WorkspaceArg,
|
|
633
|
+
document: zod_1.z.string().describe('Document id or exact title'),
|
|
634
|
+
projectIdentifier: zod_1.z.string().describe('Project key'),
|
|
635
|
+
epicTitle: zod_1.z.string().optional().describe('Default: document title'),
|
|
636
|
+
epicIdentifier: zod_1.z.string().optional().describe('Or an existing epic'),
|
|
637
|
+
componentLabel: zod_1.z.string().optional(),
|
|
638
|
+
milestoneLabel: zod_1.z.string().optional(),
|
|
639
|
+
skipDuplicates: zod_1.z.boolean().default(true),
|
|
640
|
+
dryRun: zod_1.z.boolean().default(true)
|
|
641
|
+
});
|
|
642
|
+
exports.IssuesFromMeetingSchema = zod_1.z.object({
|
|
643
|
+
workspace: WorkspaceArg,
|
|
644
|
+
document: zod_1.z.string().describe('Document id or exact title'),
|
|
645
|
+
projectIdentifier: zod_1.z.string().describe('Project key'),
|
|
646
|
+
componentLabel: zod_1.z.string().optional(),
|
|
647
|
+
milestoneLabel: zod_1.z.string().optional(),
|
|
648
|
+
skipDuplicates: zod_1.z.boolean().default(true),
|
|
649
|
+
dryRun: zod_1.z.boolean().default(true)
|
|
650
|
+
});
|
|
651
|
+
exports.MyDaySchema = zod_1.z.object({
|
|
652
|
+
workspace: ReadWorkspaceArg,
|
|
653
|
+
date: zod_1.z.string().optional().describe('YYYY-MM-DD, default today'),
|
|
654
|
+
limit: zod_1.z.number().int().min(1).max(50).default(10).describe('Per section')
|
|
655
|
+
});
|
|
656
|
+
exports.TriageInboxSchema = zod_1.z.object({
|
|
657
|
+
workspace: ReadWorkspaceArg,
|
|
658
|
+
limit: zod_1.z.number().int().min(1).max(30).default(10).describe('Items')
|
|
659
|
+
});
|
|
660
|
+
exports.ReleaseNotesSchema = zod_1.z.object({
|
|
661
|
+
workspace: ReadWorkspaceArg,
|
|
662
|
+
projectIdentifier: zod_1.z.string().describe('Project key'),
|
|
663
|
+
milestoneLabel: zod_1.z.string().describe('Milestone name')
|
|
664
|
+
});
|
|
665
|
+
exports.StandupSchema = zod_1.z.object({
|
|
666
|
+
workspace: ReadWorkspaceArg,
|
|
667
|
+
since: zod_1.z.string().optional().describe('Default: last working day')
|
|
668
|
+
});
|
|
669
|
+
exports.ProjectReportSchema = zod_1.z.object({
|
|
670
|
+
workspace: ReadWorkspaceArg,
|
|
671
|
+
projectIdentifier: zod_1.z.string().describe('Project key'),
|
|
672
|
+
since: zod_1.z.string().optional().describe('Default 7d')
|
|
673
|
+
});
|
|
674
|
+
exports.ChangesSinceSchema = zod_1.z.object({
|
|
675
|
+
workspace: ReadWorkspaceArg,
|
|
676
|
+
since: zod_1.z.string().describe('ISO date/time or relative: 90m, 24h, 7d'),
|
|
677
|
+
projectIdentifiers: zod_1.z.array(zod_1.z.string()).optional().describe('Default: all projects'),
|
|
678
|
+
limit: zod_1.z.number().int().min(1).max(200).default(50)
|
|
679
|
+
});
|
|
680
|
+
exports.ClaimIssueSchema = zod_1.z.object({
|
|
681
|
+
workspace: WorkspaceArg,
|
|
682
|
+
identifier: zod_1.z.string().describe('Issue id'),
|
|
683
|
+
agent: zod_1.z.string().optional().describe('Default: HULY_AGENT_NAME or claude'),
|
|
684
|
+
minutes: zod_1.z.number().int().min(5).max(1440).default(120).describe('Lease length'),
|
|
685
|
+
force: zod_1.z.boolean().default(false).describe('Take over a foreign claim')
|
|
686
|
+
});
|
|
687
|
+
exports.ReleaseIssueSchema = zod_1.z.object({
|
|
688
|
+
workspace: WorkspaceArg,
|
|
689
|
+
identifier: zod_1.z.string().describe('Issue id'),
|
|
690
|
+
agent: zod_1.z.string().optional()
|
|
691
|
+
});
|
|
692
|
+
exports.FindProjectForRepoSchema = zod_1.z.object({
|
|
693
|
+
workspace: ReadWorkspaceArg.describe('Default: search all workspaces'),
|
|
694
|
+
repository: zod_1.z.string().describe('owner/name, GitHub URL or git remote')
|
|
695
|
+
});
|
|
696
|
+
// ── Sharing: collaborators and public links ─────────────────────────────────
|
|
697
|
+
const ObjectArg = zod_1.z.string().describe('Issue id (PROJ-12) or document id');
|
|
698
|
+
exports.ListCollaboratorsSchema = zod_1.z.object({ workspace: ReadWorkspaceArg, object: ObjectArg });
|
|
699
|
+
exports.AddCollaboratorSchema = zod_1.z.object({
|
|
700
|
+
workspace: WorkspaceArg,
|
|
701
|
+
object: ObjectArg,
|
|
702
|
+
member: zod_1.z.string().optional().describe('Name; default: you')
|
|
703
|
+
});
|
|
704
|
+
exports.RemoveCollaboratorSchema = exports.AddCollaboratorSchema;
|
|
705
|
+
exports.CreatePublicLinkSchema = zod_1.z.object({ workspace: WorkspaceArg, object: ObjectArg });
|
|
706
|
+
exports.ListPublicLinksSchema = zod_1.z.object({
|
|
707
|
+
workspace: ReadWorkspaceArg,
|
|
708
|
+
object: ObjectArg.optional().describe('Default: all links'),
|
|
709
|
+
limit: zod_1.z.number().int().min(1).max(200).default(50)
|
|
710
|
+
});
|
|
711
|
+
exports.RevokePublicLinkSchema = zod_1.z.object({ workspace: WorkspaceArg, linkId: zod_1.z.string() });
|
|
712
|
+
// ── Cards ───────────────────────────────────────────────────────────────────
|
|
713
|
+
const FieldValues = zod_1.z.record(zod_1.z.string(), zod_1.z.union([zod_1.z.string(), zod_1.z.number(), zod_1.z.boolean(), zod_1.z.null()])).describe('Field name → value');
|
|
714
|
+
exports.ListCardTypesSchema = zod_1.z.object({ workspace: ReadWorkspaceArg });
|
|
715
|
+
exports.ListCardsSchema = zod_1.z.object({
|
|
716
|
+
workspace: ReadWorkspaceArg,
|
|
717
|
+
type: zod_1.z.string().optional().describe('Card type name or id'),
|
|
718
|
+
parentId: zod_1.z.string().nullable().optional().describe('Children of this card; null = top level'),
|
|
719
|
+
query: zod_1.z.string().optional().describe('Title contains'),
|
|
720
|
+
limit: zod_1.z.number().int().min(1).max(200).default(50)
|
|
721
|
+
});
|
|
722
|
+
exports.GetCardSchema = zod_1.z.object({ workspace: ReadWorkspaceArg, cardId: zod_1.z.string() });
|
|
723
|
+
exports.CreateCardSchema = zod_1.z.object({
|
|
724
|
+
workspace: WorkspaceArg,
|
|
725
|
+
type: zod_1.z.string().describe('Card type name or id'),
|
|
726
|
+
title: zod_1.z.string().min(1),
|
|
727
|
+
content: zod_1.z.string().optional().describe('Markdown'),
|
|
728
|
+
parentId: zod_1.z.string().optional(),
|
|
729
|
+
space: zod_1.z.string().optional().describe('Card space id; default: Default'),
|
|
730
|
+
tags: zod_1.z.array(zod_1.z.string()).optional(),
|
|
731
|
+
fields: FieldValues.optional()
|
|
732
|
+
});
|
|
733
|
+
exports.UpdateCardSchema = zod_1.z.object({
|
|
734
|
+
workspace: WorkspaceArg,
|
|
735
|
+
cardId: zod_1.z.string(),
|
|
736
|
+
title: zod_1.z.string().min(1).optional(),
|
|
737
|
+
content: zod_1.z.string().optional().describe('Markdown; replaces content'),
|
|
738
|
+
parentId: zod_1.z.string().nullable().optional().describe('Move under this card; null = top level'),
|
|
739
|
+
addTags: zod_1.z.array(zod_1.z.string()).optional(),
|
|
740
|
+
fields: FieldValues.optional()
|
|
741
|
+
});
|
|
742
|
+
exports.DeleteCardSchema = zod_1.z.object({ workspace: WorkspaceArg, cardId: zod_1.z.string() });
|
|
743
|
+
exports.CreateCardTypeSchema = zod_1.z.object({
|
|
744
|
+
workspace: WorkspaceArg,
|
|
745
|
+
name: zod_1.z.string().min(1),
|
|
746
|
+
kind: zod_1.z.enum(['type', 'tag']).default('type'),
|
|
747
|
+
parentType: zod_1.z.string().optional().describe('Subtype of / tag for this type')
|
|
748
|
+
});
|
|
749
|
+
exports.DeleteCardTypeSchema = zod_1.z.object({ workspace: WorkspaceArg, type: zod_1.z.string().describe('Card type or tag') });
|
|
750
|
+
// ── Custom fields ───────────────────────────────────────────────────────────
|
|
751
|
+
const FieldTarget = zod_1.z.string().describe('"issue", project key, card type/tag or class id');
|
|
752
|
+
exports.ListCustomFieldsSchema = zod_1.z.object({
|
|
753
|
+
workspace: ReadWorkspaceArg,
|
|
754
|
+
target: FieldTarget.optional(),
|
|
755
|
+
object: zod_1.z.string().optional().describe('Show values of this issue/card instead')
|
|
756
|
+
});
|
|
757
|
+
exports.CreateCustomFieldSchema = zod_1.z.object({
|
|
758
|
+
workspace: WorkspaceArg,
|
|
759
|
+
target: FieldTarget,
|
|
760
|
+
label: zod_1.z.string().min(1),
|
|
761
|
+
type: zod_1.z.enum(['string', 'number', 'boolean', 'date', 'markup', 'enum', 'ref']),
|
|
762
|
+
enumValues: zod_1.z.array(zod_1.z.string()).optional(),
|
|
763
|
+
refClass: zod_1.z.string().optional().describe('For ref, e.g. contact:mixin:Employee')
|
|
764
|
+
});
|
|
765
|
+
exports.SetCustomFieldsSchema = zod_1.z.object({
|
|
766
|
+
workspace: WorkspaceArg,
|
|
767
|
+
object: zod_1.z.string().describe('Issue id, card id or document id'),
|
|
768
|
+
fields: FieldValues
|
|
769
|
+
});
|
|
770
|
+
// ── Drive ───────────────────────────────────────────────────────────────────
|
|
771
|
+
const DriveArg = zod_1.z.string().describe('Drive name or id');
|
|
772
|
+
exports.ListDrivesSchema = zod_1.z.object({ workspace: ReadWorkspaceArg });
|
|
773
|
+
exports.CreateDriveSchema = zod_1.z.object({ workspace: WorkspaceArg, name: zod_1.z.string().min(1), description: zod_1.z.string().optional(), isPrivate: zod_1.z.boolean().default(false) });
|
|
774
|
+
exports.ListDriveFilesSchema = zod_1.z.object({
|
|
775
|
+
workspace: ReadWorkspaceArg,
|
|
776
|
+
drive: DriveArg,
|
|
777
|
+
folderId: zod_1.z.string().optional().describe('Default: top level'),
|
|
778
|
+
recursive: zod_1.z.boolean().default(true)
|
|
779
|
+
});
|
|
780
|
+
exports.CreateFolderSchema = zod_1.z.object({ workspace: WorkspaceArg, drive: DriveArg, title: zod_1.z.string().min(1), parentId: zod_1.z.string().optional() });
|
|
781
|
+
exports.UploadFileSchema = zod_1.z.object({
|
|
782
|
+
workspace: WorkspaceArg,
|
|
783
|
+
drive: DriveArg,
|
|
784
|
+
folderId: zod_1.z.string().optional(),
|
|
785
|
+
filename: zod_1.z.string().optional().describe('Default: name of localPath'),
|
|
786
|
+
contentBase64: zod_1.z.string().optional(),
|
|
787
|
+
localPath: zod_1.z.string().optional().describe('File under HULY_FILE_ROOT'),
|
|
788
|
+
mimeType: zod_1.z.string().optional(),
|
|
789
|
+
newVersion: zod_1.z.boolean().default(true).describe('Same name in folder → new version')
|
|
790
|
+
});
|
|
791
|
+
exports.DownloadFileSchema = zod_1.z.object({
|
|
792
|
+
workspace: ReadWorkspaceArg,
|
|
793
|
+
fileId: zod_1.z.string(),
|
|
794
|
+
version: zod_1.z.number().int().min(1).optional().describe('Default: current'),
|
|
795
|
+
savePath: zod_1.z.string().optional().describe('Save under HULY_FILE_ROOT instead of returning it')
|
|
796
|
+
});
|
|
797
|
+
exports.UpdateDriveItemSchema = zod_1.z.object({
|
|
798
|
+
workspace: WorkspaceArg,
|
|
799
|
+
itemId: zod_1.z.string().describe('File or folder id'),
|
|
800
|
+
title: zod_1.z.string().min(1).optional(),
|
|
801
|
+
parentId: zod_1.z.string().nullable().optional().describe('Move into this folder; null = top level')
|
|
802
|
+
});
|
|
803
|
+
exports.DeleteDriveItemSchema = zod_1.z.object({ workspace: WorkspaceArg, itemId: zod_1.z.string(), recursive: zod_1.z.boolean().default(false) });
|
|
804
|
+
exports.ListFileVersionsSchema = zod_1.z.object({ workspace: ReadWorkspaceArg, fileId: zod_1.z.string() });
|
|
805
|
+
exports.RestoreFileVersionSchema = zod_1.z.object({ workspace: WorkspaceArg, fileId: zod_1.z.string(), version: zod_1.z.number().int().min(1) });
|
|
806
|
+
// ── Issue templates ─────────────────────────────────────────────────────────
|
|
807
|
+
const TemplateFields = {
|
|
808
|
+
description: zod_1.z.string().optional().describe('Markdown'),
|
|
809
|
+
priority: PriorityEnum.optional(),
|
|
810
|
+
assignee: zod_1.z.string().nullable().optional().describe('Person name'),
|
|
811
|
+
componentLabel: zod_1.z.string().nullable().optional(),
|
|
812
|
+
milestoneLabel: zod_1.z.string().nullable().optional(),
|
|
813
|
+
estimation: zod_1.z.number().min(0).optional(),
|
|
814
|
+
labels: zod_1.z.array(zod_1.z.string()).optional()
|
|
815
|
+
};
|
|
816
|
+
const TemplateChild = zod_1.z.object({ title: zod_1.z.string().min(1), ...TemplateFields });
|
|
817
|
+
const TemplateRef = zod_1.z.string().describe('Template id or title');
|
|
818
|
+
exports.ListIssueTemplatesSchema = zod_1.z.object({ workspace: ReadWorkspaceArg, projectIdentifier: zod_1.z.string().optional() });
|
|
819
|
+
exports.GetIssueTemplateSchema = zod_1.z.object({ workspace: ReadWorkspaceArg, template: TemplateRef, projectIdentifier: zod_1.z.string().optional() });
|
|
820
|
+
exports.CreateIssueTemplateSchema = zod_1.z.object({
|
|
821
|
+
workspace: WorkspaceArg,
|
|
822
|
+
projectIdentifier: zod_1.z.string().describe('Project key'),
|
|
823
|
+
title: zod_1.z.string().min(1),
|
|
824
|
+
...TemplateFields,
|
|
825
|
+
children: zod_1.z.array(TemplateChild).max(50).optional().describe('Sub-issues')
|
|
826
|
+
});
|
|
827
|
+
exports.UpdateIssueTemplateSchema = zod_1.z.object({
|
|
828
|
+
workspace: WorkspaceArg,
|
|
829
|
+
template: TemplateRef,
|
|
830
|
+
projectIdentifier: zod_1.z.string().optional(),
|
|
831
|
+
title: zod_1.z.string().min(1).optional(),
|
|
832
|
+
...TemplateFields,
|
|
833
|
+
children: zod_1.z.array(TemplateChild).max(50).optional().describe('Replaces all sub-issues')
|
|
834
|
+
});
|
|
835
|
+
exports.DeleteIssueTemplateSchema = zod_1.z.object({ workspace: WorkspaceArg, template: TemplateRef, projectIdentifier: zod_1.z.string().optional() });
|
|
836
|
+
exports.CreateIssueFromTemplateSchema = zod_1.z.object({
|
|
837
|
+
workspace: WorkspaceArg,
|
|
838
|
+
template: TemplateRef,
|
|
839
|
+
projectIdentifier: zod_1.z.string().optional(),
|
|
840
|
+
title: zod_1.z.string().min(1).optional().describe('Default: template title')
|
|
841
|
+
});
|
|
842
|
+
// ── Test management ─────────────────────────────────────────────────────────
|
|
843
|
+
const TestProjectArg = zod_1.z.string().describe('Test project name or id');
|
|
844
|
+
const CaseType = zod_1.z.enum(['Functional', 'Performance', 'Regression', 'Security', 'Smoke', 'Usability']);
|
|
845
|
+
const CasePriority = zod_1.z.enum(['Low', 'Medium', 'High', 'Urgent']);
|
|
846
|
+
const CaseStatus = zod_1.z.enum(['Draft', 'ReadyForReview', 'FixReviewComments', 'Approved', 'Rejected']);
|
|
847
|
+
exports.ListTestProjectsSchema = zod_1.z.object({ workspace: ReadWorkspaceArg });
|
|
848
|
+
exports.CreateTestProjectSchema = zod_1.z.object({ workspace: WorkspaceArg, name: zod_1.z.string().min(1), description: zod_1.z.string().optional(), isPrivate: zod_1.z.boolean().default(false) });
|
|
849
|
+
exports.ListTestCasesSchema = zod_1.z.object({
|
|
850
|
+
workspace: ReadWorkspaceArg,
|
|
851
|
+
project: TestProjectArg,
|
|
852
|
+
suite: zod_1.z.string().optional().describe('Suite name or id; default: all'),
|
|
853
|
+
status: CaseStatus.optional()
|
|
854
|
+
});
|
|
855
|
+
exports.CreateTestSuiteSchema = zod_1.z.object({ workspace: WorkspaceArg, project: TestProjectArg, name: zod_1.z.string().min(1), description: zod_1.z.string().optional(), parent: zod_1.z.string().optional().describe('Parent suite') });
|
|
856
|
+
exports.GetTestCaseSchema = zod_1.z.object({ workspace: ReadWorkspaceArg, caseId: zod_1.z.string() });
|
|
857
|
+
exports.CreateTestCaseSchema = zod_1.z.object({
|
|
858
|
+
workspace: WorkspaceArg,
|
|
859
|
+
project: TestProjectArg,
|
|
860
|
+
suite: zod_1.z.string().describe('Suite name or id'),
|
|
861
|
+
name: zod_1.z.string().min(1),
|
|
862
|
+
description: zod_1.z.string().optional().describe('Steps/expected result, Markdown'),
|
|
863
|
+
type: CaseType.default('Functional'),
|
|
864
|
+
priority: CasePriority.default('Medium'),
|
|
865
|
+
status: CaseStatus.default('Draft'),
|
|
866
|
+
assignee: zod_1.z.string().optional()
|
|
867
|
+
});
|
|
868
|
+
exports.UpdateTestCaseSchema = zod_1.z.object({
|
|
869
|
+
workspace: WorkspaceArg,
|
|
870
|
+
caseId: zod_1.z.string(),
|
|
871
|
+
name: zod_1.z.string().min(1).optional(),
|
|
872
|
+
description: zod_1.z.string().optional(),
|
|
873
|
+
type: CaseType.optional(),
|
|
874
|
+
priority: CasePriority.optional(),
|
|
875
|
+
status: CaseStatus.optional(),
|
|
876
|
+
assignee: zod_1.z.string().nullable().optional()
|
|
877
|
+
});
|
|
878
|
+
exports.DeleteTestCaseSchema = zod_1.z.object({ workspace: WorkspaceArg, caseId: zod_1.z.string() });
|
|
879
|
+
exports.ListTestPlansSchema = zod_1.z.object({ workspace: ReadWorkspaceArg, project: TestProjectArg });
|
|
880
|
+
exports.CreateTestPlanSchema = zod_1.z.object({
|
|
881
|
+
workspace: WorkspaceArg,
|
|
882
|
+
project: TestProjectArg,
|
|
883
|
+
name: zod_1.z.string().min(1),
|
|
884
|
+
suites: zod_1.z.array(zod_1.z.string()).optional().describe('All cases of these suites (incl. nested)'),
|
|
885
|
+
caseIds: zod_1.z.array(zod_1.z.string()).optional()
|
|
886
|
+
});
|
|
887
|
+
exports.CreateTestRunSchema = zod_1.z.object({
|
|
888
|
+
workspace: WorkspaceArg,
|
|
889
|
+
project: TestProjectArg,
|
|
890
|
+
name: zod_1.z.string().min(1),
|
|
891
|
+
plan: zod_1.z.string().optional().describe('Plan name or id'),
|
|
892
|
+
suites: zod_1.z.array(zod_1.z.string()).optional(),
|
|
893
|
+
caseIds: zod_1.z.array(zod_1.z.string()).optional(),
|
|
894
|
+
dueDate: zod_1.z.string().optional()
|
|
895
|
+
});
|
|
896
|
+
exports.ListTestRunsSchema = zod_1.z.object({ workspace: ReadWorkspaceArg, project: TestProjectArg, limit: zod_1.z.number().int().min(1).max(100).default(20) });
|
|
897
|
+
exports.GetTestRunSchema = zod_1.z.object({ workspace: ReadWorkspaceArg, runId: zod_1.z.string() });
|
|
898
|
+
exports.SetTestResultSchema = zod_1.z.object({
|
|
899
|
+
workspace: WorkspaceArg,
|
|
900
|
+
result: zod_1.z.string().describe('Result id, or case id/name with runId'),
|
|
901
|
+
runId: zod_1.z.string().optional(),
|
|
902
|
+
status: zod_1.z.enum(['Untested', 'Blocked', 'Passed', 'Failed']),
|
|
903
|
+
comment: zod_1.z.string().optional().describe('Markdown'),
|
|
904
|
+
assignee: zod_1.z.string().nullable().optional().describe('Person; null clears')
|
|
905
|
+
});
|
|
906
|
+
exports.UpdateTestSuiteSchema = zod_1.z.object({ workspace: WorkspaceArg, project: TestProjectArg, suite: zod_1.z.string(), name: zod_1.z.string().min(1).optional(), description: zod_1.z.string().optional(), parent: zod_1.z.string().nullable().optional().describe('New parent suite; null = top level') });
|
|
907
|
+
exports.DeleteTestSuiteSchema = zod_1.z.object({ workspace: WorkspaceArg, project: TestProjectArg, suite: zod_1.z.string(), recursive: zod_1.z.boolean().optional().describe('Also delete sub-suites and cases') });
|
|
908
|
+
exports.UpdateTestRunSchema = zod_1.z.object({ workspace: WorkspaceArg, runId: zod_1.z.string(), name: zod_1.z.string().min(1).optional(), dueDate: zod_1.z.string().nullable().optional(), description: zod_1.z.string().optional().describe('Markdown') });
|
|
909
|
+
exports.DeleteTestRunSchema = zod_1.z.object({ workspace: WorkspaceArg, runId: zod_1.z.string() });
|
|
910
|
+
exports.DeleteTestPlanSchema = zod_1.z.object({ workspace: WorkspaceArg, project: TestProjectArg, plan: zod_1.z.string().describe('Plan name or id') });
|
|
911
|
+
exports.ImportTestResultsSchema = zod_1.z.object({
|
|
912
|
+
workspace: WorkspaceArg,
|
|
913
|
+
project: TestProjectArg,
|
|
914
|
+
xml: zod_1.z.string().optional().describe('JUnit XML report'),
|
|
915
|
+
file: zod_1.z.string().optional().describe('Or: path to the report on the server machine'),
|
|
916
|
+
runName: zod_1.z.string().optional().describe('Default: "CI <date time>"'),
|
|
917
|
+
parentSuite: zod_1.z.string().optional().describe('Put the report\'s suites under this suite'),
|
|
918
|
+
createMissing: zod_1.z.boolean().optional().describe('Create unknown suites/cases (default true)'),
|
|
919
|
+
dryRun: zod_1.z.boolean().optional()
|
|
920
|
+
});
|
|
921
|
+
exports.GetTestReportSchema = zod_1.z.object({ workspace: ReadWorkspaceArg, project: TestProjectArg, runs: zod_1.z.number().int().min(1).max(50).optional().describe('Latest runs to look at (default 10)'), limit: zod_1.z.number().int().min(1).max(200).optional().describe('Max cases per section (default 25)') });
|
|
922
|
+
exports.CreateIssueFromTestResultSchema = zod_1.z.object({
|
|
923
|
+
workspace: WorkspaceArg,
|
|
924
|
+
result: zod_1.z.string().describe('Test result id (get_test_run)'),
|
|
925
|
+
projectIdentifier: zod_1.z.string().describe('Tracker project key'),
|
|
926
|
+
title: zod_1.z.string().optional().describe('Default: "Test failed: <case>"'),
|
|
927
|
+
priority: PriorityEnum.optional().describe('Default High'),
|
|
928
|
+
notes: zod_1.z.string().optional().describe('Extra Markdown'),
|
|
929
|
+
componentLabel: zod_1.z.string().optional(),
|
|
930
|
+
milestoneLabel: zod_1.z.string().optional(),
|
|
931
|
+
assignee: zod_1.z.string().optional()
|
|
932
|
+
});
|
|
933
|
+
exports.CreateTestCasesSchema = zod_1.z.object({
|
|
934
|
+
workspace: WorkspaceArg,
|
|
935
|
+
project: TestProjectArg,
|
|
936
|
+
suite: zod_1.z.string().describe('Suite name or id'),
|
|
937
|
+
createSuite: zod_1.z.boolean().optional().describe('Create the suite if missing'),
|
|
938
|
+
parentSuite: zod_1.z.string().optional().describe('Parent for a new suite'),
|
|
939
|
+
cases: zod_1.z.array(zod_1.z.object({ name: zod_1.z.string().min(1), description: zod_1.z.string().optional().describe('Steps/expected, Markdown'), type: CaseType.optional(), priority: CasePriority.optional(), assignee: zod_1.z.string().optional() })).min(1).max(100)
|
|
940
|
+
});
|
|
941
|
+
// ── Products (read-only) and label categories ───────────────────────────────
|
|
942
|
+
exports.ListProductsSchema = zod_1.z.object({ workspace: ReadWorkspaceArg });
|
|
943
|
+
exports.GetProductSchema = zod_1.z.object({ workspace: ReadWorkspaceArg, product: zod_1.z.string().describe('Product name or id') });
|
|
944
|
+
exports.ListLabelCategoriesSchema = zod_1.z.object({ workspace: ReadWorkspaceArg });
|
|
945
|
+
exports.CreateLabelCategorySchema = zod_1.z.object({ workspace: WorkspaceArg, name: zod_1.z.string().min(1) });
|
|
946
|
+
exports.SetLabelCategorySchema = zod_1.z.object({ workspace: WorkspaceArg, labelName: zod_1.z.string().min(1), category: zod_1.z.string().describe('Category name or id') });
|
|
947
|
+
// ── Workspace administration ──────────────────────────────────────────────────
|
|
948
|
+
const RoleArg = zod_1.z.enum(['guest', 'user', 'maintainer', 'owner']);
|
|
949
|
+
exports.CreateInviteLinkSchema = zod_1.z.object({
|
|
950
|
+
workspace: WorkspaceArg,
|
|
951
|
+
email: zod_1.z.string().optional().describe('Personal one-use link for this address (nothing is sent)'),
|
|
952
|
+
role: RoleArg.optional().describe('Default user'),
|
|
953
|
+
expiresHours: zod_1.z.number().int().min(1).max(8760).optional().describe('Default 48'),
|
|
954
|
+
limit: zod_1.z.number().int().min(1).max(1000).optional().describe('Uses, without email; default 1'),
|
|
955
|
+
emailMask: zod_1.z.string().optional().describe('Only addresses matching, e.g. *@acme.com')
|
|
956
|
+
});
|
|
957
|
+
exports.SendInviteSchema = zod_1.z.object({
|
|
958
|
+
workspace: WorkspaceArg,
|
|
959
|
+
email: zod_1.z.string(),
|
|
960
|
+
role: RoleArg.optional().describe('Default user')
|
|
961
|
+
});
|
|
962
|
+
exports.SetMemberRoleSchema = zod_1.z.object({
|
|
963
|
+
workspace: WorkspaceArg,
|
|
964
|
+
member: zod_1.z.string().describe('Name or account id'),
|
|
965
|
+
role: RoleArg
|
|
966
|
+
});
|
|
967
|
+
exports.GetWorkspaceSettingsSchema = zod_1.z.object({ workspace: ReadWorkspaceArg });
|
|
968
|
+
exports.ListProjectTypesSchema = zod_1.z.object({ workspace: ReadWorkspaceArg });
|
|
969
|
+
// ── Recruiting ────────────────────────────────────────────────────────────────
|
|
970
|
+
exports.ListVacanciesSchema = zod_1.z.object({ workspace: ReadWorkspaceArg, includeArchived: zod_1.z.boolean().optional() });
|
|
971
|
+
exports.CreateVacancySchema = zod_1.z.object({
|
|
972
|
+
workspace: WorkspaceArg,
|
|
973
|
+
name: zod_1.z.string(),
|
|
974
|
+
description: zod_1.z.string().optional().describe('Short plain-text description'),
|
|
975
|
+
company: zod_1.z.string().optional().describe('Organization name'),
|
|
976
|
+
location: zod_1.z.string().optional(),
|
|
977
|
+
dueDate: zod_1.z.string().optional()
|
|
978
|
+
});
|
|
979
|
+
exports.UpdateVacancySchema = zod_1.z.object({
|
|
980
|
+
workspace: WorkspaceArg,
|
|
981
|
+
vacancy: zod_1.z.string().describe('Name or id'),
|
|
982
|
+
name: zod_1.z.string().optional(),
|
|
983
|
+
description: zod_1.z.string().nullable().optional(),
|
|
984
|
+
location: zod_1.z.string().nullable().optional(),
|
|
985
|
+
dueDate: zod_1.z.string().nullable().optional(),
|
|
986
|
+
archived: zod_1.z.boolean().optional()
|
|
987
|
+
});
|
|
988
|
+
exports.ListCandidatesSchema = zod_1.z.object({ workspace: ReadWorkspaceArg, query: zod_1.z.string().optional().describe('Name or title contains'), limit: zod_1.z.number().int().min(1).max(500).optional() });
|
|
989
|
+
exports.CreateCandidateSchema = zod_1.z.object({
|
|
990
|
+
workspace: WorkspaceArg,
|
|
991
|
+
firstName: zod_1.z.string(),
|
|
992
|
+
lastName: zod_1.z.string(),
|
|
993
|
+
title: zod_1.z.string().optional().describe('e.g. Senior iOS developer'),
|
|
994
|
+
city: zod_1.z.string().optional(),
|
|
995
|
+
email: zod_1.z.string().optional(),
|
|
996
|
+
onsite: zod_1.z.boolean().optional(),
|
|
997
|
+
remote: zod_1.z.boolean().optional()
|
|
998
|
+
});
|
|
999
|
+
exports.ListApplicationsSchema = zod_1.z.object({ workspace: ReadWorkspaceArg, vacancy: zod_1.z.string().optional(), status: zod_1.z.string().optional(), limit: zod_1.z.number().int().min(1).max(500).optional() });
|
|
1000
|
+
exports.CreateApplicationSchema = zod_1.z.object({
|
|
1001
|
+
workspace: WorkspaceArg,
|
|
1002
|
+
vacancy: zod_1.z.string().describe('Name or id'),
|
|
1003
|
+
candidate: zod_1.z.string().describe('Person name or id (create_candidate first for new people)'),
|
|
1004
|
+
status: zod_1.z.string().optional().describe('Default: first status'),
|
|
1005
|
+
assignee: zod_1.z.string().optional().describe('Recruiter')
|
|
1006
|
+
});
|
|
1007
|
+
exports.UpdateApplicationSchema = zod_1.z.object({ workspace: WorkspaceArg, identifier: zod_1.z.string().describe('APP-12'), status: zod_1.z.string().optional(), assignee: zod_1.z.string().nullable().optional() });
|
|
1008
|
+
exports.DeleteApplicationSchema = zod_1.z.object({ workspace: WorkspaceArg, identifier: zod_1.z.string().describe('APP-12') });
|
|
1009
|
+
// ── CRM ───────────────────────────────────────────────────────────────────────
|
|
1010
|
+
exports.ListLeadsSchema = zod_1.z.object({ workspace: ReadWorkspaceArg, funnel: zod_1.z.string().optional(), status: zod_1.z.string().optional(), limit: zod_1.z.number().int().min(1).max(500).optional() });
|
|
1011
|
+
exports.ListCustomersSchema = zod_1.z.object({ workspace: ReadWorkspaceArg });
|
|
1012
|
+
exports.CreateLeadSchema = zod_1.z.object({
|
|
1013
|
+
workspace: WorkspaceArg,
|
|
1014
|
+
title: zod_1.z.string(),
|
|
1015
|
+
customer: zod_1.z.string().describe('Existing person/organization (name or id), or the new one\'s name with newCustomer'),
|
|
1016
|
+
newCustomer: zod_1.z.enum(['organization', 'person']).optional().describe('Create the customer first'),
|
|
1017
|
+
funnel: zod_1.z.string().optional().describe('Default: the default funnel'),
|
|
1018
|
+
status: zod_1.z.string().optional(),
|
|
1019
|
+
assignee: zod_1.z.string().optional()
|
|
1020
|
+
});
|
|
1021
|
+
exports.UpdateLeadSchema = zod_1.z.object({ workspace: WorkspaceArg, identifier: zod_1.z.string().describe('LEAD-12'), title: zod_1.z.string().optional(), status: zod_1.z.string().optional(), assignee: zod_1.z.string().nullable().optional() });
|
|
1022
|
+
exports.DeleteLeadSchema = zod_1.z.object({ workspace: WorkspaceArg, identifier: zod_1.z.string().describe('LEAD-12') });
|
|
1023
|
+
// ── HR ────────────────────────────────────────────────────────────────────────
|
|
1024
|
+
exports.ListDepartmentsSchema = zod_1.z.object({ workspace: ReadWorkspaceArg });
|
|
1025
|
+
exports.CreateDepartmentSchema = zod_1.z.object({ workspace: WorkspaceArg, name: zod_1.z.string(), parent: zod_1.z.string().optional().describe('Default: Organization (root)'), teamLead: zod_1.z.string().optional() });
|
|
1026
|
+
exports.DeleteDepartmentSchema = zod_1.z.object({ workspace: WorkspaceArg, department: zod_1.z.string() });
|
|
1027
|
+
exports.SetDepartmentSchema = zod_1.z.object({ workspace: WorkspaceArg, member: zod_1.z.string(), department: zod_1.z.string() });
|
|
1028
|
+
exports.ListTimeOffSchema = zod_1.z.object({
|
|
1029
|
+
workspace: ReadWorkspaceArg,
|
|
1030
|
+
from: zod_1.z.string().optional().describe('YYYY-MM-DD'),
|
|
1031
|
+
to: zod_1.z.string().optional().describe('YYYY-MM-DD'),
|
|
1032
|
+
member: zod_1.z.string().optional(),
|
|
1033
|
+
department: zod_1.z.string().optional()
|
|
1034
|
+
});
|
|
1035
|
+
exports.CreateTimeOffSchema = zod_1.z.object({
|
|
1036
|
+
workspace: WorkspaceArg,
|
|
1037
|
+
type: zod_1.z.enum(['vacation', 'sick', 'pto', 'pto-half-day', 'overtime', 'overtime-half-day', 'remote']),
|
|
1038
|
+
from: zod_1.z.string().describe('YYYY-MM-DD'),
|
|
1039
|
+
to: zod_1.z.string().optional().describe('Last day, inclusive; default from'),
|
|
1040
|
+
member: zod_1.z.string().optional().describe('Default: me'),
|
|
1041
|
+
description: zod_1.z.string().optional()
|
|
1042
|
+
});
|
|
1043
|
+
exports.DeleteTimeOffSchema = zod_1.z.object({ workspace: WorkspaceArg, id: zod_1.z.string() });
|
|
1044
|
+
// ── Inventory ─────────────────────────────────────────────────────────────────
|
|
1045
|
+
exports.ListInventorySchema = zod_1.z.object({ workspace: ReadWorkspaceArg });
|
|
1046
|
+
exports.CreateInventoryCategorySchema = zod_1.z.object({ workspace: WorkspaceArg, name: zod_1.z.string(), parent: zod_1.z.string().optional().describe('Parent category') });
|
|
1047
|
+
exports.CreateInventoryProductSchema = zod_1.z.object({
|
|
1048
|
+
workspace: WorkspaceArg,
|
|
1049
|
+
name: zod_1.z.string(),
|
|
1050
|
+
category: zod_1.z.string(),
|
|
1051
|
+
variants: zod_1.z.array(zod_1.z.object({ name: zod_1.z.string(), sku: zod_1.z.string() })).optional()
|
|
1052
|
+
});
|
|
1053
|
+
exports.UpdateInventoryItemSchema = zod_1.z.object({ workspace: WorkspaceArg, id: zod_1.z.string(), name: zod_1.z.string().optional(), sku: zod_1.z.string().optional().describe('Variants'), category: zod_1.z.string().optional().describe('Move a product') });
|
|
1054
|
+
exports.DeleteInventoryItemSchema = zod_1.z.object({ workspace: WorkspaceArg, id: zod_1.z.string(), recursive: zod_1.z.boolean().optional() });
|
|
1055
|
+
// ── Message templates ─────────────────────────────────────────────────────────
|
|
1056
|
+
exports.ListMessageTemplatesSchema = zod_1.z.object({ workspace: ReadWorkspaceArg });
|
|
1057
|
+
exports.GetMessageTemplateSchema = zod_1.z.object({ workspace: ReadWorkspaceArg, template: zod_1.z.string().describe('Title or id') });
|
|
1058
|
+
exports.CreateMessageTemplateSchema = zod_1.z.object({
|
|
1059
|
+
workspace: WorkspaceArg,
|
|
1060
|
+
title: zod_1.z.string(),
|
|
1061
|
+
message: zod_1.z.string().describe('Markdown; ${field} placeholders allowed'),
|
|
1062
|
+
category: zod_1.z.string().optional().describe('Default: public templates'),
|
|
1063
|
+
newCategory: zod_1.z.boolean().optional().describe('Create category first')
|
|
1064
|
+
});
|
|
1065
|
+
exports.UpdateMessageTemplateSchema = zod_1.z.object({ workspace: WorkspaceArg, template: zod_1.z.string(), title: zod_1.z.string().optional(), message: zod_1.z.string().optional() });
|
|
1066
|
+
exports.DeleteMessageTemplateSchema = zod_1.z.object({ workspace: WorkspaceArg, template: zod_1.z.string() });
|
|
1067
|
+
// ── Meetings, QMS, processes, surveys (read-only) ─────────────────────────────
|
|
1068
|
+
exports.ListMeetingsSchema = zod_1.z.object({
|
|
1069
|
+
workspace: ReadWorkspaceArg,
|
|
1070
|
+
room: zod_1.z.string().optional(),
|
|
1071
|
+
since: zod_1.z.string().optional(),
|
|
1072
|
+
limit: zod_1.z.number().int().min(1).max(200).optional(),
|
|
1073
|
+
includeOffices: zod_1.z.boolean().optional().describe('List personal offices too')
|
|
292
1074
|
});
|
|
1075
|
+
exports.GetMeetingSchema = zod_1.z.object({ workspace: ReadWorkspaceArg, id: zod_1.z.string(), transcript: zod_1.z.boolean().optional().describe('Default true'), limit: zod_1.z.number().int().min(1).max(5000).optional() });
|
|
1076
|
+
exports.ListControlledDocumentsSchema = zod_1.z.object({ workspace: ReadWorkspaceArg, space: zod_1.z.string().optional(), includeTemplates: zod_1.z.boolean().optional() });
|
|
1077
|
+
exports.GetControlledDocumentSchema = zod_1.z.object({ workspace: ReadWorkspaceArg, document: zod_1.z.string().describe('Code (SOP-12), title or id'), content: zod_1.z.boolean().optional().describe('Default true') });
|
|
1078
|
+
exports.ListTrainingsSchema = zod_1.z.object({ workspace: ReadWorkspaceArg, includeArchived: zod_1.z.boolean().optional() });
|
|
1079
|
+
exports.GetTrainingSchema = zod_1.z.object({ workspace: ReadWorkspaceArg, training: zod_1.z.string().describe('Code, title or id'), showAnswers: zod_1.z.boolean().optional() });
|
|
1080
|
+
exports.ListProcessesSchema = zod_1.z.object({ workspace: ReadWorkspaceArg });
|
|
1081
|
+
exports.ListExecutionsSchema = zod_1.z.object({ workspace: ReadWorkspaceArg, process: zod_1.z.string().optional(), status: zod_1.z.enum(['active', 'done', 'cancelled']).optional(), limit: zod_1.z.number().int().min(1).max(200).optional() });
|
|
1082
|
+
exports.StartProcessSchema = zod_1.z.object({ workspace: WorkspaceArg, process: zod_1.z.string().describe('Name or id'), card: zod_1.z.string().describe('Card id'), dryRun: zod_1.z.boolean().optional() });
|
|
1083
|
+
exports.CancelExecutionSchema = zod_1.z.object({ workspace: WorkspaceArg, execution: zod_1.z.string().describe('Execution id'), dryRun: zod_1.z.boolean().optional() });
|
|
1084
|
+
exports.ListSurveysSchema = zod_1.z.object({ workspace: ReadWorkspaceArg });
|
|
1085
|
+
exports.GetSurveySchema = zod_1.z.object({ workspace: ReadWorkspaceArg, survey: zod_1.z.string(), maxTextAnswers: zod_1.z.number().int().min(0).max(100).optional() });
|
|
293
1086
|
//# sourceMappingURL=schemas.js.map
|