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.
Files changed (200) hide show
  1. package/.env.example +39 -2
  2. package/README.md +462 -16
  3. package/dist/connection.d.ts +8 -0
  4. package/dist/connection.js +13 -1
  5. package/dist/connection.js.map +1 -1
  6. package/dist/env.d.ts +1 -0
  7. package/dist/env.js +17 -0
  8. package/dist/env.js.map +1 -0
  9. package/dist/guard.d.ts +28 -0
  10. package/dist/guard.js +152 -0
  11. package/dist/guard.js.map +1 -0
  12. package/dist/guides/costs.md +48 -0
  13. package/dist/guides/features.md +49 -0
  14. package/dist/guides/onboarding.md +56 -0
  15. package/dist/guides/workflow.md +57 -0
  16. package/dist/index.js +18 -1
  17. package/dist/index.js.map +1 -1
  18. package/dist/junit-cli.d.ts +8 -0
  19. package/dist/junit-cli.js +106 -0
  20. package/dist/junit-cli.js.map +1 -0
  21. package/dist/registry.d.ts +18 -0
  22. package/dist/registry.js +318 -0
  23. package/dist/registry.js.map +1 -0
  24. package/dist/resources.d.ts +12 -0
  25. package/dist/resources.js +212 -0
  26. package/dist/resources.js.map +1 -0
  27. package/dist/schemas.d.ts +1269 -17
  28. package/dist/schemas.js +890 -97
  29. package/dist/schemas.js.map +1 -1
  30. package/dist/server.d.ts +27 -1
  31. package/dist/server.js +197 -128
  32. package/dist/server.js.map +1 -1
  33. package/dist/tools/activity.d.ts +10 -0
  34. package/dist/tools/activity.js +62 -0
  35. package/dist/tools/activity.js.map +1 -0
  36. package/dist/tools/agent.d.ts +156 -0
  37. package/dist/tools/agent.js +523 -0
  38. package/dist/tools/agent.js.map +1 -0
  39. package/dist/tools/attachments.d.ts +4 -4
  40. package/dist/tools/calendar.d.ts +49 -0
  41. package/dist/tools/calendar.js +116 -0
  42. package/dist/tools/calendar.js.map +1 -0
  43. package/dist/tools/cards.d.ts +87 -0
  44. package/dist/tools/cards.js +246 -0
  45. package/dist/tools/cards.js.map +1 -0
  46. package/dist/tools/channels.d.ts +76 -7
  47. package/dist/tools/channels.js +86 -5
  48. package/dist/tools/channels.js.map +1 -1
  49. package/dist/tools/comments.d.ts +16 -4
  50. package/dist/tools/comments.js +26 -9
  51. package/dist/tools/comments.js.map +1 -1
  52. package/dist/tools/components.d.ts +5 -5
  53. package/dist/tools/components.js +4 -22
  54. package/dist/tools/components.js.map +1 -1
  55. package/dist/tools/contacts.d.ts +69 -0
  56. package/dist/tools/contacts.js +130 -0
  57. package/dist/tools/contacts.js.map +1 -0
  58. package/dist/tools/crm.d.ts +61 -0
  59. package/dist/tools/crm.js +117 -0
  60. package/dist/tools/crm.js.map +1 -0
  61. package/dist/tools/documents.d.ts +35 -12
  62. package/dist/tools/documents.js +107 -22
  63. package/dist/tools/documents.js.map +1 -1
  64. package/dist/tools/drive.d.ts +107 -0
  65. package/dist/tools/drive.js +277 -0
  66. package/dist/tools/drive.js.map +1 -0
  67. package/dist/tools/fields.d.ts +33 -0
  68. package/dist/tools/fields.js +124 -0
  69. package/dist/tools/fields.js.map +1 -0
  70. package/dist/tools/generic.d.ts +72 -0
  71. package/dist/tools/generic.js +242 -0
  72. package/dist/tools/generic.js.map +1 -0
  73. package/dist/tools/github.d.ts +21 -0
  74. package/dist/tools/github.js +80 -0
  75. package/dist/tools/github.js.map +1 -0
  76. package/dist/tools/hr.d.ts +97 -0
  77. package/dist/tools/hr.js +150 -0
  78. package/dist/tools/hr.js.map +1 -0
  79. package/dist/tools/inbox.d.ts +23 -0
  80. package/dist/tools/inbox.js +76 -0
  81. package/dist/tools/inbox.js.map +1 -0
  82. package/dist/tools/inventory.d.ts +61 -0
  83. package/dist/tools/inventory.js +103 -0
  84. package/dist/tools/inventory.js.map +1 -0
  85. package/dist/tools/issues.d.ts +63 -12
  86. package/dist/tools/issues.js +259 -48
  87. package/dist/tools/issues.js.map +1 -1
  88. package/dist/tools/labels.d.ts +52 -4
  89. package/dist/tools/labels.js +86 -4
  90. package/dist/tools/labels.js.map +1 -1
  91. package/dist/tools/log-time.d.ts +15 -1
  92. package/dist/tools/log-time.js +70 -6
  93. package/dist/tools/log-time.js.map +1 -1
  94. package/dist/tools/meetings.d.ts +30 -0
  95. package/dist/tools/meetings.js +78 -0
  96. package/dist/tools/meetings.js.map +1 -0
  97. package/dist/tools/members.d.ts +1 -1
  98. package/dist/tools/members.js +17 -1
  99. package/dist/tools/members.js.map +1 -1
  100. package/dist/tools/message-templates.d.ts +54 -0
  101. package/dist/tools/message-templates.js +88 -0
  102. package/dist/tools/message-templates.js.map +1 -0
  103. package/dist/tools/milestones.d.ts +9 -9
  104. package/dist/tools/organizations.d.ts +5 -5
  105. package/dist/tools/organizations.js +2 -1
  106. package/dist/tools/organizations.js.map +1 -1
  107. package/dist/tools/overview.d.ts +55 -0
  108. package/dist/tools/overview.js +395 -0
  109. package/dist/tools/overview.js.map +1 -0
  110. package/dist/tools/planner.d.ts +60 -0
  111. package/dist/tools/planner.js +145 -0
  112. package/dist/tools/planner.js.map +1 -0
  113. package/dist/tools/process.d.ts +50 -0
  114. package/dist/tools/process.js +137 -0
  115. package/dist/tools/process.js.map +1 -0
  116. package/dist/tools/products.d.ts +17 -0
  117. package/dist/tools/products.js +45 -0
  118. package/dist/tools/products.js.map +1 -0
  119. package/dist/tools/projects.d.ts +17 -4
  120. package/dist/tools/projects.js +31 -2
  121. package/dist/tools/projects.js.map +1 -1
  122. package/dist/tools/qms.d.ts +57 -0
  123. package/dist/tools/qms.js +171 -0
  124. package/dist/tools/qms.js.map +1 -0
  125. package/dist/tools/recruiting.d.ts +112 -0
  126. package/dist/tools/recruiting.js +203 -0
  127. package/dist/tools/recruiting.js.map +1 -0
  128. package/dist/tools/relations.d.ts +45 -3
  129. package/dist/tools/relations.js +128 -39
  130. package/dist/tools/relations.js.map +1 -1
  131. package/dist/tools/search.d.ts +14 -1
  132. package/dist/tools/search.js +29 -1
  133. package/dist/tools/search.js.map +1 -1
  134. package/dist/tools/sharing.d.ts +62 -0
  135. package/dist/tools/sharing.js +149 -0
  136. package/dist/tools/sharing.js.map +1 -0
  137. package/dist/tools/statuses.d.ts +3 -3
  138. package/dist/tools/surveys.d.ts +22 -0
  139. package/dist/tools/surveys.js +53 -0
  140. package/dist/tools/surveys.js.map +1 -0
  141. package/dist/tools/templates.d.ts +95 -0
  142. package/dist/tools/templates.js +260 -0
  143. package/dist/tools/templates.js.map +1 -0
  144. package/dist/tools/test-automation.d.ts +81 -0
  145. package/dist/tools/test-automation.js +225 -0
  146. package/dist/tools/test-automation.js.map +1 -0
  147. package/dist/tools/testing.d.ts +234 -0
  148. package/dist/tools/testing.js +401 -0
  149. package/dist/tools/testing.js.map +1 -0
  150. package/dist/tools/workspace-admin.d.ts +55 -0
  151. package/dist/tools/workspace-admin.js +117 -0
  152. package/dist/tools/workspace-admin.js.map +1 -0
  153. package/dist/tools/workspaces.d.ts +1 -1
  154. package/dist/utils/attributes.d.ts +37 -0
  155. package/dist/utils/attributes.js +188 -0
  156. package/dist/utils/attributes.js.map +1 -0
  157. package/dist/utils/classes.d.ts +51 -0
  158. package/dist/utils/classes.js +73 -0
  159. package/dist/utils/classes.js.map +1 -0
  160. package/dist/utils/content.d.ts +11 -0
  161. package/dist/utils/content.js +86 -0
  162. package/dist/utils/content.js.map +1 -0
  163. package/dist/utils/errors.js +1 -1
  164. package/dist/utils/errors.js.map +1 -1
  165. package/dist/utils/files.d.ts +5 -0
  166. package/dist/utils/files.js +50 -0
  167. package/dist/utils/files.js.map +1 -0
  168. package/dist/utils/format.d.ts +2 -0
  169. package/dist/utils/format.js +7 -13
  170. package/dist/utils/format.js.map +1 -1
  171. package/dist/utils/junit.d.ts +13 -0
  172. package/dist/utils/junit.js +81 -0
  173. package/dist/utils/junit.js.map +1 -0
  174. package/dist/utils/markdown.js +9 -4
  175. package/dist/utils/markdown.js.map +1 -1
  176. package/dist/utils/meeting.d.ts +13 -0
  177. package/dist/utils/meeting.js +118 -0
  178. package/dist/utils/meeting.js.map +1 -0
  179. package/dist/utils/people.d.ts +25 -0
  180. package/dist/utils/people.js +80 -0
  181. package/dist/utils/people.js.map +1 -0
  182. package/dist/utils/redact.d.ts +3 -0
  183. package/dist/utils/redact.js +26 -0
  184. package/dist/utils/redact.js.map +1 -0
  185. package/dist/utils/resolve.d.ts +17 -0
  186. package/dist/utils/resolve.js +54 -0
  187. package/dist/utils/resolve.js.map +1 -0
  188. package/dist/utils/spec.d.ts +10 -0
  189. package/dist/utils/spec.js +90 -0
  190. package/dist/utils/spec.js.map +1 -0
  191. package/dist/utils/storage.js +7 -3
  192. package/dist/utils/storage.js.map +1 -1
  193. package/dist/utils/tasks.d.ts +22 -0
  194. package/dist/utils/tasks.js +81 -0
  195. package/dist/utils/tasks.js.map +1 -0
  196. package/dist/watch.d.ts +62 -0
  197. package/dist/watch.js +405 -0
  198. package/dist/watch.js.map +1 -0
  199. package/package.json +4 -3
  200. package/scripts/setup.js +3 -1
@@ -36,44 +36,102 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
36
36
  return (mod && mod.__esModule) ? mod : { "default": mod };
37
37
  };
38
38
  Object.defineProperty(exports, "__esModule", { value: true });
39
- exports.updateIssue = exports.deleteIssue = exports.createIssue = exports.getIssue = exports.listIssues = void 0;
39
+ exports.moveIssue = exports.listSubIssues = exports.bulkUpdateIssues = exports.updateIssue = exports.deleteIssue = exports.createIssue = exports.getIssue = exports.listIssues = void 0;
40
40
  const tracker_1 = __importStar(require("@hcengineering/tracker"));
41
+ const tags_1 = __importDefault(require("@hcengineering/tags"));
41
42
  const task_1 = __importDefault(require("@hcengineering/task"));
42
- const contact_1 = __importDefault(require("@hcengineering/contact"));
43
- const core_1 = require("@hcengineering/core");
43
+ const core_1 = __importStar(require("@hcengineering/core"));
44
44
  const rank_1 = require("@hcengineering/rank");
45
45
  const connection_1 = require("../connection");
46
46
  const errors_1 = require("../utils/errors");
47
47
  const format_1 = require("../utils/format");
48
48
  const markdown_1 = require("../utils/markdown");
49
49
  const storage_1 = require("../utils/storage");
50
+ const people_1 = require("../utils/people");
51
+ const content_1 = require("../utils/content");
52
+ async function findMemberId(client, name) {
53
+ return (await (0, people_1.findPerson)(client, name))._id;
54
+ }
50
55
  exports.listIssues = (0, errors_1.wrapToolHandler)(async (args) => {
51
56
  const client = await (0, connection_1.getConnection)(args.workspace);
52
57
  const project = await client.findOne(tracker_1.default.class.Project, { identifier: args.projectIdentifier });
53
58
  if (project == null)
54
59
  throw new Error(`Project '${args.projectIdentifier}' not found.`);
55
60
  const query = { space: project._id };
56
- if (args.status != null) {
57
- const status = await client.findOne(tracker_1.default.class.IssueStatus, { name: args.status });
61
+ // Statuses are workspace-wide; resolve them once (filter and output).
62
+ const statuses = await client.findAll(tracker_1.default.class.IssueStatus, {});
63
+ const statusMap = new Map(statuses.map((s) => [s._id, s.name]));
64
+ // Default: open issues only — in a mature project most issues are done, and listing them costs tokens.
65
+ const scope = args.status ?? 'open';
66
+ if (scope === 'open') {
67
+ query.status = { $in: statuses.filter((s) => s.category !== task_1.default.statusCategory.Won && s.category !== task_1.default.statusCategory.Lost).map((s) => s._id) };
68
+ }
69
+ else if (scope !== 'all') {
70
+ const status = statuses.find((s) => s.name.toLowerCase() === scope.toLowerCase());
58
71
  if (status == null)
59
- throw new Error(`Status '${args.status}' not found in project '${args.projectIdentifier}'.`);
72
+ throw new Error(`Status '${scope}' not found. Use a status name, "open" or "all".`);
60
73
  query.status = status._id;
61
74
  }
62
75
  if (args.priority != null) {
63
76
  query.priority = tracker_1.IssuePriority[args.priority];
64
77
  }
65
- const issues = await client.findAll(tracker_1.default.class.Issue, query, { limit: args.limit, sort: { modifiedOn: core_1.SortingOrder.Descending } });
78
+ if (args.milestoneLabel !== undefined) {
79
+ if (args.milestoneLabel === null)
80
+ query.milestone = null;
81
+ else {
82
+ const m = await client.findOne(tracker_1.default.class.Milestone, { space: project._id, label: args.milestoneLabel });
83
+ if (m == null)
84
+ throw new Error(`Milestone '${args.milestoneLabel}' not found in project ${args.projectIdentifier}.`);
85
+ query.milestone = m._id;
86
+ }
87
+ }
88
+ if (args.componentLabel !== undefined) {
89
+ if (args.componentLabel === null)
90
+ query.component = null;
91
+ else {
92
+ const c = await client.findOne(tracker_1.default.class.Component, { space: project._id, label: args.componentLabel });
93
+ if (c == null)
94
+ throw new Error(`Component '${args.componentLabel}' not found in project ${args.projectIdentifier}.`);
95
+ query.component = c._id;
96
+ }
97
+ }
98
+ if (args.assignee !== undefined) {
99
+ query.assignee = args.assignee === null ? null : await findMemberId(client, args.assignee);
100
+ }
101
+ if (args.parentIdentifier !== undefined) {
102
+ if (args.parentIdentifier === null)
103
+ query.attachedTo = tracker_1.default.ids.NoParent;
104
+ else {
105
+ const parent = await client.findOne(tracker_1.default.class.Issue, { identifier: args.parentIdentifier });
106
+ if (parent == null)
107
+ throw new Error(`Issue '${args.parentIdentifier}' not found.`);
108
+ query.attachedTo = parent._id;
109
+ }
110
+ }
111
+ if (args.labelName != null) {
112
+ const label = await client.findOne(tags_1.default.class.TagElement, { targetClass: tracker_1.default.class.Issue, title: args.labelName });
113
+ if (label == null)
114
+ throw new Error(`Label '${args.labelName}' not found.`);
115
+ const refs = await client.findAll(tags_1.default.class.TagReference, { tag: label._id });
116
+ query._id = { $in: refs.map((r) => r.attachedTo) };
117
+ }
118
+ const offset = args.offset ?? 0;
119
+ const found = await client.findAll(tracker_1.default.class.Issue, query, { limit: args.limit + offset, sort: { modifiedOn: core_1.SortingOrder.Descending }, total: true });
120
+ const total = found.total ?? found.length;
121
+ const issues = found.slice(offset);
122
+ const what = scope === 'open' ? 'open issues' : scope === 'all' ? 'issues' : `issues in status ${scope}`;
66
123
  if (issues.length === 0)
67
- return `No issues found in project ${args.projectIdentifier}.`;
68
- // Resolve all statuses in one call
69
- const statuses = await client.findAll(tracker_1.default.class.IssueStatus, {});
70
- const statusMap = new Map(statuses.map((s) => [s._id, s.name]));
124
+ return `No ${what} in project ${args.projectIdentifier}${offset > 0 ? ` after offset ${offset}` : ''}.${scope === 'open' ? ' (status: "all" includes done ones.)' : ''}`;
71
125
  const lines = issues.map((issue) => {
72
126
  const statusName = statusMap.get(issue.status) ?? 'Unknown';
73
- const due = issue.dueDate != null ? ` | Due: ${(0, format_1.formatDate)(issue.dueDate)}` : '';
74
- return `- **${issue.identifier}** [${statusName}] [${(0, format_1.priorityLabel)(issue.priority)}]${due}\n ${issue.title}`;
127
+ // One line per issue; "No priority" is left out (list_issues is called often, every token counts).
128
+ const prio = issue.priority !== tracker_1.IssuePriority.NoPriority ? ` · ${(0, format_1.priorityLabel)(issue.priority)}` : '';
129
+ const due = issue.dueDate != null ? ` · due ${(0, format_1.formatDate)(issue.dueDate)}` : '';
130
+ return `- **${issue.identifier}** ${issue.title} — ${statusName}${prio}${due}`;
75
131
  });
76
- return `## Issues in ${args.projectIdentifier} (${issues.length})\n\n${lines.join('\n')}`;
132
+ const shown = total > issues.length ? `${offset + 1}–${offset + issues.length} of ${total}` : String(total);
133
+ const more = offset + issues.length < total ? `\n\n_More: offset ${offset + issues.length}._` : '';
134
+ return `## ${what[0].toUpperCase()}${what.slice(1)} in ${args.projectIdentifier} (${shown})\n\n${lines.join('\n')}${more}`;
77
135
  });
78
136
  exports.getIssue = (0, errors_1.wrapToolHandler)(async (args) => {
79
137
  const client = await (0, connection_1.getConnection)(args.workspace);
@@ -81,15 +139,49 @@ exports.getIssue = (0, errors_1.wrapToolHandler)(async (args) => {
81
139
  if (issue == null)
82
140
  throw new Error(`Issue '${args.identifier}' not found.`);
83
141
  const status = await client.findOne(tracker_1.default.class.IssueStatus, { _id: issue.status });
142
+ const milestone = issue.milestone != null ? await client.findOne(tracker_1.default.class.Milestone, { _id: issue.milestone }) : undefined;
143
+ const component = issue.component != null ? await client.findOne(tracker_1.default.class.Component, { _id: issue.component }) : undefined;
144
+ const assignee = issue.assignee != null ? (await (0, people_1.peopleNames)(client)).get(issue.assignee) ?? String(issue.assignee) : 'Unassigned';
145
+ const labelRefs = await client.findAll(tags_1.default.class.TagReference, { attachedTo: issue._id });
146
+ const refIds = async (list) => {
147
+ if (list == null || list.length === 0)
148
+ return 'None';
149
+ const names = [];
150
+ for (const r of list) {
151
+ if (r._class != null && r._class !== tracker_1.default.class.Issue) {
152
+ // Related non-issue docs (e.g. a test case): "Test case "name" `id`".
153
+ const doc = await client.findOne(r._class, { _id: r._id });
154
+ const kind = String(r._class).split(':').pop()?.replace(/([a-z])([A-Z])/g, '$1 $2').toLowerCase() ?? 'doc';
155
+ names.push(`${kind} "${String(doc?.name ?? doc?.title ?? '?')}" \`${String(r._id)}\``);
156
+ continue;
157
+ }
158
+ const other = await client.findOne(tracker_1.default.class.Issue, { _id: r._id });
159
+ names.push(other?.identifier ?? String(r._id));
160
+ }
161
+ return names.join(', ');
162
+ };
163
+ // Only fields that are set: empty ones ("None", "0") cost tokens and say nothing.
164
+ const blockedBy = await refIds(issue.blockedBy);
165
+ const related = await refIds(issue.relations);
166
+ const fieldsOut = [
167
+ ['Status', status?.name ?? 'Unknown'],
168
+ ['Priority', (0, format_1.priorityLabel)(issue.priority)],
169
+ ['Assignee', issue.assignee != null ? assignee : undefined],
170
+ ['Milestone', milestone?.label],
171
+ ['Component', component?.label],
172
+ ['Labels', labelRefs.length > 0 ? labelRefs.map((l) => l.title).join(', ') : undefined],
173
+ ['Parent', issue.parents?.[0] != null ? `${issue.parents[0].identifier} — ${issue.parents[0].parentTitle}` : undefined],
174
+ ['Blocked by', blockedBy !== 'None' ? blockedBy : undefined],
175
+ ['Related', related !== 'None' ? related : undefined],
176
+ ['Due date', issue.dueDate != null ? (0, format_1.formatDate)(issue.dueDate) : undefined],
177
+ ['Comments', (issue.comments ?? 0) > 0 ? String(issue.comments) : undefined],
178
+ ['Sub-issues', (issue.subIssues ?? 0) > 0 ? String(issue.subIssues) : undefined],
179
+ ['Estimation', issue.estimation > 0 ? `${issue.estimation}h` : undefined],
180
+ ['Reported time', issue.reportedTime > 0 ? `${issue.reportedTime}h` : undefined]
181
+ ];
84
182
  const lines = [
85
183
  `## ${issue.identifier}: ${issue.title}`,
86
- `**Status:** ${status?.name ?? 'Unknown'}`,
87
- `**Priority:** ${(0, format_1.priorityLabel)(issue.priority)}`,
88
- `**Due date:** ${(0, format_1.formatDate)(issue.dueDate)}`,
89
- `**Comments:** ${issue.comments ?? 0}`,
90
- `**Sub-issues:** ${issue.subIssues ?? 0}`,
91
- `**Estimation:** ${issue.estimation > 0 ? `${issue.estimation}h` : 'None'}`,
92
- `**Reported time:** ${issue.reportedTime > 0 ? `${issue.reportedTime}h` : 'None'}`
184
+ fieldsOut.filter(([, v]) => v != null).map(([k, v]) => `**${k}:** ${v}`).join(' · ')
93
185
  ];
94
186
  if (issue.description != null) {
95
187
  const frontUrl = process.env.HULY_FRONT_URL;
@@ -98,7 +190,7 @@ exports.getIssue = (0, errors_1.wrapToolHandler)(async (args) => {
98
190
  // Token goes in the Authorization header only — never in the URL (see get_document).
99
191
  const blobUrl = `${frontUrl}/files?file=${encodeURIComponent(issue.description)}&workspace=${workspaceUuid}`;
100
192
  try {
101
- const res = await fetch(blobUrl, { headers: { Authorization: `Bearer ${wsToken}` } });
193
+ const res = await (0, content_1.fetchBlob)(blobUrl, wsToken);
102
194
  if (res.ok) {
103
195
  const text = await res.text();
104
196
  try {
@@ -128,12 +220,19 @@ exports.createIssue = (0, errors_1.wrapToolHandler)(async (args) => {
128
220
  const project = await client.findOne(tracker_1.default.class.Project, { identifier: args.projectIdentifier });
129
221
  if (project == null)
130
222
  throw new Error(`Project '${args.projectIdentifier}' not found.`);
223
+ // Resolve everything that can fail before the sequence number is taken.
224
+ const statuses = await client.findAll(tracker_1.default.class.IssueStatus, {});
225
+ if (args.statusName != null && !statuses.some((s) => s.name === args.statusName)) {
226
+ throw new Error(`Status '${args.statusName}' not found. Available: ${[...new Set(statuses.map((s) => s.name))].join(', ')}.`);
227
+ }
228
+ const fields = await resolveFieldUpdates(client, { space: project._id }, {
229
+ assignee: args.assignee, componentLabel: args.componentLabel, milestoneLabel: args.milestoneLabel
230
+ });
131
231
  // 2. Increment sequence counter
132
232
  const incResult = await client.updateDoc(tracker_1.default.class.Project, project.space, project._id, { $inc: { sequence: 1 } }, true);
133
233
  const issueNumber = incResult?.object?.sequence ?? project.sequence + 1;
134
234
  const identifier = `${project.identifier}-${issueNumber}`;
135
235
  // 3. Resolve status
136
- const statuses = await client.findAll(tracker_1.default.class.IssueStatus, {});
137
236
  const status = args.statusName != null
138
237
  ? (statuses.find((s) => s.name === args.statusName) ?? statuses[0])
139
238
  : (project.defaultIssueStatus != null
@@ -170,9 +269,9 @@ exports.createIssue = (0, errors_1.wrapToolHandler)(async (args) => {
170
269
  comments: 0,
171
270
  subIssues: 0,
172
271
  dueDate: args.dueDate != null ? new Date(args.dueDate).getTime() : null,
173
- assignee: null,
174
- component: null,
175
- milestone: null,
272
+ assignee: (fields.assignee ?? null),
273
+ component: (fields.component ?? null),
274
+ milestone: (fields.milestone ?? null),
176
275
  parents: [],
177
276
  remainingTime: 0,
178
277
  estimation: 0,
@@ -181,7 +280,8 @@ exports.createIssue = (0, errors_1.wrapToolHandler)(async (args) => {
181
280
  childInfo: [],
182
281
  relations: []
183
282
  }, issueId);
184
- return `✅ Created **${identifier}**: ${args.title}\nStatus: ${status.name} | Priority: ${(0, format_1.priorityLabel)(tracker_1.IssuePriority[args.priority])}`;
283
+ const extra = [args.assignee != null ? `Assignee: ${args.assignee}` : '', args.componentLabel != null ? `Component: ${args.componentLabel}` : '', args.milestoneLabel != null ? `Milestone: ${args.milestoneLabel}` : ''].filter((x) => x !== '');
284
+ return `✅ Created **${identifier}**: ${args.title}\nStatus: ${status.name} | Priority: ${(0, format_1.priorityLabel)(tracker_1.IssuePriority[args.priority])}${extra.length > 0 ? ` | ${extra.join(' | ')}` : ''}`;
185
285
  });
186
286
  exports.deleteIssue = (0, errors_1.wrapToolHandler)(async (args) => {
187
287
  const client = await (0, connection_1.getConnection)(args.workspace);
@@ -191,20 +291,9 @@ exports.deleteIssue = (0, errors_1.wrapToolHandler)(async (args) => {
191
291
  await client.removeCollection(tracker_1.default.class.Issue, issue.space, issue._id, issue.attachedTo, issue.attachedToClass, issue.collection);
192
292
  return `✅ Deleted **${args.identifier}**: ${issue.title}`;
193
293
  });
194
- exports.updateIssue = (0, errors_1.wrapToolHandler)(async (args) => {
195
- const client = await (0, connection_1.getConnection)(args.workspace);
196
- const issue = await client.findOne(tracker_1.default.class.Issue, { identifier: args.identifier });
197
- if (issue == null)
198
- throw new Error(`Issue '${args.identifier}' not found.`);
294
+ /** Shared by update_issue and bulk_update_issues: turns name-based arguments into issue field updates. */
295
+ async function resolveFieldUpdates(client, issue, args) {
199
296
  const updates = {};
200
- if (args.title != null)
201
- updates.title = args.title;
202
- if (args.description != null && args.description !== '') {
203
- const { wsToken, workspaceUuid } = await (0, connection_1.getWorkspaceInfo)(args.workspace);
204
- const prosemirror = (0, markdown_1.markdownToProseMirror)(args.description);
205
- const descriptionBlobId = await (0, storage_1.uploadMarkupBlob)(wsToken, workspaceUuid, `${issue._id}-description-${Date.now()}`, JSON.stringify(prosemirror));
206
- updates.description = descriptionBlobId;
207
- }
208
297
  if (args.statusName != null) {
209
298
  const status = await client.findOne(tracker_1.default.class.IssueStatus, { name: args.statusName });
210
299
  if (status == null)
@@ -215,6 +304,8 @@ exports.updateIssue = (0, errors_1.wrapToolHandler)(async (args) => {
215
304
  updates.priority = tracker_1.IssuePriority[args.priority];
216
305
  }
217
306
  if (args.dueDate !== undefined) {
307
+ if (args.dueDate != null && isNaN(new Date(args.dueDate).getTime()))
308
+ throw new Error(`Invalid date: '${args.dueDate}'`);
218
309
  updates.dueDate = args.dueDate != null ? new Date(args.dueDate).getTime() : null;
219
310
  }
220
311
  if (args.assignee !== undefined) {
@@ -222,14 +313,7 @@ exports.updateIssue = (0, errors_1.wrapToolHandler)(async (args) => {
222
313
  updates.assignee = null;
223
314
  }
224
315
  else {
225
- const employees = await client.findAll(contact_1.default.class.Member, {});
226
- const match = employees.find((e) => {
227
- const name = e.name ?? '';
228
- return name.toLowerCase().includes(args.assignee.toLowerCase());
229
- });
230
- if (match == null)
231
- throw new Error(`Member '${args.assignee}' not found.`);
232
- updates.assignee = match._id;
316
+ updates.assignee = await findMemberId(client, args.assignee);
233
317
  }
234
318
  }
235
319
  if (args.componentLabel !== undefined) {
@@ -254,10 +338,137 @@ exports.updateIssue = (0, errors_1.wrapToolHandler)(async (args) => {
254
338
  updates.milestone = milestone._id;
255
339
  }
256
340
  }
341
+ return updates;
342
+ }
343
+ exports.updateIssue = (0, errors_1.wrapToolHandler)(async (args) => {
344
+ const client = await (0, connection_1.getConnection)(args.workspace);
345
+ const issue = await client.findOne(tracker_1.default.class.Issue, { identifier: args.identifier });
346
+ if (issue == null)
347
+ throw new Error(`Issue '${args.identifier}' not found.`);
348
+ const updates = {};
349
+ if (args.title != null)
350
+ updates.title = args.title;
351
+ if (args.description != null && args.description !== '') {
352
+ const { wsToken, workspaceUuid } = await (0, connection_1.getWorkspaceInfo)(args.workspace);
353
+ const prosemirror = (0, markdown_1.markdownToProseMirror)(args.description);
354
+ const descriptionBlobId = await (0, storage_1.uploadMarkupBlob)(wsToken, workspaceUuid, `${issue._id}-description-${Date.now()}`, JSON.stringify(prosemirror));
355
+ updates.description = descriptionBlobId;
356
+ }
357
+ Object.assign(updates, await resolveFieldUpdates(client, issue, args));
257
358
  if (Object.keys(updates).length === 0)
258
359
  return `No changes made to ${args.identifier}.`;
259
360
  await client.updateDoc(tracker_1.default.class.Issue, issue.space, issue._id, updates);
260
361
  const changed = Object.keys(updates).join(', ');
261
362
  return `✅ Updated **${args.identifier}** — changed: ${changed}`;
262
363
  });
364
+ exports.bulkUpdateIssues = (0, errors_1.wrapToolHandler)(async (args) => {
365
+ const client = await (0, connection_1.getConnection)(args.workspace);
366
+ const identifiers = [...new Set(args.identifiers)];
367
+ // Resolve every issue and every update first — nothing is written unless all inputs are valid.
368
+ const planned = [];
369
+ for (const identifier of identifiers) {
370
+ const issue = await client.findOne(tracker_1.default.class.Issue, { identifier });
371
+ if (issue == null)
372
+ throw new Error(`Issue '${identifier}' not found. Nothing was changed.`);
373
+ planned.push({ issue, updates: await resolveFieldUpdates(client, issue, args) });
374
+ }
375
+ if (planned.every((p) => Object.keys(p.updates).length === 0))
376
+ return 'No changes requested.';
377
+ for (const { issue, updates } of planned) {
378
+ await client.updateDoc(tracker_1.default.class.Issue, issue.space, issue._id, updates);
379
+ }
380
+ const changed = Object.keys(planned[0].updates).join(', ');
381
+ return `✅ Updated ${planned.length} issue(s) — changed: ${changed}\n${planned.map((p) => `- ${p.issue.identifier}`).join('\n')}`;
382
+ });
383
+ exports.listSubIssues = (0, errors_1.wrapToolHandler)(async (args) => {
384
+ const client = await (0, connection_1.getConnection)(args.workspace);
385
+ const root = await client.findOne(tracker_1.default.class.Issue, { identifier: args.identifier });
386
+ if (root == null)
387
+ throw new Error(`Issue '${args.identifier}' not found.`);
388
+ const statuses = await client.findAll(tracker_1.default.class.IssueStatus, {});
389
+ const statusById = new Map(statuses.map((s) => [s._id, s]));
390
+ const isDone = (i) => statusById.get(i.status)?.category === task_1.default.statusCategory.Won;
391
+ const isCanceled = (i) => statusById.get(i.status)?.category === task_1.default.statusCategory.Lost;
392
+ // Children are found via attachedTo (how Huly links sub-issues) and, for issues linked by
393
+ // older versions of set_parent, via the parents list.
394
+ const projectIssues = await client.findAll(tracker_1.default.class.Issue, { space: root.space });
395
+ const childrenOf = (id) => projectIssues.filter((i) => i._id !== id && (i.attachedTo === id || i.parents?.[0]?.parentId === id));
396
+ let total = 0;
397
+ let done = 0;
398
+ let canceled = 0;
399
+ const lines = [];
400
+ const walk = (id, level) => {
401
+ for (const child of childrenOf(id)) {
402
+ total++;
403
+ if (isDone(child))
404
+ done++;
405
+ if (isCanceled(child))
406
+ canceled++;
407
+ const statusName = statusById.get(child.status)?.name ?? 'Unknown';
408
+ const mark = isDone(child) ? 'x' : (isCanceled(child) ? '-' : ' ');
409
+ lines.push(`${' '.repeat(level)}- [${mark}] **${child.identifier}** [${statusName}] ${child.title}`);
410
+ if (level + 1 < args.depth)
411
+ walk(child._id, level + 1);
412
+ }
413
+ };
414
+ walk(root._id, 0);
415
+ if (total === 0)
416
+ return `**${root.identifier}** has no sub-issues.`;
417
+ return `## Sub-issues of ${root.identifier}: ${root.title}\n**Progress:** ${done}/${total - canceled} done${canceled > 0 ? ` (${canceled} canceled)` : ''}\n\n${lines.join('\n')}`;
418
+ });
419
+ /**
420
+ * Moves an issue (with its sub-issues, comments, attachments, labels and time reports) to
421
+ * another project. Mirrors Huly's own moveIssueToSpace: every attached doc gets the new space,
422
+ * every moved issue gets a new number in the target project. Component and milestone belong
423
+ * to the old project and are cleared.
424
+ */
425
+ exports.moveIssue = (0, errors_1.wrapToolHandler)(async (args) => {
426
+ const client = await (0, connection_1.getConnection)(args.workspace);
427
+ const issue = await client.findOne(tracker_1.default.class.Issue, { identifier: args.identifier });
428
+ if (issue == null)
429
+ throw new Error(`Issue '${args.identifier}' not found.`);
430
+ const target = await client.findOne(tracker_1.default.class.Project, { identifier: args.targetProjectIdentifier });
431
+ if (target == null)
432
+ throw new Error(`Project '${args.targetProjectIdentifier}' not found.`);
433
+ if (target._id === issue.space)
434
+ throw new Error(`${args.identifier} is already in project ${args.targetProjectIdentifier}.`);
435
+ let statusUpdate = {};
436
+ if (args.statusName != null) {
437
+ const status = await client.findOne(tracker_1.default.class.IssueStatus, { name: args.statusName });
438
+ if (status == null)
439
+ throw new Error(`Status '${args.statusName}' not found.`);
440
+ statusUpdate = { status: status._id };
441
+ }
442
+ const hierarchy = client.getHierarchy();
443
+ const renamed = [];
444
+ const lastRank = async () => (await client.findOne(tracker_1.default.class.Issue, { space: target._id }, { sort: { rank: core_1.SortingOrder.Descending } }))?.rank;
445
+ const nextNumber = async () => {
446
+ const inc = await client.updateDoc(tracker_1.default.class.Project, core_1.default.space.Space, target._id, { $inc: { sequence: 1 } }, true);
447
+ return inc?.object?.sequence ?? target.sequence + 1;
448
+ };
449
+ const moveDoc = async (doc, extra) => {
450
+ for (const attribute of hierarchy.getAllAttributes(doc._class).values()) {
451
+ if (!hierarchy.isDerived(attribute.type._class, core_1.default.class.Collection))
452
+ continue;
453
+ const of = attribute.type.of;
454
+ const attached = await client.findAll(of, { attachedTo: doc._id });
455
+ for (const child of attached) {
456
+ if (hierarchy.isDerived(of, tracker_1.default.class.Issue)) {
457
+ const number = await nextNumber();
458
+ renamed.push(`${child.identifier} → ${target.identifier}-${number}`);
459
+ await moveDoc(child, { number, identifier: `${target.identifier}-${number}`, rank: (0, rank_1.makeRank)(await lastRank(), undefined), component: null, milestone: null });
460
+ }
461
+ else {
462
+ await moveDoc(child, {});
463
+ }
464
+ }
465
+ }
466
+ await client.update(doc, { space: target._id, ...extra });
467
+ };
468
+ const number = await nextNumber();
469
+ const newIdentifier = `${target.identifier}-${number}`;
470
+ renamed.unshift(`${issue.identifier} → ${newIdentifier}`);
471
+ await moveDoc(issue, { ...statusUpdate, number, identifier: newIdentifier, rank: (0, rank_1.makeRank)(await lastRank(), undefined), component: null, milestone: null });
472
+ return `✅ Moved to project **${target.identifier}** (component and milestone cleared):\n${renamed.map((r) => `- ${r}`).join('\n')}`;
473
+ });
263
474
  //# sourceMappingURL=issues.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"issues.js","sourceRoot":"","sources":["../../src/tools/issues.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,kEAA2E;AAC3E,+DAAsC;AACtC,qEAA4C;AAC5C,8CAA6F;AAE7F,8CAA8C;AAC9C,8CAA+D;AAC/D,4CAAiD;AACjD,4CAA2D;AAC3D,gDAAsE;AACtE,8CAAmD;AAUtC,QAAA,UAAU,GAAG,IAAA,wBAAe,EAAmC,KAAK,EAAE,IAAI,EAAE,EAAE;IACzF,MAAM,MAAM,GAAG,MAAM,IAAA,0BAAa,EAAC,IAAI,CAAC,SAAS,CAAC,CAAA;IAClD,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,iBAAO,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,UAAU,EAAE,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAA;IACnG,IAAI,OAAO,IAAI,IAAI;QAAE,MAAM,IAAI,KAAK,CAAC,YAAY,IAAI,CAAC,iBAAiB,cAAc,CAAC,CAAA;IAEtF,MAAM,KAAK,GAA4B,EAAE,KAAK,EAAE,OAAO,CAAC,GAAG,EAAE,CAAA;IAE7D,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,EAAE,CAAC;QACxB,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,iBAAO,CAAC,KAAK,CAAC,WAAW,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAA;QACrF,IAAI,MAAM,IAAI,IAAI;YAAE,MAAM,IAAI,KAAK,CAAC,WAAW,IAAI,CAAC,MAAM,2BAA2B,IAAI,CAAC,iBAAiB,IAAI,CAAC,CAAA;QAChH,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,GAAG,CAAA;IAC3B,CAAC;IAED,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,EAAE,CAAC;QAC1B,KAAK,CAAC,QAAQ,GAAG,uBAAa,CAAC,IAAI,CAAC,QAAsC,CAAC,CAAA;IAC7E,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,OAAO,CACjC,iBAAO,CAAC,KAAK,CAAC,KAAK,EACnB,KAAY,EACZ,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,UAAU,EAAE,mBAAY,CAAC,UAAU,EAAE,EAAE,CACrE,CAAA;IAED,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,8BAA8B,IAAI,CAAC,iBAAiB,GAAG,CAAA;IAEvF,mCAAmC;IACnC,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,iBAAO,CAAC,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC,CAAA;IACpE,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IAE/D,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;QACjC,MAAM,UAAU,GAAG,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,SAAS,CAAA;QAC3D,MAAM,GAAG,GAAG,KAAK,CAAC,OAAO,IAAI,IAAI,CAAC,CAAC,CAAC,WAAW,IAAA,mBAAU,EAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAA;QAC/E,OAAO,OAAO,KAAK,CAAC,UAAU,OAAO,UAAU,MAAM,IAAA,sBAAa,EAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,GAAG,OAAO,KAAK,CAAC,KAAK,EAAE,CAAA;IAC/G,CAAC,CAAC,CAAA;IAEF,OAAO,gBAAgB,IAAI,CAAC,iBAAiB,KAAK,MAAM,CAAC,MAAM,QAAQ,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAA;AAC3F,CAAC,CAAC,CAAA;AAEW,QAAA,QAAQ,GAAG,IAAA,wBAAe,EAAiC,KAAK,EAAE,IAAI,EAAE,EAAE;IACrF,MAAM,MAAM,GAAG,MAAM,IAAA,0BAAa,EAAC,IAAI,CAAC,SAAS,CAAC,CAAA;IAClD,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,iBAAO,CAAC,KAAK,CAAC,KAAK,EAAE,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,CAAA;IACxF,IAAI,KAAK,IAAI,IAAI;QAAE,MAAM,IAAI,KAAK,CAAC,UAAU,IAAI,CAAC,UAAU,cAAc,CAAC,CAAA;IAE3E,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,iBAAO,CAAC,KAAK,CAAC,WAAW,EAAE,EAAE,GAAG,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,CAAA;IAErF,MAAM,KAAK,GAAG;QACZ,MAAM,KAAK,CAAC,UAAU,KAAK,KAAK,CAAC,KAAK,EAAE;QACxC,eAAe,MAAM,EAAE,IAAI,IAAI,SAAS,EAAE;QAC1C,iBAAiB,IAAA,sBAAa,EAAC,KAAK,CAAC,QAAQ,CAAC,EAAE;QAChD,iBAAiB,IAAA,mBAAU,EAAC,KAAK,CAAC,OAAO,CAAC,EAAE;QAC5C,iBAAiB,KAAK,CAAC,QAAQ,IAAI,CAAC,EAAE;QACtC,mBAAmB,KAAK,CAAC,SAAS,IAAI,CAAC,EAAE;QACzC,mBAAmB,KAAK,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE;QAC3E,sBAAsB,KAAK,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE;KACnF,CAAA;IAED,IAAI,KAAK,CAAC,WAAW,IAAI,IAAI,EAAE,CAAC;QAC9B,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,cAAc,CAAA;QAC3C,IAAI,QAAQ,IAAI,IAAI,IAAI,QAAQ,KAAK,EAAE,EAAE,CAAC;YACxC,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,GAAG,MAAM,IAAA,6BAAgB,EAAC,IAAI,CAAC,SAAS,CAAC,CAAA;YACzE,qFAAqF;YACrF,MAAM,OAAO,GAAG,GAAG,QAAQ,eAAe,kBAAkB,CAAC,KAAK,CAAC,WAAW,CAAC,cAAc,aAAa,EAAE,CAAA;YAC5G,IAAI,CAAC;gBACH,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,OAAO,EAAE,EAAE,OAAO,EAAE,EAAE,aAAa,EAAE,UAAU,OAAO,EAAE,EAAE,EAAE,CAAC,CAAA;gBACrF,IAAI,GAAG,CAAC,EAAE,EAAE,CAAC;oBACX,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAA;oBAC7B,IAAI,CAAC;wBACH,MAAM,SAAS,GAAG,IAAA,sBAAW,EAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAA;wBAC/C,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC;4BAAE,KAAK,CAAC,IAAI,CAAC,uBAAuB,SAAS,EAAE,CAAC,CAAA;oBAC1E,CAAC;oBAAC,MAAM,CAAC;wBACP,KAAK,CAAC,IAAI,CAAC,6BAA6B,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC,CAAA;oBACpE,CAAC;gBACH,CAAC;YACH,CAAC;YAAC,MAAM,CAAC;gBACP,KAAK,CAAC,IAAI,CAAC,kDAAkD,KAAK,CAAC,WAAW,MAAM,CAAC,CAAA;YACvF,CAAC;QACH,CAAC;aAAM,CAAC;YACN,KAAK,CAAC,IAAI,CAAC,iCAAiC,KAAK,CAAC,WAAW,IAAI,CAAC,CAAA;YAClE,KAAK,CAAC,IAAI,CAAC,6DAA6D,CAAC,CAAA;QAC3E,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AACzB,CAAC,CAAC,CAAA;AAEW,QAAA,WAAW,GAAG,IAAA,wBAAe,EAAoC,KAAK,EAAE,IAAI,EAAE,EAAE;IAC3F,MAAM,MAAM,GAAG,MAAM,IAAA,0BAAa,EAAC,IAAI,CAAC,SAAS,CAAC,CAAA;IAElD,kBAAkB;IAClB,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,iBAAO,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,UAAU,EAAE,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAA;IACnG,IAAI,OAAO,IAAI,IAAI;QAAE,MAAM,IAAI,KAAK,CAAC,YAAY,IAAI,CAAC,iBAAiB,cAAc,CAAC,CAAA;IAEtF,gCAAgC;IAChC,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,SAAS,CACtC,iBAAO,CAAC,KAAK,CAAC,OAAO,EACrB,OAAO,CAAC,KAAK,EACb,OAAO,CAAC,GAAG,EACX,EAAE,IAAI,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,EAAS,EAChC,IAAI,CACL,CAAA;IACD,MAAM,WAAW,GAAY,SAAiB,EAAE,MAAM,EAAE,QAAQ,IAAI,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAA;IACxF,MAAM,UAAU,GAAG,GAAG,OAAO,CAAC,UAAU,IAAI,WAAW,EAAE,CAAA;IAEzD,oBAAoB;IACpB,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,iBAAO,CAAC,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC,CAAA;IACpE,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,IAAI,IAAI;QACpC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,UAAU,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,CAAC;QACnE,CAAC,CAAC,CAAC,OAAO,CAAC,kBAAkB,IAAI,IAAI;YACjC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,OAAO,CAAC,kBAAkB,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,CAAC;YAC7E,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAA;IACpB,IAAI,MAAM,IAAI,IAAI;QAAE,MAAM,IAAI,KAAK,CAAC,iCAAiC,IAAI,CAAC,iBAAiB,IAAI,CAAC,CAAA;IAEhG,2CAA2C;IAC3C,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,cAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,OAAO,CAAC,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAA;IAC5G,IAAI,IAAI,IAAI,IAAI;QAAE,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAA;IAEhF,4CAA4C;IAC5C,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,OAAO,CACpC,iBAAO,CAAC,KAAK,CAAC,KAAK,EACnB,EAAE,KAAK,EAAE,OAAO,CAAC,GAAG,EAAE,EACtB,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,mBAAY,CAAC,UAAU,EAAE,EAAE,CAC5C,CAAA;IACD,MAAM,IAAI,GAAG,IAAA,eAAQ,EAAC,SAAS,EAAE,IAAI,EAAE,SAAS,CAAC,CAAA;IAEjD,uDAAuD;IACvD,MAAM,OAAO,GAAG,IAAA,iBAAU,GAAS,CAAA;IAEnC,2EAA2E;IAC3E,gDAAgD;IAChD,IAAI,iBAAiB,GAAkB,IAAI,CAAA;IAC3C,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,IAAI,IAAI,CAAC,WAAW,KAAK,EAAE,EAAE,CAAC;QACxD,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,GAAG,MAAM,IAAA,6BAAgB,EAAC,IAAI,CAAC,SAAS,CAAC,CAAA;QACzE,MAAM,WAAW,GAAG,IAAA,gCAAqB,EAAC,IAAI,CAAC,WAAW,CAAC,CAAA;QAC3D,iBAAiB,GAAG,MAAM,IAAA,0BAAgB,EACxC,OAAO,EACP,aAAa,EACb,GAAG,OAAO,gBAAgB,IAAI,CAAC,GAAG,EAAE,EAAE,EACtC,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,CAC5B,CAAA;IACH,CAAC;IAED,MAAM,MAAM,CAAC,aAAa,CACxB,iBAAO,CAAC,KAAK,CAAC,KAAK,EACnB,OAAO,CAAC,GAAG,EACX,iBAAO,CAAC,GAAG,CAAC,QAAQ,EACpB,iBAAO,CAAC,KAAK,CAAC,KAAK,EACnB,WAAW,EACX;QACE,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,WAAW,EAAE,iBAAwB;QACrC,MAAM,EAAE,MAAM,CAAC,GAAG;QAClB,QAAQ,EAAE,uBAAa,CAAC,IAAI,CAAC,QAAsC,CAAC;QACpE,MAAM,EAAE,WAAW;QACnB,UAAU;QACV,IAAI;QACJ,IAAI,EAAE,IAAI,CAAC,GAAG;QACd,QAAQ,EAAE,CAAC;QACX,SAAS,EAAE,CAAC;QACZ,OAAO,EAAE,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,IAAI;QACvE,QAAQ,EAAE,IAAI;QACd,SAAS,EAAE,IAAI;QACf,SAAS,EAAE,IAAI;QACf,OAAO,EAAE,EAAE;QACX,aAAa,EAAE,CAAC;QAChB,UAAU,EAAE,CAAC;QACb,YAAY,EAAE,CAAC;QACf,OAAO,EAAE,CAAC;QACV,SAAS,EAAE,EAAE;QACb,SAAS,EAAE,EAAE;KACd,EACD,OAAO,CACR,CAAA;IAED,OAAO,eAAe,UAAU,OAAO,IAAI,CAAC,KAAK,aAAa,MAAM,CAAC,IAAI,gBAAgB,IAAA,sBAAa,EAAC,uBAAa,CAAC,IAAI,CAAC,QAAsC,CAAC,CAAC,EAAE,CAAA;AACtK,CAAC,CAAC,CAAA;AAEW,QAAA,WAAW,GAAG,IAAA,wBAAe,EAAoC,KAAK,EAAE,IAAI,EAAE,EAAE;IAC3F,MAAM,MAAM,GAAG,MAAM,IAAA,0BAAa,EAAC,IAAI,CAAC,SAAS,CAAC,CAAA;IAClD,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,iBAAO,CAAC,KAAK,CAAC,KAAK,EAAE,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,CAAA;IACxF,IAAI,KAAK,IAAI,IAAI;QAAE,MAAM,IAAI,KAAK,CAAC,UAAU,IAAI,CAAC,UAAU,cAAc,CAAC,CAAA;IAE3E,MAAM,MAAM,CAAC,gBAAgB,CAC3B,iBAAO,CAAC,KAAK,CAAC,KAAK,EACnB,KAAK,CAAC,KAAK,EACX,KAAK,CAAC,GAAG,EACT,KAAK,CAAC,UAAU,EAChB,KAAK,CAAC,eAAe,EACrB,KAAK,CAAC,UAAU,CACjB,CAAA;IAED,OAAO,eAAe,IAAI,CAAC,UAAU,OAAO,KAAK,CAAC,KAAK,EAAE,CAAA;AAC3D,CAAC,CAAC,CAAA;AAEW,QAAA,WAAW,GAAG,IAAA,wBAAe,EAAoC,KAAK,EAAE,IAAI,EAAE,EAAE;IAC3F,MAAM,MAAM,GAAG,MAAM,IAAA,0BAAa,EAAC,IAAI,CAAC,SAAS,CAAC,CAAA;IAClD,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,iBAAO,CAAC,KAAK,CAAC,KAAK,EAAE,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,CAAA;IACxF,IAAI,KAAK,IAAI,IAAI;QAAE,MAAM,IAAI,KAAK,CAAC,UAAU,IAAI,CAAC,UAAU,cAAc,CAAC,CAAA;IAE3E,MAAM,OAAO,GAA0B,EAAE,CAAA;IAEzC,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI;QAAE,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAA;IAElD,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,IAAI,IAAI,CAAC,WAAW,KAAK,EAAE,EAAE,CAAC;QACxD,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,GAAG,MAAM,IAAA,6BAAgB,EAAC,IAAI,CAAC,SAAS,CAAC,CAAA;QACzE,MAAM,WAAW,GAAG,IAAA,gCAAqB,EAAC,IAAI,CAAC,WAAW,CAAC,CAAA;QAC3D,MAAM,iBAAiB,GAAG,MAAM,IAAA,0BAAgB,EAC9C,OAAO,EACP,aAAa,EACb,GAAG,KAAK,CAAC,GAAG,gBAAgB,IAAI,CAAC,GAAG,EAAE,EAAE,EACxC,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,CAC5B,CAAA;QACD,OAAO,CAAC,WAAW,GAAG,iBAAwB,CAAA;IAChD,CAAC;IAED,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,EAAE,CAAC;QAC5B,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,iBAAO,CAAC,KAAK,CAAC,WAAW,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,CAAA;QACzF,IAAI,MAAM,IAAI,IAAI;YAAE,MAAM,IAAI,KAAK,CAAC,WAAW,IAAI,CAAC,UAAU,cAAc,CAAC,CAAA;QAC7E,OAAO,CAAC,MAAM,GAAG,MAAM,CAAC,GAAG,CAAA;IAC7B,CAAC;IAED,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,EAAE,CAAC;QAC1B,OAAO,CAAC,QAAQ,GAAG,uBAAa,CAAC,IAAI,CAAC,QAAsC,CAAC,CAAA;IAC/E,CAAC;IAED,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;QAC/B,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,IAAI,CAAA;IAClF,CAAC;IAED,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;QAChC,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,EAAE,CAAC;YAC3B,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAA;QACzB,CAAC;aAAM,CAAC;YACN,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,iBAAO,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,CAAA;YAChE,MAAM,KAAK,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE;gBACjC,MAAM,IAAI,GAAY,CAAS,CAAC,IAAI,IAAI,EAAE,CAAA;gBAC1C,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAS,CAAC,WAAW,EAAE,CAAC,CAAA;YAClE,CAAC,CAAC,CAAA;YACF,IAAI,KAAK,IAAI,IAAI;gBAAE,MAAM,IAAI,KAAK,CAAC,WAAW,IAAI,CAAC,QAAQ,cAAc,CAAC,CAAA;YAC1E,OAAO,CAAC,QAAQ,GAAG,KAAK,CAAC,GAA6B,CAAA;QACxD,CAAC;IACH,CAAC;IAED,IAAI,IAAI,CAAC,cAAc,KAAK,SAAS,EAAE,CAAC;QACtC,IAAI,IAAI,CAAC,cAAc,KAAK,IAAI,EAAE,CAAC;YACjC,OAAO,CAAC,SAAS,GAAG,IAAI,CAAA;QAC1B,CAAC;aAAM,CAAC;YACN,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,iBAAO,CAAC,KAAK,CAAC,SAAS,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,cAAc,EAAE,CAAC,CAAA;YACnH,IAAI,SAAS,IAAI,IAAI;gBAAE,MAAM,IAAI,KAAK,CAAC,cAAc,IAAI,CAAC,cAAc,8BAA8B,CAAC,CAAA;YACvG,OAAO,CAAC,SAAS,GAAG,SAAS,CAAC,GAAG,CAAA;QACnC,CAAC;IACH,CAAC;IAED,IAAI,IAAI,CAAC,cAAc,KAAK,SAAS,EAAE,CAAC;QACtC,IAAI,IAAI,CAAC,cAAc,KAAK,IAAI,EAAE,CAAC;YACjC,OAAO,CAAC,SAAS,GAAG,IAAI,CAAA;QAC1B,CAAC;aAAM,CAAC;YACN,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,iBAAO,CAAC,KAAK,CAAC,SAAS,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,cAAc,EAAE,CAAC,CAAA;YACnH,IAAI,SAAS,IAAI,IAAI;gBAAE,MAAM,IAAI,KAAK,CAAC,cAAc,IAAI,CAAC,cAAc,8BAA8B,CAAC,CAAA;YACvG,OAAO,CAAC,SAAS,GAAG,SAAS,CAAC,GAAG,CAAA;QACnC,CAAC;IACH,CAAC;IAED,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,sBAAsB,IAAI,CAAC,UAAU,GAAG,CAAA;IAEtF,MAAM,MAAM,CAAC,SAAS,CAAC,iBAAO,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,EAAE,OAAO,CAAC,CAAA;IAE5E,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IAC/C,OAAO,eAAe,IAAI,CAAC,UAAU,iBAAiB,OAAO,EAAE,CAAA;AACjE,CAAC,CAAC,CAAA"}
1
+ {"version":3,"file":"issues.js","sourceRoot":"","sources":["../../src/tools/issues.ts"],"names":[],"mappings":"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"}
@@ -3,7 +3,7 @@ export declare const listLabels: (args: {
3
3
  projectIdentifier?: string | undefined;
4
4
  }) => Promise<{
5
5
  content: Array<{
6
- type: "text";
6
+ type: 'text';
7
7
  text: string;
8
8
  }>;
9
9
  }>;
@@ -13,7 +13,7 @@ export declare const createLabel: (args: {
13
13
  color?: string | undefined;
14
14
  }) => Promise<{
15
15
  content: Array<{
16
- type: "text";
16
+ type: 'text';
17
17
  text: string;
18
18
  }>;
19
19
  }>;
@@ -23,7 +23,7 @@ export declare const addLabel: (args: {
23
23
  labelName: string;
24
24
  }) => Promise<{
25
25
  content: Array<{
26
- type: "text";
26
+ type: 'text';
27
27
  text: string;
28
28
  }>;
29
29
  }>;
@@ -33,7 +33,55 @@ export declare const removeLabel: (args: {
33
33
  labelName: string;
34
34
  }) => Promise<{
35
35
  content: Array<{
36
- type: "text";
36
+ type: 'text';
37
+ text: string;
38
+ }>;
39
+ }>;
40
+ export declare const updateLabel: (args: {
41
+ workspace: string;
42
+ labelName: string;
43
+ newName?: string | undefined;
44
+ color?: string | undefined;
45
+ description?: string | undefined;
46
+ }) => Promise<{
47
+ content: Array<{
48
+ type: 'text';
49
+ text: string;
50
+ }>;
51
+ }>;
52
+ export declare const deleteLabel: (args: {
53
+ workspace: string;
54
+ labelName: string;
55
+ }) => Promise<{
56
+ content: Array<{
57
+ type: 'text';
58
+ text: string;
59
+ }>;
60
+ }>;
61
+ export declare const listLabelCategories: (args: {
62
+ workspace?: string | undefined;
63
+ }) => Promise<{
64
+ content: Array<{
65
+ type: 'text';
66
+ text: string;
67
+ }>;
68
+ }>;
69
+ export declare const createLabelCategory: (args: {
70
+ workspace: string;
71
+ name: string;
72
+ }) => Promise<{
73
+ content: Array<{
74
+ type: 'text';
75
+ text: string;
76
+ }>;
77
+ }>;
78
+ export declare const setLabelCategory: (args: {
79
+ workspace: string;
80
+ labelName: string;
81
+ category: string;
82
+ }) => Promise<{
83
+ content: Array<{
84
+ type: 'text';
37
85
  text: string;
38
86
  }>;
39
87
  }>;