@agllama/mcp 0.5.25 → 0.6.1

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.
@@ -1 +1 @@
1
- {"version":3,"file":"attachments.d.ts","sourceRoot":"","sources":["../../src/tools/attachments.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAoBxB,eAAO,MAAM,uBAAuB,2BAA2B,CAAC;AAEhE,eAAO,MAAM,8BAA8B,uHAC+B,CAAC;AAE3E,eAAO,MAAM,yBAAyB;;;;;;;;;;;;EAUpC,CAAC;AAEH,MAAM,MAAM,wBAAwB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAEjF,wBAAsB,sBAAsB,CAC1C,KAAK,EAAE,wBAAwB,GAC9B,OAAO,CAAC,MAAM,CAAC,CAwFjB;AAMD,eAAO,MAAM,wBAAwB,4BAA4B,CAAC;AAElE,eAAO,MAAM,+BAA+B,oYAS1C,CAAC;AAEH,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;EAarC,CAAC;AAEH,MAAM,MAAM,yBAAyB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAEnF,wBAAsB,uBAAuB,CAC3C,KAAK,EAAE,yBAAyB,GAC/B,OAAO,CAAC,MAAM,CAAC,CAoFjB;AAMD,eAAO,MAAM,wBAAwB,4BAA4B,CAAC;AAElE,eAAO,MAAM,+BAA+B,2HACkC,CAAC;AAE/E,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;EAWrC,CAAC;AAEH,MAAM,MAAM,yBAAyB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAEnF,wBAAsB,uBAAuB,CAC3C,KAAK,EAAE,yBAAyB,GAC/B,OAAO,CAAC,MAAM,CAAC,CAmEjB"}
1
+ {"version":3,"file":"attachments.d.ts","sourceRoot":"","sources":["../../src/tools/attachments.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAuExB,eAAO,MAAM,kBAAkB,sBAAsB,CAAC;AAEtD,eAAO,MAAM,yBAAyB,+TAA+T,CAAC;AAEtW,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;EAM/B,CAAC;AAEH,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAEvE,wBAAsB,iBAAiB,CAAC,KAAK,EAAE,mBAAmB,GAAG,OAAO,CAAC,MAAM,CAAC,CAmJnF;AAMD,eAAO,MAAM,uBAAuB,2BAA2B,CAAC;AAEhE,eAAO,MAAM,8BAA8B,sCAAsC,CAAC;AAElF,eAAO,MAAM,yBAAyB;;;;;;;;;;;;EAIpC,CAAC;AAEH,MAAM,MAAM,wBAAwB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAEjF,wBAAsB,sBAAsB,CAAC,KAAK,EAAE,wBAAwB,GAAG,OAAO,CAAC,MAAM,CAAC,CAiC7F;AAMD,eAAO,MAAM,wBAAwB,4BAA4B,CAAC;AAElE,eAAO,MAAM,+BAA+B,wCAAwC,CAAC;AAErF,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;EAKrC,CAAC;AAEH,MAAM,MAAM,yBAAyB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAEnF,wBAAsB,uBAAuB,CAAC,KAAK,EAAE,yBAAyB,GAAG,OAAO,CAAC,MAAM,CAAC,CAwB/F;AAMD,eAAO,MAAM,wBAAwB,4BAA4B,CAAC;AAElE,eAAO,MAAM,+BAA+B,8LAA8L,CAAC;AAE3O,eAAO,MAAM,0BAA0B;;;;;;;;;;;;EAIrC,CAAC;AAEH,MAAM,MAAM,yBAAyB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAEnF,wBAAsB,uBAAuB,CAAC,KAAK,EAAE,yBAAyB,GAAG,OAAO,CAAC,MAAM,CAAC,CAqC/F"}
@@ -1,256 +1,306 @@
1
1
  import { z } from 'zod';
2
+ import * as fs from 'node:fs/promises';
3
+ import * as path from 'node:path';
2
4
  import { getApiClient, LlamaApiError } from '../api-client.js';
3
5
  import { getSessionDefaults } from './session.js';
4
- function formatFileSize(bytes) {
5
- if (bytes < 1024)
6
- return `${bytes} B`;
7
- if (bytes < 1024 * 1024)
8
- return `${(bytes / 1024).toFixed(1)} KB`;
9
- return `${(bytes / (1024 * 1024)).toFixed(1)} MB`;
6
+ async function resolveOrgProject(inputOrgSlug, inputProjectKey) {
7
+ const defaults = await getSessionDefaults();
8
+ const orgSlug = inputOrgSlug ?? defaults?.orgSlug;
9
+ const projectKey = inputProjectKey ?? defaults?.projectKey;
10
+ if (!orgSlug) {
11
+ return { error: 'orgSlug is required. Either provide it or set session context with llama_set_context first.' };
12
+ }
13
+ if (!projectKey) {
14
+ return { error: 'projectKey is required. Either provide it or set session context with llama_set_context first.' };
15
+ }
16
+ return { orgSlug, projectKey };
10
17
  }
11
- const BASE64_REGEX = /^[A-Za-z0-9+/]*={0,2}$/;
12
- function isValidBase64(str) {
13
- return str.length > 0 && str.length % 4 === 0 && BASE64_REGEX.test(str);
18
+ function formatError(error, operation) {
19
+ if (error instanceof LlamaApiError) {
20
+ return JSON.stringify({
21
+ success: false,
22
+ error: `Failed to ${operation}: ${error.message}`,
23
+ statusCode: error.statusCode,
24
+ });
25
+ }
26
+ return JSON.stringify({
27
+ success: false,
28
+ error: error instanceof Error ? error.message : 'Unknown error',
29
+ });
14
30
  }
31
+ const MIME_MAP = {
32
+ '.jpg': 'image/jpeg',
33
+ '.jpeg': 'image/jpeg',
34
+ '.png': 'image/png',
35
+ '.gif': 'image/gif',
36
+ '.webp': 'image/webp',
37
+ '.pdf': 'application/pdf',
38
+ '.doc': 'application/msword',
39
+ '.docx': 'application/vnd.openxmlformats-officedocument.wordprocessingml.document',
40
+ '.xls': 'application/vnd.ms-excel',
41
+ '.xlsx': 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet',
42
+ '.txt': 'text/plain',
43
+ '.md': 'text/markdown',
44
+ '.csv': 'text/csv',
45
+ '.json': 'application/json',
46
+ '.zip': 'application/zip',
47
+ };
48
+ const MAX_FILE_SIZE = 10 * 1024 * 1024; // 10MB
15
49
  // ============================================
16
- // List Attachments
50
+ // Attach File
17
51
  // ============================================
18
- export const listAttachmentsToolName = 'llama_list_attachments';
19
- export const listAttachmentsToolDescription = `List all file attachments for an issue.
20
- Returns attachment details including file name, size, type, and uploader.`;
21
- export const listAttachmentsToolSchema = z.object({
22
- orgSlug: z
23
- .string()
24
- .optional()
25
- .describe('Organization slug (uses session default if not provided)'),
26
- projectKey: z
27
- .string()
28
- .optional()
29
- .describe('Project key (uses session default if not provided)'),
52
+ export const attachFileToolName = 'llama_attach_file';
53
+ export const attachFileToolDescription = `Upload files from local disk to an issue as attachments. Accepts absolute file paths. Max 10MB per file. Supported types: images (png, jpg, gif, webp), documents (pdf, doc, docx, xls, xlsx, txt, md, csv, json), archives (zip). Use embedInDescription to automatically append image markdown to the issue description.`;
54
+ export const attachFileToolSchema = z.object({
55
+ orgSlug: z.string().optional().describe('Organization slug (uses session default if not provided)'),
56
+ projectKey: z.string().optional().describe('Project key (uses session default if not provided)'),
30
57
  issueKey: z.string().describe('Issue key (e.g., "PROJ-123")'),
58
+ filePaths: z.array(z.string()).min(1).describe('Absolute file paths to upload'),
59
+ embedInDescription: z.boolean().optional().describe('If true, appends markdown image/link references to the issue description for uploaded files'),
31
60
  });
32
- export async function executeListAttachments(input) {
61
+ export async function executeAttachFile(input) {
33
62
  try {
34
- const session = await getSessionDefaults();
35
- const orgSlug = input.orgSlug ?? session?.orgSlug;
36
- const projectKey = input.projectKey ?? session?.projectKey;
37
- if (!orgSlug) {
38
- return JSON.stringify({
39
- success: false,
40
- error: 'orgSlug is required. Either provide it or set session context with llama_set_context first.',
63
+ const context = await resolveOrgProject(input.orgSlug, input.projectKey);
64
+ if ('error' in context) {
65
+ return JSON.stringify({ success: false, error: context.error });
66
+ }
67
+ const client = getApiClient();
68
+ try {
69
+ await client.recordToolCall('llama_attach_file', { orgSlug: context.orgSlug, projectKey: context.projectKey });
70
+ }
71
+ catch {
72
+ // Ignore recording errors
73
+ }
74
+ // Validate all files before uploading any
75
+ const validatedFiles = [];
76
+ for (const filePath of input.filePaths) {
77
+ // Security: require absolute paths, reject traversal
78
+ if (!path.isAbsolute(filePath)) {
79
+ return JSON.stringify({ success: false, error: `Path must be absolute: ${filePath}` });
80
+ }
81
+ if (filePath.includes('..')) {
82
+ return JSON.stringify({ success: false, error: `Path traversal not allowed: ${filePath}` });
83
+ }
84
+ // Check file exists and get size
85
+ let stat;
86
+ try {
87
+ stat = await fs.stat(filePath);
88
+ }
89
+ catch {
90
+ return JSON.stringify({ success: false, error: `File not found: ${filePath}` });
91
+ }
92
+ if (!stat.isFile()) {
93
+ return JSON.stringify({ success: false, error: `Not a file: ${filePath}` });
94
+ }
95
+ if (stat.size > MAX_FILE_SIZE) {
96
+ return JSON.stringify({
97
+ success: false,
98
+ error: `File too large (${(stat.size / 1024 / 1024).toFixed(1)}MB > 10MB limit): ${filePath}`,
99
+ });
100
+ }
101
+ // Check MIME type
102
+ const ext = path.extname(filePath).toLowerCase();
103
+ const mimeType = MIME_MAP[ext];
104
+ if (!mimeType) {
105
+ return JSON.stringify({
106
+ success: false,
107
+ error: `Unsupported file type "${ext}". Supported: ${Object.keys(MIME_MAP).join(', ')}`,
108
+ });
109
+ }
110
+ validatedFiles.push({
111
+ filePath,
112
+ fileName: path.basename(filePath),
113
+ mimeType,
114
+ size: stat.size,
41
115
  });
42
116
  }
43
- if (!projectKey) {
117
+ // Upload each file
118
+ const results = [];
119
+ const errors = [];
120
+ for (const file of validatedFiles) {
121
+ try {
122
+ const buffer = await fs.readFile(file.filePath);
123
+ const attachment = await client.uploadAttachmentBuffer(context.orgSlug, context.projectKey, input.issueKey, file.fileName, buffer, file.mimeType);
124
+ const downloadUrl = client.getAttachmentDownloadUrl(context.orgSlug, context.projectKey, input.issueKey, attachment.id);
125
+ results.push({
126
+ fileName: file.fileName,
127
+ size: file.size,
128
+ attachmentId: attachment.id,
129
+ downloadUrl,
130
+ mimeType: file.mimeType,
131
+ });
132
+ }
133
+ catch (err) {
134
+ errors.push({
135
+ fileName: file.fileName,
136
+ error: err instanceof Error ? err.message : 'Upload failed',
137
+ });
138
+ }
139
+ }
140
+ if (errors.length > 0 && results.length === 0) {
44
141
  return JSON.stringify({
45
142
  success: false,
46
- error: 'projectKey is required. Either provide it or set session context with llama_set_context first.',
143
+ error: 'All uploads failed',
144
+ errors,
47
145
  });
48
146
  }
147
+ // Embed in description if requested
148
+ if (input.embedInDescription && results.length > 0) {
149
+ try {
150
+ const issue = await client.getIssue(context.orgSlug, context.projectKey, input.issueKey);
151
+ const existingDesc = issue.description || '';
152
+ const markdownLines = results.map((r) => {
153
+ if (r.mimeType.startsWith('image/')) {
154
+ return `![${r.fileName}](${r.downloadUrl})`;
155
+ }
156
+ return `[${r.fileName}](${r.downloadUrl})`;
157
+ });
158
+ const separator = existingDesc.length > 0 ? '\n\n' : '';
159
+ const newDescription = existingDesc + separator + markdownLines.join('\n\n');
160
+ await client.updateIssue(context.orgSlug, context.projectKey, input.issueKey, {
161
+ description: newDescription,
162
+ });
163
+ }
164
+ catch {
165
+ // Don't fail the whole operation if embed fails
166
+ return JSON.stringify({
167
+ success: true,
168
+ message: `Uploaded ${results.length} file(s) to ${input.issueKey} (but failed to embed in description)`,
169
+ attachments: results,
170
+ ...(errors.length > 0 ? { errors } : {}),
171
+ });
172
+ }
173
+ }
174
+ return JSON.stringify({
175
+ success: true,
176
+ message: `Uploaded ${results.length} file(s) to ${input.issueKey}${input.embedInDescription ? ' and embedded in description' : ''}`,
177
+ attachments: results,
178
+ ...(errors.length > 0 ? { errors } : {}),
179
+ });
180
+ }
181
+ catch (error) {
182
+ return formatError(error, 'attach file');
183
+ }
184
+ }
185
+ // ============================================
186
+ // List Attachments
187
+ // ============================================
188
+ export const listAttachmentsToolName = 'llama_list_attachments';
189
+ export const listAttachmentsToolDescription = `List all attachments on an issue.`;
190
+ export const listAttachmentsToolSchema = z.object({
191
+ orgSlug: z.string().optional().describe('Organization slug (uses session default if not provided)'),
192
+ projectKey: z.string().optional().describe('Project key (uses session default if not provided)'),
193
+ issueKey: z.string().describe('Issue key (e.g., "PROJ-123")'),
194
+ });
195
+ export async function executeListAttachments(input) {
196
+ try {
197
+ const context = await resolveOrgProject(input.orgSlug, input.projectKey);
198
+ if ('error' in context) {
199
+ return JSON.stringify({ success: false, error: context.error });
200
+ }
49
201
  const client = getApiClient();
50
- // Record tool call
51
202
  try {
52
- await client.recordToolCall('llama_list_attachments', { orgSlug, projectKey, issueKey: input.issueKey });
203
+ await client.recordToolCall('llama_list_attachments', { orgSlug: context.orgSlug, projectKey: context.projectKey });
53
204
  }
54
205
  catch {
55
206
  // Ignore recording errors
56
207
  }
57
- const attachments = await client.listAttachments(orgSlug, projectKey, input.issueKey);
58
- if (attachments.length === 0) {
59
- return JSON.stringify({
60
- success: true,
61
- issueKey: input.issueKey,
62
- message: 'No attachments found',
63
- attachments: [],
64
- count: 0,
65
- }, null, 2);
66
- }
208
+ const attachments = await client.listAttachments(context.orgSlug, context.projectKey, input.issueKey);
67
209
  return JSON.stringify({
68
210
  success: true,
69
211
  issueKey: input.issueKey,
212
+ count: attachments.length,
70
213
  attachments: attachments.map((a) => ({
71
214
  id: a.id,
72
215
  fileName: a.originalName,
73
- fileSize: formatFileSize(a.fileSize),
74
- fileSizeBytes: a.fileSize,
216
+ fileSize: a.fileSize,
75
217
  mimeType: a.mimeType,
76
218
  uploadedBy: a.uploadedBy.name,
77
- uploadedAt: a.createdAt,
219
+ createdAt: a.createdAt,
78
220
  })),
79
- count: attachments.length,
80
- }, null, 2);
221
+ });
81
222
  }
82
223
  catch (error) {
83
- if (error instanceof LlamaApiError) {
84
- return JSON.stringify({
85
- success: false,
86
- error: `Failed to list attachments: ${error.message}`,
87
- statusCode: error.statusCode,
88
- });
89
- }
90
- return JSON.stringify({
91
- success: false,
92
- error: error instanceof Error ? error.message : 'Unknown error',
93
- });
224
+ return formatError(error, 'list attachments');
94
225
  }
95
226
  }
96
227
  // ============================================
97
- // Upload Attachment
228
+ // Delete Attachment
98
229
  // ============================================
99
- export const uploadAttachmentToolName = 'llama_upload_attachment';
100
- export const uploadAttachmentToolDescription = `Upload a file attachment to an issue using base64-encoded content.
101
- The file will be attached to the issue and visible to all project members.
102
-
103
- Example:
104
- {
105
- "issueKey": "PROJ-123",
106
- "fileName": "screenshot.png",
107
- "base64Content": "iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mNk+M9QDwADhgGAWjR9awAAAABJRU5ErkJggg==",
108
- "mimeType": "image/png"
109
- }`;
110
- export const uploadAttachmentToolSchema = z.object({
111
- orgSlug: z
112
- .string()
113
- .optional()
114
- .describe('Organization slug (uses session default if not provided)'),
115
- projectKey: z
116
- .string()
117
- .optional()
118
- .describe('Project key (uses session default if not provided)'),
230
+ export const deleteAttachmentToolName = 'llama_delete_attachment';
231
+ export const deleteAttachmentToolDescription = `Delete an attachment from an issue.`;
232
+ export const deleteAttachmentToolSchema = z.object({
233
+ orgSlug: z.string().optional().describe('Organization slug (uses session default if not provided)'),
234
+ projectKey: z.string().optional().describe('Project key (uses session default if not provided)'),
119
235
  issueKey: z.string().describe('Issue key (e.g., "PROJ-123")'),
120
- fileName: z.string().describe('Original file name with extension'),
121
- base64Content: z.string().describe('Base64-encoded file content'),
122
- mimeType: z.string().describe('MIME type (e.g., "image/png", "application/pdf")'),
236
+ attachmentId: z.string().describe('Attachment ID to delete'),
123
237
  });
124
- export async function executeUploadAttachment(input) {
238
+ export async function executeDeleteAttachment(input) {
125
239
  try {
126
- const session = await getSessionDefaults();
127
- const orgSlug = input.orgSlug ?? session?.orgSlug;
128
- const projectKey = input.projectKey ?? session?.projectKey;
129
- if (!orgSlug) {
130
- return JSON.stringify({
131
- success: false,
132
- error: 'orgSlug is required. Either provide it or set session context with llama_set_context first.',
133
- });
134
- }
135
- if (!projectKey) {
136
- return JSON.stringify({
137
- success: false,
138
- error: 'projectKey is required. Either provide it or set session context with llama_set_context first.',
139
- });
140
- }
141
- if (!isValidBase64(input.base64Content)) {
142
- return JSON.stringify({
143
- success: false,
144
- error: 'Invalid base64Content. The string must be valid base64-encoded data (length must be a multiple of 4, using only A-Z, a-z, 0-9, +, /, and = padding).',
145
- });
240
+ const context = await resolveOrgProject(input.orgSlug, input.projectKey);
241
+ if ('error' in context) {
242
+ return JSON.stringify({ success: false, error: context.error });
146
243
  }
147
244
  const client = getApiClient();
148
- // Record tool call
149
245
  try {
150
- await client.recordToolCall('llama_upload_attachment', {
151
- orgSlug,
152
- projectKey,
153
- issueKey: input.issueKey,
154
- fileName: input.fileName,
155
- });
246
+ await client.recordToolCall('llama_delete_attachment', { orgSlug: context.orgSlug, projectKey: context.projectKey });
156
247
  }
157
248
  catch {
158
249
  // Ignore recording errors
159
250
  }
160
- const attachment = await client.uploadAttachment(orgSlug, projectKey, input.issueKey, input.fileName, input.base64Content, input.mimeType);
251
+ await client.deleteAttachment(context.orgSlug, context.projectKey, input.issueKey, input.attachmentId);
161
252
  return JSON.stringify({
162
253
  success: true,
163
- message: `Uploaded ${input.fileName} to ${input.issueKey}`,
164
- attachment: {
165
- id: attachment.id,
166
- fileName: attachment.originalName,
167
- fileSize: formatFileSize(attachment.fileSize),
168
- mimeType: attachment.mimeType,
169
- uploadedBy: attachment.uploadedBy.name,
170
- uploadedAt: attachment.createdAt,
171
- },
254
+ message: `Deleted attachment ${input.attachmentId} from ${input.issueKey}`,
172
255
  });
173
256
  }
174
257
  catch (error) {
175
- if (error instanceof LlamaApiError) {
176
- return JSON.stringify({
177
- success: false,
178
- error: `Failed to upload attachment: ${error.message}`,
179
- statusCode: error.statusCode,
180
- });
181
- }
182
- return JSON.stringify({
183
- success: false,
184
- error: error instanceof Error ? error.message : 'Unknown error',
185
- });
258
+ return formatError(error, 'delete attachment');
186
259
  }
187
260
  }
188
261
  // ============================================
189
- // Delete Attachment
262
+ // Get Transcriptions
190
263
  // ============================================
191
- export const deleteAttachmentToolName = 'llama_delete_attachment';
192
- export const deleteAttachmentToolDescription = `Delete a file attachment from an issue.
193
- Requires the attachment ID which can be obtained from llama_list_attachments.`;
194
- export const deleteAttachmentToolSchema = z.object({
195
- orgSlug: z
196
- .string()
197
- .optional()
198
- .describe('Organization slug (uses session default if not provided)'),
199
- projectKey: z
200
- .string()
201
- .optional()
202
- .describe('Project key (uses session default if not provided)'),
264
+ export const getTranscriptionToolName = 'llama_get_transcription';
265
+ export const getTranscriptionToolDescription = `Get audio transcriptions for screen recordings on an issue. Returns transcribed text from video attachments that had audio. Useful for reading recording content without watching videos.`;
266
+ export const getTranscriptionToolSchema = z.object({
267
+ orgSlug: z.string().optional().describe('Organization slug (uses session default if not provided)'),
268
+ projectKey: z.string().optional().describe('Project key (uses session default if not provided)'),
203
269
  issueKey: z.string().describe('Issue key (e.g., "PROJ-123")'),
204
- attachmentId: z.string().describe('Attachment ID (UUID)'),
205
270
  });
206
- export async function executeDeleteAttachment(input) {
271
+ export async function executeGetTranscription(input) {
207
272
  try {
208
- const session = await getSessionDefaults();
209
- const orgSlug = input.orgSlug ?? session?.orgSlug;
210
- const projectKey = input.projectKey ?? session?.projectKey;
211
- if (!orgSlug) {
212
- return JSON.stringify({
213
- success: false,
214
- error: 'orgSlug is required. Either provide it or set session context with llama_set_context first.',
215
- });
216
- }
217
- if (!projectKey) {
218
- return JSON.stringify({
219
- success: false,
220
- error: 'projectKey is required. Either provide it or set session context with llama_set_context first.',
221
- });
273
+ const context = await resolveOrgProject(input.orgSlug, input.projectKey);
274
+ if ('error' in context) {
275
+ return JSON.stringify({ success: false, error: context.error });
222
276
  }
223
277
  const client = getApiClient();
224
- // Record tool call
225
278
  try {
226
- await client.recordToolCall('llama_delete_attachment', {
227
- orgSlug,
228
- projectKey,
229
- issueKey: input.issueKey,
230
- attachmentId: input.attachmentId
231
- });
279
+ await client.recordToolCall('llama_get_transcription', { orgSlug: context.orgSlug, projectKey: context.projectKey });
232
280
  }
233
281
  catch {
234
282
  // Ignore recording errors
235
283
  }
236
- await client.deleteAttachment(orgSlug, projectKey, input.issueKey, input.attachmentId);
284
+ const attachments = await client.getTranscriptions(context.orgSlug, context.projectKey, input.issueKey);
285
+ const transcriptions = attachments.map((a) => {
286
+ const t = a.transcription;
287
+ return {
288
+ attachmentId: a.id,
289
+ fileName: a.originalName,
290
+ status: t?.status ?? 'none',
291
+ fullText: t?.fullText ?? undefined,
292
+ durationSeconds: t?.durationSeconds ?? undefined,
293
+ };
294
+ });
237
295
  return JSON.stringify({
238
296
  success: true,
239
- message: `Deleted attachment from ${input.issueKey}`,
297
+ issueKey: input.issueKey,
298
+ count: transcriptions.length,
299
+ transcriptions,
240
300
  });
241
301
  }
242
302
  catch (error) {
243
- if (error instanceof LlamaApiError) {
244
- return JSON.stringify({
245
- success: false,
246
- error: `Failed to delete attachment: ${error.message}`,
247
- statusCode: error.statusCode,
248
- });
249
- }
250
- return JSON.stringify({
251
- success: false,
252
- error: error instanceof Error ? error.message : 'Unknown error',
253
- });
303
+ return formatError(error, 'get transcription');
254
304
  }
255
305
  }
256
306
  //# sourceMappingURL=attachments.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"attachments.js","sourceRoot":"","sources":["../../src/tools/attachments.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"attachments.js","sourceRoot":"","sources":["../../src/tools/attachments.ts"],"names":[],"mappings":"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"}
@@ -23,6 +23,7 @@ export * from './projectErrors.js';
23
23
  export * from './help.js';
24
24
  export * from './session.js';
25
25
  export * from './userDocs.js';
26
+ export * from './attachments.js';
26
27
  export * from './notificationRules.js';
27
28
  export * from './refinement.js';
28
29
  export * from './analytics.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,oBAAoB,CAAC;AACnC,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,kBAAkB,CAAC;AACjC,cAAc,qBAAqB,CAAC;AACpC,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,iBAAiB,CAAC;AAChC,cAAc,qBAAqB,CAAC;AACpC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,qBAAqB,CAAC;AAEpC,cAAc,YAAY,CAAC;AAC3B,cAAc,mBAAmB,CAAC;AAElC,cAAc,oBAAoB,CAAC;AACnC,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAG9B,cAAc,wBAAwB,CAAC;AACvC,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,oBAAoB,CAAC;AACnC,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,kBAAkB,CAAC;AACjC,cAAc,qBAAqB,CAAC;AACpC,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,iBAAiB,CAAC;AAChC,cAAc,qBAAqB,CAAC;AACpC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,qBAAqB,CAAC;AAEpC,cAAc,YAAY,CAAC;AAC3B,cAAc,mBAAmB,CAAC;AAElC,cAAc,oBAAoB,CAAC;AACnC,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC;AAEjC,cAAc,wBAAwB,CAAC;AACvC,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC"}
@@ -25,7 +25,7 @@ export * from './projectErrors.js';
25
25
  export * from './help.js';
26
26
  export * from './session.js';
27
27
  export * from './userDocs.js';
28
- // attachments.ts removed - use UI for file uploads
28
+ export * from './attachments.js';
29
29
  // integrations.ts removed - use web UI for Slack setup
30
30
  export * from './notificationRules.js';
31
31
  export * from './refinement.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,oBAAoB,CAAC;AACnC,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,kBAAkB,CAAC;AACjC,cAAc,qBAAqB,CAAC;AACpC,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,iBAAiB,CAAC;AAChC,cAAc,qBAAqB,CAAC;AACpC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,qBAAqB,CAAC;AACpC,yDAAyD;AACzD,cAAc,YAAY,CAAC;AAC3B,cAAc,mBAAmB,CAAC;AAClC,yFAAyF;AACzF,cAAc,oBAAoB,CAAC;AACnC,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,mDAAmD;AACnD,uDAAuD;AACvD,cAAc,wBAAwB,CAAC;AACvC,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,oBAAoB,CAAC;AACnC,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,kBAAkB,CAAC;AACjC,cAAc,qBAAqB,CAAC;AACpC,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,iBAAiB,CAAC;AAChC,cAAc,qBAAqB,CAAC;AACpC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,qBAAqB,CAAC;AACpC,yDAAyD;AACzD,cAAc,YAAY,CAAC;AAC3B,cAAc,mBAAmB,CAAC;AAClC,yFAAyF;AACzF,cAAc,oBAAoB,CAAC;AACnC,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC;AACjC,uDAAuD;AACvD,cAAc,wBAAwB,CAAC;AACvC,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC"}
package/dist/types.d.ts CHANGED
@@ -651,6 +651,8 @@ export interface MCPAttachment {
651
651
  storedName: string;
652
652
  mimeType: string;
653
653
  fileSize: number;
654
+ storageType: string;
655
+ storageKey: string | null;
654
656
  createdAt: string;
655
657
  uploadedBy: {
656
658
  id: string;