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
|
|
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
|
+
}
|
package/dist/src/types.d.ts
CHANGED
|
@@ -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;
|
package/dist/src/version.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare const VERSION = "0.6.
|
|
2
|
-
export declare const USER_AGENT = "FeedbackBasket-CLI/0.6.
|
|
1
|
+
export declare const VERSION = "0.6.1";
|
|
2
|
+
export declare const USER_AGENT = "FeedbackBasket-CLI/0.6.1";
|
package/dist/src/version.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export const VERSION = '0.6.
|
|
1
|
+
export const VERSION = '0.6.1';
|
|
2
2
|
export const USER_AGENT = `FeedbackBasket-CLI/${VERSION}`;
|
package/package.json
CHANGED
|
@@ -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
|