@locusai/shared 0.4.6 → 0.4.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (52) hide show
  1. package/dist/common.d.ts +200 -0
  2. package/dist/common.d.ts.map +1 -0
  3. package/dist/enums.d.ts +51 -0
  4. package/dist/enums.d.ts.map +1 -0
  5. package/dist/index.d.ts +1 -1
  6. package/dist/index.d.ts.map +1 -1
  7. package/dist/index.js +884 -3
  8. package/dist/models/activity.d.ts +947 -0
  9. package/dist/models/activity.d.ts.map +1 -0
  10. package/dist/models/agent.d.ts +21 -0
  11. package/dist/models/agent.d.ts.map +1 -0
  12. package/dist/models/auth.d.ts +374 -0
  13. package/dist/models/auth.d.ts.map +1 -0
  14. package/dist/models/ci.d.ts +76 -0
  15. package/dist/models/ci.d.ts.map +1 -0
  16. package/dist/models/doc-group.d.ts +144 -0
  17. package/dist/models/doc-group.d.ts.map +1 -0
  18. package/dist/models/doc.d.ts +251 -0
  19. package/dist/models/doc.d.ts.map +1 -0
  20. package/{src/models/index.ts → dist/models/index.d.ts} +1 -0
  21. package/dist/models/index.d.ts.map +1 -0
  22. package/dist/models/invitation.d.ts +257 -0
  23. package/dist/models/invitation.d.ts.map +1 -0
  24. package/dist/models/organization.d.ts +357 -0
  25. package/dist/models/organization.d.ts.map +1 -0
  26. package/dist/models/sprint.d.ts +218 -0
  27. package/dist/models/sprint.d.ts.map +1 -0
  28. package/dist/models/task.d.ts +1208 -0
  29. package/dist/models/task.d.ts.map +1 -0
  30. package/dist/models/user.d.ts +101 -0
  31. package/dist/models/user.d.ts.map +1 -0
  32. package/dist/models/workspace.d.ts +319 -0
  33. package/dist/models/workspace.d.ts.map +1 -0
  34. package/package.json +3 -20
  35. package/dist/schemas.d.ts +0 -297
  36. package/dist/schemas.d.ts.map +0 -1
  37. package/dist/schemas.js +0 -129
  38. package/src/common.ts +0 -106
  39. package/src/enums.ts +0 -56
  40. package/src/index.ts +0 -3
  41. package/src/models/activity.ts +0 -237
  42. package/src/models/agent.ts +0 -13
  43. package/src/models/auth.ts +0 -188
  44. package/src/models/ci.ts +0 -21
  45. package/src/models/doc-group.ts +0 -42
  46. package/src/models/doc.ts +0 -66
  47. package/src/models/invitation.ts +0 -83
  48. package/src/models/organization.ts +0 -105
  49. package/src/models/sprint.ts +0 -71
  50. package/src/models/task.ts +0 -110
  51. package/src/models/user.ts +0 -35
  52. package/src/models/workspace.ts +0 -99
package/dist/index.js CHANGED
@@ -1,3 +1,884 @@
1
- export * from "./common";
2
- export * from "./enums";
3
- export * from "./models";
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropNames = Object.getOwnPropertyNames;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __moduleCache = /* @__PURE__ */ new WeakMap;
6
+ var __toCommonJS = (from) => {
7
+ var entry = __moduleCache.get(from), desc;
8
+ if (entry)
9
+ return entry;
10
+ entry = __defProp({}, "__esModule", { value: true });
11
+ if (from && typeof from === "object" || typeof from === "function")
12
+ __getOwnPropNames(from).map((key) => !__hasOwnProp.call(entry, key) && __defProp(entry, key, {
13
+ get: () => from[key],
14
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
15
+ }));
16
+ __moduleCache.set(from, entry);
17
+ return entry;
18
+ };
19
+ var __export = (target, all) => {
20
+ for (var name in all)
21
+ __defProp(target, name, {
22
+ get: all[name],
23
+ enumerable: true,
24
+ configurable: true,
25
+ set: (newValue) => all[name] = () => newValue
26
+ });
27
+ };
28
+
29
+ // src/index.ts
30
+ var exports_src = {};
31
+ __export(exports_src, {
32
+ isJwtUser: () => isJwtUser,
33
+ isApiKeyUser: () => isApiKeyUser,
34
+ getAuthUserId: () => getAuthUserId,
35
+ generateUUID: () => generateUUID,
36
+ WorkspacesResponseSchema: () => WorkspacesResponseSchema,
37
+ WorkspaceStatsSchema: () => WorkspaceStatsSchema,
38
+ WorkspaceStatsResponseSchema: () => WorkspaceStatsResponseSchema,
39
+ WorkspaceSchema: () => WorkspaceSchema,
40
+ WorkspaceResponseSchema: () => WorkspaceResponseSchema,
41
+ WorkspaceIdParamSchema: () => WorkspaceIdParamSchema,
42
+ WorkspaceCreatedPayloadSchema: () => WorkspaceCreatedPayloadSchema,
43
+ WorkspaceAndUserParamSchema: () => WorkspaceAndUserParamSchema,
44
+ VerifyOtpSchema: () => VerifyOtpSchema,
45
+ UserSchema: () => UserSchema,
46
+ UserRole: () => UserRole,
47
+ UpdateWorkspaceSchema: () => UpdateWorkspaceSchema,
48
+ UpdateUserSchema: () => UpdateUserSchema,
49
+ UpdateTaskSchema: () => UpdateTaskSchema,
50
+ UpdateSprintSchema: () => UpdateSprintSchema,
51
+ UpdateOrganizationSchema: () => UpdateOrganizationSchema,
52
+ UpdateDocSchema: () => UpdateDocSchema,
53
+ UpdateDocGroupSchema: () => UpdateDocGroupSchema,
54
+ UnlockSchema: () => UnlockSchema,
55
+ TasksResponseSchema: () => TasksResponseSchema,
56
+ TaskStatus: () => TaskStatus,
57
+ TaskSchema: () => TaskSchema,
58
+ TaskResponseSchema: () => TaskResponseSchema,
59
+ TaskQuerySchema: () => TaskQuerySchema,
60
+ TaskPriority: () => TaskPriority,
61
+ TaskIdParamSchema: () => TaskIdParamSchema,
62
+ TaskIdOnlyParamSchema: () => TaskIdOnlyParamSchema,
63
+ TaskDeletedPayloadSchema: () => TaskDeletedPayloadSchema,
64
+ TaskCreatedPayloadSchema: () => TaskCreatedPayloadSchema,
65
+ SuccessResponseSchema: () => SuccessResponseSchema,
66
+ StatusChangedPayloadSchema: () => StatusChangedPayloadSchema,
67
+ SprintsResponseSchema: () => SprintsResponseSchema,
68
+ SprintStatusChangedPayloadSchema: () => SprintStatusChangedPayloadSchema,
69
+ SprintStatus: () => SprintStatus,
70
+ SprintSchema: () => SprintSchema,
71
+ SprintResponseSchema: () => SprintResponseSchema,
72
+ SprintQuerySchema: () => SprintQuerySchema,
73
+ SprintIdParamSchema: () => SprintIdParamSchema,
74
+ SprintCreatedPayloadSchema: () => SprintCreatedPayloadSchema,
75
+ ReportCiResultSchema: () => ReportCiResultSchema,
76
+ RecordCiSchema: () => RecordCiSchema,
77
+ PaginationRequestSchema: () => PaginationRequestSchema,
78
+ PaginationMetaSchema: () => PaginationMetaSchema,
79
+ OtpRequestSchema: () => OtpRequestSchema,
80
+ OrganizationsResponseSchema: () => OrganizationsResponseSchema,
81
+ OrganizationSchema: () => OrganizationSchema,
82
+ OrganizationResponseSchema: () => OrganizationResponseSchema,
83
+ OrgIdParamSchema: () => OrgIdParamSchema,
84
+ MembershipWithUserSchema: () => MembershipWithUserSchema,
85
+ MembershipRole: () => MembershipRole,
86
+ MembershipResponseSchema: () => MembershipResponseSchema,
87
+ MembershipIdParamSchema: () => MembershipIdParamSchema,
88
+ MembersResponseSchema: () => MembersResponseSchema,
89
+ MemberInvitedPayloadSchema: () => MemberInvitedPayloadSchema,
90
+ MemberAddedPayloadSchema: () => MemberAddedPayloadSchema,
91
+ LockSchema: () => LockSchema,
92
+ JwtAuthUserSchema: () => JwtAuthUserSchema,
93
+ JWTPayloadSchema: () => JWTPayloadSchema,
94
+ InvitationsResponseSchema: () => InvitationsResponseSchema,
95
+ InvitationVerifyParamSchema: () => InvitationVerifyParamSchema,
96
+ InvitationSchema: () => InvitationSchema,
97
+ InvitationResponseSchema: () => InvitationResponseSchema,
98
+ InvitationQuerySchema: () => InvitationQuerySchema,
99
+ InvitationIdParamSchema: () => InvitationIdParamSchema,
100
+ EventsResponseSchema: () => EventsResponseSchema,
101
+ EventType: () => EventType,
102
+ EventSchema: () => EventSchema,
103
+ EventResponseSchema: () => EventResponseSchema,
104
+ EventQuerySchema: () => EventQuerySchema,
105
+ EventPayloadSchema: () => EventPayloadSchema,
106
+ ErrorResponseSchema: () => ErrorResponseSchema,
107
+ DocsResponseSchema: () => DocsResponseSchema,
108
+ DocSchema: () => DocSchema,
109
+ DocResponseSchema: () => DocResponseSchema,
110
+ DocQuerySchema: () => DocQuerySchema,
111
+ DocIdParamSchema: () => DocIdParamSchema,
112
+ DocGroupsResponseSchema: () => DocGroupsResponseSchema,
113
+ DocGroupSchemaForDoc: () => DocGroupSchemaForDoc,
114
+ DocGroupSchema: () => DocGroupSchema,
115
+ DocGroupResponseSchema: () => DocGroupResponseSchema,
116
+ DocGroupIdParamSchema: () => DocGroupIdParamSchema,
117
+ DispatchTaskSchema: () => DispatchTaskSchema,
118
+ CreateWorkspaceSchema: () => CreateWorkspaceSchema,
119
+ CreateUserSchema: () => CreateUserSchema,
120
+ CreateTaskSchema: () => CreateTaskSchema,
121
+ CreateSprintSchema: () => CreateSprintSchema,
122
+ CreateOrganizationSchema: () => CreateOrganizationSchema,
123
+ CreateInvitationSchema: () => CreateInvitationSchema,
124
+ CreateDocSchema: () => CreateDocSchema,
125
+ CreateDocGroupSchema: () => CreateDocGroupSchema,
126
+ CreateArtifactSchema: () => CreateArtifactSchema,
127
+ CreateApiKeySchema: () => CreateApiKeySchema,
128
+ CompleteRegistrationSchema: () => CompleteRegistrationSchema,
129
+ CommentSchema: () => CommentSchema,
130
+ CommentResponseSchema: () => CommentResponseSchema,
131
+ CommentAddedPayloadSchema: () => CommentAddedPayloadSchema,
132
+ CiRanPayloadSchema: () => CiRanPayloadSchema,
133
+ ChecklistItemSchema: () => ChecklistItemSchema,
134
+ ChecklistInitializedPayloadSchema: () => ChecklistInitializedPayloadSchema,
135
+ BaseEntitySchema: () => BaseEntitySchema,
136
+ AuthenticatedUserSchema: () => AuthenticatedUserSchema,
137
+ AuthResponseSchema: () => AuthResponseSchema,
138
+ AuthContextSchema: () => AuthContextSchema,
139
+ AssigneeRole: () => AssigneeRole,
140
+ ArtifactsResponseSchema: () => ArtifactsResponseSchema,
141
+ ArtifactSchema: () => ArtifactSchema,
142
+ ArtifactResponseSchema: () => ArtifactResponseSchema,
143
+ ArtifactParamSchema: () => ArtifactParamSchema,
144
+ ApiResponseSchema: () => ApiResponseSchema,
145
+ ApiKeyQuerySchema: () => ApiKeyQuerySchema,
146
+ ApiKeyIdParamSchema: () => ApiKeyIdParamSchema,
147
+ ApiKeyAuthUserSchema: () => ApiKeyAuthUserSchema,
148
+ AddWorkspaceMemberSchema: () => AddWorkspaceMemberSchema,
149
+ AddMemberSchema: () => AddMemberSchema,
150
+ AddCommentSchema: () => AddCommentSchema,
151
+ ActivityResponseSchema: () => ActivityResponseSchema,
152
+ AcceptanceItemSchema: () => AcceptanceItemSchema,
153
+ AcceptInvitationSchema: () => AcceptInvitationSchema,
154
+ AcceptInvitationResponseSchema: () => AcceptInvitationResponseSchema,
155
+ APIKeySchema: () => APIKeySchema,
156
+ APIKeyCreateResponseSchema: () => APIKeyCreateResponseSchema
157
+ });
158
+ module.exports = __toCommonJS(exports_src);
159
+
160
+ // src/common.ts
161
+ var import_zod = require("zod");
162
+ var BaseEntitySchema = import_zod.z.object({
163
+ id: import_zod.z.string().uuid(),
164
+ createdAt: import_zod.z.union([import_zod.z.date(), import_zod.z.number()]),
165
+ updatedAt: import_zod.z.union([import_zod.z.date(), import_zod.z.number()])
166
+ });
167
+ var PaginationMetaSchema = import_zod.z.object({
168
+ page: import_zod.z.number(),
169
+ limit: import_zod.z.number(),
170
+ total: import_zod.z.number(),
171
+ totalPages: import_zod.z.number()
172
+ });
173
+ var PaginationRequestSchema = import_zod.z.object({
174
+ page: import_zod.z.coerce.number().int().min(1).default(1),
175
+ limit: import_zod.z.coerce.number().int().min(1).max(100).default(20)
176
+ });
177
+ var ApiResponseSchema = import_zod.z.object({
178
+ success: import_zod.z.boolean(),
179
+ data: import_zod.z.unknown().optional(),
180
+ error: import_zod.z.object({
181
+ code: import_zod.z.string(),
182
+ message: import_zod.z.string(),
183
+ details: import_zod.z.unknown().optional()
184
+ }).optional(),
185
+ meta: import_zod.z.object({
186
+ pagination: PaginationMetaSchema.optional(),
187
+ timestamp: import_zod.z.string(),
188
+ path: import_zod.z.string()
189
+ }).optional()
190
+ });
191
+ var SuccessResponseSchema = import_zod.z.object({
192
+ success: import_zod.z.literal(true),
193
+ message: import_zod.z.string().optional()
194
+ });
195
+ var ErrorResponseSchema = import_zod.z.object({
196
+ success: import_zod.z.literal(false),
197
+ error: import_zod.z.object({
198
+ code: import_zod.z.string(),
199
+ message: import_zod.z.string(),
200
+ details: import_zod.z.unknown().optional()
201
+ })
202
+ });
203
+ function generateUUID() {
204
+ return "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g, (c) => {
205
+ const r = Math.random() * 16 | 0;
206
+ const v = c === "x" ? r : r & 3 | 8;
207
+ return v.toString(16);
208
+ });
209
+ }
210
+ // src/enums.ts
211
+ var UserRole;
212
+ ((UserRole2) => {
213
+ UserRole2["USER"] = "USER";
214
+ UserRole2["ADMIN"] = "ADMIN";
215
+ })(UserRole ||= {});
216
+ var MembershipRole;
217
+ ((MembershipRole2) => {
218
+ MembershipRole2["OWNER"] = "OWNER";
219
+ MembershipRole2["ADMIN"] = "ADMIN";
220
+ MembershipRole2["MEMBER"] = "MEMBER";
221
+ MembershipRole2["VIEWER"] = "VIEWER";
222
+ })(MembershipRole ||= {});
223
+ var TaskStatus;
224
+ ((TaskStatus2) => {
225
+ TaskStatus2["BACKLOG"] = "BACKLOG";
226
+ TaskStatus2["IN_PROGRESS"] = "IN_PROGRESS";
227
+ TaskStatus2["REVIEW"] = "REVIEW";
228
+ TaskStatus2["VERIFICATION"] = "VERIFICATION";
229
+ TaskStatus2["DONE"] = "DONE";
230
+ TaskStatus2["BLOCKED"] = "BLOCKED";
231
+ })(TaskStatus ||= {});
232
+ var TaskPriority;
233
+ ((TaskPriority2) => {
234
+ TaskPriority2["LOW"] = "LOW";
235
+ TaskPriority2["MEDIUM"] = "MEDIUM";
236
+ TaskPriority2["HIGH"] = "HIGH";
237
+ TaskPriority2["CRITICAL"] = "CRITICAL";
238
+ })(TaskPriority ||= {});
239
+ var AssigneeRole;
240
+ ((AssigneeRole2) => {
241
+ AssigneeRole2["BACKEND"] = "BACKEND";
242
+ AssigneeRole2["FRONTEND"] = "FRONTEND";
243
+ AssigneeRole2["QA"] = "QA";
244
+ AssigneeRole2["PM"] = "PM";
245
+ AssigneeRole2["DESIGN"] = "DESIGN";
246
+ })(AssigneeRole ||= {});
247
+ var SprintStatus;
248
+ ((SprintStatus2) => {
249
+ SprintStatus2["PLANNED"] = "PLANNED";
250
+ SprintStatus2["ACTIVE"] = "ACTIVE";
251
+ SprintStatus2["COMPLETED"] = "COMPLETED";
252
+ })(SprintStatus ||= {});
253
+ var EventType;
254
+ ((EventType2) => {
255
+ EventType2["TASK_CREATED"] = "TASK_CREATED";
256
+ EventType2["TASK_UPDATED"] = "TASK_UPDATED";
257
+ EventType2["TASK_DELETED"] = "TASK_DELETED";
258
+ EventType2["STATUS_CHANGED"] = "STATUS_CHANGED";
259
+ EventType2["COMMENT_ADDED"] = "COMMENT_ADDED";
260
+ EventType2["CI_RAN"] = "CI_RAN";
261
+ EventType2["WORKSPACE_CREATED"] = "WORKSPACE_CREATED";
262
+ EventType2["MEMBER_ADDED"] = "MEMBER_ADDED";
263
+ EventType2["MEMBER_INVITED"] = "MEMBER_INVITED";
264
+ EventType2["SPRINT_CREATED"] = "SPRINT_CREATED";
265
+ EventType2["SPRINT_STATUS_CHANGED"] = "SPRINT_STATUS_CHANGED";
266
+ EventType2["CHECKLIST_INITIALIZED"] = "CHECKLIST_INITIALIZED";
267
+ })(EventType ||= {});
268
+ // src/models/activity.ts
269
+ var import_zod2 = require("zod");
270
+ var CommentSchema = BaseEntitySchema.extend({
271
+ taskId: import_zod2.z.string().uuid(),
272
+ author: import_zod2.z.string().min(1),
273
+ text: import_zod2.z.string().min(1)
274
+ });
275
+ var ArtifactSchema = BaseEntitySchema.extend({
276
+ taskId: import_zod2.z.string().uuid(),
277
+ type: import_zod2.z.string().min(1),
278
+ title: import_zod2.z.string().min(1),
279
+ contentText: import_zod2.z.string().optional(),
280
+ filePath: import_zod2.z.string().optional(),
281
+ url: import_zod2.z.string().optional(),
282
+ size: import_zod2.z.string().optional(),
283
+ createdBy: import_zod2.z.string().min(1)
284
+ });
285
+ var TaskCreatedPayloadSchema = import_zod2.z.object({
286
+ title: import_zod2.z.string()
287
+ });
288
+ var TaskDeletedPayloadSchema = import_zod2.z.object({
289
+ title: import_zod2.z.string()
290
+ });
291
+ var StatusChangedPayloadSchema = import_zod2.z.object({
292
+ title: import_zod2.z.string(),
293
+ oldStatus: import_zod2.z.nativeEnum(TaskStatus),
294
+ newStatus: import_zod2.z.nativeEnum(TaskStatus)
295
+ });
296
+ var CommentAddedPayloadSchema = import_zod2.z.object({
297
+ title: import_zod2.z.string(),
298
+ author: import_zod2.z.string(),
299
+ text: import_zod2.z.string()
300
+ });
301
+ var WorkspaceCreatedPayloadSchema = import_zod2.z.object({
302
+ name: import_zod2.z.string()
303
+ });
304
+ var MemberAddedPayloadSchema = import_zod2.z.object({
305
+ userId: import_zod2.z.string(),
306
+ role: import_zod2.z.string()
307
+ });
308
+ var MemberInvitedPayloadSchema = import_zod2.z.object({
309
+ email: import_zod2.z.string()
310
+ });
311
+ var SprintCreatedPayloadSchema = import_zod2.z.object({
312
+ name: import_zod2.z.string(),
313
+ sprintId: import_zod2.z.string().uuid()
314
+ });
315
+ var SprintStatusChangedPayloadSchema = import_zod2.z.object({
316
+ name: import_zod2.z.string(),
317
+ sprintId: import_zod2.z.string().uuid(),
318
+ oldStatus: import_zod2.z.nativeEnum(SprintStatus),
319
+ newStatus: import_zod2.z.nativeEnum(SprintStatus)
320
+ });
321
+ var ChecklistInitializedPayloadSchema = import_zod2.z.object({
322
+ itemCount: import_zod2.z.number()
323
+ });
324
+ var CiRanPayloadSchema = import_zod2.z.object({
325
+ preset: import_zod2.z.string(),
326
+ ok: import_zod2.z.boolean(),
327
+ summary: import_zod2.z.string(),
328
+ source: import_zod2.z.string(),
329
+ deferred: import_zod2.z.boolean(),
330
+ processed: import_zod2.z.boolean(),
331
+ commands: import_zod2.z.array(import_zod2.z.object({ cmd: import_zod2.z.string(), exitCode: import_zod2.z.number() }))
332
+ });
333
+ var EventPayloadSchema = import_zod2.z.discriminatedUnion("type", [
334
+ import_zod2.z.object({
335
+ type: import_zod2.z.literal("TASK_CREATED" /* TASK_CREATED */),
336
+ payload: TaskCreatedPayloadSchema
337
+ }),
338
+ import_zod2.z.object({
339
+ type: import_zod2.z.literal("TASK_DELETED" /* TASK_DELETED */),
340
+ payload: TaskDeletedPayloadSchema
341
+ }),
342
+ import_zod2.z.object({
343
+ type: import_zod2.z.literal("STATUS_CHANGED" /* STATUS_CHANGED */),
344
+ payload: StatusChangedPayloadSchema
345
+ }),
346
+ import_zod2.z.object({
347
+ type: import_zod2.z.literal("COMMENT_ADDED" /* COMMENT_ADDED */),
348
+ payload: CommentAddedPayloadSchema
349
+ }),
350
+ import_zod2.z.object({
351
+ type: import_zod2.z.literal("WORKSPACE_CREATED" /* WORKSPACE_CREATED */),
352
+ payload: WorkspaceCreatedPayloadSchema
353
+ }),
354
+ import_zod2.z.object({
355
+ type: import_zod2.z.literal("MEMBER_ADDED" /* MEMBER_ADDED */),
356
+ payload: MemberAddedPayloadSchema
357
+ }),
358
+ import_zod2.z.object({
359
+ type: import_zod2.z.literal("MEMBER_INVITED" /* MEMBER_INVITED */),
360
+ payload: MemberInvitedPayloadSchema
361
+ }),
362
+ import_zod2.z.object({
363
+ type: import_zod2.z.literal("SPRINT_CREATED" /* SPRINT_CREATED */),
364
+ payload: SprintCreatedPayloadSchema
365
+ }),
366
+ import_zod2.z.object({
367
+ type: import_zod2.z.literal("SPRINT_STATUS_CHANGED" /* SPRINT_STATUS_CHANGED */),
368
+ payload: SprintStatusChangedPayloadSchema
369
+ }),
370
+ import_zod2.z.object({
371
+ type: import_zod2.z.literal("CHECKLIST_INITIALIZED" /* CHECKLIST_INITIALIZED */),
372
+ payload: ChecklistInitializedPayloadSchema
373
+ }),
374
+ import_zod2.z.object({
375
+ type: import_zod2.z.literal("CI_RAN" /* CI_RAN */),
376
+ payload: CiRanPayloadSchema
377
+ })
378
+ ]);
379
+ var EventSchema = import_zod2.z.object({
380
+ id: import_zod2.z.string(),
381
+ workspaceId: import_zod2.z.string(),
382
+ taskId: import_zod2.z.string().uuid().optional().nullable(),
383
+ userId: import_zod2.z.string().optional().nullable(),
384
+ type: import_zod2.z.nativeEnum(EventType),
385
+ payload: import_zod2.z.record(import_zod2.z.string(), import_zod2.z.unknown()),
386
+ createdAt: import_zod2.z.union([import_zod2.z.date(), import_zod2.z.number()])
387
+ });
388
+ var ArtifactParamSchema = import_zod2.z.object({
389
+ taskId: import_zod2.z.string().uuid("Invalid Task ID"),
390
+ type: import_zod2.z.string().min(1, "Artifact type required"),
391
+ filename: import_zod2.z.string().min(1, "Filename required")
392
+ });
393
+ var TaskIdOnlyParamSchema = import_zod2.z.object({
394
+ taskId: import_zod2.z.string().uuid("Invalid Task ID")
395
+ });
396
+ var EventQuerySchema = import_zod2.z.object({
397
+ taskId: import_zod2.z.string().uuid("Invalid Task ID").optional()
398
+ });
399
+ var EventResponseSchema = import_zod2.z.object({
400
+ event: EventSchema
401
+ });
402
+ var EventsResponseSchema = import_zod2.z.object({
403
+ events: import_zod2.z.array(EventSchema)
404
+ });
405
+ var ActivityResponseSchema = import_zod2.z.object({
406
+ activity: import_zod2.z.array(EventSchema)
407
+ });
408
+ var CommentResponseSchema = import_zod2.z.object({
409
+ comment: CommentSchema
410
+ });
411
+ var ArtifactResponseSchema = import_zod2.z.object({
412
+ artifact: ArtifactSchema
413
+ });
414
+ var ArtifactsResponseSchema = import_zod2.z.object({
415
+ artifacts: import_zod2.z.array(ArtifactSchema)
416
+ });
417
+ var CreateArtifactSchema = import_zod2.z.object({
418
+ taskId: import_zod2.z.string().uuid(),
419
+ type: import_zod2.z.string().min(1),
420
+ title: import_zod2.z.string().min(1),
421
+ contentText: import_zod2.z.string().optional()
422
+ });
423
+ var ReportCiResultSchema = import_zod2.z.object({
424
+ workspaceId: import_zod2.z.string().uuid(),
425
+ taskId: import_zod2.z.string().uuid().optional(),
426
+ preset: import_zod2.z.string(),
427
+ ok: import_zod2.z.boolean(),
428
+ summary: import_zod2.z.string(),
429
+ commands: import_zod2.z.array(import_zod2.z.object({
430
+ cmd: import_zod2.z.string(),
431
+ exitCode: import_zod2.z.number()
432
+ }))
433
+ });
434
+ // src/models/agent.ts
435
+ var import_zod3 = require("zod");
436
+ var LockSchema = import_zod3.z.object({
437
+ agentId: import_zod3.z.string().min(1),
438
+ ttlSeconds: import_zod3.z.number().positive()
439
+ });
440
+ var UnlockSchema = import_zod3.z.object({
441
+ agentId: import_zod3.z.string().min(1)
442
+ });
443
+ // src/models/auth.ts
444
+ var import_zod5 = require("zod");
445
+
446
+ // src/models/user.ts
447
+ var import_zod4 = require("zod");
448
+ var UserSchema = BaseEntitySchema.extend({
449
+ email: import_zod4.z.string().email(),
450
+ name: import_zod4.z.string().min(1),
451
+ avatarUrl: import_zod4.z.string().url().nullable().optional(),
452
+ role: import_zod4.z.nativeEnum(UserRole),
453
+ orgId: import_zod4.z.string().uuid().optional().nullable(),
454
+ workspaceId: import_zod4.z.string().uuid().optional().nullable(),
455
+ companyName: import_zod4.z.string().optional(),
456
+ userRole: import_zod4.z.string().optional(),
457
+ teamSize: import_zod4.z.string().optional(),
458
+ onboardingCompleted: import_zod4.z.boolean().default(false),
459
+ emailVerified: import_zod4.z.boolean().default(false)
460
+ });
461
+ var CreateUserSchema = import_zod4.z.object({
462
+ email: import_zod4.z.string().email(),
463
+ name: import_zod4.z.string().min(1)
464
+ });
465
+ var UpdateUserSchema = UserSchema.partial().omit({
466
+ id: true,
467
+ email: true,
468
+ createdAt: true,
469
+ updatedAt: true
470
+ });
471
+
472
+ // src/models/auth.ts
473
+ var JwtAuthUserSchema = import_zod5.z.object({
474
+ authType: import_zod5.z.literal("jwt"),
475
+ id: import_zod5.z.string().uuid(),
476
+ email: import_zod5.z.string().email(),
477
+ name: import_zod5.z.string(),
478
+ role: import_zod5.z.nativeEnum(UserRole),
479
+ orgId: import_zod5.z.string().uuid().nullable().optional(),
480
+ workspaceId: import_zod5.z.string().uuid().nullable().optional()
481
+ });
482
+ var ApiKeyAuthUserSchema = import_zod5.z.object({
483
+ authType: import_zod5.z.literal("api_key"),
484
+ apiKeyId: import_zod5.z.string().uuid(),
485
+ apiKeyName: import_zod5.z.string(),
486
+ orgId: import_zod5.z.string().uuid()
487
+ });
488
+ var AuthenticatedUserSchema = import_zod5.z.discriminatedUnion("authType", [
489
+ JwtAuthUserSchema,
490
+ ApiKeyAuthUserSchema
491
+ ]);
492
+ function isJwtUser(user) {
493
+ return user.authType === "jwt";
494
+ }
495
+ function isApiKeyUser(user) {
496
+ return user.authType === "api_key";
497
+ }
498
+ function getAuthUserId(user) {
499
+ return isJwtUser(user) ? user.id : null;
500
+ }
501
+ var AuthResponseSchema = import_zod5.z.object({
502
+ token: import_zod5.z.string(),
503
+ user: UserSchema
504
+ });
505
+ var OtpRequestSchema = import_zod5.z.object({
506
+ email: import_zod5.z.string().email("Invalid email address")
507
+ });
508
+ var VerifyOtpSchema = import_zod5.z.object({
509
+ email: import_zod5.z.string().email("Invalid email address"),
510
+ otp: import_zod5.z.string().length(6, "Verification code must be 6 digits")
511
+ });
512
+ var CompleteRegistrationSchema = import_zod5.z.object({
513
+ email: import_zod5.z.string().email("Invalid email address"),
514
+ otp: import_zod5.z.string().length(6, "Verification code must be 6 digits"),
515
+ name: import_zod5.z.string().min(1, "Name is required").max(100),
516
+ companyName: import_zod5.z.string().max(100).optional(),
517
+ teamSize: import_zod5.z.enum(["solo", "2-10", "11-50", "51-200", "200+"]).optional(),
518
+ userRole: import_zod5.z.enum(["developer", "designer", "product_manager", "other"]).optional(),
519
+ workspaceName: import_zod5.z.string().max(100).optional(),
520
+ invitedEmails: import_zod5.z.array(import_zod5.z.string().email()).optional()
521
+ });
522
+ var JWTPayloadSchema = import_zod5.z.object({
523
+ sub: import_zod5.z.string(),
524
+ email: import_zod5.z.string().email(),
525
+ name: import_zod5.z.string(),
526
+ role: import_zod5.z.string(),
527
+ orgId: import_zod5.z.string().uuid().optional(),
528
+ iat: import_zod5.z.number(),
529
+ exp: import_zod5.z.number()
530
+ });
531
+ var AuthContextSchema = import_zod5.z.object({
532
+ userId: import_zod5.z.string(),
533
+ email: import_zod5.z.string().email(),
534
+ name: import_zod5.z.string(),
535
+ role: import_zod5.z.string(),
536
+ orgId: import_zod5.z.string().uuid().optional(),
537
+ workspaceId: import_zod5.z.string().uuid().optional(),
538
+ authType: import_zod5.z.enum(["jwt", "api_key", "local"])
539
+ });
540
+ var APIKeySchema = import_zod5.z.object({
541
+ id: import_zod5.z.string(),
542
+ name: import_zod5.z.string(),
543
+ keyPrefix: import_zod5.z.string(),
544
+ workspaceId: import_zod5.z.string(),
545
+ lastUsedAt: import_zod5.z.number().nullable(),
546
+ createdAt: import_zod5.z.number()
547
+ });
548
+ var APIKeyCreateResponseSchema = import_zod5.z.object({
549
+ id: import_zod5.z.string(),
550
+ name: import_zod5.z.string(),
551
+ keyPrefix: import_zod5.z.string(),
552
+ key: import_zod5.z.string(),
553
+ createdAt: import_zod5.z.number()
554
+ });
555
+ var ApiKeyIdParamSchema = import_zod5.z.object({
556
+ id: import_zod5.z.string().uuid("Invalid API Key ID")
557
+ });
558
+ var ApiKeyQuerySchema = import_zod5.z.object({
559
+ workspaceId: import_zod5.z.string().uuid("Invalid Workspace ID").optional()
560
+ });
561
+ var CreateApiKeySchema = import_zod5.z.object({
562
+ workspaceId: import_zod5.z.string().uuid("Invalid Workspace ID").optional(),
563
+ name: import_zod5.z.string().min(1, "Name is required").max(100),
564
+ expiresInDays: import_zod5.z.number().int().positive().optional()
565
+ });
566
+ // src/models/ci.ts
567
+ var import_zod6 = require("zod");
568
+ var RecordCiSchema = import_zod6.z.object({
569
+ taskId: import_zod6.z.string().uuid(),
570
+ workspaceId: import_zod6.z.string().uuid(),
571
+ result: import_zod6.z.object({
572
+ ok: import_zod6.z.boolean(),
573
+ summary: import_zod6.z.string(),
574
+ commands: import_zod6.z.array(import_zod6.z.object({
575
+ cmd: import_zod6.z.string(),
576
+ exitCode: import_zod6.z.number(),
577
+ durationMs: import_zod6.z.number().optional(),
578
+ error: import_zod6.z.string().optional()
579
+ })),
580
+ preset: import_zod6.z.string()
581
+ })
582
+ });
583
+ // src/models/doc.ts
584
+ var import_zod7 = require("zod");
585
+ var DocGroupSchemaForDoc = import_zod7.z.object({
586
+ id: import_zod7.z.string().uuid(),
587
+ name: import_zod7.z.string()
588
+ });
589
+ var DocSchema = BaseEntitySchema.extend({
590
+ workspaceId: import_zod7.z.string().uuid(),
591
+ groupId: import_zod7.z.string().uuid().nullable().optional(),
592
+ title: import_zod7.z.string().min(1, "Title is required"),
593
+ content: import_zod7.z.string().default(""),
594
+ group: DocGroupSchemaForDoc.nullable().optional()
595
+ });
596
+ var CreateDocSchema = import_zod7.z.object({
597
+ title: import_zod7.z.string().min(1, "Title is required"),
598
+ content: import_zod7.z.string().optional(),
599
+ groupId: import_zod7.z.string().uuid().optional()
600
+ });
601
+ var UpdateDocSchema = import_zod7.z.object({
602
+ title: import_zod7.z.string().min(1).optional(),
603
+ content: import_zod7.z.string().optional(),
604
+ groupId: import_zod7.z.string().uuid().nullable().optional()
605
+ });
606
+ var DocResponseSchema = import_zod7.z.object({
607
+ doc: DocSchema
608
+ });
609
+ var DocsResponseSchema = import_zod7.z.object({
610
+ docs: import_zod7.z.array(DocSchema)
611
+ });
612
+ var DocIdParamSchema = import_zod7.z.object({
613
+ id: import_zod7.z.string().uuid("Invalid Doc ID")
614
+ });
615
+ var DocQuerySchema = import_zod7.z.object({
616
+ workspaceId: import_zod7.z.string().uuid("Invalid Workspace ID").optional()
617
+ });
618
+ // src/models/doc-group.ts
619
+ var import_zod8 = require("zod");
620
+ var DocGroupSchema = BaseEntitySchema.extend({
621
+ workspaceId: import_zod8.z.string().uuid(),
622
+ name: import_zod8.z.string().min(1, "Name is required"),
623
+ order: import_zod8.z.number().default(0)
624
+ });
625
+ var CreateDocGroupSchema = import_zod8.z.object({
626
+ name: import_zod8.z.string().min(1, "Name is required"),
627
+ order: import_zod8.z.number().optional()
628
+ });
629
+ var UpdateDocGroupSchema = import_zod8.z.object({
630
+ name: import_zod8.z.string().min(1).optional(),
631
+ order: import_zod8.z.number().optional()
632
+ });
633
+ var DocGroupResponseSchema = import_zod8.z.object({
634
+ group: DocGroupSchema
635
+ });
636
+ var DocGroupsResponseSchema = import_zod8.z.object({
637
+ groups: import_zod8.z.array(DocGroupSchema)
638
+ });
639
+ var DocGroupIdParamSchema = import_zod8.z.object({
640
+ id: import_zod8.z.string().uuid("Invalid Group ID")
641
+ });
642
+ // src/models/invitation.ts
643
+ var import_zod9 = require("zod");
644
+ var InvitationSchema = BaseEntitySchema.extend({
645
+ orgId: import_zod9.z.string().uuid("Invalid Organization ID"),
646
+ email: import_zod9.z.string().email("Invalid email address"),
647
+ role: import_zod9.z.nativeEnum(MembershipRole),
648
+ token: import_zod9.z.string(),
649
+ expiresAt: import_zod9.z.number(),
650
+ acceptedAt: import_zod9.z.number().nullable().optional(),
651
+ invitedBy: import_zod9.z.string().uuid()
652
+ });
653
+ var CreateInvitationSchema = import_zod9.z.object({
654
+ orgId: import_zod9.z.string().uuid("Invalid Organization ID"),
655
+ email: import_zod9.z.string().email("Invalid email address"),
656
+ role: import_zod9.z.nativeEnum(MembershipRole).default("MEMBER" /* MEMBER */)
657
+ });
658
+ var AcceptInvitationSchema = import_zod9.z.object({
659
+ token: import_zod9.z.string().min(1, "Invitation token is required"),
660
+ name: import_zod9.z.string().min(1, "Name is required").optional()
661
+ });
662
+ var InvitationIdParamSchema = import_zod9.z.object({
663
+ id: import_zod9.z.string().uuid("Invalid Invitation ID")
664
+ });
665
+ var InvitationVerifyParamSchema = import_zod9.z.object({
666
+ token: import_zod9.z.string().min(1, "Token required")
667
+ });
668
+ var InvitationQuerySchema = import_zod9.z.object({
669
+ orgId: import_zod9.z.string().uuid("Invalid Organization ID").optional()
670
+ });
671
+ var InvitationResponseSchema = import_zod9.z.object({
672
+ invitation: InvitationSchema,
673
+ userExists: import_zod9.z.boolean().optional()
674
+ });
675
+ var InvitationsResponseSchema = import_zod9.z.object({
676
+ invitations: import_zod9.z.array(InvitationSchema)
677
+ });
678
+ var AcceptInvitationResponseSchema = import_zod9.z.object({
679
+ membership: import_zod9.z.object({
680
+ id: import_zod9.z.string().uuid(),
681
+ userId: import_zod9.z.string().uuid(),
682
+ orgId: import_zod9.z.string().uuid(),
683
+ role: import_zod9.z.nativeEnum(MembershipRole),
684
+ createdAt: import_zod9.z.number()
685
+ })
686
+ });
687
+ // src/models/organization.ts
688
+ var import_zod10 = require("zod");
689
+ var OrganizationSchema = BaseEntitySchema.extend({
690
+ name: import_zod10.z.string().min(1, "Name is required").max(100),
691
+ avatarUrl: import_zod10.z.string().url("Invalid avatar URL").nullable().optional().or(import_zod10.z.literal(""))
692
+ });
693
+ var CreateOrganizationSchema = import_zod10.z.object({
694
+ name: import_zod10.z.string().min(1, "Name is required").max(100),
695
+ avatarUrl: import_zod10.z.string().url("Invalid avatar URL").optional().or(import_zod10.z.literal(""))
696
+ });
697
+ var UpdateOrganizationSchema = OrganizationSchema.partial().omit({
698
+ id: true,
699
+ createdAt: true,
700
+ updatedAt: true
701
+ });
702
+ var AddMemberSchema = import_zod10.z.object({
703
+ userId: import_zod10.z.string().uuid("Invalid User ID"),
704
+ role: import_zod10.z.enum(["ADMIN", "MEMBER"]).default("MEMBER")
705
+ });
706
+ var MembershipWithUserSchema = import_zod10.z.object({
707
+ id: import_zod10.z.string().uuid(),
708
+ userId: import_zod10.z.string().uuid(),
709
+ orgId: import_zod10.z.string().uuid(),
710
+ role: import_zod10.z.string(),
711
+ createdAt: import_zod10.z.number(),
712
+ user: import_zod10.z.object({
713
+ id: import_zod10.z.string().uuid(),
714
+ email: import_zod10.z.string().email(),
715
+ name: import_zod10.z.string(),
716
+ avatarUrl: import_zod10.z.string().url().nullable().optional()
717
+ })
718
+ });
719
+ var OrgIdParamSchema = import_zod10.z.object({
720
+ orgId: import_zod10.z.string().uuid("Invalid Organization ID")
721
+ });
722
+ var MembershipIdParamSchema = import_zod10.z.object({
723
+ id: import_zod10.z.string().uuid("Invalid Membership ID")
724
+ });
725
+ var OrganizationResponseSchema = import_zod10.z.object({
726
+ organization: OrganizationSchema
727
+ });
728
+ var OrganizationsResponseSchema = import_zod10.z.object({
729
+ organizations: import_zod10.z.array(OrganizationSchema)
730
+ });
731
+ var MembersResponseSchema = import_zod10.z.object({
732
+ members: import_zod10.z.array(MembershipWithUserSchema)
733
+ });
734
+ var MembershipResponseSchema = import_zod10.z.object({
735
+ membership: MembershipWithUserSchema
736
+ });
737
+ // src/models/sprint.ts
738
+ var import_zod11 = require("zod");
739
+ var SprintSchema = BaseEntitySchema.extend({
740
+ workspaceId: import_zod11.z.string().uuid().nullable().optional(),
741
+ name: import_zod11.z.string().min(1, "Name is required").max(100),
742
+ status: import_zod11.z.nativeEnum(SprintStatus),
743
+ startDate: import_zod11.z.union([import_zod11.z.date(), import_zod11.z.number()]).nullable().optional(),
744
+ endDate: import_zod11.z.union([import_zod11.z.date(), import_zod11.z.number()]).nullable().optional(),
745
+ mindmap: import_zod11.z.string().nullable().optional(),
746
+ mindmapUpdatedAt: import_zod11.z.union([import_zod11.z.date(), import_zod11.z.number()]).nullable().optional()
747
+ });
748
+ var CreateSprintSchema = import_zod11.z.object({
749
+ name: import_zod11.z.string().min(1, "Name is required").max(100),
750
+ startDate: import_zod11.z.union([import_zod11.z.coerce.date(), import_zod11.z.number()]).optional(),
751
+ endDate: import_zod11.z.union([import_zod11.z.coerce.date(), import_zod11.z.number()]).optional()
752
+ });
753
+ var UpdateSprintSchema = SprintSchema.partial().omit({
754
+ id: true,
755
+ createdAt: true,
756
+ updatedAt: true
757
+ }).extend({
758
+ name: import_zod11.z.string().min(1).max(100).optional(),
759
+ startDate: import_zod11.z.union([import_zod11.z.coerce.date(), import_zod11.z.number()]).optional().nullable(),
760
+ endDate: import_zod11.z.union([import_zod11.z.coerce.date(), import_zod11.z.number()]).optional().nullable(),
761
+ mindmapUpdatedAt: import_zod11.z.union([import_zod11.z.coerce.date(), import_zod11.z.number()]).optional().nullable()
762
+ });
763
+ var SprintIdParamSchema = import_zod11.z.object({
764
+ id: import_zod11.z.string().uuid("Invalid Sprint ID")
765
+ });
766
+ var SprintQuerySchema = import_zod11.z.object({});
767
+ var SprintResponseSchema = import_zod11.z.object({
768
+ sprint: SprintSchema
769
+ });
770
+ var SprintsResponseSchema = import_zod11.z.object({
771
+ sprints: import_zod11.z.array(SprintSchema)
772
+ });
773
+ // src/models/task.ts
774
+ var import_zod12 = require("zod");
775
+ var AcceptanceItemSchema = import_zod12.z.object({
776
+ id: import_zod12.z.string(),
777
+ text: import_zod12.z.string(),
778
+ done: import_zod12.z.boolean()
779
+ });
780
+ var TaskSchema = BaseEntitySchema.extend({
781
+ workspaceId: import_zod12.z.string().uuid().nullable().optional(),
782
+ title: import_zod12.z.string().min(1, "Title is required").max(200),
783
+ description: import_zod12.z.string().default(""),
784
+ status: import_zod12.z.nativeEnum(TaskStatus).default("BACKLOG" /* BACKLOG */),
785
+ priority: import_zod12.z.nativeEnum(TaskPriority).default("MEDIUM" /* MEDIUM */),
786
+ labels: import_zod12.z.array(import_zod12.z.string()).default([]),
787
+ assigneeRole: import_zod12.z.nativeEnum(AssigneeRole).nullable().optional(),
788
+ assignedTo: import_zod12.z.string().nullable().optional(),
789
+ sprintId: import_zod12.z.string().uuid().nullable().optional(),
790
+ parentId: import_zod12.z.string().uuid().nullable().optional(),
791
+ dueDate: import_zod12.z.union([import_zod12.z.date(), import_zod12.z.number()]).nullable().optional(),
792
+ acceptanceChecklist: import_zod12.z.array(AcceptanceItemSchema).default([]),
793
+ comments: import_zod12.z.array(CommentSchema).default([]),
794
+ activityLog: import_zod12.z.array(EventSchema).default([]),
795
+ docs: import_zod12.z.array(DocSchema).default([])
796
+ });
797
+ var CreateTaskSchema = import_zod12.z.object({
798
+ title: import_zod12.z.string().min(1, "Title is required").max(200),
799
+ description: import_zod12.z.string().optional().default(""),
800
+ status: import_zod12.z.nativeEnum(TaskStatus).optional().default("BACKLOG" /* BACKLOG */),
801
+ priority: import_zod12.z.nativeEnum(TaskPriority).optional().default("MEDIUM" /* MEDIUM */),
802
+ labels: import_zod12.z.array(import_zod12.z.string()).optional().default([]),
803
+ assigneeRole: import_zod12.z.nativeEnum(AssigneeRole).optional(),
804
+ assignedTo: import_zod12.z.string().nullable().optional(),
805
+ dueDate: import_zod12.z.union([import_zod12.z.date(), import_zod12.z.number()]).nullable().optional(),
806
+ parentId: import_zod12.z.string().uuid().nullable().optional(),
807
+ sprintId: import_zod12.z.string().uuid().nullable().optional(),
808
+ acceptanceChecklist: import_zod12.z.array(AcceptanceItemSchema).optional(),
809
+ docIds: import_zod12.z.array(import_zod12.z.string().uuid()).optional()
810
+ });
811
+ var UpdateTaskSchema = TaskSchema.partial().omit({
812
+ id: true,
813
+ workspaceId: true,
814
+ createdAt: true,
815
+ updatedAt: true
816
+ }).extend({
817
+ title: import_zod12.z.string().min(1).max(200).optional(),
818
+ acceptanceChecklist: import_zod12.z.array(AcceptanceItemSchema).optional(),
819
+ docIds: import_zod12.z.array(import_zod12.z.string().uuid()).optional()
820
+ });
821
+ var AddCommentSchema = import_zod12.z.object({
822
+ author: import_zod12.z.string().min(1, "Author is required"),
823
+ text: import_zod12.z.string().min(1, "Comment text is required")
824
+ });
825
+ var DispatchTaskSchema = import_zod12.z.object({
826
+ workerId: import_zod12.z.string().optional(),
827
+ sprintId: import_zod12.z.string().uuid().optional().nullable()
828
+ });
829
+ var TaskIdParamSchema = import_zod12.z.object({
830
+ id: import_zod12.z.string().uuid("Invalid Task ID")
831
+ });
832
+ var TaskQuerySchema = import_zod12.z.object({});
833
+ var TaskResponseSchema = import_zod12.z.object({
834
+ task: TaskSchema
835
+ });
836
+ var TasksResponseSchema = import_zod12.z.object({
837
+ tasks: import_zod12.z.array(TaskSchema)
838
+ });
839
+ // src/models/workspace.ts
840
+ var import_zod13 = require("zod");
841
+ var ChecklistItemSchema = import_zod13.z.object({
842
+ id: import_zod13.z.string(),
843
+ text: import_zod13.z.string(),
844
+ done: import_zod13.z.boolean()
845
+ });
846
+ var WorkspaceSchema = BaseEntitySchema.extend({
847
+ orgId: import_zod13.z.string().uuid(),
848
+ name: import_zod13.z.string().min(1, "Name is required").max(100),
849
+ defaultChecklist: import_zod13.z.array(ChecklistItemSchema).nullable().optional()
850
+ });
851
+ var CreateWorkspaceSchema = import_zod13.z.object({
852
+ name: import_zod13.z.string().min(1, "Name is required").max(100)
853
+ });
854
+ var UpdateWorkspaceSchema = WorkspaceSchema.partial().omit({
855
+ id: true,
856
+ orgId: true,
857
+ createdAt: true,
858
+ updatedAt: true
859
+ });
860
+ var AddWorkspaceMemberSchema = import_zod13.z.object({
861
+ userId: import_zod13.z.string().uuid("Invalid User ID"),
862
+ role: import_zod13.z.string().optional()
863
+ });
864
+ var WorkspaceIdParamSchema = import_zod13.z.object({
865
+ workspaceId: import_zod13.z.string().uuid("Invalid Workspace ID")
866
+ });
867
+ var WorkspaceAndUserParamSchema = import_zod13.z.object({
868
+ workspaceId: import_zod13.z.string().uuid("Invalid Workspace ID"),
869
+ userId: import_zod13.z.string().uuid("Invalid User ID")
870
+ });
871
+ var WorkspaceResponseSchema = import_zod13.z.object({
872
+ workspace: WorkspaceSchema
873
+ });
874
+ var WorkspacesResponseSchema = import_zod13.z.object({
875
+ workspaces: import_zod13.z.array(WorkspaceSchema)
876
+ });
877
+ var WorkspaceStatsSchema = import_zod13.z.object({
878
+ workspaceName: import_zod13.z.string(),
879
+ taskCounts: import_zod13.z.record(import_zod13.z.string(), import_zod13.z.number()),
880
+ memberCount: import_zod13.z.number()
881
+ });
882
+ var WorkspaceStatsResponseSchema = import_zod13.z.object({
883
+ stats: WorkspaceStatsSchema
884
+ });