@h-ai/serv 0.1.0-alpha.68 → 0.1.0-alpha.70

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.
@@ -0,0 +1,688 @@
1
+ import * as _orpc_server from '@orpc/server';
2
+ import * as zod_v4_core from 'zod/v4/core';
3
+ import * as zod from 'zod';
4
+ import { FeedbackFunctions, FeedbackContext } from '@h-ai/feedback';
5
+ import { S as ServContext } from '../serv-context-B-AxU8hj.js';
6
+ import { A as AuthenticatedServContext } from '../serv-router-C8dSz2k-.js';
7
+ import '@h-ai/core';
8
+
9
+ /**
10
+ * 已认证请求到反馈范围的可信映射,返回 null 时拒绝访问。
11
+ * @example
12
+ * ```ts
13
+ * import type { FeedbackProcedureDeps } from '@h-ai/serv/features/feedback'
14
+ * import { feedback } from '@h-ai/feedback'
15
+ * const deps: FeedbackProcedureDeps = { feedback, resolveContext: ({ session }) => ({ scopeId: 'tenant-from-server', userId: session.userId, permissions: session.permissions }) }
16
+ * ```
17
+ */
18
+ interface FeedbackProcedureDeps {
19
+ readonly feedback: FeedbackFunctions;
20
+ readonly resolveContext: (context: AuthenticatedServContext) => FeedbackContext | null | Promise<FeedbackContext | null>;
21
+ }
22
+ /**
23
+ * 创建反馈的默认 procedures。宿主解析租户与权限,领域模块再次检查资源范围。
24
+ * @example
25
+ * ```ts
26
+ * import { feedback } from '@h-ai/feedback'
27
+ * import { createFeedbackProcedures } from '@h-ai/serv/features/feedback'
28
+ * const procedures = createFeedbackProcedures({ feedback, resolveContext: ({ session }) => ({ scopeId: 'trusted-tenant', userId: session.userId, permissions: session.permissions }) })
29
+ * ```
30
+ */
31
+ declare function createFeedbackProcedures(deps: FeedbackProcedureDeps): {
32
+ reports: {
33
+ submit: _orpc_server.Procedure<ServContext & {}, any, zod.ZodObject<{
34
+ submissionId: zod.ZodString;
35
+ appId: zod.ZodString;
36
+ description: zod.ZodOptional<zod.ZodString>;
37
+ category: zod.ZodOptional<zod.ZodString>;
38
+ contact: zod.ZodOptional<zod.ZodString>;
39
+ url: zod.ZodOptional<zod.ZodString>;
40
+ appVersion: zod.ZodOptional<zod.ZodString>;
41
+ buildId: zod.ZodOptional<zod.ZodString>;
42
+ commit: zod.ZodOptional<zod.ZodString>;
43
+ anchor: zod.ZodOptional<zod.ZodObject<{
44
+ kind: zod.ZodEnum<{
45
+ error: "error";
46
+ feedback: "feedback";
47
+ }>;
48
+ timestamp: zod.ZodNumber;
49
+ errorId: zod.ZodOptional<zod.ZodString>;
50
+ }, zod_v4_core.$strict>>;
51
+ evidence: zod.ZodOptional<zod.ZodArray<zod.ZodObject<{
52
+ id: zod.ZodString;
53
+ source: zod.ZodString;
54
+ sequence: zod.ZodNumber;
55
+ kind: zod.ZodEnum<{
56
+ error: "error";
57
+ request: "request";
58
+ log: "log";
59
+ interaction: "interaction";
60
+ environment: "environment";
61
+ snapshot: "snapshot";
62
+ replay: "replay";
63
+ business: "business";
64
+ missing: "missing";
65
+ }>;
66
+ timestamp: zod.ZodNumber;
67
+ requestId: zod.ZodOptional<zod.ZodString>;
68
+ errorId: zod.ZodOptional<zod.ZodString>;
69
+ data: zod.ZodRecord<zod.ZodString, zod.ZodJSONSchema>;
70
+ missingReason: zod.ZodOptional<zod.ZodString>;
71
+ }, zod_v4_core.$strict>>>;
72
+ attachments: zod.ZodOptional<zod.ZodArray<zod.ZodObject<{
73
+ id: zod.ZodString;
74
+ name: zod.ZodString;
75
+ contentType: zod.ZodString;
76
+ size: zod.ZodNumber;
77
+ checksum: zod.ZodString;
78
+ }, zod_v4_core.$strict>>>;
79
+ }, zod_v4_core.$strict>, zod.ZodDiscriminatedUnion<[zod.ZodObject<{
80
+ success: zod.ZodLiteral<true>;
81
+ data: zod.ZodObject<{
82
+ id: zod.ZodString;
83
+ number: zod.ZodString;
84
+ appId: zod.ZodString;
85
+ scopeId: zod.ZodString;
86
+ userId: zod.ZodString;
87
+ status: zod.ZodEnum<{
88
+ pending: "pending";
89
+ handled: "handled";
90
+ }>;
91
+ collectionStatus: zod.ZodEnum<{
92
+ collecting: "collecting";
93
+ complete: "complete";
94
+ partial: "partial";
95
+ failed: "failed";
96
+ }>;
97
+ notificationStatus: zod.ZodEnum<{
98
+ pending: "pending";
99
+ failed: "failed";
100
+ sending: "sending";
101
+ sent: "sent";
102
+ deferred: "deferred";
103
+ }>;
104
+ description: zod.ZodOptional<zod.ZodString>;
105
+ summary: zod.ZodOptional<zod.ZodString>;
106
+ category: zod.ZodOptional<zod.ZodString>;
107
+ contact: zod.ZodOptional<zod.ZodString>;
108
+ url: zod.ZodOptional<zod.ZodString>;
109
+ appVersion: zod.ZodOptional<zod.ZodString>;
110
+ buildId: zod.ZodOptional<zod.ZodString>;
111
+ commit: zod.ZodOptional<zod.ZodString>;
112
+ createdAt: zod.ZodNumber;
113
+ updatedAt: zod.ZodNumber;
114
+ version: zod.ZodNumber;
115
+ evidenceRevision: zod.ZodNumber;
116
+ }, zod_v4_core.$strip>;
117
+ }, zod_v4_core.$strip>, zod.ZodObject<{
118
+ success: zod.ZodLiteral<false>;
119
+ error: zod.ZodObject<{
120
+ code: zod.ZodUnion<readonly [zod.ZodString, zod.ZodNumber]>;
121
+ message: zod.ZodString;
122
+ httpStatus: zod.ZodOptional<zod.ZodNumber>;
123
+ system: zod.ZodOptional<zod.ZodString>;
124
+ module: zod.ZodOptional<zod.ZodString>;
125
+ cause: zod.ZodOptional<zod.ZodUnknown>;
126
+ suggestion: zod.ZodOptional<zod.ZodString>;
127
+ ext: zod.ZodOptional<zod.ZodRecord<zod.ZodString, zod.ZodUnknown>>;
128
+ }, zod_v4_core.$strip>;
129
+ }, zod_v4_core.$strip>], "success">, Record<never, never>, Record<never, never>>;
130
+ list: _orpc_server.Procedure<ServContext & {}, any, zod.ZodObject<{
131
+ page: zod.ZodOptional<zod.ZodCoercedNumber<unknown>>;
132
+ pageSize: zod.ZodOptional<zod.ZodCoercedNumber<unknown>>;
133
+ sortDirection: zod.ZodOptional<zod.ZodEnum<{
134
+ asc: "asc";
135
+ desc: "desc";
136
+ }>>;
137
+ status: zod.ZodOptional<zod.ZodEnum<{
138
+ pending: "pending";
139
+ handled: "handled";
140
+ }>>;
141
+ collectionStatus: zod.ZodOptional<zod.ZodEnum<{
142
+ collecting: "collecting";
143
+ complete: "complete";
144
+ partial: "partial";
145
+ failed: "failed";
146
+ }>>;
147
+ notificationStatus: zod.ZodOptional<zod.ZodEnum<{
148
+ pending: "pending";
149
+ failed: "failed";
150
+ sending: "sending";
151
+ sent: "sent";
152
+ deferred: "deferred";
153
+ }>>;
154
+ appId: zod.ZodOptional<zod.ZodString>;
155
+ appVersion: zod.ZodOptional<zod.ZodString>;
156
+ search: zod.ZodOptional<zod.ZodString>;
157
+ from: zod.ZodOptional<zod.ZodCoercedNumber<unknown>>;
158
+ to: zod.ZodOptional<zod.ZodCoercedNumber<unknown>>;
159
+ }, zod_v4_core.$strict>, zod.ZodDiscriminatedUnion<[zod.ZodObject<{
160
+ success: zod.ZodLiteral<true>;
161
+ data: zod.ZodObject<{
162
+ items: zod.ZodArray<zod.ZodObject<{
163
+ id: zod.ZodString;
164
+ number: zod.ZodString;
165
+ appId: zod.ZodString;
166
+ scopeId: zod.ZodString;
167
+ userId: zod.ZodString;
168
+ status: zod.ZodEnum<{
169
+ pending: "pending";
170
+ handled: "handled";
171
+ }>;
172
+ collectionStatus: zod.ZodEnum<{
173
+ collecting: "collecting";
174
+ complete: "complete";
175
+ partial: "partial";
176
+ failed: "failed";
177
+ }>;
178
+ notificationStatus: zod.ZodEnum<{
179
+ pending: "pending";
180
+ failed: "failed";
181
+ sending: "sending";
182
+ sent: "sent";
183
+ deferred: "deferred";
184
+ }>;
185
+ description: zod.ZodOptional<zod.ZodString>;
186
+ summary: zod.ZodOptional<zod.ZodString>;
187
+ category: zod.ZodOptional<zod.ZodString>;
188
+ contact: zod.ZodOptional<zod.ZodString>;
189
+ url: zod.ZodOptional<zod.ZodString>;
190
+ appVersion: zod.ZodOptional<zod.ZodString>;
191
+ buildId: zod.ZodOptional<zod.ZodString>;
192
+ commit: zod.ZodOptional<zod.ZodString>;
193
+ createdAt: zod.ZodNumber;
194
+ updatedAt: zod.ZodNumber;
195
+ version: zod.ZodNumber;
196
+ evidenceRevision: zod.ZodNumber;
197
+ }, zod_v4_core.$strip>>;
198
+ total: zod.ZodNumber;
199
+ page: zod.ZodNumber;
200
+ pageSize: zod.ZodNumber;
201
+ }, zod_v4_core.$strip>;
202
+ }, zod_v4_core.$strip>, zod.ZodObject<{
203
+ success: zod.ZodLiteral<false>;
204
+ error: zod.ZodObject<{
205
+ code: zod.ZodUnion<readonly [zod.ZodString, zod.ZodNumber]>;
206
+ message: zod.ZodString;
207
+ httpStatus: zod.ZodOptional<zod.ZodNumber>;
208
+ system: zod.ZodOptional<zod.ZodString>;
209
+ module: zod.ZodOptional<zod.ZodString>;
210
+ cause: zod.ZodOptional<zod.ZodUnknown>;
211
+ suggestion: zod.ZodOptional<zod.ZodString>;
212
+ ext: zod.ZodOptional<zod.ZodRecord<zod.ZodString, zod.ZodUnknown>>;
213
+ }, zod_v4_core.$strip>;
214
+ }, zod_v4_core.$strip>], "success">, Record<never, never>, Record<never, never>>;
215
+ get: _orpc_server.Procedure<ServContext & {}, any, zod.ZodObject<{
216
+ id: zod.ZodString;
217
+ }, zod_v4_core.$strict>, zod.ZodDiscriminatedUnion<[zod.ZodObject<{
218
+ success: zod.ZodLiteral<true>;
219
+ data: zod.ZodObject<{
220
+ report: zod.ZodObject<{
221
+ id: zod.ZodString;
222
+ number: zod.ZodString;
223
+ appId: zod.ZodString;
224
+ scopeId: zod.ZodString;
225
+ userId: zod.ZodString;
226
+ status: zod.ZodEnum<{
227
+ pending: "pending";
228
+ handled: "handled";
229
+ }>;
230
+ collectionStatus: zod.ZodEnum<{
231
+ collecting: "collecting";
232
+ complete: "complete";
233
+ partial: "partial";
234
+ failed: "failed";
235
+ }>;
236
+ notificationStatus: zod.ZodEnum<{
237
+ pending: "pending";
238
+ failed: "failed";
239
+ sending: "sending";
240
+ sent: "sent";
241
+ deferred: "deferred";
242
+ }>;
243
+ description: zod.ZodOptional<zod.ZodString>;
244
+ summary: zod.ZodOptional<zod.ZodString>;
245
+ category: zod.ZodOptional<zod.ZodString>;
246
+ contact: zod.ZodOptional<zod.ZodString>;
247
+ url: zod.ZodOptional<zod.ZodString>;
248
+ appVersion: zod.ZodOptional<zod.ZodString>;
249
+ buildId: zod.ZodOptional<zod.ZodString>;
250
+ commit: zod.ZodOptional<zod.ZodString>;
251
+ createdAt: zod.ZodNumber;
252
+ updatedAt: zod.ZodNumber;
253
+ version: zod.ZodNumber;
254
+ evidenceRevision: zod.ZodNumber;
255
+ }, zod_v4_core.$strip>;
256
+ attachments: zod.ZodArray<zod.ZodObject<{
257
+ id: zod.ZodString;
258
+ name: zod.ZodString;
259
+ contentType: zod.ZodString;
260
+ size: zod.ZodNumber;
261
+ checksum: zod.ZodString;
262
+ feedbackId: zod.ZodString;
263
+ status: zod.ZodEnum<{
264
+ pending: "pending";
265
+ failed: "failed";
266
+ available: "available";
267
+ }>;
268
+ missingReason: zod.ZodOptional<zod.ZodString>;
269
+ }, zod_v4_core.$strict>>;
270
+ history: zod.ZodArray<zod.ZodObject<{
271
+ id: zod.ZodString;
272
+ feedbackId: zod.ZodString;
273
+ userId: zod.ZodString;
274
+ from: zod.ZodEnum<{
275
+ pending: "pending";
276
+ handled: "handled";
277
+ }>;
278
+ to: zod.ZodEnum<{
279
+ pending: "pending";
280
+ handled: "handled";
281
+ }>;
282
+ timestamp: zod.ZodNumber;
283
+ note: zod.ZodOptional<zod.ZodString>;
284
+ }, zod_v4_core.$strip>>;
285
+ jobs: zod.ZodArray<zod.ZodObject<{
286
+ id: zod.ZodString;
287
+ feedbackId: zod.ZodString;
288
+ type: zod.ZodEnum<{
289
+ collect: "collect";
290
+ notify: "notify";
291
+ export: "export";
292
+ cleanup: "cleanup";
293
+ }>;
294
+ status: zod.ZodEnum<{
295
+ pending: "pending";
296
+ failed: "failed";
297
+ running: "running";
298
+ succeeded: "succeeded";
299
+ }>;
300
+ attempts: zod.ZodNumber;
301
+ createdAt: zod.ZodNumber;
302
+ updatedAt: zod.ZodNumber;
303
+ nextRunAt: zod.ZodOptional<zod.ZodNumber>;
304
+ lastError: zod.ZodOptional<zod.ZodString>;
305
+ result: zod.ZodOptional<zod.ZodRecord<zod.ZodString, zod.ZodJSONSchema>>;
306
+ }, zod_v4_core.$strip>>;
307
+ }, zod_v4_core.$strip>;
308
+ }, zod_v4_core.$strip>, zod.ZodObject<{
309
+ success: zod.ZodLiteral<false>;
310
+ error: zod.ZodObject<{
311
+ code: zod.ZodUnion<readonly [zod.ZodString, zod.ZodNumber]>;
312
+ message: zod.ZodString;
313
+ httpStatus: zod.ZodOptional<zod.ZodNumber>;
314
+ system: zod.ZodOptional<zod.ZodString>;
315
+ module: zod.ZodOptional<zod.ZodString>;
316
+ cause: zod.ZodOptional<zod.ZodUnknown>;
317
+ suggestion: zod.ZodOptional<zod.ZodString>;
318
+ ext: zod.ZodOptional<zod.ZodRecord<zod.ZodString, zod.ZodUnknown>>;
319
+ }, zod_v4_core.$strip>;
320
+ }, zod_v4_core.$strip>], "success">, Record<never, never>, Record<never, never>>;
321
+ getEvidence: _orpc_server.Procedure<ServContext & {}, any, zod.ZodObject<{
322
+ page: zod.ZodOptional<zod.ZodCoercedNumber<unknown>>;
323
+ pageSize: zod.ZodOptional<zod.ZodCoercedNumber<unknown>>;
324
+ id: zod.ZodString;
325
+ source: zod.ZodOptional<zod.ZodString>;
326
+ kind: zod.ZodOptional<zod.ZodEnum<{
327
+ error: "error";
328
+ request: "request";
329
+ log: "log";
330
+ interaction: "interaction";
331
+ environment: "environment";
332
+ snapshot: "snapshot";
333
+ replay: "replay";
334
+ business: "business";
335
+ missing: "missing";
336
+ }>>;
337
+ requestId: zod.ZodOptional<zod.ZodString>;
338
+ errorId: zod.ZodOptional<zod.ZodString>;
339
+ from: zod.ZodOptional<zod.ZodCoercedNumber<unknown>>;
340
+ to: zod.ZodOptional<zod.ZodCoercedNumber<unknown>>;
341
+ }, zod_v4_core.$strict>, zod.ZodDiscriminatedUnion<[zod.ZodObject<{
342
+ success: zod.ZodLiteral<true>;
343
+ data: zod.ZodObject<{
344
+ items: zod.ZodArray<zod.ZodObject<{
345
+ id: zod.ZodString;
346
+ source: zod.ZodString;
347
+ sequence: zod.ZodNumber;
348
+ kind: zod.ZodEnum<{
349
+ error: "error";
350
+ request: "request";
351
+ log: "log";
352
+ interaction: "interaction";
353
+ environment: "environment";
354
+ snapshot: "snapshot";
355
+ replay: "replay";
356
+ business: "business";
357
+ missing: "missing";
358
+ }>;
359
+ timestamp: zod.ZodNumber;
360
+ requestId: zod.ZodOptional<zod.ZodString>;
361
+ errorId: zod.ZodOptional<zod.ZodString>;
362
+ data: zod.ZodRecord<zod.ZodString, zod.ZodJSONSchema>;
363
+ missingReason: zod.ZodOptional<zod.ZodString>;
364
+ feedbackId: zod.ZodString;
365
+ revision: zod.ZodNumber;
366
+ }, zod_v4_core.$strict>>;
367
+ total: zod.ZodNumber;
368
+ page: zod.ZodNumber;
369
+ pageSize: zod.ZodNumber;
370
+ }, zod_v4_core.$strip>;
371
+ }, zod_v4_core.$strip>, zod.ZodObject<{
372
+ success: zod.ZodLiteral<false>;
373
+ error: zod.ZodObject<{
374
+ code: zod.ZodUnion<readonly [zod.ZodString, zod.ZodNumber]>;
375
+ message: zod.ZodString;
376
+ httpStatus: zod.ZodOptional<zod.ZodNumber>;
377
+ system: zod.ZodOptional<zod.ZodString>;
378
+ module: zod.ZodOptional<zod.ZodString>;
379
+ cause: zod.ZodOptional<zod.ZodUnknown>;
380
+ suggestion: zod.ZodOptional<zod.ZodString>;
381
+ ext: zod.ZodOptional<zod.ZodRecord<zod.ZodString, zod.ZodUnknown>>;
382
+ }, zod_v4_core.$strip>;
383
+ }, zod_v4_core.$strip>], "success">, Record<never, never>, Record<never, never>>;
384
+ setStatus: _orpc_server.Procedure<ServContext & {}, any, zod.ZodObject<{
385
+ id: zod.ZodString;
386
+ status: zod.ZodEnum<{
387
+ pending: "pending";
388
+ handled: "handled";
389
+ }>;
390
+ expectedVersion: zod.ZodNumber;
391
+ note: zod.ZodOptional<zod.ZodString>;
392
+ }, zod_v4_core.$strict>, zod.ZodDiscriminatedUnion<[zod.ZodObject<{
393
+ success: zod.ZodLiteral<true>;
394
+ data: zod.ZodObject<{
395
+ id: zod.ZodString;
396
+ number: zod.ZodString;
397
+ appId: zod.ZodString;
398
+ scopeId: zod.ZodString;
399
+ userId: zod.ZodString;
400
+ status: zod.ZodEnum<{
401
+ pending: "pending";
402
+ handled: "handled";
403
+ }>;
404
+ collectionStatus: zod.ZodEnum<{
405
+ collecting: "collecting";
406
+ complete: "complete";
407
+ partial: "partial";
408
+ failed: "failed";
409
+ }>;
410
+ notificationStatus: zod.ZodEnum<{
411
+ pending: "pending";
412
+ failed: "failed";
413
+ sending: "sending";
414
+ sent: "sent";
415
+ deferred: "deferred";
416
+ }>;
417
+ description: zod.ZodOptional<zod.ZodString>;
418
+ summary: zod.ZodOptional<zod.ZodString>;
419
+ category: zod.ZodOptional<zod.ZodString>;
420
+ contact: zod.ZodOptional<zod.ZodString>;
421
+ url: zod.ZodOptional<zod.ZodString>;
422
+ appVersion: zod.ZodOptional<zod.ZodString>;
423
+ buildId: zod.ZodOptional<zod.ZodString>;
424
+ commit: zod.ZodOptional<zod.ZodString>;
425
+ createdAt: zod.ZodNumber;
426
+ updatedAt: zod.ZodNumber;
427
+ version: zod.ZodNumber;
428
+ evidenceRevision: zod.ZodNumber;
429
+ }, zod_v4_core.$strip>;
430
+ }, zod_v4_core.$strip>, zod.ZodObject<{
431
+ success: zod.ZodLiteral<false>;
432
+ error: zod.ZodObject<{
433
+ code: zod.ZodUnion<readonly [zod.ZodString, zod.ZodNumber]>;
434
+ message: zod.ZodString;
435
+ httpStatus: zod.ZodOptional<zod.ZodNumber>;
436
+ system: zod.ZodOptional<zod.ZodString>;
437
+ module: zod.ZodOptional<zod.ZodString>;
438
+ cause: zod.ZodOptional<zod.ZodUnknown>;
439
+ suggestion: zod.ZodOptional<zod.ZodString>;
440
+ ext: zod.ZodOptional<zod.ZodRecord<zod.ZodString, zod.ZodUnknown>>;
441
+ }, zod_v4_core.$strip>;
442
+ }, zod_v4_core.$strip>], "success">, Record<never, never>, Record<never, never>>;
443
+ retry: _orpc_server.Procedure<ServContext & {}, any, zod.ZodObject<{
444
+ id: zod.ZodString;
445
+ target: zod.ZodEnum<{
446
+ collect: "collect";
447
+ notify: "notify";
448
+ export: "export";
449
+ attachment: "attachment";
450
+ }>;
451
+ targetId: zod.ZodOptional<zod.ZodString>;
452
+ }, zod_v4_core.$strict>, zod.ZodDiscriminatedUnion<[zod.ZodObject<{
453
+ success: zod.ZodLiteral<true>;
454
+ data: zod.ZodVoid;
455
+ }, zod_v4_core.$strip>, zod.ZodObject<{
456
+ success: zod.ZodLiteral<false>;
457
+ error: zod.ZodObject<{
458
+ code: zod.ZodUnion<readonly [zod.ZodString, zod.ZodNumber]>;
459
+ message: zod.ZodString;
460
+ httpStatus: zod.ZodOptional<zod.ZodNumber>;
461
+ system: zod.ZodOptional<zod.ZodString>;
462
+ module: zod.ZodOptional<zod.ZodString>;
463
+ cause: zod.ZodOptional<zod.ZodUnknown>;
464
+ suggestion: zod.ZodOptional<zod.ZodString>;
465
+ ext: zod.ZodOptional<zod.ZodRecord<zod.ZodString, zod.ZodUnknown>>;
466
+ }, zod_v4_core.$strip>;
467
+ }, zod_v4_core.$strip>], "success">, Record<never, never>, Record<never, never>>;
468
+ export: _orpc_server.Procedure<ServContext & {}, any, zod.ZodObject<{
469
+ id: zod.ZodString;
470
+ evidenceRevision: zod.ZodOptional<zod.ZodNumber>;
471
+ }, zod_v4_core.$strict>, zod.ZodDiscriminatedUnion<[zod.ZodObject<{
472
+ success: zod.ZodLiteral<true>;
473
+ data: zod.ZodObject<{
474
+ id: zod.ZodString;
475
+ feedbackId: zod.ZodString;
476
+ type: zod.ZodEnum<{
477
+ collect: "collect";
478
+ notify: "notify";
479
+ export: "export";
480
+ cleanup: "cleanup";
481
+ }>;
482
+ status: zod.ZodEnum<{
483
+ pending: "pending";
484
+ failed: "failed";
485
+ running: "running";
486
+ succeeded: "succeeded";
487
+ }>;
488
+ attempts: zod.ZodNumber;
489
+ createdAt: zod.ZodNumber;
490
+ updatedAt: zod.ZodNumber;
491
+ nextRunAt: zod.ZodOptional<zod.ZodNumber>;
492
+ lastError: zod.ZodOptional<zod.ZodString>;
493
+ result: zod.ZodOptional<zod.ZodRecord<zod.ZodString, zod.ZodJSONSchema>>;
494
+ }, zod_v4_core.$strip>;
495
+ }, zod_v4_core.$strip>, zod.ZodObject<{
496
+ success: zod.ZodLiteral<false>;
497
+ error: zod.ZodObject<{
498
+ code: zod.ZodUnion<readonly [zod.ZodString, zod.ZodNumber]>;
499
+ message: zod.ZodString;
500
+ httpStatus: zod.ZodOptional<zod.ZodNumber>;
501
+ system: zod.ZodOptional<zod.ZodString>;
502
+ module: zod.ZodOptional<zod.ZodString>;
503
+ cause: zod.ZodOptional<zod.ZodUnknown>;
504
+ suggestion: zod.ZodOptional<zod.ZodString>;
505
+ ext: zod.ZodOptional<zod.ZodRecord<zod.ZodString, zod.ZodUnknown>>;
506
+ }, zod_v4_core.$strip>;
507
+ }, zod_v4_core.$strip>], "success">, Record<never, never>, Record<never, never>>;
508
+ appendEvidence: _orpc_server.Procedure<ServContext & {}, any, zod.ZodObject<{
509
+ id: zod.ZodString;
510
+ evidence: zod.ZodArray<zod.ZodObject<{
511
+ id: zod.ZodString;
512
+ source: zod.ZodString;
513
+ sequence: zod.ZodNumber;
514
+ kind: zod.ZodEnum<{
515
+ error: "error";
516
+ request: "request";
517
+ log: "log";
518
+ interaction: "interaction";
519
+ environment: "environment";
520
+ snapshot: "snapshot";
521
+ replay: "replay";
522
+ business: "business";
523
+ missing: "missing";
524
+ }>;
525
+ timestamp: zod.ZodNumber;
526
+ requestId: zod.ZodOptional<zod.ZodString>;
527
+ errorId: zod.ZodOptional<zod.ZodString>;
528
+ data: zod.ZodRecord<zod.ZodString, zod.ZodJSONSchema>;
529
+ missingReason: zod.ZodOptional<zod.ZodString>;
530
+ }, zod_v4_core.$strict>>;
531
+ }, zod_v4_core.$strict>, zod.ZodDiscriminatedUnion<[zod.ZodObject<{
532
+ success: zod.ZodLiteral<true>;
533
+ data: zod.ZodObject<{
534
+ acknowledged: zod.ZodArray<zod.ZodString>;
535
+ evidenceRevision: zod.ZodNumber;
536
+ }, zod_v4_core.$strip>;
537
+ }, zod_v4_core.$strip>, zod.ZodObject<{
538
+ success: zod.ZodLiteral<false>;
539
+ error: zod.ZodObject<{
540
+ code: zod.ZodUnion<readonly [zod.ZodString, zod.ZodNumber]>;
541
+ message: zod.ZodString;
542
+ httpStatus: zod.ZodOptional<zod.ZodNumber>;
543
+ system: zod.ZodOptional<zod.ZodString>;
544
+ module: zod.ZodOptional<zod.ZodString>;
545
+ cause: zod.ZodOptional<zod.ZodUnknown>;
546
+ suggestion: zod.ZodOptional<zod.ZodString>;
547
+ ext: zod.ZodOptional<zod.ZodRecord<zod.ZodString, zod.ZodUnknown>>;
548
+ }, zod_v4_core.$strip>;
549
+ }, zod_v4_core.$strip>], "success">, Record<never, never>, Record<never, never>>;
550
+ getExport: _orpc_server.Procedure<ServContext & {}, any, zod.ZodObject<{
551
+ id: zod.ZodString;
552
+ jobId: zod.ZodString;
553
+ }, zod_v4_core.$strict>, zod.ZodDiscriminatedUnion<[zod.ZodObject<{
554
+ success: zod.ZodLiteral<true>;
555
+ data: zod.ZodObject<{
556
+ name: zod.ZodString;
557
+ contentType: zod.ZodString;
558
+ dataBase64: zod.ZodString;
559
+ }, zod_v4_core.$strip>;
560
+ }, zod_v4_core.$strip>, zod.ZodObject<{
561
+ success: zod.ZodLiteral<false>;
562
+ error: zod.ZodObject<{
563
+ code: zod.ZodUnion<readonly [zod.ZodString, zod.ZodNumber]>;
564
+ message: zod.ZodString;
565
+ httpStatus: zod.ZodOptional<zod.ZodNumber>;
566
+ system: zod.ZodOptional<zod.ZodString>;
567
+ module: zod.ZodOptional<zod.ZodString>;
568
+ cause: zod.ZodOptional<zod.ZodUnknown>;
569
+ suggestion: zod.ZodOptional<zod.ZodString>;
570
+ ext: zod.ZodOptional<zod.ZodRecord<zod.ZodString, zod.ZodUnknown>>;
571
+ }, zod_v4_core.$strip>;
572
+ }, zod_v4_core.$strip>], "success">, Record<never, never>, Record<never, never>>;
573
+ completeCollection: _orpc_server.Procedure<ServContext & {}, any, zod.ZodObject<{
574
+ id: zod.ZodString;
575
+ missing: zod.ZodOptional<zod.ZodArray<zod.ZodString>>;
576
+ }, zod_v4_core.$strict>, zod.ZodDiscriminatedUnion<[zod.ZodObject<{
577
+ success: zod.ZodLiteral<true>;
578
+ data: zod.ZodObject<{
579
+ id: zod.ZodString;
580
+ number: zod.ZodString;
581
+ appId: zod.ZodString;
582
+ scopeId: zod.ZodString;
583
+ userId: zod.ZodString;
584
+ status: zod.ZodEnum<{
585
+ pending: "pending";
586
+ handled: "handled";
587
+ }>;
588
+ collectionStatus: zod.ZodEnum<{
589
+ collecting: "collecting";
590
+ complete: "complete";
591
+ partial: "partial";
592
+ failed: "failed";
593
+ }>;
594
+ notificationStatus: zod.ZodEnum<{
595
+ pending: "pending";
596
+ failed: "failed";
597
+ sending: "sending";
598
+ sent: "sent";
599
+ deferred: "deferred";
600
+ }>;
601
+ description: zod.ZodOptional<zod.ZodString>;
602
+ summary: zod.ZodOptional<zod.ZodString>;
603
+ category: zod.ZodOptional<zod.ZodString>;
604
+ contact: zod.ZodOptional<zod.ZodString>;
605
+ url: zod.ZodOptional<zod.ZodString>;
606
+ appVersion: zod.ZodOptional<zod.ZodString>;
607
+ buildId: zod.ZodOptional<zod.ZodString>;
608
+ commit: zod.ZodOptional<zod.ZodString>;
609
+ createdAt: zod.ZodNumber;
610
+ updatedAt: zod.ZodNumber;
611
+ version: zod.ZodNumber;
612
+ evidenceRevision: zod.ZodNumber;
613
+ }, zod_v4_core.$strip>;
614
+ }, zod_v4_core.$strip>, zod.ZodObject<{
615
+ success: zod.ZodLiteral<false>;
616
+ error: zod.ZodObject<{
617
+ code: zod.ZodUnion<readonly [zod.ZodString, zod.ZodNumber]>;
618
+ message: zod.ZodString;
619
+ httpStatus: zod.ZodOptional<zod.ZodNumber>;
620
+ system: zod.ZodOptional<zod.ZodString>;
621
+ module: zod.ZodOptional<zod.ZodString>;
622
+ cause: zod.ZodOptional<zod.ZodUnknown>;
623
+ suggestion: zod.ZodOptional<zod.ZodString>;
624
+ ext: zod.ZodOptional<zod.ZodRecord<zod.ZodString, zod.ZodUnknown>>;
625
+ }, zod_v4_core.$strip>;
626
+ }, zod_v4_core.$strip>], "success">, Record<never, never>, Record<never, never>>;
627
+ };
628
+ attachments: {
629
+ upload: _orpc_server.Procedure<ServContext & {}, any, zod.ZodObject<{
630
+ id: zod.ZodString;
631
+ attachmentId: zod.ZodString;
632
+ dataBase64: zod.ZodString;
633
+ }, zod_v4_core.$strict>, zod.ZodDiscriminatedUnion<[zod.ZodObject<{
634
+ success: zod.ZodLiteral<true>;
635
+ data: zod.ZodObject<{
636
+ id: zod.ZodString;
637
+ name: zod.ZodString;
638
+ contentType: zod.ZodString;
639
+ size: zod.ZodNumber;
640
+ checksum: zod.ZodString;
641
+ feedbackId: zod.ZodString;
642
+ status: zod.ZodEnum<{
643
+ pending: "pending";
644
+ failed: "failed";
645
+ available: "available";
646
+ }>;
647
+ missingReason: zod.ZodOptional<zod.ZodString>;
648
+ }, zod_v4_core.$strict>;
649
+ }, zod_v4_core.$strip>, zod.ZodObject<{
650
+ success: zod.ZodLiteral<false>;
651
+ error: zod.ZodObject<{
652
+ code: zod.ZodUnion<readonly [zod.ZodString, zod.ZodNumber]>;
653
+ message: zod.ZodString;
654
+ httpStatus: zod.ZodOptional<zod.ZodNumber>;
655
+ system: zod.ZodOptional<zod.ZodString>;
656
+ module: zod.ZodOptional<zod.ZodString>;
657
+ cause: zod.ZodOptional<zod.ZodUnknown>;
658
+ suggestion: zod.ZodOptional<zod.ZodString>;
659
+ ext: zod.ZodOptional<zod.ZodRecord<zod.ZodString, zod.ZodUnknown>>;
660
+ }, zod_v4_core.$strip>;
661
+ }, zod_v4_core.$strip>], "success">, Record<never, never>, Record<never, never>>;
662
+ get: _orpc_server.Procedure<ServContext & {}, any, zod.ZodObject<{
663
+ id: zod.ZodString;
664
+ attachmentId: zod.ZodString;
665
+ }, zod_v4_core.$strict>, zod.ZodDiscriminatedUnion<[zod.ZodObject<{
666
+ success: zod.ZodLiteral<true>;
667
+ data: zod.ZodObject<{
668
+ name: zod.ZodString;
669
+ contentType: zod.ZodString;
670
+ dataBase64: zod.ZodString;
671
+ }, zod_v4_core.$strip>;
672
+ }, zod_v4_core.$strip>, zod.ZodObject<{
673
+ success: zod.ZodLiteral<false>;
674
+ error: zod.ZodObject<{
675
+ code: zod.ZodUnion<readonly [zod.ZodString, zod.ZodNumber]>;
676
+ message: zod.ZodString;
677
+ httpStatus: zod.ZodOptional<zod.ZodNumber>;
678
+ system: zod.ZodOptional<zod.ZodString>;
679
+ module: zod.ZodOptional<zod.ZodString>;
680
+ cause: zod.ZodOptional<zod.ZodUnknown>;
681
+ suggestion: zod.ZodOptional<zod.ZodString>;
682
+ ext: zod.ZodOptional<zod.ZodRecord<zod.ZodString, zod.ZodUnknown>>;
683
+ }, zod_v4_core.$strip>;
684
+ }, zod_v4_core.$strip>], "success">, Record<never, never>, Record<never, never>>;
685
+ };
686
+ };
687
+
688
+ export { type FeedbackProcedureDeps, createFeedbackProcedures };