feedbackbasket-cli 0.6.0 → 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.
package/README.md CHANGED
@@ -83,7 +83,7 @@ feedbackbasket feedback list --category BUG # Filter by category
83
83
  feedbackbasket feedback list --status OPEN # Filter by status
84
84
  feedbackbasket feedback list --sentiment NEGATIVE # Filter by sentiment
85
85
  feedbackbasket feedback list --search "login issue" # Text search
86
- feedbackbasket feedback show <id> # View single item detail
86
+ feedbackbasket feedback show <id> # View detail, including attachment links
87
87
  feedbackbasket feedback search "crash on mobile" # Search shortcut
88
88
 
89
89
  # Write
@@ -123,6 +123,9 @@ function renderBugList(bugs) {
123
123
  if (bug.aiSummary) {
124
124
  console.log(` ${brand.hint(bug.aiSummary)}`);
125
125
  }
126
+ if (bug.attachments && bug.attachments.length > 0) {
127
+ console.log(` ${brand.muted(`${bug.attachments.length} attachment${bug.attachments.length === 1 ? '' : 's'}`)}`);
128
+ }
126
129
  console.log();
127
130
  }
128
131
  }
@@ -161,6 +161,9 @@ function renderFeedbackList(items) {
161
161
  if (item.aiSummary) {
162
162
  console.log(` ${brand.hint(item.aiSummary)}`);
163
163
  }
164
+ if (item.attachments && item.attachments.length > 0) {
165
+ console.log(` ${brand.muted(`${item.attachments.length} attachment${item.attachments.length === 1 ? '' : 's'}`)}`);
166
+ }
164
167
  console.log();
165
168
  }
166
169
  }
@@ -200,6 +203,16 @@ function renderFeedbackDetail(item) {
200
203
  console.log(` ${value}`);
201
204
  }
202
205
  }
206
+ if (item.attachments && item.attachments.length > 0) {
207
+ console.log();
208
+ console.log(brand.bold(`Attachments (${item.attachments.length}):`));
209
+ for (const attachment of item.attachments) {
210
+ const size = typeof attachment.size === 'number' ? ` ${brand.muted(formatBytes(attachment.size))}` : '';
211
+ const type = attachment.mimeType ? ` ${brand.muted(attachment.mimeType)}` : '';
212
+ console.log(` ${brand.bold(attachment.filename)}${size}${type}`);
213
+ console.log(` ${attachment.url}`);
214
+ }
215
+ }
203
216
  if (item.aiSummary) {
204
217
  console.log();
205
218
  console.log(brand.bold('AI Summary:'));
@@ -227,3 +240,14 @@ function formatFeedbackType(item) {
227
240
  return undefined;
228
241
  return item.feedbackType.emoji ? `${item.feedbackType.emoji} ${label}` : label;
229
242
  }
243
+ function formatBytes(bytes) {
244
+ if (!Number.isFinite(bytes) || bytes < 0)
245
+ return '';
246
+ if (bytes < 1024)
247
+ return `${bytes} B`;
248
+ const kb = bytes / 1024;
249
+ if (kb < 1024)
250
+ return `${kb.toFixed(kb >= 10 ? 0 : 1)} KB`;
251
+ const mb = kb / 1024;
252
+ return `${mb.toFixed(mb >= 10 ? 0 : 1)} MB`;
253
+ }
@@ -81,6 +81,7 @@ export interface Feedback {
81
81
  os?: string | null;
82
82
  device?: string | null;
83
83
  language?: string | null;
84
+ attachments?: FeedbackAttachment[];
84
85
  project: {
85
86
  id: string;
86
87
  name: string;
@@ -89,6 +90,14 @@ export interface Feedback {
89
90
  notes?: FeedbackNote[];
90
91
  createdAt: string;
91
92
  }
93
+ export interface FeedbackAttachment {
94
+ id: string;
95
+ url: string;
96
+ filename: string;
97
+ size?: number;
98
+ mimeType?: string;
99
+ createdAt?: string;
100
+ }
92
101
  export interface FeedbackNote {
93
102
  id: string;
94
103
  content: string;
@@ -1,2 +1,2 @@
1
- export declare const VERSION = "0.6.0";
2
- export declare const USER_AGENT = "FeedbackBasket-CLI/0.6.0";
1
+ export declare const VERSION = "0.6.1";
2
+ export declare const USER_AGENT = "FeedbackBasket-CLI/0.6.1";
@@ -1,2 +1,2 @@
1
- export const VERSION = '0.6.0';
1
+ export const VERSION = '0.6.1';
2
2
  export const USER_AGENT = `FeedbackBasket-CLI/${VERSION}`;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "feedbackbasket-cli",
3
- "version": "0.6.0",
3
+ "version": "0.6.1",
4
4
  "description": "Command-line interface for FeedbackBasket — manage feedback from your terminal",
5
5
  "type": "module",
6
6
  "main": "dist/src/cli.js",
@@ -144,7 +144,7 @@ feedbackbasket feedback note <id> "Reviewing — appears related to auth flow" -
144
144
  ```bash
145
145
  feedbackbasket bugs list --severity high --agent
146
146
  feedbackbasket feedback show <id> --agent
147
- # Response includes browser, OS, page URL, submitted feedback type, follow-up answers, AI analysis, priority score
147
+ # Response includes browser, OS, page URL, submitted feedback type, follow-up answers, attachment URLs, AI analysis, priority score
148
148
  ```
149
149
 
150
150
  ### Close the loop — reply to the submitter