@harkenapp/sdk-react-native 0.0.1-alpha.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.
Files changed (235) hide show
  1. package/README.md +67 -0
  2. package/app.plugin.cjs +135 -0
  3. package/app.plugin.js +1 -0
  4. package/dist/api/client.d.ts +67 -0
  5. package/dist/api/client.d.ts.map +1 -0
  6. package/dist/api/client.js +163 -0
  7. package/dist/api/client.js.map +1 -0
  8. package/dist/api/errors.d.ts +46 -0
  9. package/dist/api/errors.d.ts.map +1 -0
  10. package/dist/api/errors.js +72 -0
  11. package/dist/api/errors.js.map +1 -0
  12. package/dist/api/index.d.ts +7 -0
  13. package/dist/api/index.d.ts.map +1 -0
  14. package/dist/api/index.js +20 -0
  15. package/dist/api/index.js.map +1 -0
  16. package/dist/api/retry.d.ts +29 -0
  17. package/dist/api/retry.d.ts.map +1 -0
  18. package/dist/api/retry.js +74 -0
  19. package/dist/api/retry.js.map +1 -0
  20. package/dist/attachments/FeedbackSheet.d.ts +88 -0
  21. package/dist/attachments/FeedbackSheet.d.ts.map +1 -0
  22. package/dist/attachments/FeedbackSheet.js +250 -0
  23. package/dist/attachments/FeedbackSheet.js.map +1 -0
  24. package/dist/attachments/index.d.ts +20 -0
  25. package/dist/attachments/index.d.ts.map +1 -0
  26. package/dist/attachments/index.js +40 -0
  27. package/dist/attachments/index.js.map +1 -0
  28. package/dist/components/AttachmentGrid.d.ts +94 -0
  29. package/dist/components/AttachmentGrid.d.ts.map +1 -0
  30. package/dist/components/AttachmentGrid.js +132 -0
  31. package/dist/components/AttachmentGrid.js.map +1 -0
  32. package/dist/components/AttachmentPicker.d.ts +98 -0
  33. package/dist/components/AttachmentPicker.d.ts.map +1 -0
  34. package/dist/components/AttachmentPicker.js +297 -0
  35. package/dist/components/AttachmentPicker.js.map +1 -0
  36. package/dist/components/AttachmentPreview.d.ts +78 -0
  37. package/dist/components/AttachmentPreview.d.ts.map +1 -0
  38. package/dist/components/AttachmentPreview.js +133 -0
  39. package/dist/components/AttachmentPreview.js.map +1 -0
  40. package/dist/components/CategorySelector.d.ts +77 -0
  41. package/dist/components/CategorySelector.d.ts.map +1 -0
  42. package/dist/components/CategorySelector.js +117 -0
  43. package/dist/components/CategorySelector.js.map +1 -0
  44. package/dist/components/FeedbackForm.d.ts +50 -0
  45. package/dist/components/FeedbackForm.d.ts.map +1 -0
  46. package/dist/components/FeedbackForm.js +141 -0
  47. package/dist/components/FeedbackForm.js.map +1 -0
  48. package/dist/components/FeedbackSheet.d.ts +75 -0
  49. package/dist/components/FeedbackSheet.d.ts.map +1 -0
  50. package/dist/components/FeedbackSheet.js +215 -0
  51. package/dist/components/FeedbackSheet.js.map +1 -0
  52. package/dist/components/ThemedButton.d.ts +23 -0
  53. package/dist/components/ThemedButton.d.ts.map +1 -0
  54. package/dist/components/ThemedButton.js +77 -0
  55. package/dist/components/ThemedButton.js.map +1 -0
  56. package/dist/components/ThemedText.d.ts +16 -0
  57. package/dist/components/ThemedText.d.ts.map +1 -0
  58. package/dist/components/ThemedText.js +44 -0
  59. package/dist/components/ThemedText.js.map +1 -0
  60. package/dist/components/ThemedTextInput.d.ts +13 -0
  61. package/dist/components/ThemedTextInput.d.ts.map +1 -0
  62. package/dist/components/ThemedTextInput.js +76 -0
  63. package/dist/components/ThemedTextInput.js.map +1 -0
  64. package/dist/components/UploadStatusOverlay.d.ts +82 -0
  65. package/dist/components/UploadStatusOverlay.d.ts.map +1 -0
  66. package/dist/components/UploadStatusOverlay.js +319 -0
  67. package/dist/components/UploadStatusOverlay.js.map +1 -0
  68. package/dist/components/index.d.ts +19 -0
  69. package/dist/components/index.d.ts.map +1 -0
  70. package/dist/components/index.js +28 -0
  71. package/dist/components/index.js.map +1 -0
  72. package/dist/context/HarkenContext.d.ts +62 -0
  73. package/dist/context/HarkenContext.d.ts.map +1 -0
  74. package/dist/context/HarkenContext.js +128 -0
  75. package/dist/context/HarkenContext.js.map +1 -0
  76. package/dist/context/index.d.ts +3 -0
  77. package/dist/context/index.d.ts.map +1 -0
  78. package/dist/context/index.js +7 -0
  79. package/dist/context/index.js.map +1 -0
  80. package/dist/domain/index.d.ts +3 -0
  81. package/dist/domain/index.d.ts.map +1 -0
  82. package/dist/domain/index.js +7 -0
  83. package/dist/domain/index.js.map +1 -0
  84. package/dist/domain/upload-queue.d.ts +116 -0
  85. package/dist/domain/upload-queue.d.ts.map +1 -0
  86. package/dist/domain/upload-queue.js +34 -0
  87. package/dist/domain/upload-queue.js.map +1 -0
  88. package/dist/hooks/index.d.ts +6 -0
  89. package/dist/hooks/index.d.ts.map +1 -0
  90. package/dist/hooks/index.js +16 -0
  91. package/dist/hooks/index.js.map +1 -0
  92. package/dist/hooks/useAnonymousId.d.ts +28 -0
  93. package/dist/hooks/useAnonymousId.d.ts.map +1 -0
  94. package/dist/hooks/useAnonymousId.js +59 -0
  95. package/dist/hooks/useAnonymousId.js.map +1 -0
  96. package/dist/hooks/useAttachmentPicker.d.ts +84 -0
  97. package/dist/hooks/useAttachmentPicker.d.ts.map +1 -0
  98. package/dist/hooks/useAttachmentPicker.js +181 -0
  99. package/dist/hooks/useAttachmentPicker.js.map +1 -0
  100. package/dist/hooks/useAttachmentStatus.d.ts +51 -0
  101. package/dist/hooks/useAttachmentStatus.d.ts.map +1 -0
  102. package/dist/hooks/useAttachmentStatus.js +69 -0
  103. package/dist/hooks/useAttachmentStatus.js.map +1 -0
  104. package/dist/hooks/useAttachmentUpload.d.ts +101 -0
  105. package/dist/hooks/useAttachmentUpload.d.ts.map +1 -0
  106. package/dist/hooks/useAttachmentUpload.js +293 -0
  107. package/dist/hooks/useAttachmentUpload.js.map +1 -0
  108. package/dist/hooks/useFeedback.d.ts +55 -0
  109. package/dist/hooks/useFeedback.d.ts.map +1 -0
  110. package/dist/hooks/useFeedback.js +96 -0
  111. package/dist/hooks/useFeedback.js.map +1 -0
  112. package/dist/hooks/useHarkenContext.d.ts +25 -0
  113. package/dist/hooks/useHarkenContext.d.ts.map +1 -0
  114. package/dist/hooks/useHarkenContext.js +35 -0
  115. package/dist/hooks/useHarkenContext.js.map +1 -0
  116. package/dist/hooks/useHarkenTheme.d.ts +26 -0
  117. package/dist/hooks/useHarkenTheme.d.ts.map +1 -0
  118. package/dist/hooks/useHarkenTheme.js +36 -0
  119. package/dist/hooks/useHarkenTheme.js.map +1 -0
  120. package/dist/index.d.ts +49 -0
  121. package/dist/index.d.ts.map +1 -0
  122. package/dist/index.js +91 -0
  123. package/dist/index.js.map +1 -0
  124. package/dist/services/index.d.ts +4 -0
  125. package/dist/services/index.d.ts.map +1 -0
  126. package/dist/services/index.js +9 -0
  127. package/dist/services/index.js.map +1 -0
  128. package/dist/services/uploadQueueService.d.ts +193 -0
  129. package/dist/services/uploadQueueService.d.ts.map +1 -0
  130. package/dist/services/uploadQueueService.js +623 -0
  131. package/dist/services/uploadQueueService.js.map +1 -0
  132. package/dist/services/uploadQueueStorage.d.ts +30 -0
  133. package/dist/services/uploadQueueStorage.d.ts.map +1 -0
  134. package/dist/services/uploadQueueStorage.js +77 -0
  135. package/dist/services/uploadQueueStorage.js.map +1 -0
  136. package/dist/storage/IdentityStore.d.ts +38 -0
  137. package/dist/storage/IdentityStore.d.ts.map +1 -0
  138. package/dist/storage/IdentityStore.js +83 -0
  139. package/dist/storage/IdentityStore.js.map +1 -0
  140. package/dist/storage/SecureStoreAdapter.d.ts +28 -0
  141. package/dist/storage/SecureStoreAdapter.d.ts.map +1 -0
  142. package/dist/storage/SecureStoreAdapter.js +52 -0
  143. package/dist/storage/SecureStoreAdapter.js.map +1 -0
  144. package/dist/storage/defaultStorage.d.ts +20 -0
  145. package/dist/storage/defaultStorage.d.ts.map +1 -0
  146. package/dist/storage/defaultStorage.js +131 -0
  147. package/dist/storage/defaultStorage.js.map +1 -0
  148. package/dist/storage/index.d.ts +6 -0
  149. package/dist/storage/index.d.ts.map +1 -0
  150. package/dist/storage/index.js +13 -0
  151. package/dist/storage/index.js.map +1 -0
  152. package/dist/storage/types.d.ts +32 -0
  153. package/dist/storage/types.d.ts.map +1 -0
  154. package/dist/storage/types.js +11 -0
  155. package/dist/storage/types.js.map +1 -0
  156. package/dist/theme/defaults.d.ts +43 -0
  157. package/dist/theme/defaults.d.ts.map +1 -0
  158. package/dist/theme/defaults.js +128 -0
  159. package/dist/theme/defaults.js.map +1 -0
  160. package/dist/theme/index.d.ts +3 -0
  161. package/dist/theme/index.d.ts.map +1 -0
  162. package/dist/theme/index.js +14 -0
  163. package/dist/theme/index.js.map +1 -0
  164. package/dist/theme/types.d.ts +136 -0
  165. package/dist/theme/types.d.ts.map +1 -0
  166. package/dist/theme/types.js +3 -0
  167. package/dist/theme/types.js.map +1 -0
  168. package/dist/types/config.d.ts +100 -0
  169. package/dist/types/config.d.ts.map +1 -0
  170. package/dist/types/config.js +3 -0
  171. package/dist/types/config.js.map +1 -0
  172. package/dist/types/index.d.ts +3 -0
  173. package/dist/types/index.d.ts.map +1 -0
  174. package/dist/types/index.js +3 -0
  175. package/dist/types/index.js.map +1 -0
  176. package/dist/types/openapi.d.ts +601 -0
  177. package/dist/types/openapi.d.ts.map +1 -0
  178. package/dist/types/openapi.js +7 -0
  179. package/dist/types/openapi.js.map +1 -0
  180. package/dist/utils/index.d.ts +2 -0
  181. package/dist/utils/index.d.ts.map +1 -0
  182. package/dist/utils/index.js +6 -0
  183. package/dist/utils/index.js.map +1 -0
  184. package/dist/utils/uuid.d.ts +10 -0
  185. package/dist/utils/uuid.d.ts.map +1 -0
  186. package/dist/utils/uuid.js +60 -0
  187. package/dist/utils/uuid.js.map +1 -0
  188. package/package.json +124 -0
  189. package/src/@types/expo-file-system-legacy.d.ts +13 -0
  190. package/src/api/client.ts +250 -0
  191. package/src/api/errors.ts +84 -0
  192. package/src/api/index.ts +15 -0
  193. package/src/api/retry.ts +99 -0
  194. package/src/attachments/FeedbackSheet.tsx +400 -0
  195. package/src/attachments/index.ts +70 -0
  196. package/src/components/AttachmentGrid.tsx +247 -0
  197. package/src/components/AttachmentPicker.tsx +391 -0
  198. package/src/components/AttachmentPreview.tsx +210 -0
  199. package/src/components/CategorySelector.tsx +174 -0
  200. package/src/components/FeedbackForm.tsx +216 -0
  201. package/src/components/FeedbackSheet.tsx +321 -0
  202. package/src/components/ThemedButton.tsx +127 -0
  203. package/src/components/ThemedText.tsx +65 -0
  204. package/src/components/ThemedTextInput.tsx +65 -0
  205. package/src/components/UploadStatusOverlay.tsx +440 -0
  206. package/src/components/index.ts +39 -0
  207. package/src/context/HarkenContext.tsx +129 -0
  208. package/src/context/index.ts +2 -0
  209. package/src/domain/index.ts +12 -0
  210. package/src/domain/upload-queue.ts +131 -0
  211. package/src/hooks/index.ts +10 -0
  212. package/src/hooks/useAnonymousId.ts +68 -0
  213. package/src/hooks/useAttachmentPicker.ts +243 -0
  214. package/src/hooks/useAttachmentStatus.ts +86 -0
  215. package/src/hooks/useAttachmentUpload.ts +370 -0
  216. package/src/hooks/useFeedback.ts +139 -0
  217. package/src/hooks/useHarkenContext.ts +35 -0
  218. package/src/hooks/useHarkenTheme.ts +36 -0
  219. package/src/index.ts +168 -0
  220. package/src/services/index.ts +11 -0
  221. package/src/services/uploadQueueService.ts +727 -0
  222. package/src/services/uploadQueueStorage.ts +78 -0
  223. package/src/storage/IdentityStore.ts +89 -0
  224. package/src/storage/SecureStoreAdapter.ts +59 -0
  225. package/src/storage/defaultStorage.ts +109 -0
  226. package/src/storage/index.ts +5 -0
  227. package/src/storage/types.ts +34 -0
  228. package/src/theme/defaults.ts +151 -0
  229. package/src/theme/index.ts +23 -0
  230. package/src/theme/types.ts +157 -0
  231. package/src/types/config.ts +112 -0
  232. package/src/types/index.ts +10 -0
  233. package/src/types/openapi.ts +601 -0
  234. package/src/utils/index.ts +1 -0
  235. package/src/utils/uuid.ts +77 -0
@@ -0,0 +1,601 @@
1
+ /**
2
+ * This file was auto-generated by openapi-typescript.
3
+ * Do not make direct changes to the file.
4
+ */
5
+ export interface paths {
6
+ "/v1/feedback": {
7
+ parameters: {
8
+ query?: never;
9
+ header?: never;
10
+ path?: never;
11
+ cookie?: never;
12
+ };
13
+ get?: never;
14
+ put?: never;
15
+ /**
16
+ * Submit feedback
17
+ * @description Submit user feedback from a mobile app.
18
+ *
19
+ * **Attachments:** If `attachments` are provided, they will be linked to
20
+ * this feedback and their status will be updated from 'pending' to 'uploaded'.
21
+ * Only attachments in 'pending' or 'uploaded' status that are not already
22
+ * linked to other feedback can be used.
23
+ */
24
+ post: operations["submitFeedback"];
25
+ delete?: never;
26
+ options?: never;
27
+ head?: never;
28
+ patch?: never;
29
+ trace?: never;
30
+ };
31
+ "/v1/feedback/attachments/presign": {
32
+ parameters: {
33
+ query?: never;
34
+ header?: never;
35
+ path?: never;
36
+ cookie?: never;
37
+ };
38
+ get?: never;
39
+ put?: never;
40
+ /**
41
+ * Create attachment upload
42
+ * @description Get a presigned URL for uploading an attachment.
43
+ *
44
+ * **Upload Flow:**
45
+ * 1. Call this endpoint to get a presigned upload URL
46
+ * 2. Upload the file directly to the presigned URL (PUT request)
47
+ * 3. Include the `attachment_id` in your feedback submission
48
+ *
49
+ * **Important:** The presigned URL expires in 2 hours. The attachment record
50
+ * is created immediately with status 'pending'.
51
+ *
52
+ * **Cleanup Policy:** Attachments not linked to submitted feedback are
53
+ * automatically cleaned up after a server-configured period (typically
54
+ * 7 days). Ensure you submit the feedback with the attachments to
55
+ * complete the lifecycle.
56
+ */
57
+ post: operations["createAttachmentUpload"];
58
+ delete?: never;
59
+ options?: never;
60
+ head?: never;
61
+ patch?: never;
62
+ trace?: never;
63
+ };
64
+ "/v1/feedback/attachments/{attachment_id}": {
65
+ parameters: {
66
+ query?: never;
67
+ header?: never;
68
+ path?: never;
69
+ cookie?: never;
70
+ };
71
+ /**
72
+ * Get attachment status
73
+ * @description Poll for attachment upload and processing status.
74
+ * Use this to check if thumbnail generation is complete.
75
+ */
76
+ get: operations["getAttachmentStatus"];
77
+ put?: never;
78
+ post?: never;
79
+ delete?: never;
80
+ options?: never;
81
+ head?: never;
82
+ patch?: never;
83
+ trace?: never;
84
+ };
85
+ "/v1/feedback/attachments/{attachment_id}/confirm": {
86
+ parameters: {
87
+ query?: never;
88
+ header?: never;
89
+ path?: never;
90
+ cookie?: never;
91
+ };
92
+ get?: never;
93
+ put?: never;
94
+ /**
95
+ * Confirm attachment upload
96
+ * @description Called by SDK after successfully uploading to the presigned URL.
97
+ * Triggers server-side thumbnail generation.
98
+ * Poll GET /v1/feedback/attachments/{id} for processing status.
99
+ */
100
+ post: operations["confirmAttachmentUpload"];
101
+ delete?: never;
102
+ options?: never;
103
+ head?: never;
104
+ patch?: never;
105
+ trace?: never;
106
+ };
107
+ "/v1/feedback/attachments/{attachment_id}/fail": {
108
+ parameters: {
109
+ query?: never;
110
+ header?: never;
111
+ path?: never;
112
+ cookie?: never;
113
+ };
114
+ get?: never;
115
+ put?: never;
116
+ /**
117
+ * Report attachment upload failure
118
+ * @description Called by SDK when upload fails after retries exhausted.
119
+ * Allows backend to clean up and track failure metrics.
120
+ */
121
+ post: operations["reportAttachmentFailure"];
122
+ delete?: never;
123
+ options?: never;
124
+ head?: never;
125
+ patch?: never;
126
+ trace?: never;
127
+ };
128
+ }
129
+ export type webhooks = Record<string, never>;
130
+ export interface components {
131
+ schemas: {
132
+ /**
133
+ * @description Category of feedback.
134
+ * @enum {string}
135
+ */
136
+ FeedbackCategory: "bug" | "idea" | "ux" | "other";
137
+ /**
138
+ * @description Client platform.
139
+ * @enum {string}
140
+ */
141
+ Platform: "ios" | "android" | "web";
142
+ /**
143
+ * @description Attachment lifecycle status:
144
+ * - pending: Presign created, awaiting upload and feedback submission
145
+ * - uploaded: Attachment successfully linked to submitted feedback
146
+ * - failed: Upload failed (client-reported)
147
+ *
148
+ * **Lifecycle:**
149
+ * 1. SDK calls presign → status becomes 'pending'
150
+ * 2. SDK uploads file to presigned URL
151
+ * 3. SDK submits feedback with attachments → status becomes 'uploaded'
152
+ *
153
+ * **Cleanup Policy:**
154
+ * Attachments that remain in 'pending' status (not linked to feedback)
155
+ * are automatically deleted after a server-configured cleanup period
156
+ * (typically 7 days). This handles cases where:
157
+ * - User abandons the feedback form
158
+ * - Network failure prevents feedback submission
159
+ * - App crashes after upload but before submission
160
+ * @enum {string}
161
+ */
162
+ AttachmentStatus: "pending" | "uploaded" | "failed";
163
+ DeviceMetadata: {
164
+ /**
165
+ * @description Version of the host application.
166
+ * @example 1.2.3
167
+ */
168
+ app_version?: string;
169
+ platform?: components["schemas"]["Platform"];
170
+ /**
171
+ * @description Device model or identifier.
172
+ * @example iPhone 15 Pro
173
+ */
174
+ device?: string;
175
+ /**
176
+ * @description Operating system version.
177
+ * @example 17.2
178
+ */
179
+ os_version?: string;
180
+ /**
181
+ * @description Device locale.
182
+ * @example en-US
183
+ */
184
+ locale?: string;
185
+ } & {
186
+ [key: string]: unknown;
187
+ };
188
+ FeedbackSubmission: {
189
+ /** @description Optional short title or subject for the feedback. */
190
+ title?: string;
191
+ /** @description The feedback message content. */
192
+ message: string;
193
+ category: components["schemas"]["FeedbackCategory"];
194
+ /**
195
+ * Format: uuid
196
+ * @description Anonymous device identifier (UUIDv4), stable per install.
197
+ * Required - requests without anon_id will be rejected with 400.
198
+ */
199
+ anon_id: string;
200
+ metadata?: components["schemas"]["DeviceMetadata"];
201
+ /** @description List of attachment IDs from presigned uploads. */
202
+ attachments?: string[];
203
+ };
204
+ FeedbackSubmissionResponse: {
205
+ /**
206
+ * Format: uuid
207
+ * @description Unique identifier for the submitted feedback.
208
+ */
209
+ id: string;
210
+ /**
211
+ * Format: date-time
212
+ * @description Timestamp when feedback was created.
213
+ */
214
+ created_at: string;
215
+ };
216
+ AttachmentPresignRequest: {
217
+ /**
218
+ * @description Original filename.
219
+ * @example screenshot.png
220
+ */
221
+ filename: string;
222
+ /**
223
+ * @description MIME type of the file.
224
+ * @example image/png
225
+ */
226
+ content_type: string;
227
+ /** @description File size in bytes (max 10MB). */
228
+ size: number;
229
+ };
230
+ AttachmentPresignResponse: {
231
+ /**
232
+ * Format: uuid
233
+ * @description Unique identifier for the attachment.
234
+ */
235
+ attachment_id: string;
236
+ /**
237
+ * Format: uri
238
+ * @description Presigned URL for uploading the file.
239
+ */
240
+ upload_url: string;
241
+ /**
242
+ * Format: date-time
243
+ * @description Expiration time of the upload URL.
244
+ */
245
+ upload_expires_at: string;
246
+ status: components["schemas"]["AttachmentStatus"];
247
+ };
248
+ AttachmentConfirmRequest: {
249
+ /** @description Actual bytes uploaded (for verification). */
250
+ bytes_uploaded?: number;
251
+ };
252
+ AttachmentStatusResponse: {
253
+ /** Format: uuid */
254
+ attachment_id: string;
255
+ status: components["schemas"]["AttachmentStatus"];
256
+ /** @description Original filename. Present when known. */
257
+ filename?: string;
258
+ /** @description MIME type. Present when known. */
259
+ content_type?: string;
260
+ /** @description File size in bytes. Present when known. */
261
+ size?: number;
262
+ /**
263
+ * @description Error message when status is failed.
264
+ * May be omitted if the failure was client-side and not reported.
265
+ */
266
+ error?: string;
267
+ /**
268
+ * @description Available URLs. Presence depends on status:
269
+ * - pending: not present (file may not be uploaded yet)
270
+ * - uploaded: original URL available
271
+ * - failed: not present
272
+ */
273
+ urls?: components["schemas"]["AttachmentUrls"];
274
+ };
275
+ /**
276
+ * @description URLs for accessing attachment at different sizes.
277
+ * - original: Always present when urls object exists
278
+ * - thumbnail: Present for image attachments when generation succeeded
279
+ */
280
+ AttachmentUrls: {
281
+ /**
282
+ * Format: uri
283
+ * @description URL to original uploaded file.
284
+ */
285
+ original: string;
286
+ /**
287
+ * Format: uri
288
+ * @description URL to thumbnail (480px wide WebP).
289
+ * Only present for image attachments where thumbnail generation succeeded.
290
+ * If absent for an image, client should fall back to original or show placeholder.
291
+ */
292
+ thumbnail?: string;
293
+ };
294
+ ErrorResponse: {
295
+ error: {
296
+ /**
297
+ * @description Machine-readable error code.
298
+ * @example validation_error
299
+ */
300
+ code: string;
301
+ /**
302
+ * @description Human-readable error message.
303
+ * @example Invalid request body
304
+ */
305
+ message: string;
306
+ /** @description Additional error details for validation errors. */
307
+ details?: components["schemas"]["ErrorDetail"][];
308
+ };
309
+ };
310
+ ErrorDetail: {
311
+ /**
312
+ * @description Field path that caused the error.
313
+ * @example message
314
+ */
315
+ field: string;
316
+ /**
317
+ * @description Description of the error.
318
+ * @example Required field is missing
319
+ */
320
+ message: string;
321
+ /**
322
+ * @description Machine-readable error code for this field.
323
+ * @example required
324
+ */
325
+ code?: string;
326
+ };
327
+ };
328
+ responses: {
329
+ /** @description Invalid request body or parameters. */
330
+ BadRequest: {
331
+ headers: {
332
+ [name: string]: unknown;
333
+ };
334
+ content: {
335
+ /**
336
+ * @example {
337
+ * "error": {
338
+ * "code": "validation_error",
339
+ * "message": "Invalid request body",
340
+ * "details": [
341
+ * {
342
+ * "field": "message",
343
+ * "message": "Required field is missing",
344
+ * "code": "required"
345
+ * }
346
+ * ]
347
+ * }
348
+ * }
349
+ */
350
+ "application/json": components["schemas"]["ErrorResponse"];
351
+ };
352
+ };
353
+ /** @description Missing or invalid API key. */
354
+ Unauthorized: {
355
+ headers: {
356
+ [name: string]: unknown;
357
+ };
358
+ content: {
359
+ /**
360
+ * @example {
361
+ * "error": {
362
+ * "code": "unauthorized",
363
+ * "message": "Invalid or missing X-Publishable-Key header"
364
+ * }
365
+ * }
366
+ */
367
+ "application/json": components["schemas"]["ErrorResponse"];
368
+ };
369
+ };
370
+ /** @description Access denied. */
371
+ Forbidden: {
372
+ headers: {
373
+ [name: string]: unknown;
374
+ };
375
+ content: {
376
+ /**
377
+ * @example {
378
+ * "error": {
379
+ * "code": "forbidden",
380
+ * "message": "Access denied"
381
+ * }
382
+ * }
383
+ */
384
+ "application/json": components["schemas"]["ErrorResponse"];
385
+ };
386
+ };
387
+ /** @description Resource not found. */
388
+ NotFound: {
389
+ headers: {
390
+ [name: string]: unknown;
391
+ };
392
+ content: {
393
+ /**
394
+ * @example {
395
+ * "error": {
396
+ * "code": "not_found",
397
+ * "message": "Resource not found"
398
+ * }
399
+ * }
400
+ */
401
+ "application/json": components["schemas"]["ErrorResponse"];
402
+ };
403
+ };
404
+ /** @description Rate limit exceeded. */
405
+ TooManyRequests: {
406
+ headers: {
407
+ /** @description Seconds to wait before retrying. */
408
+ "Retry-After"?: number;
409
+ [name: string]: unknown;
410
+ };
411
+ content: {
412
+ /**
413
+ * @example {
414
+ * "error": {
415
+ * "code": "rate_limited",
416
+ * "message": "Too many requests. Please try again later."
417
+ * }
418
+ * }
419
+ */
420
+ "application/json": components["schemas"]["ErrorResponse"];
421
+ };
422
+ };
423
+ /** @description Internal server error. */
424
+ InternalError: {
425
+ headers: {
426
+ [name: string]: unknown;
427
+ };
428
+ content: {
429
+ /**
430
+ * @example {
431
+ * "error": {
432
+ * "code": "internal_error",
433
+ * "message": "An unexpected error occurred"
434
+ * }
435
+ * }
436
+ */
437
+ "application/json": components["schemas"]["ErrorResponse"];
438
+ };
439
+ };
440
+ };
441
+ parameters: never;
442
+ requestBodies: never;
443
+ headers: never;
444
+ pathItems: never;
445
+ }
446
+ export type $defs = Record<string, never>;
447
+ export interface operations {
448
+ submitFeedback: {
449
+ parameters: {
450
+ query?: never;
451
+ header?: never;
452
+ path?: never;
453
+ cookie?: never;
454
+ };
455
+ requestBody: {
456
+ content: {
457
+ "application/json": components["schemas"]["FeedbackSubmission"];
458
+ };
459
+ };
460
+ responses: {
461
+ /** @description Feedback submitted successfully. */
462
+ 201: {
463
+ headers: {
464
+ [name: string]: unknown;
465
+ };
466
+ content: {
467
+ "application/json": components["schemas"]["FeedbackSubmissionResponse"];
468
+ };
469
+ };
470
+ 400: components["responses"]["BadRequest"];
471
+ 401: components["responses"]["Unauthorized"];
472
+ 429: components["responses"]["TooManyRequests"];
473
+ 500: components["responses"]["InternalError"];
474
+ };
475
+ };
476
+ createAttachmentUpload: {
477
+ parameters: {
478
+ query?: never;
479
+ header?: never;
480
+ path?: never;
481
+ cookie?: never;
482
+ };
483
+ requestBody: {
484
+ content: {
485
+ "application/json": components["schemas"]["AttachmentPresignRequest"];
486
+ };
487
+ };
488
+ responses: {
489
+ /** @description Presigned upload URL created. */
490
+ 200: {
491
+ headers: {
492
+ [name: string]: unknown;
493
+ };
494
+ content: {
495
+ "application/json": components["schemas"]["AttachmentPresignResponse"];
496
+ };
497
+ };
498
+ 400: components["responses"]["BadRequest"];
499
+ 401: components["responses"]["Unauthorized"];
500
+ 429: components["responses"]["TooManyRequests"];
501
+ 500: components["responses"]["InternalError"];
502
+ };
503
+ };
504
+ getAttachmentStatus: {
505
+ parameters: {
506
+ query?: never;
507
+ header?: never;
508
+ path: {
509
+ attachment_id: string;
510
+ };
511
+ cookie?: never;
512
+ };
513
+ requestBody?: never;
514
+ responses: {
515
+ /** @description Attachment status. */
516
+ 200: {
517
+ headers: {
518
+ [name: string]: unknown;
519
+ };
520
+ content: {
521
+ "application/json": components["schemas"]["AttachmentStatusResponse"];
522
+ };
523
+ };
524
+ 401: components["responses"]["Unauthorized"];
525
+ 404: components["responses"]["NotFound"];
526
+ 500: components["responses"]["InternalError"];
527
+ };
528
+ };
529
+ confirmAttachmentUpload: {
530
+ parameters: {
531
+ query?: never;
532
+ header?: never;
533
+ path: {
534
+ attachment_id: string;
535
+ };
536
+ cookie?: never;
537
+ };
538
+ requestBody?: {
539
+ content: {
540
+ "application/json": components["schemas"]["AttachmentConfirmRequest"];
541
+ };
542
+ };
543
+ responses: {
544
+ /** @description Upload confirmed, processing started. */
545
+ 202: {
546
+ headers: {
547
+ [name: string]: unknown;
548
+ };
549
+ content: {
550
+ "application/json": components["schemas"]["AttachmentStatusResponse"];
551
+ };
552
+ };
553
+ 400: components["responses"]["BadRequest"];
554
+ 401: components["responses"]["Unauthorized"];
555
+ 404: components["responses"]["NotFound"];
556
+ /** @description Attachment already confirmed or failed. */
557
+ 409: {
558
+ headers: {
559
+ [name: string]: unknown;
560
+ };
561
+ content: {
562
+ "application/json": components["schemas"]["ErrorResponse"];
563
+ };
564
+ };
565
+ 500: components["responses"]["InternalError"];
566
+ };
567
+ };
568
+ reportAttachmentFailure: {
569
+ parameters: {
570
+ query?: never;
571
+ header?: never;
572
+ path: {
573
+ attachment_id: string;
574
+ };
575
+ cookie?: never;
576
+ };
577
+ requestBody?: {
578
+ content: {
579
+ "application/json": {
580
+ /** @description Error message or code from the upload failure. */
581
+ error?: string;
582
+ };
583
+ };
584
+ };
585
+ responses: {
586
+ /** @description Failure recorded. */
587
+ 200: {
588
+ headers: {
589
+ [name: string]: unknown;
590
+ };
591
+ content: {
592
+ "application/json": components["schemas"]["AttachmentStatusResponse"];
593
+ };
594
+ };
595
+ 401: components["responses"]["Unauthorized"];
596
+ 404: components["responses"]["NotFound"];
597
+ 500: components["responses"]["InternalError"];
598
+ };
599
+ };
600
+ }
601
+ //# sourceMappingURL=openapi.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"openapi.d.ts","sourceRoot":"","sources":["../../src/types/openapi.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ /**
3
+ * This file was auto-generated by openapi-typescript.
4
+ * Do not make direct changes to the file.
5
+ */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ //# sourceMappingURL=openapi.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"openapi.js","sourceRoot":"","sources":["../../src/types/openapi.ts"],"names":[],"mappings":";AAAA;;;GAGG"}
@@ -0,0 +1,2 @@
1
+ export { generateUUID } from './uuid';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC"}
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.generateUUID = void 0;
4
+ var uuid_1 = require("./uuid");
5
+ Object.defineProperty(exports, "generateUUID", { enumerable: true, get: function () { return uuid_1.generateUUID; } });
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":";;;AAAA,+BAAsC;AAA7B,oGAAA,YAAY,OAAA"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Generate a RFC4122 version 4 UUID.
3
+ *
4
+ * Uses crypto.getRandomValues when available (React Native),
5
+ * falls back to Math.random for older environments.
6
+ *
7
+ * @returns A random UUID string in the format xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx
8
+ */
9
+ export declare function generateUUID(): string;
10
+ //# sourceMappingURL=uuid.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"uuid.d.ts","sourceRoot":"","sources":["../../src/utils/uuid.ts"],"names":[],"mappings":"AAUA;;;;;;;GAOG;AACH,wBAAgB,YAAY,IAAI,MAAM,CAWrC"}