convex-feedback 0.1.4 → 0.2.0-beta.0

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 (79) hide show
  1. package/README.md +87 -27
  2. package/dist/.tsbuildinfo +1 -1
  3. package/dist/client/api.d.ts +80 -1
  4. package/dist/client/api.d.ts.map +1 -1
  5. package/dist/client/config.d.ts +1 -1
  6. package/dist/client/index.d.ts +9 -5
  7. package/dist/client/index.d.ts.map +1 -1
  8. package/dist/client/index.js +261 -8
  9. package/dist/client/index.js.map +1 -1
  10. package/dist/component/_generated/api.d.ts +8 -0
  11. package/dist/component/_generated/api.d.ts.map +1 -1
  12. package/dist/component/_generated/api.js.map +1 -1
  13. package/dist/component/_generated/component.d.ts +295 -5
  14. package/dist/component/_generated/component.d.ts.map +1 -1
  15. package/dist/component/admin.d.ts +130 -0
  16. package/dist/component/admin.d.ts.map +1 -0
  17. package/dist/component/admin.js +125 -0
  18. package/dist/component/admin.js.map +1 -0
  19. package/dist/component/comments.d.ts +7 -5
  20. package/dist/component/comments.d.ts.map +1 -1
  21. package/dist/component/comments.js +4 -3
  22. package/dist/component/comments.js.map +1 -1
  23. package/dist/component/crons.d.ts +3 -0
  24. package/dist/component/crons.d.ts.map +1 -0
  25. package/dist/component/crons.js +8 -0
  26. package/dist/component/crons.js.map +1 -0
  27. package/dist/component/entries.d.ts +29 -16
  28. package/dist/component/entries.d.ts.map +1 -1
  29. package/dist/component/entries.js +136 -12
  30. package/dist/component/entries.js.map +1 -1
  31. package/dist/component/helpers.d.ts +3 -1
  32. package/dist/component/helpers.d.ts.map +1 -1
  33. package/dist/component/helpers.js +28 -0
  34. package/dist/component/helpers.js.map +1 -1
  35. package/dist/component/migrations.d.ts +11 -0
  36. package/dist/component/migrations.d.ts.map +1 -0
  37. package/dist/component/migrations.js +35 -0
  38. package/dist/component/migrations.js.map +1 -0
  39. package/dist/component/model.d.ts +144 -24
  40. package/dist/component/model.d.ts.map +1 -1
  41. package/dist/component/model.js +34 -1
  42. package/dist/component/model.js.map +1 -1
  43. package/dist/component/roadmap.d.ts +166 -0
  44. package/dist/component/roadmap.d.ts.map +1 -0
  45. package/dist/component/roadmap.js +534 -0
  46. package/dist/component/roadmap.js.map +1 -0
  47. package/dist/component/schema.d.ts +67 -5
  48. package/dist/component/schema.d.ts.map +1 -1
  49. package/dist/component/schema.js +57 -2
  50. package/dist/component/schema.js.map +1 -1
  51. package/dist/component/tags.d.ts +58 -0
  52. package/dist/component/tags.d.ts.map +1 -0
  53. package/dist/component/tags.js +216 -0
  54. package/dist/component/tags.js.map +1 -0
  55. package/dist/react/index.d.ts +173 -12
  56. package/dist/react/index.d.ts.map +1 -1
  57. package/dist/react/index.js +78 -1
  58. package/dist/react/index.js.map +1 -1
  59. package/dist/test.d.ts +67 -5
  60. package/dist/test.d.ts.map +1 -1
  61. package/package.json +6 -2
  62. package/src/client/README.md +1 -1
  63. package/src/client/api.ts +183 -0
  64. package/src/client/config.ts +1 -1
  65. package/src/client/index.ts +340 -13
  66. package/src/component/README.md +3 -1
  67. package/src/component/_generated/api.ts +8 -0
  68. package/src/component/_generated/component.ts +373 -9
  69. package/src/component/admin.ts +180 -0
  70. package/src/component/comments.ts +5 -2
  71. package/src/component/crons.ts +16 -0
  72. package/src/component/entries.ts +175 -11
  73. package/src/component/helpers.ts +44 -1
  74. package/src/component/migrations.ts +44 -0
  75. package/src/component/model.ts +79 -4
  76. package/src/component/roadmap.ts +627 -0
  77. package/src/component/schema.ts +61 -1
  78. package/src/react/README.md +2 -2
  79. package/src/react/index.ts +152 -4
@@ -1,5 +1,5 @@
1
1
  import type { FeedbackPublicApi } from "../client/api.js";
2
- import type { CommentSort, EntryKind, EntrySort, EntryStatus } from "../component/model.js";
2
+ import type { CommentSort, EntryKind, EntryPriority, EntrySort, EntryStatus, EntryStatusFilter, RoadmapStatus } from "../component/model.js";
3
3
  /**
4
4
  * Client-side pagination defaults used by hooks created with
5
5
  * `createFeedbackHooks`.
@@ -10,7 +10,8 @@ import type { CommentSort, EntryKind, EntrySort, EntryStatus } from "../componen
10
10
  */
11
11
  export interface FeedbackHooksOptions {
12
12
  /**
13
- * Number of entries initially requested by `useEntries`.
13
+ * Number of entries initially requested by entry-list hooks, including the
14
+ * public board, admin inbox, admin search, and roadmap attachments.
14
15
  *
15
16
  * @default 20
16
17
  */
@@ -28,6 +29,12 @@ export interface FeedbackHooksOptions {
28
29
  * @default 10
29
30
  */
30
31
  replyPageSize?: number;
32
+ /**
33
+ * Number of roadmap items initially requested by `useRoadmap`.
34
+ *
35
+ * @default 30
36
+ */
37
+ roadmapPageSize?: number;
31
38
  }
32
39
  /**
33
40
  * Arguments accepted by `useEntries`.
@@ -44,6 +51,8 @@ export interface UseEntriesArgs {
44
51
  kinds?: readonly EntryKind[];
45
52
  /** Optional workflow-status filter. */
46
53
  status?: EntryStatus;
54
+ /** Optional indexed open or closed board bucket. */
55
+ statusFilter?: EntryStatusFilter;
47
56
  /**
48
57
  * Server-side entry ordering.
49
58
  *
@@ -96,6 +105,8 @@ export interface SearchEntriesArgs {
96
105
  kinds?: readonly EntryKind[];
97
106
  /** Optional workflow-status filter. */
98
107
  status?: EntryStatus;
108
+ /** Optional indexed open or closed board bucket. */
109
+ statusFilter?: EntryStatusFilter;
99
110
  /**
100
111
  * Maximum number of results requested.
101
112
  *
@@ -104,6 +115,14 @@ export interface SearchEntriesArgs {
104
115
  */
105
116
  limit?: number;
106
117
  }
118
+ export interface UseAdminEntriesArgs {
119
+ kinds?: readonly EntryKind[];
120
+ status?: EntryStatus;
121
+ priority?: EntryPriority;
122
+ }
123
+ export interface UseAdminSearchEntriesArgs extends UseAdminEntriesArgs {
124
+ searchQuery: string;
125
+ }
107
126
  /**
108
127
  * Arguments accepted by `useSimilarEntries`.
109
128
  */
@@ -155,6 +174,7 @@ declare function createFeedbackHooksImplementation<RateLimitResult>(api: Feedbac
155
174
  readonly entries: number;
156
175
  readonly comments: number;
157
176
  readonly replies: number;
177
+ readonly roadmap: number;
158
178
  };
159
179
  /**
160
180
  * Returns a cursor-paginated, server-filtered entry list.
@@ -167,10 +187,10 @@ declare function createFeedbackHooksImplementation<RateLimitResult>(api: Feedbac
167
187
  } | undefined;
168
188
  id: string;
169
189
  creationTime: number;
190
+ title: string;
191
+ status: "open" | "under_review" | "planned" | "in_progress" | "completed" | "closed";
170
192
  actorId: string;
171
193
  kind: "feedback" | "feature_request" | "bug_report";
172
- status: "open" | "under_review" | "planned" | "in_progress" | "completed" | "closed";
173
- title: string;
174
194
  body: string;
175
195
  upvoteCount: number;
176
196
  commentCount: number;
@@ -189,10 +209,10 @@ declare function createFeedbackHooksImplementation<RateLimitResult>(api: Feedbac
189
209
  } | undefined;
190
210
  id: string;
191
211
  creationTime: number;
212
+ title: string;
213
+ status: "open" | "under_review" | "planned" | "in_progress" | "completed" | "closed";
192
214
  actorId: string;
193
215
  kind: "feedback" | "feature_request" | "bug_report";
194
- status: "open" | "under_review" | "planned" | "in_progress" | "completed" | "closed";
195
- title: string;
196
216
  body: string;
197
217
  upvoteCount: number;
198
218
  commentCount: number;
@@ -211,15 +231,148 @@ declare function createFeedbackHooksImplementation<RateLimitResult>(api: Feedbac
211
231
  } | undefined;
212
232
  id: string;
213
233
  creationTime: number;
234
+ title: string;
235
+ status: "open" | "under_review" | "planned" | "in_progress" | "completed" | "closed";
236
+ actorId: string;
237
+ kind: "feedback" | "feature_request" | "bug_report";
238
+ body: string;
239
+ upvoteCount: number;
240
+ commentCount: number;
241
+ viewerHasUpvoted: boolean;
242
+ }[] | undefined;
243
+ /** Returns whether the authenticated host actor is an admin. */
244
+ useIsAdmin(): boolean | undefined;
245
+ /** Returns whether the current request has an authenticated actor. */
246
+ useIsAuthenticated(): boolean | undefined;
247
+ /** Returns a cursor-paginated admin inbox with private triage relationships. */
248
+ useAdminEntries(args?: UseAdminEntriesArgs): import("convex/react").UsePaginatedQueryReturnType<import("convex/server").FunctionReference<"query", "public", import("../client/api.js").AdminListEntriesArgs, import("convex/server").PaginationResult<{
249
+ updatedAt?: number | undefined;
250
+ metadata?: {
251
+ standard?: Record<string, string | number | boolean> | undefined;
252
+ additional?: Record<string, string | number | boolean> | undefined;
253
+ } | undefined;
254
+ id: string;
255
+ creationTime: number;
256
+ title: string;
257
+ status: "open" | "under_review" | "planned" | "in_progress" | "completed" | "closed";
214
258
  actorId: string;
215
259
  kind: "feedback" | "feature_request" | "bug_report";
260
+ body: string;
261
+ upvoteCount: number;
262
+ commentCount: number;
263
+ viewerHasUpvoted: boolean;
264
+ priority?: "low" | "medium" | "high" | undefined;
265
+ roadmap?: {
266
+ description?: string | undefined;
267
+ id: string;
268
+ creationTime: number;
269
+ title: string;
270
+ status: "planned" | "in_progress" | "shipped";
271
+ position: number;
272
+ createdAt: number;
273
+ updatedAt: number;
274
+ feedbackCount: number;
275
+ } | undefined;
276
+ }>, string | undefined>>;
277
+ /** Returns one admin-enriched feedback entry. */
278
+ useAdminEntry(entryId: string | null | undefined): {
279
+ updatedAt?: number | undefined;
280
+ metadata?: {
281
+ standard?: Record<string, string | number | boolean> | undefined;
282
+ additional?: Record<string, string | number | boolean> | undefined;
283
+ } | undefined;
284
+ id: string;
285
+ creationTime: number;
286
+ title: string;
216
287
  status: "open" | "under_review" | "planned" | "in_progress" | "completed" | "closed";
288
+ actorId: string;
289
+ kind: "feedback" | "feature_request" | "bug_report";
290
+ body: string;
291
+ upvoteCount: number;
292
+ commentCount: number;
293
+ viewerHasUpvoted: boolean;
294
+ priority?: "low" | "medium" | "high" | undefined;
295
+ roadmap?: {
296
+ description?: string | undefined;
297
+ id: string;
298
+ creationTime: number;
299
+ title: string;
300
+ status: "planned" | "in_progress" | "shipped";
301
+ position: number;
302
+ createdAt: number;
303
+ updatedAt: number;
304
+ feedbackCount: number;
305
+ } | undefined;
306
+ } | null | undefined;
307
+ /** Searches the admin inbox with triage filters. */
308
+ useAdminSearchEntries(args: UseAdminSearchEntriesArgs): import("convex/react").UsePaginatedQueryReturnType<import("convex/server").FunctionReference<"query", "public", import("../client/api.js").AdminSearchEntriesArgs, import("convex/server").PaginationResult<{
309
+ updatedAt?: number | undefined;
310
+ metadata?: {
311
+ standard?: Record<string, string | number | boolean> | undefined;
312
+ additional?: Record<string, string | number | boolean> | undefined;
313
+ } | undefined;
314
+ id: string;
315
+ creationTime: number;
217
316
  title: string;
317
+ status: "open" | "under_review" | "planned" | "in_progress" | "completed" | "closed";
318
+ actorId: string;
319
+ kind: "feedback" | "feature_request" | "bug_report";
218
320
  body: string;
219
321
  upvoteCount: number;
220
322
  commentCount: number;
221
323
  viewerHasUpvoted: boolean;
324
+ priority?: "low" | "medium" | "high" | undefined;
325
+ roadmap?: {
326
+ description?: string | undefined;
327
+ id: string;
328
+ creationTime: number;
329
+ title: string;
330
+ status: "planned" | "in_progress" | "shipped";
331
+ position: number;
332
+ createdAt: number;
333
+ updatedAt: number;
334
+ feedbackCount: number;
335
+ } | undefined;
336
+ }>, string | undefined>>;
337
+ useRoadmap(status?: RoadmapStatus): import("convex/react").UsePaginatedQueryReturnType<import("convex/server").FunctionReference<"query", "public", import("../client/api.js").ListRoadmapArgs, import("convex/server").PaginationResult<{
338
+ description?: string | undefined;
339
+ id: string;
340
+ creationTime: number;
341
+ title: string;
342
+ status: "planned" | "in_progress" | "shipped";
343
+ position: number;
344
+ createdAt: number;
345
+ updatedAt: number;
346
+ feedbackCount: number;
347
+ }>, string | undefined>>;
348
+ useSearchRoadmap(searchQuery: string, limit?: number): {
349
+ description?: string | undefined;
350
+ id: string;
351
+ creationTime: number;
352
+ title: string;
353
+ status: "planned" | "in_progress" | "shipped";
354
+ position: number;
355
+ createdAt: number;
356
+ updatedAt: number;
357
+ feedbackCount: number;
222
358
  }[] | undefined;
359
+ useRoadmapFeedback(roadmapId: string | null | undefined): import("convex/react").UsePaginatedQueryReturnType<import("convex/server").FunctionReference<"query", "public", import("../client/api.js").ListRoadmapFeedbackArgs, import("convex/server").PaginationResult<{
360
+ updatedAt?: number | undefined;
361
+ metadata?: {
362
+ standard?: Record<string, string | number | boolean> | undefined;
363
+ additional?: Record<string, string | number | boolean> | undefined;
364
+ } | undefined;
365
+ id: string;
366
+ creationTime: number;
367
+ title: string;
368
+ status: "open" | "under_review" | "planned" | "in_progress" | "completed" | "closed";
369
+ actorId: string;
370
+ kind: "feedback" | "feature_request" | "bug_report";
371
+ body: string;
372
+ upvoteCount: number;
373
+ commentCount: number;
374
+ viewerHasUpvoted: boolean;
375
+ }>, string | undefined>>;
223
376
  /**
224
377
  * Reactively finds exact and similar entries for a proposed draft.
225
378
  *
@@ -237,10 +390,10 @@ declare function createFeedbackHooksImplementation<RateLimitResult>(api: Feedbac
237
390
  } | undefined;
238
391
  id: string;
239
392
  creationTime: number;
393
+ title: string;
394
+ status: "open" | "under_review" | "planned" | "in_progress" | "completed" | "closed";
240
395
  actorId: string;
241
396
  kind: "feedback" | "feature_request" | "bug_report";
242
- status: "open" | "under_review" | "planned" | "in_progress" | "completed" | "closed";
243
- title: string;
244
397
  body: string;
245
398
  upvoteCount: number;
246
399
  commentCount: number;
@@ -254,10 +407,10 @@ declare function createFeedbackHooksImplementation<RateLimitResult>(api: Feedbac
254
407
  } | undefined;
255
408
  id: string;
256
409
  creationTime: number;
410
+ title: string;
411
+ status: "open" | "under_review" | "planned" | "in_progress" | "completed" | "closed";
257
412
  actorId: string;
258
413
  kind: "feedback" | "feature_request" | "bug_report";
259
- status: "open" | "under_review" | "planned" | "in_progress" | "completed" | "closed";
260
- title: string;
261
414
  body: string;
262
415
  upvoteCount: number;
263
416
  commentCount: number;
@@ -287,6 +440,14 @@ declare function createFeedbackHooksImplementation<RateLimitResult>(api: Feedbac
287
440
  useUpdateEntry(): import("convex/react").ReactMutation<import("convex/server").FunctionReference<"mutation", "public", import("../client/api.js").UpdateEntryArgs, RateLimitResult | null, string | undefined>>;
288
441
  /** Returns the bound status mutation. */
289
442
  useSetEntryStatus(): import("convex/react").ReactMutation<import("convex/server").FunctionReference<"mutation", "public", import("../client/api.js").SetEntryStatusArgs, RateLimitResult | null, string | undefined>>;
443
+ useSetEntryPriority(): import("convex/react").ReactMutation<import("convex/server").FunctionReference<"mutation", "public", import("../client/api.js").SetEntryPriorityArgs, RateLimitResult | null, string | undefined>>;
444
+ useCreateRoadmap(): import("convex/react").ReactMutation<import("convex/server").FunctionReference<"mutation", "public", import("../client/api.js").CreateRoadmapArgs, string | RateLimitResult, string | undefined>>;
445
+ useCreateRoadmapForEntry(): import("convex/react").ReactMutation<import("convex/server").FunctionReference<"mutation", "public", import("../client/api.js").CreateRoadmapForEntryArgs, string | RateLimitResult, string | undefined>>;
446
+ useUpdateRoadmap(): import("convex/react").ReactMutation<import("convex/server").FunctionReference<"mutation", "public", import("../client/api.js").UpdateRoadmapArgs, RateLimitResult | null, string | undefined>>;
447
+ useDeleteRoadmap(): import("convex/react").ReactMutation<import("convex/server").FunctionReference<"mutation", "public", import("../client/api.js").DeleteRoadmapArgs, RateLimitResult | null, string | undefined>>;
448
+ useMoveRoadmapItem(): import("convex/react").ReactMutation<import("convex/server").FunctionReference<"mutation", "public", import("../client/api.js").MoveRoadmapArgs, number | RateLimitResult, string | undefined>>;
449
+ useAttachFeedbackToRoadmap(): import("convex/react").ReactMutation<import("convex/server").FunctionReference<"mutation", "public", import("../client/api.js").AttachFeedbackToRoadmapArgs, RateLimitResult | null, string | undefined>>;
450
+ useDetachFeedbackFromRoadmap(): import("convex/react").ReactMutation<import("convex/server").FunctionReference<"mutation", "public", import("../client/api.js").DetachFeedbackFromRoadmapArgs, RateLimitResult | null, string | undefined>>;
290
451
  /** Returns the idempotent entry-upvote state mutation. */
291
452
  useSetEntryUpvote(): import("convex/react").ReactMutation<import("convex/server").FunctionReference<"mutation", "public", import("../client/api.js").SetEntryUpvoteArgs, import("../client/api.js").SetEntryUpvoteResult | RateLimitResult, string | undefined>>;
292
453
  /** Returns the create-comment/reply mutation. */
@@ -300,9 +461,9 @@ declare function createFeedbackHooksImplementation<RateLimitResult>(api: Feedbac
300
461
  };
301
462
  type CreatedFeedbackHooks<RateLimitResult> = ReturnType<typeof createFeedbackHooksImplementation<RateLimitResult>>;
302
463
  /** Creates hooks for a feedback API whose rate limiters reject by throwing. */
303
- export declare function createFeedbackHooks(api: FeedbackPublicApi<string | undefined, never>, options?: FeedbackHooksOptions): CreatedFeedbackHooks<never>;
464
+ export declare function createFeedbackHooks(api?: FeedbackPublicApi<string | undefined, never>, options?: FeedbackHooksOptions): CreatedFeedbackHooks<never>;
304
465
  /** Creates hooks carrying a validated non-throwing rate-limit result. */
305
- export declare function createFeedbackHooks<RateLimitResult>(api: FeedbackPublicApi<string | undefined, RateLimitResult>, options?: FeedbackHooksOptions): CreatedFeedbackHooks<RateLimitResult>;
466
+ export declare function createFeedbackHooks<RateLimitResult>(api?: FeedbackPublicApi<string | undefined, RateLimitResult>, options?: FeedbackHooksOptions): CreatedFeedbackHooks<RateLimitResult>;
306
467
  /**
307
468
  * Hook collection returned by `createFeedbackHooks`.
308
469
  *
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/react/index.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,KAAK,EACV,WAAW,EACX,SAAS,EACT,SAAS,EACT,WAAW,EAEZ,MAAM,uBAAuB,CAAC;AAE/B;;;;;;;GAOG;AACH,MAAM,WAAW,oBAAoB;IACnC;;;;OAIG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB;;;;OAIG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IAEzB;;;;;OAKG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B;;;;;;;OAOG;IACH,KAAK,CAAC,EAAE,SAAS,SAAS,EAAE,CAAC;IAE7B,uCAAuC;IACvC,MAAM,CAAC,EAAE,WAAW,CAAC;IAErB;;;;OAIG;IACH,IAAI,CAAC,EAAE,SAAS,CAAC;CAClB;AAED;;;;;GAKG;AACH,MAAM,WAAW,eAAe;IAC9B,gDAAgD;IAChD,OAAO,EAAE,MAAM,CAAC;IAEhB;;;;;;;;;OASG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IAEzB;;;;OAIG;IACH,IAAI,CAAC,EAAE,WAAW,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC;;;;OAIG;IACH,WAAW,EAAE,MAAM,CAAC;IAEpB;;;;OAIG;IACH,KAAK,CAAC,EAAE,SAAS,SAAS,EAAE,CAAC;IAE7B,uCAAuC;IACvC,MAAM,CAAC,EAAE,WAAW,CAAC;IAErB;;;;;OAKG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC;;;;OAIG;IACH,KAAK,EAAE,MAAM,CAAC;IAEd;;;;OAIG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;;;OAIG;IACH,IAAI,CAAC,EAAE,SAAS,CAAC;IAEjB;;;;;;;;OAQG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAaD;;;;;;;;GAQG;AACH,iBAAS,iCAAiC,CAAC,eAAe,EACxD,GAAG,EAAE,iBAAiB,CAAC,MAAM,GAAG,SAAS,EAAE,eAAe,CAAC,EAC3D,OAAO,GAAE,oBAAyB;IAOhC;;;OAGG;;;;;;IAOH;;OAEG;sBACc,cAAc;;;;;;;;;;;;;;;;;IAY/B;;;;OAIG;sBACe,MAAM,GAAG,IAAI,GAAG,SAAS;;;;;;;;;;;;;;;;;IAO3C;;;;OAIG;2BACoB,iBAAiB;;;;;;;;;;;;;;;;;IAkBxC;;;;;;;OAOG;4BACqB,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAmB1C;;OAEG;sBACe,eAAe;;;;;;;;;;;;;;IAOjC,+CAA+C;;IAK/C,+CAA+C;;IAK/C,yCAAyC;;IAKzC,0DAA0D;;IAK1D,iDAAiD;;IAKjD,2CAA2C;;IAK3C,gDAAgD;;IAKhD,0DAA0D;;EAK7D;AAED,KAAK,oBAAoB,CAAC,eAAe,IAAI,UAAU,CACrD,OAAO,iCAAiC,CAAC,eAAe,CAAC,CAC1D,CAAC;AAEF,+EAA+E;AAC/E,wBAAgB,mBAAmB,CACjC,GAAG,EAAE,iBAAiB,CAAC,MAAM,GAAG,SAAS,EAAE,KAAK,CAAC,EACjD,OAAO,CAAC,EAAE,oBAAoB,GAC7B,oBAAoB,CAAC,KAAK,CAAC,CAAC;AAE/B,yEAAyE;AACzE,wBAAgB,mBAAmB,CAAC,eAAe,EACjD,GAAG,EAAE,iBAAiB,CAAC,MAAM,GAAG,SAAS,EAAE,eAAe,CAAC,EAC3D,OAAO,CAAC,EAAE,oBAAoB,GAC7B,oBAAoB,CAAC,eAAe,CAAC,CAAC;AASzC;;;;;;;;GAQG;AACH,MAAM,MAAM,aAAa,CAAC,eAAe,GAAG,KAAK,IAC/C,oBAAoB,CAAC,eAAe,CAAC,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/react/index.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  "use client";
2
2
  import { usePaginatedQuery } from "convex-helpers/react";
3
3
  import { useMutation, useQuery } from "convex/react";
4
+ import { anyApi } from "convex/server";
4
5
  const emptySimilarEntriesResult = {
5
6
  exact: [],
6
7
  similar: [],
@@ -23,6 +24,7 @@ function createFeedbackHooksImplementation(api, options = {}) {
23
24
  const entryPageSize = positivePageSize(options.entryPageSize, 20);
24
25
  const commentPageSize = positivePageSize(options.commentPageSize, 20);
25
26
  const replyPageSize = positivePageSize(options.replyPageSize, 10);
27
+ const roadmapPageSize = positivePageSize(options.roadmapPageSize, 30);
26
28
  return {
27
29
  /**
28
30
  * Resolved client-side page sizes used by the generated hooks and useful
@@ -32,6 +34,7 @@ function createFeedbackHooksImplementation(api, options = {}) {
32
34
  entries: entryPageSize,
33
35
  comments: commentPageSize,
34
36
  replies: replyPageSize,
37
+ roadmap: roadmapPageSize,
35
38
  },
36
39
  /**
37
40
  * Returns a cursor-paginated, server-filtered entry list.
@@ -40,6 +43,9 @@ function createFeedbackHooksImplementation(api, options = {}) {
40
43
  const queryArgs = {
41
44
  ...(args.kinds === undefined ? {} : { kinds: [...args.kinds] }),
42
45
  ...(args.status === undefined ? {} : { status: args.status }),
46
+ ...(args.statusFilter === undefined
47
+ ? {}
48
+ : { statusFilter: args.statusFilter }),
43
49
  ...(args.sort === undefined ? {} : { sort: args.sort }),
44
50
  };
45
51
  return usePaginatedQuery(api.listEntries, queryArgs, {
@@ -65,11 +71,58 @@ function createFeedbackHooksImplementation(api, options = {}) {
65
71
  searchQuery,
66
72
  ...(args.kinds === undefined ? {} : { kinds: [...args.kinds] }),
67
73
  ...(args.status === undefined ? {} : { status: args.status }),
74
+ ...(args.statusFilter === undefined
75
+ ? {}
76
+ : { statusFilter: args.statusFilter }),
68
77
  ...(args.limit === undefined ? {} : { limit: args.limit }),
69
78
  };
70
79
  const result = useQuery(api.searchEntries, searchQuery.length === 0 ? "skip" : queryArgs);
71
80
  return searchQuery.length === 0 ? [] : result;
72
81
  },
82
+ /** Returns whether the authenticated host actor is an admin. */
83
+ useIsAdmin() {
84
+ return useQuery(api.isAdmin, {});
85
+ },
86
+ /** Returns whether the current request has an authenticated actor. */
87
+ useIsAuthenticated() {
88
+ return useQuery(api.isAuthenticated, {});
89
+ },
90
+ /** Returns a cursor-paginated admin inbox with private triage relationships. */
91
+ useAdminEntries(args = {}) {
92
+ return usePaginatedQuery(api.adminListEntries, {
93
+ ...(args.kinds === undefined ? {} : { kinds: [...args.kinds] }),
94
+ ...(args.status === undefined ? {} : { status: args.status }),
95
+ ...(args.priority === undefined ? {} : { priority: args.priority }),
96
+ }, { initialNumItems: entryPageSize });
97
+ },
98
+ /** Returns one admin-enriched feedback entry. */
99
+ useAdminEntry(entryId) {
100
+ return useQuery(api.adminGetEntry, entryId === null || entryId === undefined ? "skip" : { entryId });
101
+ },
102
+ /** Searches the admin inbox with triage filters. */
103
+ useAdminSearchEntries(args) {
104
+ const searchQuery = args.searchQuery.trim();
105
+ return usePaginatedQuery(api.adminSearchEntries, searchQuery.length === 0
106
+ ? "skip"
107
+ : {
108
+ searchQuery,
109
+ ...(args.kinds === undefined ? {} : { kinds: [...args.kinds] }),
110
+ ...(args.status === undefined ? {} : { status: args.status }),
111
+ ...(args.priority === undefined
112
+ ? {}
113
+ : { priority: args.priority }),
114
+ }, { initialNumItems: entryPageSize });
115
+ },
116
+ useRoadmap(status) {
117
+ return usePaginatedQuery(api.listRoadmap, status === undefined ? {} : { status }, { initialNumItems: roadmapPageSize });
118
+ },
119
+ useSearchRoadmap(searchQuery, limit = 10) {
120
+ const normalized = searchQuery.trim();
121
+ return useQuery(api.searchRoadmap, normalized.length === 0 ? "skip" : { searchQuery: normalized, limit });
122
+ },
123
+ useRoadmapFeedback(roadmapId) {
124
+ return usePaginatedQuery(api.listRoadmapFeedback, roadmapId === null || roadmapId === undefined ? "skip" : { roadmapId }, { initialNumItems: entryPageSize });
125
+ },
73
126
  /**
74
127
  * Reactively finds exact and similar entries for a proposed draft.
75
128
  *
@@ -109,6 +162,30 @@ function createFeedbackHooksImplementation(api, options = {}) {
109
162
  useSetEntryStatus() {
110
163
  return useMutation(api.setEntryStatus);
111
164
  },
165
+ useSetEntryPriority() {
166
+ return useMutation(api.setEntryPriority);
167
+ },
168
+ useCreateRoadmap() {
169
+ return useMutation(api.createRoadmap);
170
+ },
171
+ useCreateRoadmapForEntry() {
172
+ return useMutation(api.createRoadmapForEntry);
173
+ },
174
+ useUpdateRoadmap() {
175
+ return useMutation(api.updateRoadmap);
176
+ },
177
+ useDeleteRoadmap() {
178
+ return useMutation(api.deleteRoadmap);
179
+ },
180
+ useMoveRoadmapItem() {
181
+ return useMutation(api.moveRoadmapItem);
182
+ },
183
+ useAttachFeedbackToRoadmap() {
184
+ return useMutation(api.attachFeedbackToRoadmap);
185
+ },
186
+ useDetachFeedbackFromRoadmap() {
187
+ return useMutation(api.detachFeedbackFromRoadmap);
188
+ },
112
189
  /** Returns the idempotent entry-upvote state mutation. */
113
190
  useSetEntryUpvote() {
114
191
  return useMutation(api.setEntryUpvote);
@@ -131,7 +208,7 @@ function createFeedbackHooksImplementation(api, options = {}) {
131
208
  },
132
209
  };
133
210
  }
134
- export function createFeedbackHooks(api, options = {}) {
211
+ export function createFeedbackHooks(api = anyApi.feedback, options = {}) {
135
212
  return createFeedbackHooksImplementation(api, options);
136
213
  }
137
214
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/react/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/react/index.ts"],"names":[],"mappings":"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"}
package/dist/test.d.ts CHANGED
@@ -13,10 +13,13 @@ declare const _default: {
13
13
  standard?: Record<string, string | number | boolean> | undefined;
14
14
  additional?: Record<string, string | number | boolean> | undefined;
15
15
  } | undefined;
16
+ priority?: "low" | "medium" | "high" | undefined;
17
+ statusFilter?: "open" | "closed" | undefined;
18
+ roadmapId?: import("convex/values").GenericId<"roadmap"> | undefined;
19
+ title: string;
20
+ status: "open" | "under_review" | "planned" | "in_progress" | "completed" | "closed";
16
21
  actorId: string;
17
22
  kind: "feedback" | "feature_request" | "bug_report";
18
- status: "open" | "under_review" | "planned" | "in_progress" | "completed" | "closed";
19
- title: string;
20
23
  body: string;
21
24
  upvoteCount: number;
22
25
  commentCount: number;
@@ -26,6 +29,7 @@ declare const _default: {
26
29
  actorId: import("convex/values").VString<string, "required">;
27
30
  kind: import("convex/values").VUnion<"feedback" | "feature_request" | "bug_report", [import("convex/values").VLiteral<"feedback", "required">, import("convex/values").VLiteral<"feature_request", "required">, import("convex/values").VLiteral<"bug_report", "required">], "required", never>;
28
31
  status: import("convex/values").VUnion<"open" | "under_review" | "planned" | "in_progress" | "completed" | "closed", [import("convex/values").VLiteral<"open", "required">, import("convex/values").VLiteral<"under_review", "required">, import("convex/values").VLiteral<"planned", "required">, import("convex/values").VLiteral<"in_progress", "required">, import("convex/values").VLiteral<"completed", "required">, import("convex/values").VLiteral<"closed", "required">], "required", never>;
32
+ statusFilter: import("convex/values").VUnion<"open" | "closed" | undefined, [import("convex/values").VLiteral<"open", "required">, import("convex/values").VLiteral<"closed", "required">], "optional", never>;
29
33
  title: import("convex/values").VString<string, "required">;
30
34
  body: import("convex/values").VString<string, "required">;
31
35
  normalizedTitle: import("convex/values").VString<string, "required">;
@@ -40,22 +44,80 @@ declare const _default: {
40
44
  standard: import("convex/values").VRecord<Record<string, string | number | boolean> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VUnion<string | number | boolean, [import("convex/values").VString<string, "required">, import("convex/values").VFloat64<number, "required">, import("convex/values").VBoolean<boolean, "required">], "required", never>, "optional", string>;
41
45
  additional: import("convex/values").VRecord<Record<string, string | number | boolean> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VUnion<string | number | boolean, [import("convex/values").VString<string, "required">, import("convex/values").VFloat64<number, "required">, import("convex/values").VBoolean<boolean, "required">], "required", never>, "optional", string>;
42
46
  }, "optional", "standard" | "additional" | `standard.${string}` | `additional.${string}`>;
43
- }, "required", "actorId" | "kind" | "status" | "title" | "body" | "upvoteCount" | "commentCount" | "updatedAt" | "metadata" | "metadata.standard" | "metadata.additional" | `metadata.standard.${string}` | `metadata.additional.${string}` | "normalizedTitle" | "searchText">, {
47
+ priority: import("convex/values").VUnion<"low" | "medium" | "high" | undefined, [import("convex/values").VLiteral<"low", "required">, import("convex/values").VLiteral<"medium", "required">, import("convex/values").VLiteral<"high", "required">], "optional", never>;
48
+ roadmapId: import("convex/values").VId<import("convex/values").GenericId<"roadmap"> | undefined, "optional">;
49
+ }, "required", "title" | "status" | "updatedAt" | "actorId" | "kind" | "body" | "upvoteCount" | "commentCount" | "metadata" | "metadata.standard" | "metadata.additional" | `metadata.standard.${string}` | `metadata.additional.${string}` | "priority" | "statusFilter" | "normalizedTitle" | "searchText" | "roadmapId">, {
44
50
  by_kind: ["kind", "_creationTime"];
45
51
  by_status: ["status", "_creationTime"];
46
52
  by_kind_status: ["kind", "status", "_creationTime"];
53
+ by_status_filter: ["statusFilter", "_creationTime"];
54
+ by_kind_status_filter: ["kind", "statusFilter", "_creationTime"];
47
55
  by_upvotes: ["upvoteCount", "_creationTime"];
48
56
  by_kind_upvotes: ["kind", "upvoteCount", "_creationTime"];
49
57
  by_status_upvotes: ["status", "upvoteCount", "_creationTime"];
50
58
  by_kind_status_upvotes: ["kind", "status", "upvoteCount", "_creationTime"];
59
+ by_status_filter_upvotes: ["statusFilter", "upvoteCount", "_creationTime"];
60
+ by_kind_status_filter_upvotes: ["kind", "statusFilter", "upvoteCount", "_creationTime"];
51
61
  by_normalized_title: ["normalizedTitle", "_creationTime"];
52
62
  by_kind_normalized_title: ["kind", "normalizedTitle", "_creationTime"];
63
+ by_priority: ["priority", "_creationTime"];
64
+ by_roadmap_id: ["roadmapId", "_creationTime"];
53
65
  }, {
54
66
  search: {
55
67
  searchField: "searchText";
56
- filterFields: "kind" | "status";
68
+ filterFields: "status" | "kind" | "priority" | "statusFilter";
57
69
  };
58
70
  }, {}>;
71
+ roadmap: import("convex/server").TableDefinition<import("convex/values").VObject<{
72
+ description?: string | undefined;
73
+ deletingAt?: number | undefined;
74
+ rebalanceId?: string | undefined;
75
+ rebalanceRank?: number | undefined;
76
+ rebalancePosition?: number | undefined;
77
+ title: string;
78
+ status: "planned" | "in_progress" | "shipped";
79
+ position: number;
80
+ createdAt: number;
81
+ updatedAt: number;
82
+ feedbackCount: number;
83
+ }, {
84
+ title: import("convex/values").VString<string, "required">;
85
+ description: import("convex/values").VString<string | undefined, "optional">;
86
+ status: import("convex/values").VUnion<"planned" | "in_progress" | "shipped", [import("convex/values").VLiteral<"planned", "required">, import("convex/values").VLiteral<"in_progress", "required">, import("convex/values").VLiteral<"shipped", "required">], "required", never>;
87
+ position: import("convex/values").VFloat64<number, "required">;
88
+ feedbackCount: import("convex/values").VFloat64<number, "required">;
89
+ createdAt: import("convex/values").VFloat64<number, "required">;
90
+ updatedAt: import("convex/values").VFloat64<number, "required">;
91
+ deletingAt: import("convex/values").VFloat64<number | undefined, "optional">;
92
+ rebalanceId: import("convex/values").VString<string | undefined, "optional">;
93
+ rebalanceRank: import("convex/values").VFloat64<number | undefined, "optional">;
94
+ rebalancePosition: import("convex/values").VFloat64<number | undefined, "optional">;
95
+ }, "required", "title" | "description" | "status" | "position" | "createdAt" | "updatedAt" | "feedbackCount" | "deletingAt" | "rebalanceId" | "rebalanceRank" | "rebalancePosition">, {
96
+ by_status_and_position: ["status", "position", "_creationTime"];
97
+ by_status_deleting_at_position: ["status", "deletingAt", "position", "_creationTime"];
98
+ by_deleting_at_and_position: ["deletingAt", "position", "_creationTime"];
99
+ by_status_rebalance_rank: ["status", "rebalanceId", "rebalanceRank", "_creationTime"];
100
+ by_status_deleting_at_rebalance_id_position: ["status", "deletingAt", "rebalanceId", "rebalancePosition", "_creationTime"];
101
+ by_position: ["position", "_creationTime"];
102
+ }, {
103
+ search_title: {
104
+ searchField: "title";
105
+ filterFields: "status" | "deletingAt";
106
+ };
107
+ }, {}>;
108
+ roadmapRebalances: import("convex/server").TableDefinition<import("convex/values").VObject<{
109
+ visibleGeneration?: string | undefined;
110
+ activeGeneration?: string | undefined;
111
+ status: "planned" | "in_progress" | "shipped";
112
+ nextGeneration: number;
113
+ }, {
114
+ status: import("convex/values").VUnion<"planned" | "in_progress" | "shipped", [import("convex/values").VLiteral<"planned", "required">, import("convex/values").VLiteral<"in_progress", "required">, import("convex/values").VLiteral<"shipped", "required">], "required", never>;
115
+ nextGeneration: import("convex/values").VFloat64<number, "required">;
116
+ visibleGeneration: import("convex/values").VString<string | undefined, "optional">;
117
+ activeGeneration: import("convex/values").VString<string | undefined, "optional">;
118
+ }, "required", "status" | "nextGeneration" | "visibleGeneration" | "activeGeneration">, {
119
+ by_status: ["status", "_creationTime"];
120
+ }, {}, {}>;
59
121
  comments: import("convex/server").TableDefinition<import("convex/values").VObject<{
60
122
  updatedAt?: number | undefined;
61
123
  parentCommentId?: import("convex/values").GenericId<"comments"> | undefined;
@@ -76,7 +138,7 @@ declare const _default: {
76
138
  replyCount: import("convex/values").VFloat64<number, "required">;
77
139
  updatedAt: import("convex/values").VFloat64<number | undefined, "optional">;
78
140
  deletedAt: import("convex/values").VFloat64<number | undefined, "optional">;
79
- }, "required", "actorId" | "body" | "updatedAt" | "entryId" | "parentCommentId" | "depth" | "likeCount" | "replyCount" | "deletedAt">, {
141
+ }, "required", "updatedAt" | "actorId" | "body" | "entryId" | "parentCommentId" | "depth" | "likeCount" | "replyCount" | "deletedAt">, {
80
142
  by_entry_parent: ["entryId", "parentCommentId", "_creationTime"];
81
143
  by_entry_parent_likes: ["entryId", "parentCommentId", "likeCount", "_creationTime"];
82
144
  }, {}, {}>;
@@ -1 +1 @@
1
- {"version":3,"file":"test.d.ts","sourceRoot":"","sources":["../src/test.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,KAAK,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAErE,OAAO,MAAM,MAAM,uBAAuB,CAAC;AAE3C,QAAA,MAAM,OAAO,wCAA0C,CAAC;AAExD,wBAAgB,QAAQ,CACtB,IAAI,EAAE,UAAU,CAAC,gBAAgB,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC,EAC1D,IAAI,SAAa,GAChB,IAAI,CAEN;AAED,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAC3B,wBAA6C"}
1
+ {"version":3,"file":"test.d.ts","sourceRoot":"","sources":["../src/test.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,KAAK,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAErE,OAAO,MAAM,MAAM,uBAAuB,CAAC;AAE3C,QAAA,MAAM,OAAO,wCAA0C,CAAC;AAExD,wBAAgB,QAAQ,CACtB,IAAI,EAAE,UAAU,CAAC,gBAAgB,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC,EAC1D,IAAI,SAAa,GAChB,IAAI,CAEN;AAED,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAC3B,wBAA6C"}
package/package.json CHANGED
@@ -1,8 +1,12 @@
1
1
  {
2
2
  "name": "convex-feedback",
3
- "version": "0.1.4",
3
+ "version": "0.2.0-beta.0",
4
4
  "description": "Type-safe Convex component for feedback, feature requests, bug reports, voting, comments, and duplicate search.",
5
5
  "license": "Apache-2.0",
6
+ "repository": {
7
+ "type": "git",
8
+ "url": "https://github.com/Moumen-io/convex-feedback.git"
9
+ },
6
10
  "type": "module",
7
11
  "sideEffects": false,
8
12
  "files": [
@@ -54,7 +58,7 @@
54
58
  "convex": "^1.44.0",
55
59
  "convex-helpers": "^0.1.120",
56
60
  "convex-test": "^0.0.55",
57
- "react": "^19.2.8",
61
+ "react": "19.2.3",
58
62
  "@types/react": "^19.2.18",
59
63
  "@edge-runtime/vm": "^5.0.0"
60
64
  },
@@ -3,7 +3,7 @@
3
3
  This layer is the supported server-side integration boundary between a host Convex app and the component.
4
4
 
5
5
  - Construct the client with `createFeedback(...)` and the generated component reference.
6
- - Resolve authentication and moderation in the host app. Components do not own host authentication.
6
+ - Resolve authentication and admin authorization in the host app. Components do not own host authentication.
7
7
  - Keep `actor.id` stable. It is the identity used for authorship, entry upvotes, and comment likes.
8
8
  - Configuration is static code configuration; there is no configuration table.
9
9
  - Call the returned methods from host queries/mutations instead of exposing component internals directly.