@fatagnus/convex-feedback 0.2.7 → 0.2.9

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 (98) hide show
  1. package/README.md +346 -4
  2. package/dist/convex/_generated/api.d.ts +2310 -0
  3. package/dist/convex/_generated/api.d.ts.map +1 -0
  4. package/dist/convex/_generated/api.js +32 -0
  5. package/dist/convex/_generated/api.js.map +1 -0
  6. package/dist/convex/_generated/dataModel.d.ts +46 -0
  7. package/dist/convex/_generated/dataModel.d.ts.map +1 -0
  8. package/dist/convex/_generated/dataModel.js +11 -0
  9. package/dist/convex/_generated/dataModel.js.map +1 -0
  10. package/dist/convex/_generated/server.d.ts +121 -0
  11. package/dist/convex/_generated/server.d.ts.map +1 -0
  12. package/dist/convex/_generated/server.js +78 -0
  13. package/dist/convex/_generated/server.js.map +1 -0
  14. package/dist/convex/agents/bugReportAgent.d.ts +35 -9
  15. package/dist/convex/agents/bugReportAgent.d.ts.map +1 -1
  16. package/dist/convex/agents/bugReportAgent.js +61 -27
  17. package/dist/convex/agents/bugReportAgent.js.map +1 -1
  18. package/dist/convex/agents/feedbackAgent.d.ts +35 -9
  19. package/dist/convex/agents/feedbackAgent.d.ts.map +1 -1
  20. package/dist/convex/agents/feedbackAgent.js +61 -27
  21. package/dist/convex/agents/feedbackAgent.js.map +1 -1
  22. package/dist/convex/agents/feedbackInterviewAgent.d.ts +76 -0
  23. package/dist/convex/agents/feedbackInterviewAgent.d.ts.map +1 -0
  24. package/dist/convex/agents/feedbackInterviewAgent.js +812 -0
  25. package/dist/convex/agents/feedbackInterviewAgent.js.map +1 -0
  26. package/dist/convex/agents/index.d.ts +9 -0
  27. package/dist/convex/agents/index.d.ts.map +1 -0
  28. package/dist/convex/agents/index.js +13 -0
  29. package/dist/convex/agents/index.js.map +1 -0
  30. package/dist/convex/apiKeys.d.ts +56 -0
  31. package/dist/convex/apiKeys.d.ts.map +1 -0
  32. package/dist/convex/apiKeys.js +197 -0
  33. package/dist/convex/apiKeys.js.map +1 -0
  34. package/dist/convex/bugReports.d.ts +131 -11
  35. package/dist/convex/bugReports.d.ts.map +1 -1
  36. package/dist/convex/bugReports.js +138 -10
  37. package/dist/convex/bugReports.js.map +1 -1
  38. package/dist/convex/emails/bugReportEmails.d.ts +31 -2
  39. package/dist/convex/emails/bugReportEmails.d.ts.map +1 -1
  40. package/dist/convex/emails/bugReportEmails.js +6 -3
  41. package/dist/convex/emails/bugReportEmails.js.map +1 -1
  42. package/dist/convex/emails/feedbackEmails.d.ts +31 -2
  43. package/dist/convex/emails/feedbackEmails.d.ts.map +1 -1
  44. package/dist/convex/emails/feedbackEmails.js +6 -3
  45. package/dist/convex/emails/feedbackEmails.js.map +1 -1
  46. package/dist/convex/feedback.d.ts +132 -11
  47. package/dist/convex/feedback.d.ts.map +1 -1
  48. package/dist/convex/feedback.js +146 -9
  49. package/dist/convex/feedback.js.map +1 -1
  50. package/dist/convex/http.d.ts +39 -0
  51. package/dist/convex/http.d.ts.map +1 -0
  52. package/dist/convex/http.js +467 -0
  53. package/dist/convex/http.js.map +1 -0
  54. package/dist/convex/index.d.ts +8 -1
  55. package/dist/convex/index.d.ts.map +1 -1
  56. package/dist/convex/index.js +8 -1
  57. package/dist/convex/index.js.map +1 -1
  58. package/dist/convex/inputRequests.d.ts +118 -0
  59. package/dist/convex/inputRequests.d.ts.map +1 -0
  60. package/dist/convex/inputRequests.js +141 -0
  61. package/dist/convex/inputRequests.js.map +1 -0
  62. package/dist/convex/prompts.d.ts +110 -0
  63. package/dist/convex/prompts.d.ts.map +1 -0
  64. package/dist/convex/prompts.js +403 -0
  65. package/dist/convex/prompts.js.map +1 -0
  66. package/dist/convex/schema.d.ts +310 -54
  67. package/dist/convex/schema.d.ts.map +1 -1
  68. package/dist/convex/schema.js +120 -2
  69. package/dist/convex/schema.js.map +1 -1
  70. package/dist/convex/supportTeams.d.ts +69 -7
  71. package/dist/convex/supportTeams.d.ts.map +1 -1
  72. package/dist/index.d.ts +28 -2
  73. package/dist/index.d.ts.map +1 -1
  74. package/dist/index.js +25 -2
  75. package/dist/index.js.map +1 -1
  76. package/dist/types.d.ts +35 -0
  77. package/dist/types.d.ts.map +1 -1
  78. package/package.json +12 -5
  79. package/src/convex/_generated/api.ts +1 -0
  80. package/src/convex/agents/feedbackInterviewAgent.ts +6 -12
  81. package/src/convex/apiKeys.test.ts +79 -0
  82. package/src/convex/apiKeys.ts +223 -0
  83. package/src/convex/bugReports.ts +126 -1
  84. package/src/convex/feedback.ts +134 -1
  85. package/src/convex/http.test.ts +76 -0
  86. package/src/convex/http.ts +630 -0
  87. package/src/convex/index.ts +11 -0
  88. package/src/convex/prompts.test.ts +185 -0
  89. package/src/convex/prompts.ts +605 -0
  90. package/src/convex/schema.ts +52 -2
  91. package/src/convex/ticketNumbers.ts +4 -0
  92. package/src/convex/tsconfig.json +24 -0
  93. package/src/index.ts +33 -1
  94. package/src/types.ts +38 -0
  95. package/dist/convex/convex.config.d.ts +0 -3
  96. package/dist/convex/convex.config.d.ts.map +0 -1
  97. package/dist/convex/convex.config.js +0 -6
  98. package/dist/convex/convex.config.js.map +0 -1
@@ -4,46 +4,167 @@
4
4
  * 1. We want to capture feedback even when auth might be broken
5
5
  * 2. The reporter info is passed explicitly from the client
6
6
  */
7
- export declare const create: any;
7
+ export declare const create: import("convex/server").RegisteredMutation<"public", {
8
+ route?: string;
9
+ consoleErrors?: string;
10
+ screenshotStorageId?: import("convex/values").GenericId<"_storage">;
11
+ openRouterApiKey?: string;
12
+ resendApiKey?: string;
13
+ resendFromEmail?: string;
14
+ skipAutoProcess?: boolean;
15
+ type: "feature_request" | "change_request" | "general";
16
+ description: string;
17
+ reporterType: "staff" | "customer";
18
+ title: string;
19
+ reporterId: string;
20
+ reporterEmail: string;
21
+ reporterName: string;
22
+ url: string;
23
+ browserInfo: string;
24
+ viewportWidth: number;
25
+ viewportHeight: number;
26
+ networkState: string;
27
+ priority: "critical" | "nice_to_have" | "important";
28
+ }, Promise<import("convex/values").GenericId<"feedback">>>;
8
29
  /**
9
30
  * List feedback with optional filters.
10
31
  * By default, archived items are excluded unless includeArchived is true.
11
32
  */
12
- export declare const list: any;
33
+ export declare const list: import("convex/server").RegisteredQuery<"public", {
34
+ type?: "feature_request" | "change_request" | "general";
35
+ status?: "open" | "under_review" | "planned" | "in_progress" | "completed" | "declined";
36
+ priority?: "critical" | "nice_to_have" | "important";
37
+ limit?: number;
38
+ includeArchived?: boolean;
39
+ }, Promise<any>>;
13
40
  /**
14
41
  * Get a single feedback by ID.
15
42
  */
16
- export declare const get: any;
43
+ export declare const get: import("convex/server").RegisteredQuery<"public", {
44
+ feedbackId: import("convex/values").GenericId<"feedback">;
45
+ }, Promise<{
46
+ _id: import("convex/values").GenericId<"feedback">;
47
+ _creationTime: number;
48
+ isArchived?: boolean;
49
+ route?: string;
50
+ consoleErrors?: string;
51
+ screenshotStorageId?: import("convex/values").GenericId<"_storage">;
52
+ aiSummary?: string;
53
+ aiEstimatedEffort?: "low" | "medium" | "high";
54
+ aiAnalyzedAt?: number;
55
+ aiThreadId?: string;
56
+ notificationsSentAt?: number;
57
+ ticketNumber?: string;
58
+ aiImpactAnalysis?: string;
59
+ aiActionItems?: string[];
60
+ aiSuggestedPriority?: "critical" | "nice_to_have" | "important";
61
+ type: "feature_request" | "change_request" | "general";
62
+ description: string;
63
+ status: "open" | "under_review" | "planned" | "in_progress" | "completed" | "declined";
64
+ reporterType: "staff" | "customer";
65
+ title: string;
66
+ reporterId: string;
67
+ reporterEmail: string;
68
+ reporterName: string;
69
+ url: string;
70
+ browserInfo: string;
71
+ viewportWidth: number;
72
+ viewportHeight: number;
73
+ networkState: string;
74
+ createdAt: number;
75
+ updatedAt: number;
76
+ priority: "critical" | "nice_to_have" | "important";
77
+ }>>;
17
78
  /**
18
79
  * Update feedback status.
19
80
  */
20
- export declare const updateStatus: any;
81
+ export declare const updateStatus: import("convex/server").RegisteredMutation<"public", {
82
+ status: "open" | "under_review" | "planned" | "in_progress" | "completed" | "declined";
83
+ feedbackId: import("convex/values").GenericId<"feedback">;
84
+ }, Promise<any>>;
21
85
  /**
22
86
  * Generate upload URL for screenshot.
23
87
  */
24
- export declare const generateUploadUrl: any;
88
+ export declare const generateUploadUrl: import("convex/server").RegisteredMutation<"public", {}, Promise<string>>;
25
89
  /**
26
90
  * Get screenshot URL from storage ID.
27
91
  */
28
- export declare const getScreenshotUrl: any;
92
+ export declare const getScreenshotUrl: import("convex/server").RegisteredQuery<"public", {
93
+ storageId: import("convex/values").GenericId<"_storage">;
94
+ }, Promise<string>>;
29
95
  /**
30
96
  * Archive feedback.
31
97
  */
32
- export declare const archive: any;
98
+ export declare const archive: import("convex/server").RegisteredMutation<"public", {
99
+ feedbackId: import("convex/values").GenericId<"feedback">;
100
+ }, Promise<any>>;
33
101
  /**
34
102
  * Unarchive feedback.
35
103
  */
36
- export declare const unarchive: any;
104
+ export declare const unarchive: import("convex/server").RegisteredMutation<"public", {
105
+ feedbackId: import("convex/values").GenericId<"feedback">;
106
+ }, Promise<any>>;
37
107
  /**
38
108
  * Get AI analysis for a specific feedback.
39
109
  */
40
- export declare const getAiAnalysis: any;
110
+ export declare const getAiAnalysis: import("convex/server").RegisteredQuery<"public", {
111
+ feedbackId: import("convex/values").GenericId<"feedback">;
112
+ }, Promise<{
113
+ aiSummary: string;
114
+ aiImpactAnalysis: string;
115
+ aiActionItems: string[];
116
+ aiEstimatedEffort: "low" | "medium" | "high";
117
+ aiSuggestedPriority: "critical" | "nice_to_have" | "important";
118
+ aiAnalyzedAt: number;
119
+ notificationsSentAt: number;
120
+ }>>;
41
121
  /**
42
122
  * Internal mutation to update feedback with AI analysis results
43
123
  */
44
- export declare const updateWithAnalysis: any;
124
+ export declare const updateWithAnalysis: import("convex/server").RegisteredMutation<"internal", {
125
+ aiSummary: string;
126
+ aiEstimatedEffort: "low" | "medium" | "high";
127
+ aiThreadId: string;
128
+ aiImpactAnalysis: string;
129
+ aiActionItems: string[];
130
+ aiSuggestedPriority: "critical" | "nice_to_have" | "important";
131
+ feedbackId: import("convex/values").GenericId<"feedback">;
132
+ }, Promise<any>>;
45
133
  /**
46
134
  * Internal mutation to mark notifications as sent
47
135
  */
48
- export declare const markNotificationsSent: any;
136
+ export declare const markNotificationsSent: import("convex/server").RegisteredMutation<"internal", {
137
+ feedbackId: import("convex/values").GenericId<"feedback">;
138
+ }, Promise<any>>;
139
+ /**
140
+ * Internal query to list feedback (for HTTP API).
141
+ */
142
+ export declare const listInternal: import("convex/server").RegisteredQuery<"internal", {
143
+ type?: "feature_request" | "change_request" | "general";
144
+ status?: "open" | "under_review" | "planned" | "in_progress" | "completed" | "declined";
145
+ priority?: "critical" | "nice_to_have" | "important";
146
+ limit?: number;
147
+ includeArchived?: boolean;
148
+ }, Promise<any>>;
149
+ /**
150
+ * Internal mutation to archive/unarchive feedback by ticket number (for HTTP API).
151
+ */
152
+ export declare const setArchivedByTicketNumber: import("convex/server").RegisteredMutation<"internal", {
153
+ isArchived: boolean;
154
+ ticketNumber: string;
155
+ }, Promise<{
156
+ success: boolean;
157
+ ticketNumber: string;
158
+ isArchived: boolean;
159
+ }>>;
160
+ /**
161
+ * Internal mutation to update feedback status by ticket number (for HTTP API).
162
+ */
163
+ export declare const updateStatusByTicketNumber: import("convex/server").RegisteredMutation<"internal", {
164
+ status: "open" | "under_review" | "planned" | "in_progress" | "completed" | "declined";
165
+ ticketNumber: string;
166
+ }, Promise<{
167
+ success: boolean;
168
+ ticketNumber: string;
169
+ }>>;
49
170
  //# sourceMappingURL=feedback.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"feedback.d.ts","sourceRoot":"","sources":["../../src/convex/feedback.ts"],"names":[],"mappings":"AA8CA;;;;;GAKG;AACH,eAAO,MAAM,MAAM,KAyDjB,CAAC;AAEH;;;GAGG;AACH,eAAO,MAAM,IAAI,KAkDf,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,GAAG,KAQd,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,YAAY,KAmBvB,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,iBAAiB,KAM5B,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,gBAAgB,KAQ3B,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,OAAO,KAkBlB,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,SAAS,KAkBpB,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,aAAa,KAgCxB,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,kBAAkB,KAwB7B,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,qBAAqB,KAYhC,CAAC"}
1
+ {"version":3,"file":"feedback.d.ts","sourceRoot":"","sources":["../../src/convex/feedback.ts"],"names":[],"mappings":"AA+CA;;;;;GAKG;AACH,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;0DA6FjB,CAAC;AAEH;;;GAGG;AACH,eAAO,MAAM,IAAI;;;;;;gBAkDf,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAQd,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,YAAY;;;gBAmBvB,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,iBAAiB,2EAM5B,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,gBAAgB;;mBAQ3B,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,OAAO;;gBAkBlB,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,SAAS;;gBAkBpB,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,aAAa;;;;;;;;;;GAgCxB,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,kBAAkB;;;;;;;;gBAwB7B,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,qBAAqB;;gBAYhC,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,YAAY;;;;;;gBAiDvB,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,yBAAyB;;;;;;;GAuBpC,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,0BAA0B;;;;;;GAuBrC,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import { v } from "convex/values";
2
- import { mutation, query, internalMutation } from "./_generated/server";
2
+ import { mutation, query, internalMutation, internalQuery } from "./_generated/server";
3
3
  import { internal } from "./_generated/api";
4
4
  import { feedbackTypeValidator, feedbackPriorityValidator, feedbackStatusValidator, reporterTypeValidator, effortValidator, } from "./schema";
5
5
  // Return type for feedback records
@@ -35,6 +35,7 @@ const feedbackReturnValidator = v.object({
35
35
  aiAnalyzedAt: v.optional(v.number()),
36
36
  aiThreadId: v.optional(v.string()),
37
37
  notificationsSentAt: v.optional(v.number()),
38
+ ticketNumber: v.optional(v.string()),
38
39
  });
39
40
  /**
40
41
  * Create new feedback.
@@ -60,10 +61,37 @@ export const create = mutation({
60
61
  viewportWidth: v.number(),
61
62
  viewportHeight: v.number(),
62
63
  networkState: v.string(),
64
+ // When true, skip auto-scheduling of AI analysis/email notifications
65
+ // Use this when the parent app will handle processing with its own API keys
66
+ skipAutoProcess: v.optional(v.boolean()),
67
+ // Optional API keys - pass from parent app since components don't inherit env vars
68
+ openRouterApiKey: v.optional(v.string()),
69
+ resendApiKey: v.optional(v.string()),
70
+ resendFromEmail: v.optional(v.string()),
63
71
  },
64
72
  returns: v.id("feedback"),
65
73
  handler: async (ctx, args) => {
66
74
  const now = Date.now();
75
+ // Generate ticket number
76
+ const year = new Date().getFullYear();
77
+ const counter = await ctx.db
78
+ .query("ticketCounters")
79
+ .withIndex("by_type_year", (q) => q.eq("type", "feedback").eq("year", year))
80
+ .unique();
81
+ let nextNumber;
82
+ if (counter) {
83
+ nextNumber = counter.nextNumber;
84
+ await ctx.db.patch(counter._id, { nextNumber: nextNumber + 1 });
85
+ }
86
+ else {
87
+ nextNumber = 1;
88
+ await ctx.db.insert("ticketCounters", {
89
+ type: "feedback",
90
+ year,
91
+ nextNumber: 2,
92
+ });
93
+ }
94
+ const ticketNumber = `FB-${year}-${nextNumber.toString().padStart(4, "0")}`;
67
95
  const feedbackId = await ctx.db.insert("feedback", {
68
96
  type: args.type,
69
97
  title: args.title,
@@ -82,18 +110,26 @@ export const create = mutation({
82
110
  viewportWidth: args.viewportWidth,
83
111
  viewportHeight: args.viewportHeight,
84
112
  networkState: args.networkState,
113
+ ticketNumber,
85
114
  createdAt: now,
86
115
  updatedAt: now,
87
116
  });
88
117
  // Schedule AI analysis and email notifications (runs immediately)
89
- try {
90
- await ctx.scheduler.runAfter(0, internal.agents.feedbackAgent.processFeedback, {
91
- feedbackId,
92
- });
93
- }
94
- catch {
95
- // AI agent not available, continue without analysis
96
- console.log("AI agent not configured, skipping analysis");
118
+ // Skip if parent app will handle processing with its own API keys
119
+ if (!args.skipAutoProcess) {
120
+ try {
121
+ await ctx.scheduler.runAfter(0, internal.agents.feedbackAgent.processFeedback, {
122
+ feedbackId,
123
+ // Forward API keys from parent app (components don't inherit env vars)
124
+ openRouterApiKey: args.openRouterApiKey,
125
+ resendApiKey: args.resendApiKey,
126
+ resendFromEmail: args.resendFromEmail,
127
+ });
128
+ }
129
+ catch {
130
+ // AI agent not available, continue without analysis
131
+ console.log("AI agent not configured, skipping analysis");
132
+ }
97
133
  }
98
134
  return feedbackId;
99
135
  },
@@ -324,4 +360,105 @@ export const markNotificationsSent = internalMutation({
324
360
  return null;
325
361
  },
326
362
  });
363
+ /**
364
+ * Internal query to list feedback (for HTTP API).
365
+ */
366
+ export const listInternal = internalQuery({
367
+ args: {
368
+ status: v.optional(feedbackStatusValidator),
369
+ type: v.optional(feedbackTypeValidator),
370
+ priority: v.optional(feedbackPriorityValidator),
371
+ includeArchived: v.optional(v.boolean()),
372
+ limit: v.optional(v.number()),
373
+ },
374
+ returns: v.array(feedbackReturnValidator),
375
+ handler: async (ctx, args) => {
376
+ const limit = args.limit ?? 50;
377
+ const includeArchived = args.includeArchived ?? false;
378
+ let results;
379
+ if (args.status) {
380
+ const status = args.status;
381
+ results = await ctx.db
382
+ .query("feedback")
383
+ .withIndex("by_status", (q) => q.eq("status", status))
384
+ .order("desc")
385
+ .take(limit * 2);
386
+ }
387
+ else if (args.type) {
388
+ const type = args.type;
389
+ results = await ctx.db
390
+ .query("feedback")
391
+ .withIndex("by_type", (q) => q.eq("type", type))
392
+ .order("desc")
393
+ .take(limit * 2);
394
+ }
395
+ else if (args.priority) {
396
+ const priority = args.priority;
397
+ results = await ctx.db
398
+ .query("feedback")
399
+ .withIndex("by_priority", (q) => q.eq("priority", priority))
400
+ .order("desc")
401
+ .take(limit * 2);
402
+ }
403
+ else {
404
+ results = await ctx.db
405
+ .query("feedback")
406
+ .withIndex("by_created")
407
+ .order("desc")
408
+ .take(limit * 2);
409
+ }
410
+ if (!includeArchived) {
411
+ results = results.filter((r) => !r.isArchived);
412
+ }
413
+ return results.slice(0, limit);
414
+ },
415
+ });
416
+ /**
417
+ * Internal mutation to archive/unarchive feedback by ticket number (for HTTP API).
418
+ */
419
+ export const setArchivedByTicketNumber = internalMutation({
420
+ args: {
421
+ ticketNumber: v.string(),
422
+ isArchived: v.boolean(),
423
+ },
424
+ returns: v.union(v.object({ success: v.boolean(), ticketNumber: v.string(), isArchived: v.boolean() }), v.null()),
425
+ handler: async (ctx, args) => {
426
+ const feedback = await ctx.db
427
+ .query("feedback")
428
+ .withIndex("by_ticket_number", (q) => q.eq("ticketNumber", args.ticketNumber))
429
+ .unique();
430
+ if (!feedback) {
431
+ return null;
432
+ }
433
+ await ctx.db.patch(feedback._id, {
434
+ isArchived: args.isArchived,
435
+ updatedAt: Date.now(),
436
+ });
437
+ return { success: true, ticketNumber: args.ticketNumber, isArchived: args.isArchived };
438
+ },
439
+ });
440
+ /**
441
+ * Internal mutation to update feedback status by ticket number (for HTTP API).
442
+ */
443
+ export const updateStatusByTicketNumber = internalMutation({
444
+ args: {
445
+ ticketNumber: v.string(),
446
+ status: feedbackStatusValidator,
447
+ },
448
+ returns: v.union(v.object({ success: v.boolean(), ticketNumber: v.string() }), v.null()),
449
+ handler: async (ctx, args) => {
450
+ const feedback = await ctx.db
451
+ .query("feedback")
452
+ .withIndex("by_ticket_number", (q) => q.eq("ticketNumber", args.ticketNumber))
453
+ .unique();
454
+ if (!feedback) {
455
+ return null;
456
+ }
457
+ await ctx.db.patch(feedback._id, {
458
+ status: args.status,
459
+ updatedAt: Date.now(),
460
+ });
461
+ return { success: true, ticketNumber: args.ticketNumber };
462
+ },
463
+ });
327
464
  //# sourceMappingURL=feedback.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"feedback.js","sourceRoot":"","sources":["../../src/convex/feedback.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"feedback.js","sourceRoot":"","sources":["../../src/convex/feedback.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,39 @@
1
+ import { HttpRouter } from "convex/server";
2
+ import type { RegisterFeedbackRoutesOptions } from "../types";
3
+ export type { RegisterFeedbackRoutesOptions };
4
+ /**
5
+ * Register all feedback HTTP routes on the provided router.
6
+ *
7
+ * This allows consumer apps to integrate the feedback API into their own HTTP router.
8
+ *
9
+ * @example
10
+ * ```typescript
11
+ * // In your app's convex/http.ts:
12
+ * import { httpRouter } from "convex/server";
13
+ * import { registerFeedbackRoutes } from "@convex-dev/feedback/convex";
14
+ *
15
+ * const http = httpRouter();
16
+ *
17
+ * // Register feedback routes with optional prefix
18
+ * registerFeedbackRoutes(http, { pathPrefix: "/feedback" });
19
+ *
20
+ * // Your other routes...
21
+ * http.route({ path: "/api/health", method: "GET", handler: ... });
22
+ *
23
+ * export default http;
24
+ * ```
25
+ *
26
+ * Registered routes:
27
+ * - GET {prefix}/api/prompt/{ticketNumber} - Fetch AI prompt for a ticket
28
+ * - GET {prefix}/api/items - List bug reports and feedback
29
+ * - GET {prefix}/api/items/{ticketNumber} - Get a single item
30
+ * - PATCH {prefix}/api/items/{ticketNumber}/status - Update item status
31
+ * - PATCH {prefix}/api/items/{ticketNumber}/archive - Archive/unarchive item
32
+ *
33
+ * @param router - The HttpRouter to register routes on
34
+ * @param options - Optional configuration
35
+ */
36
+ export declare function registerFeedbackRoutes(router: HttpRouter, options?: RegisterFeedbackRoutesOptions): void;
37
+ declare const http: HttpRouter;
38
+ export default http;
39
+ //# sourceMappingURL=http.d.ts.map
@@ -0,0 +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;AAmC9C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,UAAU,EAClB,OAAO,GAAE,6BAAkC,GAC1C,IAAI,CAmiBN;AAGD,QAAA,MAAM,IAAI,YAAe,CAAC;AAG1B,eAAe,IAAI,CAAC"}