convex-feedback 0.1.0 → 0.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,72 +1,267 @@
1
1
  import type { FunctionReference, PaginationOptions, PaginationResult } from "convex/server";
2
2
  import type { CommentSort, EntryKind, EntrySort, EntryStatus, FeedbackComment, FeedbackEntry, SimilarEntriesResult } from "../component/model.js";
3
+ /**
4
+ * Arguments for cursor-paginated entry listing.
5
+ */
6
+ export type ListEntriesArgs = {
7
+ /**
8
+ * Convex cursor-pagination options.
9
+ *
10
+ * React consumers normally do not construct this directly; `useEntries`
11
+ * manages it through `usePaginatedQuery`.
12
+ */
13
+ paginationOpts: PaginationOptions;
14
+ /**
15
+ * Entry kinds to include.
16
+ *
17
+ * Filtering is performed by Convex before pagination. Omit this field to
18
+ * include every kind.
19
+ *
20
+ * Must contain at least one kind when provided.
21
+ */
22
+ kinds?: EntryKind[];
23
+ /** Restricts entries to this workflow status. */
24
+ status?: EntryStatus;
25
+ /**
26
+ * Server-side ordering strategy.
27
+ *
28
+ * When omitted, `config.entries.defaultSort` is used.
29
+ */
30
+ sort?: EntrySort;
31
+ };
32
+ /**
33
+ * Arguments for retrieving one entry.
34
+ */
35
+ export type GetEntryArgs = {
36
+ /** Identifier returned by the component for the requested entry. */
37
+ entryId: string;
38
+ };
39
+ /**
40
+ * Arguments for full-text entry search.
41
+ */
42
+ export type SearchEntriesArgs = {
43
+ /** Full-text query matched against the entry's indexed search text. */
44
+ searchQuery: string;
45
+ /**
46
+ * Entry kinds to include.
47
+ *
48
+ * Filtering occurs inside the Convex query rather than after results reach
49
+ * the client.
50
+ */
51
+ kinds?: EntryKind[];
52
+ /** Optional workflow-status restriction. */
53
+ status?: EntryStatus;
54
+ /**
55
+ * Maximum number of results to return.
56
+ *
57
+ * When omitted, `config.search.defaultLimit` is used. The server clamps the
58
+ * value to `config.search.maxLimit`.
59
+ */
60
+ limit?: number;
61
+ };
62
+ /**
63
+ * Arguments for exact/similar duplicate detection.
64
+ */
65
+ export type FindSimilarEntriesArgs = {
66
+ /**
67
+ * Proposed entry title.
68
+ *
69
+ * Its normalized form is used for exact duplicate detection.
70
+ */
71
+ title: string;
72
+ /**
73
+ * Proposed entry body.
74
+ *
75
+ * Combined with the title for the full-text similarity search.
76
+ */
77
+ body: string;
78
+ /**
79
+ * Restricts duplicate detection to one entry kind.
80
+ *
81
+ * Omit to search every kind.
82
+ */
83
+ kind?: EntryKind;
84
+ /**
85
+ * Maximum combined number of suggestions returned.
86
+ *
87
+ * Exact normalized-title matches consume this limit first. Only remaining
88
+ * slots are available to full-text matches.
89
+ *
90
+ * Therefore:
91
+ *
92
+ * `result.exact.length + result.similar.length <= limit`
93
+ *
94
+ * When omitted, `config.search.duplicateSuggestionLimit` is used.
95
+ */
96
+ limit?: number;
97
+ };
98
+ /**
99
+ * Arguments for creating an entry.
100
+ */
101
+ export type CreateEntryArgs = {
102
+ /** Category of entry to create. */
103
+ kind: EntryKind;
104
+ /** Entry title. */
105
+ title: string;
106
+ /** Entry description/body. */
107
+ body: string;
108
+ };
109
+ /**
110
+ * Arguments for editing an existing entry.
111
+ */
112
+ export type UpdateEntryArgs = {
113
+ /** Entry to update. */
114
+ entryId: string;
115
+ /** Complete replacement title. */
116
+ title: string;
117
+ /** Complete replacement body. */
118
+ body: string;
119
+ };
120
+ /**
121
+ * Arguments for changing an entry workflow status.
122
+ */
123
+ export type SetEntryStatusArgs = {
124
+ /** Entry whose status should change. */
125
+ entryId: string;
126
+ /** Desired workflow status. */
127
+ status: EntryStatus;
128
+ };
129
+ /**
130
+ * Arguments for setting the current actor's entry-upvote state.
131
+ */
132
+ export type SetEntryUpvoteArgs = {
133
+ /** Entry whose upvote state should change. */
134
+ entryId: string;
135
+ /**
136
+ * Desired final state.
137
+ *
138
+ * `true` ensures the current actor has an upvote.
139
+ * `false` ensures the current actor does not have an upvote.
140
+ *
141
+ * This is intentionally state-setting rather than toggle semantics, making
142
+ * the mutation idempotent and safe to retry.
143
+ */
144
+ desiredState: boolean;
145
+ };
146
+ /**
147
+ * Authoritative entry-upvote state returned after a mutation.
148
+ */
149
+ export type SetEntryUpvoteResult = {
150
+ /** Final upvote state for the current actor. */
151
+ active: boolean;
152
+ /** Updated total number of entry upvotes. */
153
+ upvoteCount: number;
154
+ };
155
+ /**
156
+ * Arguments for cursor-paginated comment/reply listing.
157
+ */
158
+ export type ListCommentsArgs = {
159
+ /** Convex cursor-pagination options. */
160
+ paginationOpts: PaginationOptions;
161
+ /** Entry whose conversation should be queried. */
162
+ entryId: string;
163
+ /**
164
+ * Direct parent comment.
165
+ *
166
+ * Omit to query top-level comments. When supplied, only direct children of
167
+ * this comment are returned; deeper descendants are not loaded.
168
+ */
169
+ parentCommentId?: string;
170
+ /**
171
+ * Server-side comment ordering strategy.
172
+ *
173
+ * When omitted, `config.comments.defaultSort` is used.
174
+ */
175
+ sort?: CommentSort;
176
+ };
177
+ /**
178
+ * Arguments for creating a top-level comment or reply.
179
+ */
180
+ export type CreateCommentArgs = {
181
+ /** Entry the comment belongs to. */
182
+ entryId: string;
183
+ /**
184
+ * Direct parent comment.
185
+ *
186
+ * Omit to create a top-level comment.
187
+ */
188
+ parentCommentId?: string;
189
+ /** Comment/reply text. */
190
+ body: string;
191
+ };
192
+ /**
193
+ * Arguments for editing a comment.
194
+ */
195
+ export type UpdateCommentArgs = {
196
+ /** Comment to edit. */
197
+ commentId: string;
198
+ /** Complete replacement body. */
199
+ body: string;
200
+ };
201
+ /**
202
+ * Arguments for soft-deleting a comment.
203
+ */
204
+ export type DeleteCommentArgs = {
205
+ /** Comment to soft-delete. */
206
+ commentId: string;
207
+ };
208
+ /**
209
+ * Arguments for setting the current actor's comment-like state.
210
+ */
211
+ export type SetCommentLikeArgs = {
212
+ /** Comment whose like state should change. */
213
+ commentId: string;
214
+ /**
215
+ * Desired final state.
216
+ *
217
+ * `true` ensures the actor likes the comment.
218
+ * `false` ensures the actor does not like the comment.
219
+ *
220
+ * This is idempotent rather than toggle-based.
221
+ */
222
+ desiredState: boolean;
223
+ };
224
+ /**
225
+ * Authoritative comment-like state returned after a mutation.
226
+ */
227
+ export type SetCommentLikeResult = {
228
+ /** Final like state for the current actor. */
229
+ active: boolean;
230
+ /** Updated total number of comment likes. */
231
+ likeCount: number;
232
+ };
233
+ /**
234
+ * Public Convex API exposed by `exposeFeedbackApi`.
235
+ *
236
+ * The host application exposes these wrappers from its own Convex deployment
237
+ * after resolving authentication and configuration.
238
+ */
3
239
  export interface FeedbackPublicApi<Name extends string | undefined = string | undefined> {
4
- listEntries: FunctionReference<"query", "public", {
5
- paginationOpts: PaginationOptions;
6
- kind?: EntryKind;
7
- status?: EntryStatus;
8
- sort?: EntrySort;
9
- }, PaginationResult<FeedbackEntry>, Name>;
10
- getEntry: FunctionReference<"query", "public", {
11
- entryId: string;
12
- }, FeedbackEntry | null, Name>;
13
- searchEntries: FunctionReference<"query", "public", {
14
- searchQuery: string;
15
- kind?: EntryKind;
16
- status?: EntryStatus;
17
- limit?: number;
18
- }, FeedbackEntry[], Name>;
19
- findSimilarEntries: FunctionReference<"query", "public", {
20
- title: string;
21
- body: string;
22
- kind?: EntryKind;
23
- limit?: number;
24
- }, SimilarEntriesResult, Name>;
25
- createEntry: FunctionReference<"mutation", "public", {
26
- kind: EntryKind;
27
- title: string;
28
- body: string;
29
- }, string, Name>;
30
- updateEntry: FunctionReference<"mutation", "public", {
31
- entryId: string;
32
- title: string;
33
- body: string;
34
- }, null, Name>;
35
- setEntryStatus: FunctionReference<"mutation", "public", {
36
- entryId: string;
37
- status: EntryStatus;
38
- }, null, Name>;
39
- setEntryUpvote: FunctionReference<"mutation", "public", {
40
- entryId: string;
41
- desiredState: boolean;
42
- }, {
43
- active: boolean;
44
- upvoteCount: number;
45
- }, Name>;
46
- listComments: FunctionReference<"query", "public", {
47
- paginationOpts: PaginationOptions;
48
- entryId: string;
49
- parentCommentId?: string;
50
- sort?: CommentSort;
51
- }, PaginationResult<FeedbackComment>, Name>;
52
- createComment: FunctionReference<"mutation", "public", {
53
- entryId: string;
54
- parentCommentId?: string;
55
- body: string;
56
- }, string, Name>;
57
- updateComment: FunctionReference<"mutation", "public", {
58
- commentId: string;
59
- body: string;
60
- }, null, Name>;
61
- deleteComment: FunctionReference<"mutation", "public", {
62
- commentId: string;
63
- }, null, Name>;
64
- setCommentLike: FunctionReference<"mutation", "public", {
65
- commentId: string;
66
- desiredState: boolean;
67
- }, {
68
- active: boolean;
69
- likeCount: number;
70
- }, Name>;
240
+ /** Returns a cursor-paginated entry list. */
241
+ listEntries: FunctionReference<"query", "public", ListEntriesArgs, PaginationResult<FeedbackEntry>, Name>;
242
+ /** Returns one entry or `null` when it does not exist. */
243
+ getEntry: FunctionReference<"query", "public", GetEntryArgs, FeedbackEntry | null, Name>;
244
+ /** Performs full-text entry search. */
245
+ searchEntries: FunctionReference<"query", "public", SearchEntriesArgs, FeedbackEntry[], Name>;
246
+ /** Finds exact and likely duplicate entries. */
247
+ findSimilarEntries: FunctionReference<"query", "public", FindSimilarEntriesArgs, SimilarEntriesResult, Name>;
248
+ /** Creates an entry and returns its public identifier. */
249
+ createEntry: FunctionReference<"mutation", "public", CreateEntryArgs, string, Name>;
250
+ /** Replaces an entry's editable content. */
251
+ updateEntry: FunctionReference<"mutation", "public", UpdateEntryArgs, null, Name>;
252
+ /** Changes an entry's workflow status. */
253
+ setEntryStatus: FunctionReference<"mutation", "public", SetEntryStatusArgs, null, Name>;
254
+ /** Sets the current actor's entry-upvote state. */
255
+ setEntryUpvote: FunctionReference<"mutation", "public", SetEntryUpvoteArgs, SetEntryUpvoteResult, Name>;
256
+ /** Returns one paginated level of comments or replies. */
257
+ listComments: FunctionReference<"query", "public", ListCommentsArgs, PaginationResult<FeedbackComment>, Name>;
258
+ /** Creates a comment or reply and returns its identifier. */
259
+ createComment: FunctionReference<"mutation", "public", CreateCommentArgs, string, Name>;
260
+ /** Replaces a comment's editable body. */
261
+ updateComment: FunctionReference<"mutation", "public", UpdateCommentArgs, null, Name>;
262
+ /** Soft-deletes a comment while preserving thread structure. */
263
+ deleteComment: FunctionReference<"mutation", "public", DeleteCommentArgs, null, Name>;
264
+ /** Sets the current actor's comment-like state. */
265
+ setCommentLike: FunctionReference<"mutation", "public", SetCommentLikeArgs, SetCommentLikeResult, Name>;
71
266
  }
72
267
  //# sourceMappingURL=api.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../src/client/api.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,iBAAiB,EACjB,iBAAiB,EACjB,gBAAgB,EACjB,MAAM,eAAe,CAAC;AAEvB,OAAO,KAAK,EACV,WAAW,EACX,SAAS,EACT,SAAS,EACT,WAAW,EACX,eAAe,EACf,aAAa,EACb,oBAAoB,EACrB,MAAM,uBAAuB,CAAC;AAE/B,MAAM,WAAW,iBAAiB,CAChC,IAAI,SAAS,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS;IAEpD,WAAW,EAAE,iBAAiB,CAC5B,OAAO,EACP,QAAQ,EACR;QACE,cAAc,EAAE,iBAAiB,CAAC;QAClC,IAAI,CAAC,EAAE,SAAS,CAAC;QACjB,MAAM,CAAC,EAAE,WAAW,CAAC;QACrB,IAAI,CAAC,EAAE,SAAS,CAAC;KAClB,EACD,gBAAgB,CAAC,aAAa,CAAC,EAC/B,IAAI,CACL,CAAC;IACF,QAAQ,EAAE,iBAAiB,CACzB,OAAO,EACP,QAAQ,EACR;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,EACnB,aAAa,GAAG,IAAI,EACpB,IAAI,CACL,CAAC;IACF,aAAa,EAAE,iBAAiB,CAC9B,OAAO,EACP,QAAQ,EACR;QACE,WAAW,EAAE,MAAM,CAAC;QACpB,IAAI,CAAC,EAAE,SAAS,CAAC;QACjB,MAAM,CAAC,EAAE,WAAW,CAAC;QACrB,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,EACD,aAAa,EAAE,EACf,IAAI,CACL,CAAC;IACF,kBAAkB,EAAE,iBAAiB,CACnC,OAAO,EACP,QAAQ,EACR;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,SAAS,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,EACjE,oBAAoB,EACpB,IAAI,CACL,CAAC;IACF,WAAW,EAAE,iBAAiB,CAC5B,UAAU,EACV,QAAQ,EACR;QAAE,IAAI,EAAE,SAAS,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,EAChD,MAAM,EACN,IAAI,CACL,CAAC;IACF,WAAW,EAAE,iBAAiB,CAC5B,UAAU,EACV,QAAQ,EACR;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,EAChD,IAAI,EACJ,IAAI,CACL,CAAC;IACF,cAAc,EAAE,iBAAiB,CAC/B,UAAU,EACV,QAAQ,EACR;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,WAAW,CAAA;KAAE,EACxC,IAAI,EACJ,IAAI,CACL,CAAC;IACF,cAAc,EAAE,iBAAiB,CAC/B,UAAU,EACV,QAAQ,EACR;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,OAAO,CAAA;KAAE,EAC1C;QAAE,MAAM,EAAE,OAAO,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,EACxC,IAAI,CACL,CAAC;IACF,YAAY,EAAE,iBAAiB,CAC7B,OAAO,EACP,QAAQ,EACR;QACE,cAAc,EAAE,iBAAiB,CAAC;QAClC,OAAO,EAAE,MAAM,CAAC;QAChB,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,IAAI,CAAC,EAAE,WAAW,CAAC;KACpB,EACD,gBAAgB,CAAC,eAAe,CAAC,EACjC,IAAI,CACL,CAAC;IACF,aAAa,EAAE,iBAAiB,CAC9B,UAAU,EACV,QAAQ,EACR;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,eAAe,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,EAC3D,MAAM,EACN,IAAI,CACL,CAAC;IACF,aAAa,EAAE,iBAAiB,CAC9B,UAAU,EACV,QAAQ,EACR;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,EACnC,IAAI,EACJ,IAAI,CACL,CAAC;IACF,aAAa,EAAE,iBAAiB,CAC9B,UAAU,EACV,QAAQ,EACR;QAAE,SAAS,EAAE,MAAM,CAAA;KAAE,EACrB,IAAI,EACJ,IAAI,CACL,CAAC;IACF,cAAc,EAAE,iBAAiB,CAC/B,UAAU,EACV,QAAQ,EACR;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,OAAO,CAAA;KAAE,EAC5C;QAAE,MAAM,EAAE,OAAO,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,EACtC,IAAI,CACL,CAAC;CACH"}
1
+ {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../src/client/api.ts"],"names":[],"mappings":"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"}
@@ -1,36 +1,175 @@
1
1
  import type { CommentSort, EntryKind, EntrySort, EntryStatus } from "../component/model.js";
2
+ /**
3
+ * Entry-related component configuration.
4
+ */
5
+ export interface FeedbackEntriesConfig {
6
+ /**
7
+ * Entry kinds that may be created through this component instance.
8
+ *
9
+ * @default ["feedback", "feature_request", "bug_report"]
10
+ */
11
+ enabledKinds: readonly EntryKind[];
12
+ /**
13
+ * Status assigned to newly created entries.
14
+ *
15
+ * @default "open"
16
+ */
17
+ defaultStatus: EntryStatus;
18
+ /**
19
+ * Default server-side entry ordering when callers do not specify `sort`.
20
+ *
21
+ * @default "top"
22
+ */
23
+ defaultSort: EntrySort;
24
+ /**
25
+ * Maximum number of entries a caller may request in one pagination batch.
26
+ *
27
+ * Larger requested page sizes are clamped to this value.
28
+ *
29
+ * @default 50
30
+ */
31
+ maxPageSize: number;
32
+ /**
33
+ * Whether entry authors may edit their own title and body.
34
+ *
35
+ * Moderators are governed separately by the resolved actor permissions.
36
+ *
37
+ * @default true
38
+ */
39
+ editableByAuthor: boolean;
40
+ }
41
+ /**
42
+ * Comment and reply configuration.
43
+ */
44
+ export interface FeedbackCommentsConfig {
45
+ /**
46
+ * Maximum allowed nesting depth.
47
+ *
48
+ * Top-level comments have depth `0`. Attempts to create replies deeper than
49
+ * this limit are rejected by the component.
50
+ *
51
+ * @default 5
52
+ */
53
+ maxDepth: number;
54
+ /**
55
+ * Maximum number of comments or replies that may be requested in one
56
+ * pagination batch.
57
+ *
58
+ * @default 50
59
+ */
60
+ maxPageSize: number;
61
+ /**
62
+ * Default server-side comment ordering.
63
+ *
64
+ * @default "top"
65
+ */
66
+ defaultSort: CommentSort;
67
+ /**
68
+ * Whether comment authors may edit their own comments.
69
+ *
70
+ * @default true
71
+ */
72
+ editableByAuthor: boolean;
73
+ /**
74
+ * Whether comment authors may soft-delete their own comments.
75
+ *
76
+ * Deletion preserves the document so nested replies retain their structure.
77
+ *
78
+ * @default true
79
+ */
80
+ deletableByAuthor: boolean;
81
+ }
82
+ /**
83
+ * Full-text search and duplicate-detection configuration.
84
+ */
85
+ export interface FeedbackSearchConfig {
86
+ /**
87
+ * Whether similar/duplicate suggestions are enabled.
88
+ *
89
+ * When disabled, duplicate-search queries return empty `exact` and
90
+ * `similar` arrays.
91
+ *
92
+ * @default true
93
+ */
94
+ duplicateSuggestions: boolean;
95
+ /**
96
+ * Default combined result limit for duplicate suggestions when the caller
97
+ * does not provide `limit`.
98
+ *
99
+ * Exact matches consume this limit before similar matches.
100
+ *
101
+ * @default 5
102
+ */
103
+ duplicateSuggestionLimit: number;
104
+ /**
105
+ * Default result limit for normal full-text entry search.
106
+ *
107
+ * @default 20
108
+ */
109
+ defaultLimit: number;
110
+ /**
111
+ * Maximum allowed result limit for search and duplicate queries.
112
+ *
113
+ * Larger requested limits are clamped to this value.
114
+ *
115
+ * @default 50
116
+ */
117
+ maxLimit: number;
118
+ }
119
+ /**
120
+ * Maximum lengths accepted for user-generated content.
121
+ */
122
+ export interface FeedbackContentLimits {
123
+ /**
124
+ * Maximum entry-title length.
125
+ *
126
+ * @default 160
127
+ */
128
+ titleLength: number;
129
+ /**
130
+ * Maximum entry-body length.
131
+ *
132
+ * @default 10000
133
+ */
134
+ bodyLength: number;
135
+ /**
136
+ * Maximum comment/reply length.
137
+ *
138
+ * @default 5000
139
+ */
140
+ commentLength: number;
141
+ }
142
+ /**
143
+ * Complete server-side configuration for a feedback component instance.
144
+ *
145
+ * Configuration is supplied by the host application and is not persisted in
146
+ * an additional component table.
147
+ */
2
148
  export interface FeedbackConfig {
3
- entries: {
4
- enabledKinds: readonly EntryKind[];
5
- defaultStatus: EntryStatus;
6
- defaultSort: EntrySort;
7
- maxPageSize: number;
8
- editableByAuthor: boolean;
9
- };
10
- comments: {
11
- maxDepth: number;
12
- maxPageSize: number;
13
- defaultSort: CommentSort;
14
- editableByAuthor: boolean;
15
- deletableByAuthor: boolean;
16
- };
17
- search: {
18
- duplicateSuggestions: boolean;
19
- duplicateSuggestionLimit: number;
20
- defaultLimit: number;
21
- maxLimit: number;
22
- };
23
- limits: {
24
- titleLength: number;
25
- bodyLength: number;
26
- commentLength: number;
27
- };
149
+ /** Entry creation, ordering, pagination, and editing rules. */
150
+ entries: FeedbackEntriesConfig;
151
+ /** Comment nesting, ordering, pagination, and editing rules. */
152
+ comments: FeedbackCommentsConfig;
153
+ /** Search and duplicate-detection behavior. */
154
+ search: FeedbackSearchConfig;
155
+ /** User-generated content limits. */
156
+ limits: FeedbackContentLimits;
28
157
  }
158
+ /**
159
+ * Partial configuration accepted by `createFeedbackConfig` and
160
+ * `exposeFeedbackApi`.
161
+ *
162
+ * Missing values fall back to `defaultFeedbackConfig`.
163
+ */
29
164
  export interface FeedbackConfigOverrides {
30
- entries?: Partial<FeedbackConfig["entries"]>;
31
- comments?: Partial<FeedbackConfig["comments"]>;
32
- search?: Partial<FeedbackConfig["search"]>;
33
- limits?: Partial<FeedbackConfig["limits"]>;
165
+ /** Overrides for entry configuration. */
166
+ entries?: Partial<FeedbackEntriesConfig>;
167
+ /** Overrides for comment configuration. */
168
+ comments?: Partial<FeedbackCommentsConfig>;
169
+ /** Overrides for search configuration. */
170
+ search?: Partial<FeedbackSearchConfig>;
171
+ /** Overrides for content limits. */
172
+ limits?: Partial<FeedbackContentLimits>;
34
173
  }
35
174
  export declare const defaultFeedbackConfig: FeedbackConfig;
36
175
  export declare function createFeedbackConfig(overrides?: FeedbackConfigOverrides): FeedbackConfig;
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/client/config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,WAAW,EACX,SAAS,EACT,SAAS,EACT,WAAW,EACZ,MAAM,uBAAuB,CAAC;AAE/B,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE;QACP,YAAY,EAAE,SAAS,SAAS,EAAE,CAAC;QACnC,aAAa,EAAE,WAAW,CAAC;QAC3B,WAAW,EAAE,SAAS,CAAC;QACvB,WAAW,EAAE,MAAM,CAAC;QACpB,gBAAgB,EAAE,OAAO,CAAC;KAC3B,CAAC;IACF,QAAQ,EAAE;QACR,QAAQ,EAAE,MAAM,CAAC;QACjB,WAAW,EAAE,MAAM,CAAC;QACpB,WAAW,EAAE,WAAW,CAAC;QACzB,gBAAgB,EAAE,OAAO,CAAC;QAC1B,iBAAiB,EAAE,OAAO,CAAC;KAC5B,CAAC;IACF,MAAM,EAAE;QACN,oBAAoB,EAAE,OAAO,CAAC;QAC9B,wBAAwB,EAAE,MAAM,CAAC;QACjC,YAAY,EAAE,MAAM,CAAC;QACrB,QAAQ,EAAE,MAAM,CAAC;KAClB,CAAC;IACF,MAAM,EAAE;QACN,WAAW,EAAE,MAAM,CAAC;QACpB,UAAU,EAAE,MAAM,CAAC;QACnB,aAAa,EAAE,MAAM,CAAC;KACvB,CAAC;CACH;AAED,MAAM,WAAW,uBAAuB;IACtC,OAAO,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,CAAC;IAC7C,QAAQ,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC,CAAC;IAC/C,MAAM,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC3C,MAAM,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC;CAC5C;AAED,eAAO,MAAM,qBAAqB,EAAE,cA0BnC,CAAC;AAEF,wBAAgB,oBAAoB,CAClC,SAAS,GAAE,uBAA4B,GACtC,cAAc,CAOhB"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/client/config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,WAAW,EACX,SAAS,EACT,SAAS,EACT,WAAW,EACZ,MAAM,uBAAuB,CAAC;AAE/B;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC;;;;OAIG;IACH,YAAY,EAAE,SAAS,SAAS,EAAE,CAAC;IAEnC;;;;OAIG;IACH,aAAa,EAAE,WAAW,CAAC;IAE3B;;;;OAIG;IACH,WAAW,EAAE,SAAS,CAAC;IAEvB;;;;;;OAMG;IACH,WAAW,EAAE,MAAM,CAAC;IAEpB;;;;;;OAMG;IACH,gBAAgB,EAAE,OAAO,CAAC;CAC3B;AAED;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC;;;;;;;OAOG;IACH,QAAQ,EAAE,MAAM,CAAC;IAEjB;;;;;OAKG;IACH,WAAW,EAAE,MAAM,CAAC;IAEpB;;;;OAIG;IACH,WAAW,EAAE,WAAW,CAAC;IAEzB;;;;OAIG;IACH,gBAAgB,EAAE,OAAO,CAAC;IAE1B;;;;;;OAMG;IACH,iBAAiB,EAAE,OAAO,CAAC;CAC5B;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC;;;;;;;OAOG;IACH,oBAAoB,EAAE,OAAO,CAAC;IAE9B;;;;;;;OAOG;IACH,wBAAwB,EAAE,MAAM,CAAC;IAEjC;;;;OAIG;IACH,YAAY,EAAE,MAAM,CAAC;IAErB;;;;;;OAMG;IACH,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC;;;;OAIG;IACH,WAAW,EAAE,MAAM,CAAC;IAEpB;;;;OAIG;IACH,UAAU,EAAE,MAAM,CAAC;IAEnB;;;;OAIG;IACH,aAAa,EAAE,MAAM,CAAC;CACvB;AAED;;;;;GAKG;AACH,MAAM,WAAW,cAAc;IAC7B,+DAA+D;IAC/D,OAAO,EAAE,qBAAqB,CAAC;IAE/B,gEAAgE;IAChE,QAAQ,EAAE,sBAAsB,CAAC;IAEjC,+CAA+C;IAC/C,MAAM,EAAE,oBAAoB,CAAC;IAE7B,qCAAqC;IACrC,MAAM,EAAE,qBAAqB,CAAC;CAC/B;AAED;;;;;GAKG;AACH,MAAM,WAAW,uBAAuB;IACtC,yCAAyC;IACzC,OAAO,CAAC,EAAE,OAAO,CAAC,qBAAqB,CAAC,CAAC;IAEzC,2CAA2C;IAC3C,QAAQ,CAAC,EAAE,OAAO,CAAC,sBAAsB,CAAC,CAAC;IAE3C,0CAA0C;IAC1C,MAAM,CAAC,EAAE,OAAO,CAAC,oBAAoB,CAAC,CAAC;IAEvC,oCAAoC;IACpC,MAAM,CAAC,EAAE,OAAO,CAAC,qBAAqB,CAAC,CAAC;CACzC;AAED,eAAO,MAAM,qBAAqB,EAAE,cA0BnC,CAAC;AAEF,wBAAgB,oBAAoB,CAClC,SAAS,GAAE,uBAA4B,GACtC,cAAc,CAOhB"}
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/client/config.ts"],"names":[],"mappings":"AA0CA,MAAM,CAAC,MAAM,qBAAqB,GAAmB;IACnD,OAAO,EAAE;QACP,YAAY,EAAE,CAAC,UAAU,EAAE,iBAAiB,EAAE,YAAY,CAAC;QAC3D,aAAa,EAAE,MAAM;QACrB,WAAW,EAAE,KAAK;QAClB,WAAW,EAAE,EAAE;QACf,gBAAgB,EAAE,IAAI;KACvB;IACD,QAAQ,EAAE;QACR,QAAQ,EAAE,CAAC;QACX,WAAW,EAAE,EAAE;QACf,WAAW,EAAE,KAAK;QAClB,gBAAgB,EAAE,IAAI;QACtB,iBAAiB,EAAE,IAAI;KACxB;IACD,MAAM,EAAE;QACN,oBAAoB,EAAE,IAAI;QAC1B,wBAAwB,EAAE,CAAC;QAC3B,YAAY,EAAE,EAAE;QAChB,QAAQ,EAAE,EAAE;KACb;IACD,MAAM,EAAE;QACN,WAAW,EAAE,GAAG;QAChB,UAAU,EAAE,MAAM;QAClB,aAAa,EAAE,KAAK;KACrB;CACF,CAAC;AAEF,MAAM,UAAU,oBAAoB,CAClC,YAAqC,EAAE;IAEvC,OAAO;QACL,OAAO,EAAE,EAAE,GAAG,qBAAqB,CAAC,OAAO,EAAE,GAAG,SAAS,CAAC,OAAO,EAAE;QACnE,QAAQ,EAAE,EAAE,GAAG,qBAAqB,CAAC,QAAQ,EAAE,GAAG,SAAS,CAAC,QAAQ,EAAE;QACtE,MAAM,EAAE,EAAE,GAAG,qBAAqB,CAAC,MAAM,EAAE,GAAG,SAAS,CAAC,MAAM,EAAE;QAChE,MAAM,EAAE,EAAE,GAAG,qBAAqB,CAAC,MAAM,EAAE,GAAG,SAAS,CAAC,MAAM,EAAE;KACjE,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/client/config.ts"],"names":[],"mappings":"AA4MA,MAAM,CAAC,MAAM,qBAAqB,GAAmB;IACnD,OAAO,EAAE;QACP,YAAY,EAAE,CAAC,UAAU,EAAE,iBAAiB,EAAE,YAAY,CAAC;QAC3D,aAAa,EAAE,MAAM;QACrB,WAAW,EAAE,KAAK;QAClB,WAAW,EAAE,EAAE;QACf,gBAAgB,EAAE,IAAI;KACvB;IACD,QAAQ,EAAE;QACR,QAAQ,EAAE,CAAC;QACX,WAAW,EAAE,EAAE;QACf,WAAW,EAAE,KAAK;QAClB,gBAAgB,EAAE,IAAI;QACtB,iBAAiB,EAAE,IAAI;KACxB;IACD,MAAM,EAAE;QACN,oBAAoB,EAAE,IAAI;QAC1B,wBAAwB,EAAE,CAAC;QAC3B,YAAY,EAAE,EAAE;QAChB,QAAQ,EAAE,EAAE;KACb;IACD,MAAM,EAAE;QACN,WAAW,EAAE,GAAG;QAChB,UAAU,EAAE,MAAM;QAClB,aAAa,EAAE,KAAK;KACrB;CACF,CAAC;AAEF,MAAM,UAAU,oBAAoB,CAClC,YAAqC,EAAE;IAEvC,OAAO;QACL,OAAO,EAAE,EAAE,GAAG,qBAAqB,CAAC,OAAO,EAAE,GAAG,SAAS,CAAC,OAAO,EAAE;QACnE,QAAQ,EAAE,EAAE,GAAG,qBAAqB,CAAC,QAAQ,EAAE,GAAG,SAAS,CAAC,QAAQ,EAAE;QACtE,MAAM,EAAE,EAAE,GAAG,qBAAqB,CAAC,MAAM,EAAE,GAAG,SAAS,CAAC,MAAM,EAAE;QAChE,MAAM,EAAE,EAAE,GAAG,qBAAqB,CAAC,MAAM,EAAE,GAAG,SAAS,CAAC,MAAM,EAAE;KACjE,CAAC;AACJ,CAAC"}
@@ -5,18 +5,41 @@ import { type FeedbackConfigOverrides } from "./config.js";
5
5
  export type { CommentSort, EntryKind, EntrySort, EntryStatus, FeedbackActor, FeedbackComment, FeedbackEntry, SimilarEntriesResult, } from "../component/model.js";
6
6
  export type { FeedbackPublicApi } from "./api.js";
7
7
  export { createFeedbackConfig, defaultFeedbackConfig, type FeedbackConfig, type FeedbackConfigOverrides, } from "./config.js";
8
+ /**
9
+ * Minimal host context exposed to the actor resolver.
10
+ *
11
+ * The feedback component itself does not read host authentication. Use
12
+ * `auth` to resolve the current host identity into a `FeedbackActor`.
13
+ */
8
14
  export interface FeedbackAuthContext {
15
+ /** Host Convex authentication interface for the current request. */
9
16
  auth: Auth;
10
17
  }
18
+ /**
19
+ * Configuration used when exposing feedback functions from the host Convex
20
+ * application.
21
+ */
11
22
  export interface ExposeFeedbackOptions {
23
+ /**
24
+ * Resolves the current request into a stable feedback actor.
25
+ *
26
+ * Return `null` for an unauthenticated request. Read-only queries may still
27
+ * execute, but mutations requiring an actor will reject unauthenticated
28
+ * callers.
29
+ */
12
30
  actor: (ctx: FeedbackAuthContext) => Promise<FeedbackActor | null>;
31
+ /**
32
+ * Optional component behavior overrides.
33
+ *
34
+ * Unspecified values use `defaultFeedbackConfig`.
35
+ */
13
36
  config?: FeedbackConfigOverrides;
14
37
  }
15
38
  export declare function exposeFeedbackApi<Name extends string | undefined>(component: ComponentApi<Name>, options: ExposeFeedbackOptions): {
16
39
  listEntries: import("convex/server").RegisteredQuery<"public", {
17
- kind?: "feedback" | "feature_request" | "bug_report" | undefined;
18
40
  status?: "open" | "under_review" | "planned" | "in_progress" | "completed" | "closed" | undefined;
19
41
  sort?: "top" | "newest" | undefined;
42
+ kinds?: ("feedback" | "feature_request" | "bug_report")[] | undefined;
20
43
  paginationOpts: {
21
44
  id?: number;
22
45
  endCursor?: string | null;
@@ -60,8 +83,8 @@ export declare function exposeFeedbackApi<Name extends string | undefined>(compo
60
83
  viewerHasUpvoted: boolean;
61
84
  } | null>>;
62
85
  searchEntries: import("convex/server").RegisteredQuery<"public", {
63
- kind?: "feedback" | "feature_request" | "bug_report" | undefined;
64
86
  status?: "open" | "under_review" | "planned" | "in_progress" | "completed" | "closed" | undefined;
87
+ kinds?: ("feedback" | "feature_request" | "bug_report")[] | undefined;
65
88
  limit?: number | undefined;
66
89
  searchQuery: string;
67
90
  }, Promise<{
@@ -134,6 +157,7 @@ export declare function exposeFeedbackApi<Name extends string | undefined>(compo
134
157
  listComments: import("convex/server").RegisteredQuery<"public", {
135
158
  sort?: "top" | "newest" | "oldest" | undefined;
136
159
  parentCommentId?: string | undefined;
160
+ entryId: string;
137
161
  paginationOpts: {
138
162
  id?: number;
139
163
  endCursor?: string | null;
@@ -142,7 +166,6 @@ export declare function exposeFeedbackApi<Name extends string | undefined>(compo
142
166
  numItems: number;
143
167
  cursor: string | null;
144
168
  };
145
- entryId: string;
146
169
  }, Promise<{
147
170
  continueCursor: string;
148
171
  isDone: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAKL,KAAK,IAAI,EAEV,MAAM,eAAe,CAAC;AAGvB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sCAAsC,CAAC;AACzE,OAAO,EAQL,KAAK,aAAa,EACnB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAEL,KAAK,uBAAuB,EAC7B,MAAM,aAAa,CAAC;AAErB,YAAY,EACV,WAAW,EACX,SAAS,EACT,SAAS,EACT,WAAW,EACX,aAAa,EACb,eAAe,EACf,aAAa,EACb,oBAAoB,GACrB,MAAM,uBAAuB,CAAC;AAC/B,YAAY,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAClD,OAAO,EACL,oBAAoB,EACpB,qBAAqB,EACrB,KAAK,cAAc,EACnB,KAAK,uBAAuB,GAC7B,MAAM,aAAa,CAAC;AAErB,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,IAAI,CAAC;CACZ;AAED,MAAM,WAAW,qBAAqB;IACpC,KAAK,EAAE,CAAC,GAAG,EAAE,mBAAmB,KAAK,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC,CAAC;IACnE,MAAM,CAAC,EAAE,uBAAuB,CAAC;CAClC;AAmCD,wBAAgB,iBAAiB,CAAC,IAAI,SAAS,MAAM,GAAG,SAAS,EAC/D,SAAS,EAAE,YAAY,CAAC,IAAI,CAAC,EAC7B,OAAO,EAAE,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;qBAkGjB,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qBA0ES,CAAC;;;;;;;;;;;;;qBAoBS,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qBArNI,CAAC;;;;;2BAQnC,CAAC;;qBACwC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;EAoQ9C"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAKL,KAAK,IAAI,EAEV,MAAM,eAAe,CAAC;AAGvB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sCAAsC,CAAC;AACzE,OAAO,EAQL,KAAK,aAAa,EACnB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAEL,KAAK,uBAAuB,EAC7B,MAAM,aAAa,CAAC;AAErB,YAAY,EACV,WAAW,EACX,SAAS,EACT,SAAS,EACT,WAAW,EACX,aAAa,EACb,eAAe,EACf,aAAa,EACb,oBAAoB,GACrB,MAAM,uBAAuB,CAAC;AAC/B,YAAY,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAClD,OAAO,EACL,oBAAoB,EACpB,qBAAqB,EACrB,KAAK,cAAc,EACnB,KAAK,uBAAuB,GAC7B,MAAM,aAAa,CAAC;AAErB;;;;;GAKG;AACH,MAAM,WAAW,mBAAmB;IAClC,oEAAoE;IACpE,IAAI,EAAE,IAAI,CAAC;CACZ;AAED;;;GAGG;AACH,MAAM,WAAW,qBAAqB;IACpC;;;;;;OAMG;IACH,KAAK,EAAE,CAAC,GAAG,EAAE,mBAAmB,KAAK,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC,CAAC;IAEnE;;;;OAIG;IACH,MAAM,CAAC,EAAE,uBAAuB,CAAC;CAClC;AAmCD,wBAAgB,iBAAiB,CAAC,IAAI,SAAS,MAAM,GAAG,SAAS,EAC/D,SAAS,EAAE,YAAY,CAAC,IAAI,CAAC,EAC7B,OAAO,EAAE,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;qBA0EV,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qBAiFL,CAAC;;;;;;;;;;;;;qBAiBK,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qBA7NoC,CAAC;;;;;2BAI1B,CAAC;;qBAGb,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;EAsSvB"}