@fatagnus/convex-feedback 0.2.16 → 0.2.18

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.
@@ -6,6 +6,9 @@ export type { RegisterFeedbackRoutesOptions };
6
6
  *
7
7
  * This allows consumer apps to integrate the feedback API into their own HTTP router.
8
8
  *
9
+ * NOTE: Convex httpRouter does NOT support dynamic path parameters like :id or {id}.
10
+ * We use pathPrefix to match routes with dynamic segments and parse them in the handler.
11
+ *
9
12
  * @example
10
13
  * ```typescript
11
14
  * // In your app's convex/http.ts:
@@ -1 +1 @@
1
- {"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../../src/convex/http.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,UAAU,EAAE,MAAM,eAAe,CAAC;AAIvD,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,UAAU,CAAC;AAE9D,YAAY,EAAE,6BAA6B,EAAE,CAAC;AA+D9C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,UAAU,EAClB,OAAO,GAAE,6BAAkC,GAC1C,IAAI,CAojBN;AAGD,QAAA,MAAM,IAAI,YAAe,CAAC;AAG1B,eAAe,IAAI,CAAC"}
1
+ {"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../../src/convex/http.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,UAAU,EAAE,MAAM,eAAe,CAAC;AAIvD,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,UAAU,CAAC;AAE9D,YAAY,EAAE,6BAA6B,EAAE,CAAC;AA2F9C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,UAAU,EAClB,OAAO,GAAE,6BAAkC,GAC1C,IAAI,CA2aN;AAGD,QAAA,MAAM,IAAI,YAAe,CAAC;AAG1B,eAAe,IAAI,CAAC"}
@@ -33,11 +33,38 @@ function parseTemplate(url) {
33
33
  // Return undefined to let the caller decide the default
34
34
  return "fix";
35
35
  }
36
+ /**
37
+ * Extract ticket number from URL path.
38
+ * Supports paths like:
39
+ * - /api/items/BUG-2025-0001
40
+ * - /api/items/BUG-2025-0001/status
41
+ * - /api/items/BUG-2025-0001/archive
42
+ * - /api/prompt/BUG-2025-0001
43
+ */
44
+ function extractTicketNumber(pathname) {
45
+ const pathParts = pathname.split("/").filter(Boolean);
46
+ // Find index of 'items' or 'prompt' and get the next segment
47
+ const itemsIndex = pathParts.indexOf("items");
48
+ const promptIndex = pathParts.indexOf("prompt");
49
+ if (itemsIndex >= 0) {
50
+ const ticketNumber = pathParts[itemsIndex + 1]?.toUpperCase();
51
+ const action = pathParts[itemsIndex + 2]; // 'status' or 'archive' or undefined
52
+ return { ticketNumber, action };
53
+ }
54
+ if (promptIndex >= 0) {
55
+ const ticketNumber = pathParts[promptIndex + 1]?.toUpperCase();
56
+ return { ticketNumber, action: undefined };
57
+ }
58
+ return { ticketNumber: undefined, action: undefined };
59
+ }
36
60
  /**
37
61
  * Register all feedback HTTP routes on the provided router.
38
62
  *
39
63
  * This allows consumer apps to integrate the feedback API into their own HTTP router.
40
64
  *
65
+ * NOTE: Convex httpRouter does NOT support dynamic path parameters like :id or {id}.
66
+ * We use pathPrefix to match routes with dynamic segments and parse them in the handler.
67
+ *
41
68
  * @example
42
69
  * ```typescript
43
70
  * // In your app's convex/http.ts:
@@ -68,38 +95,28 @@ function parseTemplate(url) {
68
95
  export function registerFeedbackRoutes(router, options = {}) {
69
96
  const prefix = options.pathPrefix ?? "";
70
97
  const componentApi = options.component;
71
- // GET /api/prompt/{ticketNumber}
98
+ // GET /api/prompt/{ticketNumber} - using pathPrefix since Convex doesn't support path params
72
99
  router.route({
73
- path: `${prefix}/api/prompt/:ticketNumber`,
100
+ pathPrefix: `${prefix}/api/prompt/`,
74
101
  method: "GET",
75
102
  handler: httpAction(async (ctx, request) => {
76
103
  // Validate API key
77
104
  const authHeader = request.headers.get("Authorization");
78
105
  const isValid = await validateApiKey(ctx, authHeader, componentApi);
79
106
  if (!isValid) {
80
- return new Response(JSON.stringify({ error: "Unauthorized", message: "Invalid or missing API key" }), {
81
- status: 401,
82
- headers: { "Content-Type": "application/json" },
83
- });
107
+ return new Response(JSON.stringify({ error: "Unauthorized", message: "Invalid or missing API key" }), { status: 401, headers: { "Content-Type": "application/json" } });
84
108
  }
85
109
  // Extract ticket number from URL
86
110
  const url = new URL(request.url);
87
- const pathParts = url.pathname.split("/");
88
- const ticketNumber = pathParts[pathParts.length - 1]?.toUpperCase();
111
+ const { ticketNumber } = extractTicketNumber(url.pathname);
89
112
  if (!ticketNumber) {
90
- return new Response(JSON.stringify({ error: "Bad request", message: "Missing ticket number" }), {
91
- status: 400,
92
- headers: { "Content-Type": "application/json" },
93
- });
113
+ return new Response(JSON.stringify({ error: "Bad request", message: "Missing ticket number" }), { status: 400, headers: { "Content-Type": "application/json" } });
94
114
  }
95
115
  const template = parseTemplate(url);
96
116
  const isBug = ticketNumber.startsWith("BUG-");
97
117
  const isFeedback = ticketNumber.startsWith("FB-");
98
118
  if (!isBug && !isFeedback) {
99
- return new Response(JSON.stringify({ error: "Bad request", message: "Invalid ticket number format" }), {
100
- status: 400,
101
- headers: { "Content-Type": "application/json" },
102
- });
119
+ return new Response(JSON.stringify({ error: "Bad request", message: "Invalid ticket number format" }), { status: 400, headers: { "Content-Type": "application/json" } });
103
120
  }
104
121
  // Use component API if provided, otherwise use public API (for standalone usage)
105
122
  const getBugByTicketNumberFn = componentApi?.prompts.getBugByTicketNumber ?? api.prompts.getBugByTicketNumber;
@@ -107,10 +124,7 @@ export function registerFeedbackRoutes(router, options = {}) {
107
124
  if (isBug) {
108
125
  const bug = await ctx.runQuery(getBugByTicketNumberFn, { ticketNumber });
109
126
  if (!bug) {
110
- return new Response(JSON.stringify({ error: "Not found", message: `Bug report ${ticketNumber} not found` }), {
111
- status: 404,
112
- headers: { "Content-Type": "application/json" },
113
- });
127
+ return new Response(JSON.stringify({ error: "Not found", message: `Bug report ${ticketNumber} not found` }), { status: 404, headers: { "Content-Type": "application/json" } });
114
128
  }
115
129
  const prompt = generateBugPrompt({
116
130
  ticketNumber: bug.ticketNumber,
@@ -135,18 +149,12 @@ export function registerFeedbackRoutes(router, options = {}) {
135
149
  type: "bug",
136
150
  template,
137
151
  prompt,
138
- }), {
139
- status: 200,
140
- headers: { "Content-Type": "application/json" },
141
- });
152
+ }), { status: 200, headers: { "Content-Type": "application/json" } });
142
153
  }
143
154
  // Feedback
144
155
  const feedback = await ctx.runQuery(getFeedbackByTicketNumberFn, { ticketNumber });
145
156
  if (!feedback) {
146
- return new Response(JSON.stringify({ error: "Not found", message: `Feedback ${ticketNumber} not found` }), {
147
- status: 404,
148
- headers: { "Content-Type": "application/json" },
149
- });
157
+ return new Response(JSON.stringify({ error: "Not found", message: `Feedback ${ticketNumber} not found` }), { status: 404, headers: { "Content-Type": "application/json" } });
150
158
  }
151
159
  // For feedback, default to "implement" instead of "fix"
152
160
  const feedbackTemplate = template === "fix" && !url.searchParams.has("template") ? "implement" : template;
@@ -169,32 +177,13 @@ export function registerFeedbackRoutes(router, options = {}) {
169
177
  type: "feedback",
170
178
  template: feedbackTemplate,
171
179
  prompt,
172
- }), {
173
- status: 200,
174
- headers: { "Content-Type": "application/json" },
175
- });
180
+ }), { status: 200, headers: { "Content-Type": "application/json" } });
176
181
  }),
177
182
  });
178
- // GET /api/items/{ticketNumber}
179
- /**
180
- * GET /api/items/{ticketNumber}
181
- *
182
- * Fetch a single bug report or feedback item by ticket number.
183
- *
184
- * Path params:
185
- * - ticketNumber: e.g., "BUG-2025-0001" or "FB-2025-0001"
186
- *
187
- * Headers:
188
- * - Authorization: Bearer <api-key>
189
- *
190
- * Returns:
191
- * - 200: Full item data
192
- * - 400: { error: "Bad request" }
193
- * - 401: { error: "Unauthorized" }
194
- * - 404: { error: "Not found" }
195
- */
183
+ // GET /api/items/{ticketNumber} - using pathPrefix since Convex doesn't support path params
184
+ // This handles both single item fetch and routes like /status and /archive
196
185
  router.route({
197
- path: `${prefix}/api/items/:ticketNumber`,
186
+ pathPrefix: `${prefix}/api/items/`,
198
187
  method: "GET",
199
188
  handler: httpAction(async (ctx, request) => {
200
189
  const authHeader = request.headers.get("Authorization");
@@ -202,10 +191,9 @@ export function registerFeedbackRoutes(router, options = {}) {
202
191
  if (!isValid) {
203
192
  return new Response(JSON.stringify({ error: "Unauthorized", message: "Invalid or missing API key" }), { status: 401, headers: { "Content-Type": "application/json" } });
204
193
  }
205
- // Extract ticket number from URL
194
+ // Extract ticket number from URL path
206
195
  const url = new URL(request.url);
207
- const pathParts = url.pathname.split("/");
208
- const ticketNumber = pathParts[pathParts.length - 1]?.toUpperCase();
196
+ const { ticketNumber } = extractTicketNumber(url.pathname);
209
197
  if (!ticketNumber) {
210
198
  return new Response(JSON.stringify({ error: "Bad request", message: "Missing ticket number" }), { status: 400, headers: { "Content-Type": "application/json" } });
211
199
  }
@@ -232,28 +220,7 @@ export function registerFeedbackRoutes(router, options = {}) {
232
220
  return new Response(JSON.stringify({ type: "feedback", ...feedback }), { status: 200, headers: { "Content-Type": "application/json" } });
233
221
  }),
234
222
  });
235
- // GET /api/items
236
- /**
237
- * GET /api/items
238
- *
239
- * List bug reports and/or feedback items with optional filters.
240
- *
241
- * Query params:
242
- * - itemType: "bug" | "feedback" | "all" (default: "all")
243
- * - status: filter by status (bug: open|in-progress|resolved|closed, feedback: open|under_review|planned|in_progress|completed|declined)
244
- * - severity: filter bugs by severity (low|medium|high|critical)
245
- * - priority: filter feedback by priority (nice_to_have|important|critical)
246
- * - type: filter feedback by type (feature_request|change_request|general)
247
- * - limit: max items to return (default: 50)
248
- * - includeArchived: include archived items (default: false)
249
- *
250
- * Headers:
251
- * - Authorization: Bearer <api-key>
252
- *
253
- * Returns:
254
- * - 200: { bugs: [...], feedback: [...] }
255
- * - 401: { error: "Unauthorized" }
256
- */
223
+ // GET /api/items - List all items (exact path match)
257
224
  router.route({
258
225
  path: `${prefix}/api/items`,
259
226
  method: "GET",
@@ -307,32 +274,10 @@ export function registerFeedbackRoutes(router, options = {}) {
307
274
  });
308
275
  }),
309
276
  });
310
- // PATCH /api/items/{ticketNumber}/status
311
- /**
312
- * PATCH /api/items/{ticketNumber}/status
313
- *
314
- * Update the status of a bug report or feedback item.
315
- *
316
- * Path params:
317
- * - ticketNumber: e.g., "BUG-2025-0001" or "FB-2025-0001"
318
- *
319
- * Body (JSON):
320
- * - status: new status value
321
- * - For bugs: "open" | "in-progress" | "resolved" | "closed"
322
- * - For feedback: "open" | "under_review" | "planned" | "in_progress" | "completed" | "declined"
323
- *
324
- * Headers:
325
- * - Authorization: Bearer <api-key>
326
- * - Content-Type: application/json
327
- *
328
- * Returns:
329
- * - 200: { success: true, ticketNumber: "..." }
330
- * - 400: { error: "Bad request" }
331
- * - 401: { error: "Unauthorized" }
332
- * - 404: { error: "Not found" }
333
- */
277
+ // PATCH /api/items/{ticketNumber}/status AND /api/items/{ticketNumber}/archive
278
+ // Combined handler using pathPrefix since Convex doesn't support path params
334
279
  router.route({
335
- path: `${prefix}/api/items/:ticketNumber/status`,
280
+ pathPrefix: `${prefix}/api/items/`,
336
281
  method: "PATCH",
337
282
  handler: httpAction(async (ctx, request) => {
338
283
  const authHeader = request.headers.get("Authorization");
@@ -340,102 +285,14 @@ export function registerFeedbackRoutes(router, options = {}) {
340
285
  if (!isValid) {
341
286
  return new Response(JSON.stringify({ error: "Unauthorized", message: "Invalid or missing API key" }), { status: 401, headers: { "Content-Type": "application/json" } });
342
287
  }
343
- // Extract ticket number from URL
288
+ // Extract ticket number and action from URL
344
289
  const url = new URL(request.url);
345
- const pathParts = url.pathname.split("/");
346
- // Path is /api/items/{ticketNumber}/status, so ticketNumber is second to last
347
- const ticketNumber = pathParts[pathParts.length - 2]?.toUpperCase();
290
+ const { ticketNumber, action } = extractTicketNumber(url.pathname);
348
291
  if (!ticketNumber) {
349
292
  return new Response(JSON.stringify({ error: "Bad request", message: "Missing ticket number" }), { status: 400, headers: { "Content-Type": "application/json" } });
350
293
  }
351
- const isBug = ticketNumber.startsWith("BUG-");
352
- const isFeedback = ticketNumber.startsWith("FB-");
353
- if (!isBug && !isFeedback) {
354
- return new Response(JSON.stringify({ error: "Bad request", message: "Invalid ticket number format. Expected BUG-YYYY-NNNN or FB-YYYY-NNNN" }), { status: 400, headers: { "Content-Type": "application/json" } });
355
- }
356
- // Parse request body
357
- let body;
358
- try {
359
- body = await request.json();
360
- }
361
- catch {
362
- return new Response(JSON.stringify({ error: "Bad request", message: "Invalid JSON body" }), { status: 400, headers: { "Content-Type": "application/json" } });
363
- }
364
- if (!body.status) {
365
- return new Response(JSON.stringify({ error: "Bad request", message: "Missing status in request body" }), { status: 400, headers: { "Content-Type": "application/json" } });
366
- }
367
- // Validate status based on type
368
- const bugStatuses = ["open", "in-progress", "resolved", "closed"];
369
- const feedbackStatuses = ["open", "under_review", "planned", "in_progress", "completed", "declined"];
370
- if (isBug && !bugStatuses.includes(body.status)) {
371
- return new Response(JSON.stringify({ error: "Bad request", message: `Invalid bug status. Expected one of: ${bugStatuses.join(", ")}` }), { status: 400, headers: { "Content-Type": "application/json" } });
372
- }
373
- if (isFeedback && !feedbackStatuses.includes(body.status)) {
374
- return new Response(JSON.stringify({ error: "Bad request", message: `Invalid feedback status. Expected one of: ${feedbackStatuses.join(", ")}` }), { status: 400, headers: { "Content-Type": "application/json" } });
375
- }
376
- // Update the status using component API or internal API
377
- let result;
378
- if (isBug) {
379
- const updateBugStatusFn = componentApi?.bugReports.updateStatusByTicketNumber ?? api.bugReports.updateStatusByTicketNumber;
380
- result = await ctx.runMutation(updateBugStatusFn, {
381
- ticketNumber,
382
- status: body.status,
383
- });
384
- }
385
- else {
386
- const updateFeedbackStatusFn = componentApi?.feedback.updateStatusByTicketNumber ?? api.feedback.updateStatusByTicketNumber;
387
- result = await ctx.runMutation(updateFeedbackStatusFn, {
388
- ticketNumber,
389
- status: body.status,
390
- });
391
- }
392
- if (!result) {
393
- return new Response(JSON.stringify({ error: "Not found", message: `Item ${ticketNumber} not found` }), { status: 404, headers: { "Content-Type": "application/json" } });
394
- }
395
- return new Response(JSON.stringify(result), {
396
- status: 200,
397
- headers: { "Content-Type": "application/json" },
398
- });
399
- }),
400
- });
401
- // PATCH /api/items/{ticketNumber}/archive
402
- /**
403
- * PATCH /api/items/{ticketNumber}/archive
404
- *
405
- * Archive or unarchive a bug report or feedback item.
406
- *
407
- * Path params:
408
- * - ticketNumber: e.g., "BUG-2025-0001" or "FB-2025-0001"
409
- *
410
- * Body (JSON):
411
- * - archived: boolean (true to archive, false to unarchive)
412
- *
413
- * Headers:
414
- * - Authorization: Bearer <api-key>
415
- * - Content-Type: application/json
416
- *
417
- * Returns:
418
- * - 200: { success: true, ticketNumber: "...", isArchived: true/false }
419
- * - 400: { error: "Bad request" }
420
- * - 401: { error: "Unauthorized" }
421
- * - 404: { error: "Not found" }
422
- */
423
- router.route({
424
- path: `${prefix}/api/items/:ticketNumber/archive`,
425
- method: "PATCH",
426
- handler: httpAction(async (ctx, request) => {
427
- const authHeader = request.headers.get("Authorization");
428
- const isValid = await validateApiKey(ctx, authHeader, componentApi);
429
- if (!isValid) {
430
- return new Response(JSON.stringify({ error: "Unauthorized", message: "Invalid or missing API key" }), { status: 401, headers: { "Content-Type": "application/json" } });
431
- }
432
- // Extract ticket number from URL
433
- const url = new URL(request.url);
434
- const pathParts = url.pathname.split("/");
435
- // Path is /api/items/{ticketNumber}/archive, so ticketNumber is second to last
436
- const ticketNumber = pathParts[pathParts.length - 2]?.toUpperCase();
437
- if (!ticketNumber) {
438
- return new Response(JSON.stringify({ error: "Bad request", message: "Missing ticket number" }), { status: 400, headers: { "Content-Type": "application/json" } });
294
+ if (action !== "status" && action !== "archive") {
295
+ return new Response(JSON.stringify({ error: "Bad request", message: "Invalid action. Expected /status or /archive" }), { status: 400, headers: { "Content-Type": "application/json" } });
439
296
  }
440
297
  const isBug = ticketNumber.startsWith("BUG-");
441
298
  const isFeedback = ticketNumber.startsWith("FB-");
@@ -450,32 +307,75 @@ export function registerFeedbackRoutes(router, options = {}) {
450
307
  catch {
451
308
  return new Response(JSON.stringify({ error: "Bad request", message: "Invalid JSON body" }), { status: 400, headers: { "Content-Type": "application/json" } });
452
309
  }
453
- if (typeof body.archived !== "boolean") {
454
- return new Response(JSON.stringify({ error: "Bad request", message: "Missing or invalid 'archived' boolean in request body" }), { status: 400, headers: { "Content-Type": "application/json" } });
455
- }
456
- // Update the archive status using component API or internal API
457
- let result;
458
- if (isBug) {
459
- const setArchivedBugFn = componentApi?.bugReports.setArchivedByTicketNumber ?? api.bugReports.setArchivedByTicketNumber;
460
- result = await ctx.runMutation(setArchivedBugFn, {
461
- ticketNumber,
462
- isArchived: body.archived,
310
+ // Handle status update
311
+ if (action === "status") {
312
+ if (!body.status) {
313
+ return new Response(JSON.stringify({ error: "Bad request", message: "Missing status in request body" }), { status: 400, headers: { "Content-Type": "application/json" } });
314
+ }
315
+ // Validate status based on type
316
+ const bugStatuses = ["open", "in-progress", "resolved", "closed"];
317
+ const feedbackStatuses = ["open", "under_review", "planned", "in_progress", "completed", "declined"];
318
+ if (isBug && !bugStatuses.includes(body.status)) {
319
+ return new Response(JSON.stringify({ error: "Bad request", message: `Invalid bug status. Expected one of: ${bugStatuses.join(", ")}` }), { status: 400, headers: { "Content-Type": "application/json" } });
320
+ }
321
+ if (isFeedback && !feedbackStatuses.includes(body.status)) {
322
+ return new Response(JSON.stringify({ error: "Bad request", message: `Invalid feedback status. Expected one of: ${feedbackStatuses.join(", ")}` }), { status: 400, headers: { "Content-Type": "application/json" } });
323
+ }
324
+ // Update the status using component API or public API
325
+ let result;
326
+ if (isBug) {
327
+ const updateBugStatusFn = componentApi?.bugReports.updateStatusByTicketNumber ?? api.bugReports.updateStatusByTicketNumber;
328
+ result = await ctx.runMutation(updateBugStatusFn, {
329
+ ticketNumber,
330
+ status: body.status,
331
+ });
332
+ }
333
+ else {
334
+ const updateFeedbackStatusFn = componentApi?.feedback.updateStatusByTicketNumber ?? api.feedback.updateStatusByTicketNumber;
335
+ result = await ctx.runMutation(updateFeedbackStatusFn, {
336
+ ticketNumber,
337
+ status: body.status,
338
+ });
339
+ }
340
+ if (!result) {
341
+ return new Response(JSON.stringify({ error: "Not found", message: `Item ${ticketNumber} not found` }), { status: 404, headers: { "Content-Type": "application/json" } });
342
+ }
343
+ return new Response(JSON.stringify(result), {
344
+ status: 200,
345
+ headers: { "Content-Type": "application/json" },
463
346
  });
464
347
  }
465
- else {
466
- const setArchivedFeedbackFn = componentApi?.feedback.setArchivedByTicketNumber ?? api.feedback.setArchivedByTicketNumber;
467
- result = await ctx.runMutation(setArchivedFeedbackFn, {
468
- ticketNumber,
469
- isArchived: body.archived,
348
+ // Handle archive update
349
+ if (action === "archive") {
350
+ if (typeof body.archived !== "boolean") {
351
+ return new Response(JSON.stringify({ error: "Bad request", message: "Missing or invalid 'archived' boolean in request body" }), { status: 400, headers: { "Content-Type": "application/json" } });
352
+ }
353
+ // Update the archive status using component API or public API
354
+ let result;
355
+ if (isBug) {
356
+ const setArchivedBugFn = componentApi?.bugReports.setArchivedByTicketNumber ?? api.bugReports.setArchivedByTicketNumber;
357
+ result = await ctx.runMutation(setArchivedBugFn, {
358
+ ticketNumber,
359
+ isArchived: body.archived,
360
+ });
361
+ }
362
+ else {
363
+ const setArchivedFeedbackFn = componentApi?.feedback.setArchivedByTicketNumber ?? api.feedback.setArchivedByTicketNumber;
364
+ result = await ctx.runMutation(setArchivedFeedbackFn, {
365
+ ticketNumber,
366
+ isArchived: body.archived,
367
+ });
368
+ }
369
+ if (!result) {
370
+ return new Response(JSON.stringify({ error: "Not found", message: `Item ${ticketNumber} not found` }), { status: 404, headers: { "Content-Type": "application/json" } });
371
+ }
372
+ return new Response(JSON.stringify(result), {
373
+ status: 200,
374
+ headers: { "Content-Type": "application/json" },
470
375
  });
471
376
  }
472
- if (!result) {
473
- return new Response(JSON.stringify({ error: "Not found", message: `Item ${ticketNumber} not found` }), { status: 404, headers: { "Content-Type": "application/json" } });
474
- }
475
- return new Response(JSON.stringify(result), {
476
- status: 200,
477
- headers: { "Content-Type": "application/json" },
478
- });
377
+ // Should never reach here
378
+ return new Response(JSON.stringify({ error: "Bad request", message: "Invalid request" }), { status: 400, headers: { "Content-Type": "application/json" } });
479
379
  }),
480
380
  });
481
381
  }
@@ -1 +1 @@
1
- {"version":3,"file":"http.js","sourceRoot":"","sources":["../../src/convex/http.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"http.js","sourceRoot":"","sources":["../../src/convex/http.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"BugReportButton.d.ts","sourceRoot":"","sources":["../../src/react/BugReportButton.tsx"],"names":[],"mappings":"AAyCA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AACvD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAEjD;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,+EAA+E;IAC/E,YAAY,EAAE,OAAO,GAAG,UAAU,CAAC;IACnC,yCAAyC;IACzC,UAAU,EAAE,MAAM,CAAC;IACnB,+BAA+B;IAC/B,aAAa,EAAE,MAAM,CAAC;IACtB,8BAA8B;IAC9B,YAAY,EAAE,MAAM,CAAC;IACrB,2CAA2C;IAC3C,YAAY,EAAE;QACZ,MAAM,EAAE,iBAAiB,CAAC,UAAU,CAAC,CAAC;QACtC,iBAAiB,EAAE,iBAAiB,CAAC,UAAU,CAAC,CAAC;KAClD,CAAC;IACF,wCAAwC;IACxC,WAAW,EAAE;QACX,MAAM,EAAE,iBAAiB,CAAC,UAAU,CAAC,CAAC;QACtC,iBAAiB,EAAE,iBAAiB,CAAC,UAAU,CAAC,CAAC;KAClD,CAAC;IACF,sCAAsC;IACtC,QAAQ,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC5E,kCAAkC;IAClC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,mDAAmD;IACnD,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,wCAAwC;IACxC,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,KAAK,GAAG,UAAU,KAAK,IAAI,CAAC;IAC/C,qCAAqC;IACrC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,GAAG,UAAU,KAAK,IAAI,CAAC;IAC3D,4DAA4D;IAC5D,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,mDAAmD;IACnD,WAAW,CAAC,EAAE,MAAM,GAAG,WAAW,CAAC;IACnC,8DAA8D;IAC9D,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;IACpC,uFAAuF;IACvF,YAAY,CAAC,EAAE;QACb,iBAAiB,EAAE,iBAAiB,CAAC,QAAQ,CAAC,CAAC;QAC/C,sBAAsB,EAAE,iBAAiB,CAAC,QAAQ,CAAC,CAAC;QACpD,iBAAiB,EAAE,iBAAiB,CAAC,QAAQ,CAAC,CAAC;QAC/C,mBAAmB,EAAE,iBAAiB,CAAC,OAAO,CAAC,CAAC;QAChD,kBAAkB,EAAE,iBAAiB,CAAC,OAAO,CAAC,CAAC;KAChD,CAAC;CACH;AAgBD;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,wBAAgB,eAAe,CAAC,EAC9B,YAAY,EACZ,UAAU,EACV,aAAa,EACb,YAAY,EACZ,YAAY,EACZ,WAAW,EACX,QAAoC,EACpC,WAAmB,EACnB,YAAmB,EACnB,SAAS,EACT,OAAO,EACP,eAAuB,EACvB,WAAoB,EACpB,gBAAgB,EAChB,YAAY,GACb,EAAE,oBAAoB,2CAiiCtB"}
1
+ {"version":3,"file":"BugReportButton.d.ts","sourceRoot":"","sources":["../../src/react/BugReportButton.tsx"],"names":[],"mappings":"AAyCA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AACvD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAEjD;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,+EAA+E;IAC/E,YAAY,EAAE,OAAO,GAAG,UAAU,CAAC;IACnC,yCAAyC;IACzC,UAAU,EAAE,MAAM,CAAC;IACnB,+BAA+B;IAC/B,aAAa,EAAE,MAAM,CAAC;IACtB,8BAA8B;IAC9B,YAAY,EAAE,MAAM,CAAC;IACrB,2CAA2C;IAC3C,YAAY,EAAE;QACZ,MAAM,EAAE,iBAAiB,CAAC,UAAU,CAAC,CAAC;QACtC,iBAAiB,EAAE,iBAAiB,CAAC,UAAU,CAAC,CAAC;KAClD,CAAC;IACF,wCAAwC;IACxC,WAAW,EAAE;QACX,MAAM,EAAE,iBAAiB,CAAC,UAAU,CAAC,CAAC;QACtC,iBAAiB,EAAE,iBAAiB,CAAC,UAAU,CAAC,CAAC;KAClD,CAAC;IACF,sCAAsC;IACtC,QAAQ,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC5E,kCAAkC;IAClC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,mDAAmD;IACnD,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,wCAAwC;IACxC,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,KAAK,GAAG,UAAU,KAAK,IAAI,CAAC;IAC/C,qCAAqC;IACrC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,GAAG,UAAU,KAAK,IAAI,CAAC;IAC3D,4DAA4D;IAC5D,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,mDAAmD;IACnD,WAAW,CAAC,EAAE,MAAM,GAAG,WAAW,CAAC;IACnC,8DAA8D;IAC9D,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;IACpC,uFAAuF;IACvF,YAAY,CAAC,EAAE;QACb,iBAAiB,EAAE,iBAAiB,CAAC,QAAQ,CAAC,CAAC;QAC/C,sBAAsB,EAAE,iBAAiB,CAAC,QAAQ,CAAC,CAAC;QACpD,iBAAiB,EAAE,iBAAiB,CAAC,QAAQ,CAAC,CAAC;QAC/C,mBAAmB,EAAE,iBAAiB,CAAC,OAAO,CAAC,CAAC;QAChD,kBAAkB,EAAE,iBAAiB,CAAC,OAAO,CAAC,CAAC;KAChD,CAAC;CACH;AAgBD;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,wBAAgB,eAAe,CAAC,EAC9B,YAAY,EACZ,UAAU,EACV,aAAa,EACb,YAAY,EACZ,YAAY,EACZ,WAAW,EACX,QAAoC,EACpC,WAAmB,EACnB,YAAmB,EACnB,SAAS,EACT,OAAO,EACP,eAAuB,EACvB,WAAoB,EACpB,gBAAgB,EAChB,YAAY,GACb,EAAE,oBAAoB,2CA+iCtB"}
@@ -607,7 +607,12 @@ export function BugReportButton({ reporterType, reporterId, reporterEmail, repor
607
607
  : 'Fill out the form manually' })] })), interviewState.error && (_jsxs(Alert, { icon: _jsx(IconAlertCircle, { size: 16 }), color: "red", title: "Interview Error", children: [interviewState.error, _jsxs(Group, { gap: "xs", mt: "xs", children: [_jsx(Button, { variant: "subtle", size: "xs", onClick: () => {
608
608
  // Clear error and retry
609
609
  setInterviewState(prev => ({ ...prev, error: null }));
610
- }, children: "Try Again" }), _jsx(Button, { variant: "subtle", size: "xs", onClick: () => setInputMode('form'), children: "Switch to Form" })] })] })), inputMode === 'interview' && enableInterview ? (_jsxs(Box, { children: [interviewState.threadId && (_jsx(Alert, { color: "gray", variant: "light", mb: "md", styles: { message: { display: 'flex', justifyContent: 'space-between', alignItems: 'center' } }, children: _jsxs(Group, { justify: "space-between", w: "100%", children: [_jsx(Text, { size: "sm", children: "Want to fill out the form manually instead?" }), _jsx(Button, { variant: "subtle", size: "xs", onClick: () => handleInputModeChange(false), children: "Switch to Manual Form" })] }) })), _jsx(InterviewChat, { messages: interviewState.messages, isThinking: interviewState.isThinking, waitingForInput: interviewState.waitingForInput, pendingRequest: interviewState.pendingRequest ?? undefined, isComplete: interviewState.isComplete, generatedReport: interviewState.generatedReport ?? undefined, reportType: formMode, onSubmitInput: handleInterviewInput, onConfirmReport: handleConfirmReport, isSubmitting: isSubmitting }), !interviewState.isComplete && (_jsxs(Stack, { gap: "xs", mt: "md", children: [_jsxs(Group, { justify: "space-between", children: [_jsx(Text, { size: "sm", fw: 500, children: "Screenshot (optional)" }), screenshot ? (_jsx(Button, { variant: "subtle", color: "red", size: "xs", leftSection: _jsx(IconX, { size: 14 }), onClick: removeScreenshot, children: "Remove" })) : (_jsxs(Group, { gap: "xs", children: [_jsx(Button, { variant: "light", size: "xs", leftSection: _jsx(IconCamera, { size: 14 }), onClick: captureScreenshot, loading: isCapturing, children: "Capture" }), _jsx(FileButton, { onChange: handleFileUpload, accept: "image/*", children: (props) => (_jsx(Button, { ...props, variant: "light", size: "xs", leftSection: _jsx(IconUpload, { size: 14 }), children: "Upload" })) })] }))] }), screenshot && (_jsx(Paper, { withBorder: true, p: "xs", radius: "md", children: _jsx(Image, { src: screenshot, alt: "Screenshot", radius: "md", fit: "contain", h: 100 }) }))] }))] })) : formMode === 'bug' ? (_jsx("form", { onSubmit: bugForm.onSubmit(handleBugSubmit), children: _jsxs(Stack, { gap: "md", children: [_jsx(TextInput, { label: "Title", placeholder: "Brief summary of the issue", required: true, ...bugForm.getInputProps('title') }), _jsx(Textarea, { label: "Description", placeholder: "What happened? What were you trying to do? What did you expect to happen?", required: true, minRows: 4, ...bugForm.getInputProps('description') }), _jsx(Select, { label: "Severity", placeholder: "How severe is this issue?", data: [
610
+ }, children: "Try Again" }), _jsx(Button, { variant: "subtle", size: "xs", onClick: () => setInputMode('form'), children: "Switch to Form" })] })] })), inputMode === 'interview' && enableInterview ? (_jsxs(Box, { children: [(interviewState.threadId || interviewState.isThinking) && (_jsx(Paper, { withBorder: true, p: "sm", mb: "md", radius: "md", style: {
611
+ backgroundColor: 'var(--mantine-color-orange-light)',
612
+ borderColor: 'var(--mantine-color-orange-4)'
613
+ }, children: _jsxs(Group, { justify: "space-between", w: "100%", children: [_jsx(Group, { gap: "xs", children: _jsx(Text, { size: "sm", fw: 500, children: interviewState.isThinking && !interviewState.threadId
614
+ ? 'Starting AI interview...'
615
+ : 'AI Interview in progress' }) }), _jsx(Tooltip, { label: "Cancel interview and use manual form", position: "left", children: _jsx(Button, { variant: "light", color: "orange", size: "xs", leftSection: _jsx(IconX, { size: 14 }), onClick: () => handleInputModeChange(false), children: "Cancel Interview" }) })] }) })), _jsx(InterviewChat, { messages: interviewState.messages, isThinking: interviewState.isThinking, waitingForInput: interviewState.waitingForInput, pendingRequest: interviewState.pendingRequest ?? undefined, isComplete: interviewState.isComplete, generatedReport: interviewState.generatedReport ?? undefined, reportType: formMode, onSubmitInput: handleInterviewInput, onConfirmReport: handleConfirmReport, isSubmitting: isSubmitting }), !interviewState.isComplete && (_jsxs(Stack, { gap: "xs", mt: "md", children: [_jsxs(Group, { justify: "space-between", children: [_jsx(Text, { size: "sm", fw: 500, children: "Screenshot (optional)" }), screenshot ? (_jsx(Button, { variant: "subtle", color: "red", size: "xs", leftSection: _jsx(IconX, { size: 14 }), onClick: removeScreenshot, children: "Remove" })) : (_jsxs(Group, { gap: "xs", children: [_jsx(Button, { variant: "light", size: "xs", leftSection: _jsx(IconCamera, { size: 14 }), onClick: captureScreenshot, loading: isCapturing, children: "Capture" }), _jsx(FileButton, { onChange: handleFileUpload, accept: "image/*", children: (props) => (_jsx(Button, { ...props, variant: "light", size: "xs", leftSection: _jsx(IconUpload, { size: 14 }), children: "Upload" })) })] }))] }), screenshot && (_jsx(Paper, { withBorder: true, p: "xs", radius: "md", children: _jsx(Image, { src: screenshot, alt: "Screenshot", radius: "md", fit: "contain", h: 100 }) }))] }))] })) : formMode === 'bug' ? (_jsx("form", { onSubmit: bugForm.onSubmit(handleBugSubmit), children: _jsxs(Stack, { gap: "md", children: [_jsx(TextInput, { label: "Title", placeholder: "Brief summary of the issue", required: true, ...bugForm.getInputProps('title') }), _jsx(Textarea, { label: "Description", placeholder: "What happened? What were you trying to do? What did you expect to happen?", required: true, minRows: 4, ...bugForm.getInputProps('description') }), _jsx(Select, { label: "Severity", placeholder: "How severe is this issue?", data: [
611
616
  { value: 'low', label: 'Low - Minor inconvenience' },
612
617
  { value: 'medium', label: 'Medium - Affects workflow' },
613
618
  { value: 'high', label: 'High - Major functionality broken' },