@paca-ai/paca-mcp 0.1.0-rc.6

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 (97) hide show
  1. package/api/client.d.ts +53 -0
  2. package/api/client.d.ts.map +1 -0
  3. package/api/client.js +267 -0
  4. package/api/client.js.map +1 -0
  5. package/api/doc-client.d.ts +26 -0
  6. package/api/doc-client.d.ts.map +1 -0
  7. package/api/doc-client.js +109 -0
  8. package/api/doc-client.js.map +1 -0
  9. package/api/extended-client.d.ts +44 -0
  10. package/api/extended-client.d.ts.map +1 -0
  11. package/api/extended-client.js +167 -0
  12. package/api/extended-client.js.map +1 -0
  13. package/api/github-client.d.ts +21 -0
  14. package/api/github-client.d.ts.map +1 -0
  15. package/api/github-client.js +87 -0
  16. package/api/github-client.js.map +1 -0
  17. package/api/index.d.ts +7 -0
  18. package/api/index.d.ts.map +1 -0
  19. package/api/index.js +7 -0
  20. package/api/index.js.map +1 -0
  21. package/api/task-extended-client.d.ts +28 -0
  22. package/api/task-extended-client.d.ts.map +1 -0
  23. package/api/task-extended-client.js +123 -0
  24. package/api/task-extended-client.js.map +1 -0
  25. package/api/views-client.d.ts +36 -0
  26. package/api/views-client.d.ts.map +1 -0
  27. package/api/views-client.js +157 -0
  28. package/api/views-client.js.map +1 -0
  29. package/index.d.ts +3 -0
  30. package/index.d.ts.map +1 -0
  31. package/index.js +41 -0
  32. package/index.js.map +1 -0
  33. package/package.json +40 -0
  34. package/server.d.ts +9 -0
  35. package/server.d.ts.map +1 -0
  36. package/server.js +46 -0
  37. package/server.js.map +1 -0
  38. package/tools/attachment-tools.d.ts +15 -0
  39. package/tools/attachment-tools.d.ts.map +1 -0
  40. package/tools/attachment-tools.js +402 -0
  41. package/tools/attachment-tools.js.map +1 -0
  42. package/tools/doc-github-tools.d.ts +15 -0
  43. package/tools/doc-github-tools.d.ts.map +1 -0
  44. package/tools/doc-github-tools.js +520 -0
  45. package/tools/doc-github-tools.js.map +1 -0
  46. package/tools/document-tools.d.ts +16 -0
  47. package/tools/document-tools.d.ts.map +1 -0
  48. package/tools/document-tools.js +224 -0
  49. package/tools/document-tools.js.map +1 -0
  50. package/tools/index.d.ts +19 -0
  51. package/tools/index.d.ts.map +1 -0
  52. package/tools/index.js +171 -0
  53. package/tools/index.js.map +1 -0
  54. package/tools/member-tools.d.ts +15 -0
  55. package/tools/member-tools.d.ts.map +1 -0
  56. package/tools/member-tools.js +391 -0
  57. package/tools/member-tools.js.map +1 -0
  58. package/tools/project-tools.d.ts +16 -0
  59. package/tools/project-tools.d.ts.map +1 -0
  60. package/tools/project-tools.js +178 -0
  61. package/tools/project-tools.js.map +1 -0
  62. package/tools/sprint-tools.d.ts +16 -0
  63. package/tools/sprint-tools.d.ts.map +1 -0
  64. package/tools/sprint-tools.js +258 -0
  65. package/tools/sprint-tools.js.map +1 -0
  66. package/tools/task-activity-tools.d.ts +15 -0
  67. package/tools/task-activity-tools.d.ts.map +1 -0
  68. package/tools/task-activity-tools.js +425 -0
  69. package/tools/task-activity-tools.js.map +1 -0
  70. package/tools/task-tools.d.ts +16 -0
  71. package/tools/task-tools.d.ts.map +1 -0
  72. package/tools/task-tools.js +344 -0
  73. package/tools/task-tools.js.map +1 -0
  74. package/tools/task-type-tools.d.ts +12 -0
  75. package/tools/task-type-tools.d.ts.map +1 -0
  76. package/tools/task-type-tools.js +459 -0
  77. package/tools/task-type-tools.js.map +1 -0
  78. package/tools/view-tools.d.ts +15 -0
  79. package/tools/view-tools.d.ts.map +1 -0
  80. package/tools/view-tools.js +660 -0
  81. package/tools/view-tools.js.map +1 -0
  82. package/types/index.d.ts +564 -0
  83. package/types/index.d.ts.map +1 -0
  84. package/types/index.js +2 -0
  85. package/types/index.js.map +1 -0
  86. package/utils/converters.d.ts +13 -0
  87. package/utils/converters.d.ts.map +1 -0
  88. package/utils/converters.js +50 -0
  89. package/utils/converters.js.map +1 -0
  90. package/utils/formatters.d.ts +34 -0
  91. package/utils/formatters.d.ts.map +1 -0
  92. package/utils/formatters.js +87 -0
  93. package/utils/formatters.js.map +1 -0
  94. package/utils/index.d.ts +3 -0
  95. package/utils/index.d.ts.map +1 -0
  96. package/utils/index.js +3 -0
  97. package/utils/index.js.map +1 -0
@@ -0,0 +1,391 @@
1
+ import { z } from "zod";
2
+ import { formatList } from "../utils/index.js";
3
+ const ListProjectMembersSchema = z.object({
4
+ projectId: z.string(),
5
+ });
6
+ const AddProjectMemberSchema = z.object({
7
+ projectId: z.string(),
8
+ userId: z.string(),
9
+ roleId: z.string(),
10
+ });
11
+ const GetMyProjectPermissionsSchema = z.object({
12
+ projectId: z.string(),
13
+ });
14
+ const UpdateProjectMemberRoleSchema = z.object({
15
+ projectId: z.string(),
16
+ userId: z.string(),
17
+ roleId: z.string(),
18
+ });
19
+ const RemoveProjectMemberSchema = z.object({
20
+ projectId: z.string(),
21
+ userId: z.string(),
22
+ });
23
+ const ListProjectRolesSchema = z.object({
24
+ projectId: z.string(),
25
+ });
26
+ const CreateProjectRoleSchema = z.object({
27
+ projectId: z.string(),
28
+ name: z.string(),
29
+ description: z.string().optional(),
30
+ permissions: z.array(z.string()),
31
+ });
32
+ const UpdateProjectRoleSchema = z.object({
33
+ projectId: z.string(),
34
+ roleId: z.string(),
35
+ name: z.string().optional(),
36
+ description: z.string().optional(),
37
+ permissions: z.array(z.string()).optional(),
38
+ });
39
+ const DeleteProjectRoleSchema = z.object({
40
+ projectId: z.string(),
41
+ roleId: z.string(),
42
+ });
43
+ /**
44
+ * Returns all project member-related MCP tools.
45
+ */
46
+ export function getProjectMemberTools() {
47
+ return [
48
+ {
49
+ name: "list_project_members",
50
+ description: "List all members of a project",
51
+ inputSchema: {
52
+ type: "object",
53
+ properties: {
54
+ projectId: {
55
+ type: "string",
56
+ description: "The ID of the project",
57
+ },
58
+ },
59
+ required: ["projectId"],
60
+ },
61
+ },
62
+ {
63
+ name: "add_project_member",
64
+ description: "Add a member to a project",
65
+ inputSchema: {
66
+ type: "object",
67
+ properties: {
68
+ projectId: {
69
+ type: "string",
70
+ description: "The ID of the project",
71
+ },
72
+ userId: {
73
+ type: "string",
74
+ description: "The ID of the user to add",
75
+ },
76
+ roleId: {
77
+ type: "string",
78
+ description: "The ID of the role to assign",
79
+ },
80
+ },
81
+ required: ["projectId", "userId", "roleId"],
82
+ },
83
+ },
84
+ {
85
+ name: "get_my_project_permissions",
86
+ description: "Get the current user's permissions in a project",
87
+ inputSchema: {
88
+ type: "object",
89
+ properties: {
90
+ projectId: {
91
+ type: "string",
92
+ description: "The ID of the project",
93
+ },
94
+ },
95
+ required: ["projectId"],
96
+ },
97
+ },
98
+ {
99
+ name: "update_project_member_role",
100
+ description: "Update a project member's role",
101
+ inputSchema: {
102
+ type: "object",
103
+ properties: {
104
+ projectId: {
105
+ type: "string",
106
+ description: "The ID of the project",
107
+ },
108
+ userId: {
109
+ type: "string",
110
+ description: "The ID of the user",
111
+ },
112
+ roleId: {
113
+ type: "string",
114
+ description: "The ID of the new role",
115
+ },
116
+ },
117
+ required: ["projectId", "userId", "roleId"],
118
+ },
119
+ },
120
+ {
121
+ name: "remove_project_member",
122
+ description: "Remove a member from a project",
123
+ inputSchema: {
124
+ type: "object",
125
+ properties: {
126
+ projectId: {
127
+ type: "string",
128
+ description: "The ID of the project",
129
+ },
130
+ userId: {
131
+ type: "string",
132
+ description: "The ID of the user to remove",
133
+ },
134
+ },
135
+ required: ["projectId", "userId"],
136
+ },
137
+ },
138
+ ];
139
+ }
140
+ /**
141
+ * Returns all project role-related MCP tools.
142
+ */
143
+ export function getProjectRoleTools() {
144
+ return [
145
+ {
146
+ name: "list_project_roles",
147
+ description: "List all roles in a project",
148
+ inputSchema: {
149
+ type: "object",
150
+ properties: {
151
+ projectId: {
152
+ type: "string",
153
+ description: "The ID of the project",
154
+ },
155
+ },
156
+ required: ["projectId"],
157
+ },
158
+ },
159
+ {
160
+ name: "create_project_role",
161
+ description: "Create a new project role",
162
+ inputSchema: {
163
+ type: "object",
164
+ properties: {
165
+ projectId: {
166
+ type: "string",
167
+ description: "The ID of the project",
168
+ },
169
+ name: {
170
+ type: "string",
171
+ description: "The name of the role",
172
+ },
173
+ description: {
174
+ type: "string",
175
+ description: "The description of the role",
176
+ },
177
+ permissions: {
178
+ type: "array",
179
+ items: { type: "string" },
180
+ description: "Array of permission strings",
181
+ },
182
+ },
183
+ required: ["projectId", "name", "permissions"],
184
+ },
185
+ },
186
+ {
187
+ name: "update_project_role",
188
+ description: "Update an existing project role",
189
+ inputSchema: {
190
+ type: "object",
191
+ properties: {
192
+ projectId: {
193
+ type: "string",
194
+ description: "The ID of the project",
195
+ },
196
+ roleId: {
197
+ type: "string",
198
+ description: "The ID of the role",
199
+ },
200
+ name: {
201
+ type: "string",
202
+ description: "The new name of the role",
203
+ },
204
+ description: {
205
+ type: "string",
206
+ description: "The new description of the role",
207
+ },
208
+ permissions: {
209
+ type: "array",
210
+ items: { type: "string" },
211
+ description: "Array of permission strings",
212
+ },
213
+ },
214
+ required: ["projectId", "roleId"],
215
+ },
216
+ },
217
+ {
218
+ name: "delete_project_role",
219
+ description: "Delete a project role",
220
+ inputSchema: {
221
+ type: "object",
222
+ properties: {
223
+ projectId: {
224
+ type: "string",
225
+ description: "The ID of the project",
226
+ },
227
+ roleId: {
228
+ type: "string",
229
+ description: "The ID of the role",
230
+ },
231
+ },
232
+ required: ["projectId", "roleId"],
233
+ },
234
+ },
235
+ ];
236
+ }
237
+ function formatProjectMember(member) {
238
+ return `Member: ${member.username} (${member.full_name})
239
+ User ID: ${member.user_id}
240
+ Role: ${member.role_name}
241
+ Role ID: ${member.project_role_id}
242
+ Joined: ${member.joined_at || "N/A"}`;
243
+ }
244
+ function formatProjectRole(role) {
245
+ return `Role: ${role.role_name}
246
+ ID: ${role.id}
247
+ Description: ${role.description || "None"}
248
+ System: ${role.is_system}
249
+ Permissions: ${JSON.stringify(role.permissions, null, 2)}
250
+ Created: ${role.created_at}`;
251
+ }
252
+ /**
253
+ * Handles project member and role tool calls.
254
+ */
255
+ export async function handleProjectMemberTool(toolName, args, client) {
256
+ switch (toolName) {
257
+ case "list_project_members": {
258
+ const { projectId } = ListProjectMembersSchema.parse(args);
259
+ const members = await client.listProjectMembers(projectId);
260
+ const formatted = formatList(members, formatProjectMember);
261
+ return {
262
+ content: [
263
+ {
264
+ type: "text",
265
+ text: `Project Members:\n\n${formatted}`,
266
+ },
267
+ ],
268
+ };
269
+ }
270
+ case "add_project_member": {
271
+ const { projectId, userId, roleId } = AddProjectMemberSchema.parse(args);
272
+ const member = await client.addProjectMember(projectId, {
273
+ user_id: userId,
274
+ project_role_id: roleId,
275
+ });
276
+ return {
277
+ content: [
278
+ {
279
+ type: "text",
280
+ text: `Member added successfully:\n\n${formatProjectMember(member)}`,
281
+ },
282
+ ],
283
+ };
284
+ }
285
+ case "get_my_project_permissions": {
286
+ const { projectId } = GetMyProjectPermissionsSchema.parse(args);
287
+ const permissions = await client.getMyProjectPermissions(projectId);
288
+ return {
289
+ content: [
290
+ {
291
+ type: "text",
292
+ text: `My Permissions:\n\n${JSON.stringify(permissions, null, 2)}`,
293
+ },
294
+ ],
295
+ };
296
+ }
297
+ case "update_project_member_role": {
298
+ const { projectId, userId, roleId } = UpdateProjectMemberRoleSchema.parse(args);
299
+ const member = await client.updateProjectMemberRole(projectId, userId, {
300
+ project_role_id: roleId,
301
+ });
302
+ return {
303
+ content: [
304
+ {
305
+ type: "text",
306
+ text: `Member role updated successfully:\n\n${formatProjectMember(member)}`,
307
+ },
308
+ ],
309
+ };
310
+ }
311
+ case "remove_project_member": {
312
+ const { projectId, userId } = RemoveProjectMemberSchema.parse(args);
313
+ await client.removeProjectMember(projectId, userId);
314
+ return {
315
+ content: [
316
+ {
317
+ type: "text",
318
+ text: `Member ${userId} removed successfully`,
319
+ },
320
+ ],
321
+ };
322
+ }
323
+ case "list_project_roles": {
324
+ const { projectId } = ListProjectRolesSchema.parse(args);
325
+ const roles = await client.listProjectRoles(projectId);
326
+ const formatted = formatList(roles, formatProjectRole);
327
+ return {
328
+ content: [
329
+ {
330
+ type: "text",
331
+ text: `Project Roles:\n\n${formatted}`,
332
+ },
333
+ ],
334
+ };
335
+ }
336
+ case "create_project_role": {
337
+ const { projectId, name, description, permissions } = CreateProjectRoleSchema.parse(args);
338
+ const permissionsRecord = {};
339
+ for (const perm of permissions) {
340
+ permissionsRecord[perm] = true;
341
+ }
342
+ const role = await client.createProjectRole(projectId, {
343
+ role_name: name,
344
+ description,
345
+ permissions: permissionsRecord,
346
+ });
347
+ return {
348
+ content: [
349
+ {
350
+ type: "text",
351
+ text: `Role created successfully:\n\n${formatProjectRole(role)}`,
352
+ },
353
+ ],
354
+ };
355
+ }
356
+ case "update_project_role": {
357
+ const { projectId, roleId, name, description, permissions } = UpdateProjectRoleSchema.parse(args);
358
+ const permissionsRecord = permissions
359
+ ? Object.fromEntries(permissions.map((perm) => [perm, true]))
360
+ : undefined;
361
+ const role = await client.updateProjectRole(projectId, roleId, {
362
+ role_name: name,
363
+ description,
364
+ permissions: permissionsRecord,
365
+ });
366
+ return {
367
+ content: [
368
+ {
369
+ type: "text",
370
+ text: `Role updated successfully:\n\n${formatProjectRole(role)}`,
371
+ },
372
+ ],
373
+ };
374
+ }
375
+ case "delete_project_role": {
376
+ const { projectId, roleId } = DeleteProjectRoleSchema.parse(args);
377
+ await client.deleteProjectRole(projectId, roleId);
378
+ return {
379
+ content: [
380
+ {
381
+ type: "text",
382
+ text: `Role ${roleId} deleted successfully`,
383
+ },
384
+ ],
385
+ };
386
+ }
387
+ default:
388
+ throw new Error(`Unknown project member/role tool: ${toolName}`);
389
+ }
390
+ }
391
+ //# sourceMappingURL=member-tools.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"member-tools.js","sourceRoot":"","sources":["../../src/tools/member-tools.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ import type { Tool } from "@modelcontextprotocol/sdk/types.js";
2
+ import type { PacaAPIClient } from "../api/index.js";
3
+ /**
4
+ * Returns all project-related MCP tools.
5
+ * @returns Array of project tools
6
+ */
7
+ export declare function getProjectTools(): Tool[];
8
+ /**
9
+ * Handles project-related tool calls.
10
+ * @param toolName - Name of the tool being called
11
+ * @param args - Tool arguments
12
+ * @param client - Paca API client instance
13
+ * @returns Tool response
14
+ */
15
+ export declare function handleProjectTool(toolName: string, args: any, client: PacaAPIClient): Promise<any>;
16
+ //# sourceMappingURL=project-tools.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"project-tools.d.ts","sourceRoot":"","sources":["../../src/tools/project-tools.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAC;AAE/D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAsBrD;;;GAGG;AACH,wBAAgB,eAAe,IAAI,IAAI,EAAE,CA+ExC;AAED;;;;;;GAMG;AACH,wBAAsB,iBAAiB,CACtC,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,GAAG,EACT,MAAM,EAAE,aAAa,GACnB,OAAO,CAAC,GAAG,CAAC,CAyEd"}
@@ -0,0 +1,178 @@
1
+ import { z } from "zod";
2
+ import { formatList, formatProject } from "../utils/index.js";
3
+ const GetProjectSchema = z.object({
4
+ projectId: z.string(),
5
+ });
6
+ const CreateProjectSchema = z.object({
7
+ name: z.string(),
8
+ description: z.string().optional(),
9
+ });
10
+ const UpdateProjectSchema = z.object({
11
+ projectId: z.string(),
12
+ name: z.string().optional(),
13
+ description: z.string().optional(),
14
+ });
15
+ const DeleteProjectSchema = z.object({
16
+ projectId: z.string(),
17
+ });
18
+ /**
19
+ * Returns all project-related MCP tools.
20
+ * @returns Array of project tools
21
+ */
22
+ export function getProjectTools() {
23
+ return [
24
+ {
25
+ name: "list_projects",
26
+ description: "List all projects accessible to the authenticated user",
27
+ inputSchema: {
28
+ type: "object",
29
+ properties: {},
30
+ },
31
+ },
32
+ {
33
+ name: "get_project",
34
+ description: "Get details of a specific project",
35
+ inputSchema: {
36
+ type: "object",
37
+ properties: {
38
+ projectId: {
39
+ type: "string",
40
+ description: "The ID of the project",
41
+ },
42
+ },
43
+ required: ["projectId"],
44
+ },
45
+ },
46
+ {
47
+ name: "create_project",
48
+ description: "Create a new project",
49
+ inputSchema: {
50
+ type: "object",
51
+ properties: {
52
+ name: {
53
+ type: "string",
54
+ description: "The name of the project",
55
+ },
56
+ description: {
57
+ type: "string",
58
+ description: "The description of the project",
59
+ },
60
+ },
61
+ required: ["name"],
62
+ },
63
+ },
64
+ {
65
+ name: "update_project",
66
+ description: "Update an existing project",
67
+ inputSchema: {
68
+ type: "object",
69
+ properties: {
70
+ projectId: {
71
+ type: "string",
72
+ description: "The ID of the project",
73
+ },
74
+ name: {
75
+ type: "string",
76
+ description: "The new name of the project",
77
+ },
78
+ description: {
79
+ type: "string",
80
+ description: "The new description of the project",
81
+ },
82
+ },
83
+ required: ["projectId"],
84
+ },
85
+ },
86
+ {
87
+ name: "delete_project",
88
+ description: "Delete a project",
89
+ inputSchema: {
90
+ type: "object",
91
+ properties: {
92
+ projectId: {
93
+ type: "string",
94
+ description: "The ID of the project",
95
+ },
96
+ },
97
+ required: ["projectId"],
98
+ },
99
+ },
100
+ ];
101
+ }
102
+ /**
103
+ * Handles project-related tool calls.
104
+ * @param toolName - Name of the tool being called
105
+ * @param args - Tool arguments
106
+ * @param client - Paca API client instance
107
+ * @returns Tool response
108
+ */
109
+ export async function handleProjectTool(toolName, args, client) {
110
+ switch (toolName) {
111
+ case "list_projects": {
112
+ const projects = await client.listProjects();
113
+ const formatted = formatList(projects, formatProject);
114
+ return {
115
+ content: [
116
+ {
117
+ type: "text",
118
+ text: `Projects:\n\n${formatted}`,
119
+ },
120
+ ],
121
+ };
122
+ }
123
+ case "get_project": {
124
+ const { projectId } = GetProjectSchema.parse(args);
125
+ const project = await client.getProject(projectId);
126
+ return {
127
+ content: [
128
+ {
129
+ type: "text",
130
+ text: formatProject(project),
131
+ },
132
+ ],
133
+ };
134
+ }
135
+ case "create_project": {
136
+ const { name, description } = CreateProjectSchema.parse(args);
137
+ const project = await client.createProject({ name, description });
138
+ return {
139
+ content: [
140
+ {
141
+ type: "text",
142
+ text: `Project created successfully:\n\n${formatProject(project)}`,
143
+ },
144
+ ],
145
+ };
146
+ }
147
+ case "update_project": {
148
+ const { projectId, name, description } = UpdateProjectSchema.parse(args);
149
+ const project = await client.updateProject(projectId, {
150
+ name,
151
+ description,
152
+ });
153
+ return {
154
+ content: [
155
+ {
156
+ type: "text",
157
+ text: `Project updated successfully:\n\n${formatProject(project)}`,
158
+ },
159
+ ],
160
+ };
161
+ }
162
+ case "delete_project": {
163
+ const { projectId } = DeleteProjectSchema.parse(args);
164
+ await client.deleteProject(projectId);
165
+ return {
166
+ content: [
167
+ {
168
+ type: "text",
169
+ text: `Project ${projectId} deleted successfully`,
170
+ },
171
+ ],
172
+ };
173
+ }
174
+ default:
175
+ throw new Error(`Unknown project tool: ${toolName}`);
176
+ }
177
+ }
178
+ //# sourceMappingURL=project-tools.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"project-tools.js","sourceRoot":"","sources":["../../src/tools/project-tools.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ import type { Tool } from "@modelcontextprotocol/sdk/types.js";
2
+ import type { PacaAPIClient } from "../api/index.js";
3
+ /**
4
+ * Returns all sprint-related MCP tools.
5
+ * @returns Array of sprint tools
6
+ */
7
+ export declare function getSprintTools(): Tool[];
8
+ /**
9
+ * Handles sprint-related tool calls.
10
+ * @param toolName - Name of the tool being called
11
+ * @param args - Tool arguments
12
+ * @param client - Paca API client instance
13
+ * @returns Tool response
14
+ */
15
+ export declare function handleSprintTool(toolName: string, args: any, client: PacaAPIClient): Promise<any>;
16
+ //# sourceMappingURL=sprint-tools.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sprint-tools.d.ts","sourceRoot":"","sources":["../../src/tools/sprint-tools.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAC;AAE/D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAqCrD;;;GAGG;AACH,wBAAgB,cAAc,IAAI,IAAI,EAAE,CA+HvC;AAED;;;;;;GAMG;AACH,wBAAsB,gBAAgB,CACrC,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,GAAG,EACT,MAAM,EAAE,aAAa,GACnB,OAAO,CAAC,GAAG,CAAC,CA+Fd"}