@locusai/shared 0.8.1 → 0.9.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.
package/dist/index.js CHANGED
@@ -34,7 +34,6 @@ __export(exports_src, {
34
34
  getAuthUserId: () => getAuthUserId,
35
35
  generateUUID: () => generateUUID,
36
36
  WorkspacesResponseSchema: () => WorkspacesResponseSchema,
37
- WorkspaceWithManifestInfoSchema: () => WorkspaceWithManifestInfoSchema,
38
37
  WorkspaceStatsSchema: () => WorkspaceStatsSchema,
39
38
  WorkspaceStatsResponseSchema: () => WorkspaceStatsResponseSchema,
40
39
  WorkspaceSchema: () => WorkspaceSchema,
@@ -63,11 +62,9 @@ __export(exports_src, {
63
62
  TaskIdOnlyParamSchema: () => TaskIdOnlyParamSchema,
64
63
  TaskDeletedPayloadSchema: () => TaskDeletedPayloadSchema,
65
64
  TaskCreatedPayloadSchema: () => TaskCreatedPayloadSchema,
66
- SuggestedActionSchema: () => SuggestedActionSchema,
67
65
  SuccessResponseSchema: () => SuccessResponseSchema,
68
66
  StatusChangedPayloadSchema: () => StatusChangedPayloadSchema,
69
67
  SprintsResponseSchema: () => SprintsResponseSchema,
70
- SprintStatusSchema: () => SprintStatusSchema,
71
68
  SprintStatusChangedPayloadSchema: () => SprintStatusChangedPayloadSchema,
72
69
  SprintStatus: () => SprintStatus,
73
70
  SprintSchema: () => SprintSchema,
@@ -75,17 +72,9 @@ __export(exports_src, {
75
72
  SprintQuerySchema: () => SprintQuerySchema,
76
73
  SprintIdParamSchema: () => SprintIdParamSchema,
77
74
  SprintCreatedPayloadSchema: () => SprintCreatedPayloadSchema,
78
- ShareChatRequestSchema: () => ShareChatRequestSchema,
79
- RepositoryContextSchema: () => RepositoryContextSchema,
75
+ STALE_AGENT_TIMEOUT_MS: () => STALE_AGENT_TIMEOUT_MS,
80
76
  ReportCiResultSchema: () => ReportCiResultSchema,
81
77
  RecordCiSchema: () => RecordCiSchema,
82
- REQUIRED_MANIFEST_FIELDS: () => REQUIRED_MANIFEST_FIELDS,
83
- ProjectTimelineSchema: () => ProjectTimelineSchema,
84
- ProjectSprintSchema: () => ProjectSprintSchema,
85
- ProjectPhaseSchema: () => ProjectPhaseSchema,
86
- ProjectMilestoneSchema: () => ProjectMilestoneSchema,
87
- ProjectManifestSchema: () => ProjectManifestSchema,
88
- PartialProjectManifestSchema: () => PartialProjectManifestSchema,
89
78
  PaginationRequestSchema: () => PaginationRequestSchema,
90
79
  PaginationMetaSchema: () => PaginationMetaSchema,
91
80
  OtpRequestSchema: () => OtpRequestSchema,
@@ -93,7 +82,6 @@ __export(exports_src, {
93
82
  OrganizationSchema: () => OrganizationSchema,
94
83
  OrganizationResponseSchema: () => OrganizationResponseSchema,
95
84
  OrgIdParamSchema: () => OrgIdParamSchema,
96
- MilestoneStatusSchema: () => MilestoneStatusSchema,
97
85
  MembershipWithUserSchema: () => MembershipWithUserSchema,
98
86
  MembershipRole: () => MembershipRole,
99
87
  MembershipResponseSchema: () => MembershipResponseSchema,
@@ -101,7 +89,6 @@ __export(exports_src, {
101
89
  MembersResponseSchema: () => MembersResponseSchema,
102
90
  MemberInvitedPayloadSchema: () => MemberInvitedPayloadSchema,
103
91
  MemberAddedPayloadSchema: () => MemberAddedPayloadSchema,
104
- ManifestStatusResponseSchema: () => ManifestStatusResponseSchema,
105
92
  LockSchema: () => LockSchema,
106
93
  JwtAuthUserSchema: () => JwtAuthUserSchema,
107
94
  JWTPayloadSchema: () => JWTPayloadSchema,
@@ -111,10 +98,6 @@ __export(exports_src, {
111
98
  InvitationResponseSchema: () => InvitationResponseSchema,
112
99
  InvitationQuerySchema: () => InvitationQuerySchema,
113
100
  InvitationIdParamSchema: () => InvitationIdParamSchema,
114
- InterviewStartedPayloadSchema: () => InterviewStartedPayloadSchema,
115
- InterviewFieldCompletedPayloadSchema: () => InterviewFieldCompletedPayloadSchema,
116
- InterviewCompletedPayloadSchema: () => InterviewCompletedPayloadSchema,
117
- InterviewAbandonedPayloadSchema: () => InterviewAbandonedPayloadSchema,
118
101
  EventsResponseSchema: () => EventsResponseSchema,
119
102
  EventType: () => EventType,
120
103
  EventSchema: () => EventSchema,
@@ -134,7 +117,6 @@ __export(exports_src, {
134
117
  DocGroupResponseSchema: () => DocGroupResponseSchema,
135
118
  DocGroupIdParamSchema: () => DocGroupIdParamSchema,
136
119
  DispatchTaskSchema: () => DispatchTaskSchema,
137
- DEFAULT_MANIFEST_VALUES: () => DEFAULT_MANIFEST_VALUES,
138
120
  CreateWorkspaceSchema: () => CreateWorkspaceSchema,
139
121
  CreateUserSchema: () => CreateUserSchema,
140
122
  CreateTaskSchema: () => CreateTaskSchema,
@@ -152,8 +134,6 @@ __export(exports_src, {
152
134
  CiRanPayloadSchema: () => CiRanPayloadSchema,
153
135
  ChecklistItemSchema: () => ChecklistItemSchema,
154
136
  ChecklistInitializedPayloadSchema: () => ChecklistInitializedPayloadSchema,
155
- ChatResponseSchema: () => ChatResponseSchema,
156
- ChatRequestSchema: () => ChatRequestSchema,
157
137
  BaseEntitySchema: () => BaseEntitySchema,
158
138
  AuthenticatedUserSchema: () => AuthenticatedUserSchema,
159
139
  AuthResponseSchema: () => AuthResponseSchema,
@@ -167,6 +147,9 @@ __export(exports_src, {
167
147
  ApiKeyQuerySchema: () => ApiKeyQuerySchema,
168
148
  ApiKeyIdParamSchema: () => ApiKeyIdParamSchema,
169
149
  ApiKeyAuthUserSchema: () => ApiKeyAuthUserSchema,
150
+ AgentsListResponse: () => AgentsListResponse,
151
+ AgentRegistrationResponse: () => AgentRegistrationResponse,
152
+ AgentHeartbeatSchema: () => AgentHeartbeatSchema,
170
153
  AddWorkspaceMemberSchema: () => AddWorkspaceMemberSchema,
171
154
  AddMemberSchema: () => AddMemberSchema,
172
155
  AddCommentSchema: () => AddCommentSchema,
@@ -175,10 +158,7 @@ __export(exports_src, {
175
158
  AcceptInvitationSchema: () => AcceptInvitationSchema,
176
159
  AcceptInvitationResponseSchema: () => AcceptInvitationResponseSchema,
177
160
  APIKeySchema: () => APIKeySchema,
178
- APIKeyCreateResponseSchema: () => APIKeyCreateResponseSchema,
179
- AIRoleSchema: () => AIRoleSchema,
180
- AIMessageSchema: () => AIMessageSchema,
181
- AIArtifactSchema: () => AIArtifactSchema
161
+ APIKeyCreateResponseSchema: () => APIKeyCreateResponseSchema
182
162
  });
183
163
  module.exports = __toCommonJS(exports_src);
184
164
 
@@ -232,6 +212,8 @@ function generateUUID() {
232
212
  return v.toString(16);
233
213
  });
234
214
  }
215
+ // src/constants.ts
216
+ var STALE_AGENT_TIMEOUT_MS = 10 * 60 * 1000;
235
217
  // src/enums.ts
236
218
  var UserRole;
237
219
  ((UserRole2) => {
@@ -249,10 +231,9 @@ var TaskStatus;
249
231
  ((TaskStatus2) => {
250
232
  TaskStatus2["BACKLOG"] = "BACKLOG";
251
233
  TaskStatus2["IN_PROGRESS"] = "IN_PROGRESS";
252
- TaskStatus2["REVIEW"] = "REVIEW";
253
- TaskStatus2["VERIFICATION"] = "VERIFICATION";
254
- TaskStatus2["DONE"] = "DONE";
234
+ TaskStatus2["IN_REVIEW"] = "IN_REVIEW";
255
235
  TaskStatus2["BLOCKED"] = "BLOCKED";
236
+ TaskStatus2["DONE"] = "DONE";
256
237
  })(TaskStatus ||= {});
257
238
  var TaskPriority;
258
239
  ((TaskPriority2) => {
@@ -290,10 +271,11 @@ var EventType;
290
271
  EventType2["SPRINT_STATUS_CHANGED"] = "SPRINT_STATUS_CHANGED";
291
272
  EventType2["SPRINT_DELETED"] = "SPRINT_DELETED";
292
273
  EventType2["CHECKLIST_INITIALIZED"] = "CHECKLIST_INITIALIZED";
293
- EventType2["INTERVIEW_STARTED"] = "INTERVIEW_STARTED";
294
- EventType2["INTERVIEW_FIELD_COMPLETED"] = "INTERVIEW_FIELD_COMPLETED";
295
- EventType2["INTERVIEW_COMPLETED"] = "INTERVIEW_COMPLETED";
296
- EventType2["INTERVIEW_ABANDONED"] = "INTERVIEW_ABANDONED";
274
+ EventType2["AGENT_HEARTBEAT"] = "AGENT_HEARTBEAT";
275
+ EventType2["TASK_DISPATCHED"] = "TASK_DISPATCHED";
276
+ EventType2["PR_CREATED"] = "PR_CREATED";
277
+ EventType2["PR_REVIEWED"] = "PR_REVIEWED";
278
+ EventType2["PR_MERGED"] = "PR_MERGED";
297
279
  })(EventType ||= {});
298
280
  // src/models/activity.ts
299
281
  var import_zod2 = require("zod");
@@ -360,25 +342,6 @@ var CiRanPayloadSchema = import_zod2.z.object({
360
342
  processed: import_zod2.z.boolean(),
361
343
  commands: import_zod2.z.array(import_zod2.z.object({ cmd: import_zod2.z.string(), exitCode: import_zod2.z.number() }))
362
344
  });
363
- var InterviewStartedPayloadSchema = import_zod2.z.object({
364
- workspaceName: import_zod2.z.string(),
365
- firstFieldName: import_zod2.z.string()
366
- });
367
- var InterviewFieldCompletedPayloadSchema = import_zod2.z.object({
368
- fieldName: import_zod2.z.string(),
369
- completionPercentage: import_zod2.z.number()
370
- });
371
- var InterviewCompletedPayloadSchema = import_zod2.z.object({
372
- workspaceName: import_zod2.z.string(),
373
- timeToCompleteMs: import_zod2.z.number(),
374
- completedVia: import_zod2.z.enum(["interview", "manual_bypass"])
375
- });
376
- var InterviewAbandonedPayloadSchema = import_zod2.z.object({
377
- workspaceName: import_zod2.z.string(),
378
- lastActiveAt: import_zod2.z.union([import_zod2.z.date(), import_zod2.z.string()]),
379
- completionPercentage: import_zod2.z.number(),
380
- daysInactive: import_zod2.z.number()
381
- });
382
345
  var EventPayloadSchema = import_zod2.z.discriminatedUnion("type", [
383
346
  import_zod2.z.object({
384
347
  type: import_zod2.z.literal("TASK_CREATED" /* TASK_CREATED */),
@@ -423,22 +386,6 @@ var EventPayloadSchema = import_zod2.z.discriminatedUnion("type", [
423
386
  import_zod2.z.object({
424
387
  type: import_zod2.z.literal("CI_RAN" /* CI_RAN */),
425
388
  payload: CiRanPayloadSchema
426
- }),
427
- import_zod2.z.object({
428
- type: import_zod2.z.literal("INTERVIEW_STARTED" /* INTERVIEW_STARTED */),
429
- payload: InterviewStartedPayloadSchema
430
- }),
431
- import_zod2.z.object({
432
- type: import_zod2.z.literal("INTERVIEW_FIELD_COMPLETED" /* INTERVIEW_FIELD_COMPLETED */),
433
- payload: InterviewFieldCompletedPayloadSchema
434
- }),
435
- import_zod2.z.object({
436
- type: import_zod2.z.literal("INTERVIEW_COMPLETED" /* INTERVIEW_COMPLETED */),
437
- payload: InterviewCompletedPayloadSchema
438
- }),
439
- import_zod2.z.object({
440
- type: import_zod2.z.literal("INTERVIEW_ABANDONED" /* INTERVIEW_ABANDONED */),
441
- payload: InterviewAbandonedPayloadSchema
442
389
  })
443
390
  ]);
444
391
  var EventSchema = import_zod2.z.object({
@@ -505,64 +452,43 @@ var LockSchema = import_zod3.z.object({
505
452
  var UnlockSchema = import_zod3.z.object({
506
453
  agentId: import_zod3.z.string().min(1)
507
454
  });
508
- // src/models/ai.ts
509
- var import_zod4 = require("zod");
510
- var AIRoleSchema = import_zod4.z.enum(["user", "assistant", "system"]);
511
- var AIArtifactSchema = import_zod4.z.object({
512
- id: import_zod4.z.string(),
513
- type: import_zod4.z.enum(["code", "document"]),
514
- title: import_zod4.z.string(),
515
- content: import_zod4.z.string(),
516
- language: import_zod4.z.string().optional(),
517
- metadata: import_zod4.z.record(import_zod4.z.string(), import_zod4.z.any()).optional()
518
- });
519
- var SuggestedActionSchema = import_zod4.z.object({
520
- label: import_zod4.z.string(),
521
- type: import_zod4.z.enum(["chat_suggestion", "create_doc"]),
522
- payload: import_zod4.z.any()
523
- });
524
- var AIMessageSchema = import_zod4.z.object({
525
- id: import_zod4.z.string(),
526
- role: AIRoleSchema,
527
- content: import_zod4.z.string(),
528
- timestamp: import_zod4.z.union([import_zod4.z.string(), import_zod4.z.number()]).or(import_zod4.z.date()).or(import_zod4.z.any()).optional().transform((val) => val ? new Date(val) : new Date),
529
- thoughtProcess: import_zod4.z.string().optional(),
530
- artifacts: import_zod4.z.array(AIArtifactSchema).optional(),
531
- suggestedActions: import_zod4.z.array(SuggestedActionSchema).optional()
532
- });
533
- var ChatRequestSchema = import_zod4.z.object({
534
- message: import_zod4.z.string().min(1, "Message is required"),
535
- sessionId: import_zod4.z.string().optional()
536
- });
537
- var ChatResponseSchema = import_zod4.z.object({
538
- message: AIMessageSchema,
539
- sessionId: import_zod4.z.string(),
540
- history: import_zod4.z.array(AIMessageSchema).optional()
541
- });
542
- var ShareChatRequestSchema = import_zod4.z.object({
543
- isShared: import_zod4.z.boolean()
455
+ var AgentHeartbeatSchema = import_zod3.z.object({
456
+ agentId: import_zod3.z.string().min(1),
457
+ currentTaskId: import_zod3.z.string().uuid().nullable().optional(),
458
+ status: import_zod3.z.enum(["IDLE", "WORKING", "COMPLETED", "FAILED"]).optional().default("WORKING")
459
+ });
460
+ var AgentRegistrationResponse = import_zod3.z.object({
461
+ agentId: import_zod3.z.string(),
462
+ workspaceId: import_zod3.z.string(),
463
+ currentTaskId: import_zod3.z.string().nullable(),
464
+ status: import_zod3.z.string(),
465
+ lastHeartbeat: import_zod3.z.string(),
466
+ createdAt: import_zod3.z.string()
467
+ });
468
+ var AgentsListResponse = import_zod3.z.object({
469
+ agents: import_zod3.z.array(AgentRegistrationResponse)
544
470
  });
545
471
  // src/models/auth.ts
546
- var import_zod6 = require("zod");
472
+ var import_zod5 = require("zod");
547
473
 
548
474
  // src/models/user.ts
549
- var import_zod5 = require("zod");
475
+ var import_zod4 = require("zod");
550
476
  var UserSchema = BaseEntitySchema.extend({
551
- email: import_zod5.z.string().email(),
552
- name: import_zod5.z.string().min(1),
553
- avatarUrl: import_zod5.z.string().url().nullable().optional(),
554
- role: import_zod5.z.enum(UserRole),
555
- orgId: import_zod5.z.uuid().optional().nullable(),
556
- workspaceId: import_zod5.z.uuid().optional().nullable(),
557
- companyName: import_zod5.z.string().optional(),
558
- userRole: import_zod5.z.string().optional(),
559
- teamSize: import_zod5.z.string().optional(),
560
- onboardingCompleted: import_zod5.z.boolean().default(false),
561
- emailVerified: import_zod5.z.boolean().default(false)
562
- });
563
- var CreateUserSchema = import_zod5.z.object({
564
- email: import_zod5.z.string().email(),
565
- name: import_zod5.z.string().min(1)
477
+ email: import_zod4.z.string().email(),
478
+ name: import_zod4.z.string().min(1),
479
+ avatarUrl: import_zod4.z.string().url().nullable().optional(),
480
+ role: import_zod4.z.enum(UserRole),
481
+ orgId: import_zod4.z.uuid().optional().nullable(),
482
+ workspaceId: import_zod4.z.uuid().optional().nullable(),
483
+ companyName: import_zod4.z.string().optional(),
484
+ userRole: import_zod4.z.string().optional(),
485
+ teamSize: import_zod4.z.string().optional(),
486
+ onboardingCompleted: import_zod4.z.boolean().default(false),
487
+ emailVerified: import_zod4.z.boolean().default(false)
488
+ });
489
+ var CreateUserSchema = import_zod4.z.object({
490
+ email: import_zod4.z.string().email(),
491
+ name: import_zod4.z.string().min(1)
566
492
  });
567
493
  var UpdateUserSchema = UserSchema.partial().omit({
568
494
  id: true,
@@ -572,23 +498,23 @@ var UpdateUserSchema = UserSchema.partial().omit({
572
498
  });
573
499
 
574
500
  // src/models/auth.ts
575
- var JwtAuthUserSchema = import_zod6.z.object({
576
- authType: import_zod6.z.literal("jwt"),
577
- id: import_zod6.z.uuid(),
578
- email: import_zod6.z.string().email(),
579
- name: import_zod6.z.string(),
580
- role: import_zod6.z.enum(UserRole),
581
- orgId: import_zod6.z.uuid().nullable().optional(),
582
- workspaceId: import_zod6.z.uuid().nullable().optional()
583
- });
584
- var ApiKeyAuthUserSchema = import_zod6.z.object({
585
- authType: import_zod6.z.literal("api_key"),
586
- apiKeyId: import_zod6.z.string(),
587
- apiKeyName: import_zod6.z.string(),
588
- orgId: import_zod6.z.string().optional(),
589
- workspaceId: import_zod6.z.string().optional()
590
- });
591
- var AuthenticatedUserSchema = import_zod6.z.discriminatedUnion("authType", [
501
+ var JwtAuthUserSchema = import_zod5.z.object({
502
+ authType: import_zod5.z.literal("jwt"),
503
+ id: import_zod5.z.uuid(),
504
+ email: import_zod5.z.string().email(),
505
+ name: import_zod5.z.string(),
506
+ role: import_zod5.z.enum(UserRole),
507
+ orgId: import_zod5.z.uuid().nullable().optional(),
508
+ workspaceId: import_zod5.z.uuid().nullable().optional()
509
+ });
510
+ var ApiKeyAuthUserSchema = import_zod5.z.object({
511
+ authType: import_zod5.z.literal("api_key"),
512
+ apiKeyId: import_zod5.z.string(),
513
+ apiKeyName: import_zod5.z.string(),
514
+ orgId: import_zod5.z.string().optional(),
515
+ workspaceId: import_zod5.z.string().optional()
516
+ });
517
+ var AuthenticatedUserSchema = import_zod5.z.discriminatedUnion("authType", [
592
518
  JwtAuthUserSchema,
593
519
  ApiKeyAuthUserSchema
594
520
  ]);
@@ -601,93 +527,93 @@ function isApiKeyUser(user) {
601
527
  function getAuthUserId(user) {
602
528
  return isJwtUser(user) ? user.id : null;
603
529
  }
604
- var AuthResponseSchema = import_zod6.z.object({
605
- token: import_zod6.z.string(),
530
+ var AuthResponseSchema = import_zod5.z.object({
531
+ token: import_zod5.z.string(),
606
532
  user: UserSchema
607
533
  });
608
- var OtpRequestSchema = import_zod6.z.object({
609
- email: import_zod6.z.string().email("Invalid email address")
610
- });
611
- var VerifyOtpSchema = import_zod6.z.object({
612
- email: import_zod6.z.string().email("Invalid email address"),
613
- otp: import_zod6.z.string().length(6, "Verification code must be 6 digits")
614
- });
615
- var CompleteRegistrationSchema = import_zod6.z.object({
616
- email: import_zod6.z.string().email("Invalid email address"),
617
- otp: import_zod6.z.string().length(6, "Verification code must be 6 digits"),
618
- name: import_zod6.z.string().min(1, "Name is required").max(100),
619
- companyName: import_zod6.z.string().max(100).optional(),
620
- teamSize: import_zod6.z.enum(["solo", "2-10", "11-50", "51-200", "200+"]).optional(),
621
- userRole: import_zod6.z.enum(["developer", "designer", "product_manager", "other"]).optional(),
622
- workspaceName: import_zod6.z.string().max(100).optional(),
623
- invitedEmails: import_zod6.z.array(import_zod6.z.string().email()).optional()
624
- });
625
- var JWTPayloadSchema = import_zod6.z.object({
626
- sub: import_zod6.z.string(),
627
- email: import_zod6.z.string().email(),
628
- name: import_zod6.z.string(),
629
- role: import_zod6.z.string(),
630
- orgId: import_zod6.z.uuid().optional(),
631
- iat: import_zod6.z.number(),
632
- exp: import_zod6.z.number()
633
- });
634
- var AuthContextSchema = import_zod6.z.object({
635
- userId: import_zod6.z.string(),
636
- email: import_zod6.z.string().email(),
637
- name: import_zod6.z.string(),
638
- role: import_zod6.z.string(),
639
- orgId: import_zod6.z.uuid().optional(),
640
- workspaceId: import_zod6.z.uuid().optional(),
641
- authType: import_zod6.z.enum(["jwt", "api_key", "local"])
642
- });
643
- var APIKeySchema = import_zod6.z.object({
644
- id: import_zod6.z.string(),
645
- name: import_zod6.z.string(),
646
- keyPrefix: import_zod6.z.string(),
647
- workspaceId: import_zod6.z.string(),
648
- lastUsedAt: import_zod6.z.number().nullable(),
649
- createdAt: import_zod6.z.number()
650
- });
651
- var APIKeyCreateResponseSchema = import_zod6.z.object({
652
- id: import_zod6.z.string(),
653
- name: import_zod6.z.string(),
654
- keyPrefix: import_zod6.z.string(),
655
- key: import_zod6.z.string(),
656
- createdAt: import_zod6.z.number()
657
- });
658
- var ApiKeyIdParamSchema = import_zod6.z.object({
659
- id: import_zod6.z.string().uuid("Invalid API Key ID")
660
- });
661
- var ApiKeyQuerySchema = import_zod6.z.object({
662
- workspaceId: import_zod6.z.string().uuid("Invalid Workspace ID").optional()
663
- });
664
- var CreateApiKeySchema = import_zod6.z.object({
665
- workspaceId: import_zod6.z.string().uuid("Invalid Workspace ID").optional(),
666
- name: import_zod6.z.string().min(1, "Name is required").max(100),
667
- expiresInDays: import_zod6.z.number().int().positive().optional()
534
+ var OtpRequestSchema = import_zod5.z.object({
535
+ email: import_zod5.z.string().email("Invalid email address")
536
+ });
537
+ var VerifyOtpSchema = import_zod5.z.object({
538
+ email: import_zod5.z.string().email("Invalid email address"),
539
+ otp: import_zod5.z.string().length(6, "Verification code must be 6 digits")
540
+ });
541
+ var CompleteRegistrationSchema = import_zod5.z.object({
542
+ email: import_zod5.z.string().email("Invalid email address"),
543
+ otp: import_zod5.z.string().length(6, "Verification code must be 6 digits"),
544
+ name: import_zod5.z.string().min(1, "Name is required").max(100),
545
+ companyName: import_zod5.z.string().max(100).optional(),
546
+ teamSize: import_zod5.z.enum(["solo", "2-10", "11-50", "51-200", "200+"]).optional(),
547
+ userRole: import_zod5.z.enum(["developer", "designer", "product_manager", "other"]).optional(),
548
+ workspaceName: import_zod5.z.string().max(100).optional(),
549
+ invitedEmails: import_zod5.z.array(import_zod5.z.string().email()).optional()
550
+ });
551
+ var JWTPayloadSchema = import_zod5.z.object({
552
+ sub: import_zod5.z.string(),
553
+ email: import_zod5.z.string().email(),
554
+ name: import_zod5.z.string(),
555
+ role: import_zod5.z.string(),
556
+ orgId: import_zod5.z.uuid().optional(),
557
+ iat: import_zod5.z.number(),
558
+ exp: import_zod5.z.number()
559
+ });
560
+ var AuthContextSchema = import_zod5.z.object({
561
+ userId: import_zod5.z.string(),
562
+ email: import_zod5.z.string().email(),
563
+ name: import_zod5.z.string(),
564
+ role: import_zod5.z.string(),
565
+ orgId: import_zod5.z.uuid().optional(),
566
+ workspaceId: import_zod5.z.uuid().optional(),
567
+ authType: import_zod5.z.enum(["jwt", "api_key", "local"])
568
+ });
569
+ var APIKeySchema = import_zod5.z.object({
570
+ id: import_zod5.z.string(),
571
+ name: import_zod5.z.string(),
572
+ keyPrefix: import_zod5.z.string(),
573
+ workspaceId: import_zod5.z.string(),
574
+ lastUsedAt: import_zod5.z.number().nullable(),
575
+ createdAt: import_zod5.z.number()
576
+ });
577
+ var APIKeyCreateResponseSchema = import_zod5.z.object({
578
+ id: import_zod5.z.string(),
579
+ name: import_zod5.z.string(),
580
+ keyPrefix: import_zod5.z.string(),
581
+ key: import_zod5.z.string(),
582
+ createdAt: import_zod5.z.number()
583
+ });
584
+ var ApiKeyIdParamSchema = import_zod5.z.object({
585
+ id: import_zod5.z.string().uuid("Invalid API Key ID")
586
+ });
587
+ var ApiKeyQuerySchema = import_zod5.z.object({
588
+ workspaceId: import_zod5.z.string().uuid("Invalid Workspace ID").optional()
589
+ });
590
+ var CreateApiKeySchema = import_zod5.z.object({
591
+ workspaceId: import_zod5.z.string().uuid("Invalid Workspace ID").optional(),
592
+ name: import_zod5.z.string().min(1, "Name is required").max(100),
593
+ expiresInDays: import_zod5.z.number().int().positive().optional()
668
594
  });
669
595
  // src/models/ci.ts
670
- var import_zod7 = require("zod");
671
- var RecordCiSchema = import_zod7.z.object({
672
- taskId: import_zod7.z.uuid(),
673
- workspaceId: import_zod7.z.uuid(),
674
- result: import_zod7.z.object({
675
- ok: import_zod7.z.boolean(),
676
- summary: import_zod7.z.string(),
677
- commands: import_zod7.z.array(import_zod7.z.object({
678
- cmd: import_zod7.z.string(),
679
- exitCode: import_zod7.z.number(),
680
- durationMs: import_zod7.z.number().optional(),
681
- error: import_zod7.z.string().optional()
596
+ var import_zod6 = require("zod");
597
+ var RecordCiSchema = import_zod6.z.object({
598
+ taskId: import_zod6.z.uuid(),
599
+ workspaceId: import_zod6.z.uuid(),
600
+ result: import_zod6.z.object({
601
+ ok: import_zod6.z.boolean(),
602
+ summary: import_zod6.z.string(),
603
+ commands: import_zod6.z.array(import_zod6.z.object({
604
+ cmd: import_zod6.z.string(),
605
+ exitCode: import_zod6.z.number(),
606
+ durationMs: import_zod6.z.number().optional(),
607
+ error: import_zod6.z.string().optional()
682
608
  })),
683
- preset: import_zod7.z.string()
609
+ preset: import_zod6.z.string()
684
610
  })
685
611
  });
686
612
  // src/models/doc.ts
687
- var import_zod8 = require("zod");
688
- var DocGroupSchemaForDoc = import_zod8.z.object({
689
- id: import_zod8.z.uuid(),
690
- name: import_zod8.z.string()
613
+ var import_zod7 = require("zod");
614
+ var DocGroupSchemaForDoc = import_zod7.z.object({
615
+ id: import_zod7.z.uuid(),
616
+ name: import_zod7.z.string()
691
617
  });
692
618
  var DocType;
693
619
  ((DocType2) => {
@@ -698,302 +624,232 @@ var DocType;
698
624
  DocType2["API_DESIGN"] = "API_DESIGN";
699
625
  })(DocType ||= {});
700
626
  var DocSchema = BaseEntitySchema.extend({
701
- workspaceId: import_zod8.z.uuid(),
702
- groupId: import_zod8.z.uuid().nullable().optional(),
703
- title: import_zod8.z.string().min(1, "Title is required"),
704
- content: import_zod8.z.string().default(""),
705
- type: import_zod8.z.enum(DocType).default("GENERAL" /* GENERAL */),
627
+ workspaceId: import_zod7.z.uuid(),
628
+ groupId: import_zod7.z.uuid().nullable().optional(),
629
+ title: import_zod7.z.string().min(1, "Title is required"),
630
+ content: import_zod7.z.string().default(""),
631
+ type: import_zod7.z.enum(DocType).default("GENERAL" /* GENERAL */),
706
632
  group: DocGroupSchemaForDoc.nullable().optional()
707
633
  });
708
- var CreateDocSchema = import_zod8.z.object({
709
- title: import_zod8.z.string().min(1, "Title is required"),
710
- content: import_zod8.z.string().optional(),
711
- type: import_zod8.z.enum(DocType).optional().default("GENERAL" /* GENERAL */),
712
- groupId: import_zod8.z.string().optional()
634
+ var CreateDocSchema = import_zod7.z.object({
635
+ title: import_zod7.z.string().min(1, "Title is required"),
636
+ content: import_zod7.z.string().optional(),
637
+ type: import_zod7.z.enum(DocType).optional().default("GENERAL" /* GENERAL */),
638
+ groupId: import_zod7.z.string().optional()
713
639
  });
714
- var UpdateDocSchema = import_zod8.z.object({
715
- title: import_zod8.z.string().min(1).optional(),
716
- content: import_zod8.z.string().optional(),
717
- type: import_zod8.z.enum(DocType).optional(),
718
- groupId: import_zod8.z.string().nullable().optional()
640
+ var UpdateDocSchema = import_zod7.z.object({
641
+ title: import_zod7.z.string().min(1).optional(),
642
+ content: import_zod7.z.string().optional(),
643
+ type: import_zod7.z.enum(DocType).optional(),
644
+ groupId: import_zod7.z.string().nullable().optional()
719
645
  });
720
- var DocResponseSchema = import_zod8.z.object({
646
+ var DocResponseSchema = import_zod7.z.object({
721
647
  doc: DocSchema
722
648
  });
723
- var DocsResponseSchema = import_zod8.z.object({
724
- docs: import_zod8.z.array(DocSchema)
649
+ var DocsResponseSchema = import_zod7.z.object({
650
+ docs: import_zod7.z.array(DocSchema)
725
651
  });
726
- var DocIdParamSchema = import_zod8.z.object({
727
- id: import_zod8.z.string().uuid("Invalid Doc ID")
652
+ var DocIdParamSchema = import_zod7.z.object({
653
+ id: import_zod7.z.string().uuid("Invalid Doc ID")
728
654
  });
729
- var DocQuerySchema = import_zod8.z.object({
730
- workspaceId: import_zod8.z.string().uuid("Invalid Workspace ID").optional()
655
+ var DocQuerySchema = import_zod7.z.object({
656
+ workspaceId: import_zod7.z.string().uuid("Invalid Workspace ID").optional()
731
657
  });
732
658
  // src/models/doc-group.ts
733
- var import_zod9 = require("zod");
659
+ var import_zod8 = require("zod");
734
660
  var DocGroupSchema = BaseEntitySchema.extend({
735
- workspaceId: import_zod9.z.uuid(),
736
- name: import_zod9.z.string().min(1, "Name is required"),
737
- order: import_zod9.z.number().default(0)
661
+ workspaceId: import_zod8.z.uuid(),
662
+ name: import_zod8.z.string().min(1, "Name is required"),
663
+ order: import_zod8.z.number().default(0)
738
664
  });
739
- var CreateDocGroupSchema = import_zod9.z.object({
740
- name: import_zod9.z.string().min(1, "Name is required"),
741
- order: import_zod9.z.number().optional()
665
+ var CreateDocGroupSchema = import_zod8.z.object({
666
+ name: import_zod8.z.string().min(1, "Name is required"),
667
+ order: import_zod8.z.number().optional()
742
668
  });
743
- var UpdateDocGroupSchema = import_zod9.z.object({
744
- name: import_zod9.z.string().min(1).optional(),
745
- order: import_zod9.z.number().optional()
669
+ var UpdateDocGroupSchema = import_zod8.z.object({
670
+ name: import_zod8.z.string().min(1).optional(),
671
+ order: import_zod8.z.number().optional()
746
672
  });
747
- var DocGroupResponseSchema = import_zod9.z.object({
673
+ var DocGroupResponseSchema = import_zod8.z.object({
748
674
  group: DocGroupSchema
749
675
  });
750
- var DocGroupsResponseSchema = import_zod9.z.object({
751
- groups: import_zod9.z.array(DocGroupSchema)
676
+ var DocGroupsResponseSchema = import_zod8.z.object({
677
+ groups: import_zod8.z.array(DocGroupSchema)
752
678
  });
753
- var DocGroupIdParamSchema = import_zod9.z.object({
754
- id: import_zod9.z.string().uuid("Invalid Group ID")
679
+ var DocGroupIdParamSchema = import_zod8.z.object({
680
+ id: import_zod8.z.string().uuid("Invalid Group ID")
755
681
  });
756
682
  // src/models/invitation.ts
757
- var import_zod10 = require("zod");
683
+ var import_zod9 = require("zod");
758
684
  var InvitationSchema = BaseEntitySchema.extend({
759
- orgId: import_zod10.z.string().uuid("Invalid Organization ID"),
760
- email: import_zod10.z.string().email("Invalid email address"),
761
- role: import_zod10.z.enum(MembershipRole),
762
- token: import_zod10.z.string(),
763
- expiresAt: import_zod10.z.number(),
764
- acceptedAt: import_zod10.z.number().nullable().optional(),
765
- invitedBy: import_zod10.z.uuid()
685
+ orgId: import_zod9.z.string().uuid("Invalid Organization ID"),
686
+ email: import_zod9.z.string().email("Invalid email address"),
687
+ role: import_zod9.z.enum(MembershipRole),
688
+ token: import_zod9.z.string(),
689
+ expiresAt: import_zod9.z.number(),
690
+ acceptedAt: import_zod9.z.number().nullable().optional(),
691
+ invitedBy: import_zod9.z.uuid()
766
692
  });
767
- var CreateInvitationSchema = import_zod10.z.object({
768
- orgId: import_zod10.z.string().uuid("Invalid Organization ID"),
769
- email: import_zod10.z.string().email("Invalid email address"),
770
- role: import_zod10.z.enum(MembershipRole).default("MEMBER" /* MEMBER */)
693
+ var CreateInvitationSchema = import_zod9.z.object({
694
+ orgId: import_zod9.z.string().uuid("Invalid Organization ID"),
695
+ email: import_zod9.z.string().email("Invalid email address"),
696
+ role: import_zod9.z.enum(MembershipRole).default("MEMBER" /* MEMBER */)
771
697
  });
772
- var AcceptInvitationSchema = import_zod10.z.object({
773
- token: import_zod10.z.string().min(1, "Invitation token is required"),
774
- name: import_zod10.z.string().min(1, "Name is required").optional()
698
+ var AcceptInvitationSchema = import_zod9.z.object({
699
+ token: import_zod9.z.string().min(1, "Invitation token is required"),
700
+ name: import_zod9.z.string().min(1, "Name is required").optional()
775
701
  });
776
- var InvitationIdParamSchema = import_zod10.z.object({
777
- id: import_zod10.z.string().uuid("Invalid Invitation ID")
702
+ var InvitationIdParamSchema = import_zod9.z.object({
703
+ id: import_zod9.z.string().uuid("Invalid Invitation ID")
778
704
  });
779
- var InvitationVerifyParamSchema = import_zod10.z.object({
780
- token: import_zod10.z.string().min(1, "Token required")
705
+ var InvitationVerifyParamSchema = import_zod9.z.object({
706
+ token: import_zod9.z.string().min(1, "Token required")
781
707
  });
782
- var InvitationQuerySchema = import_zod10.z.object({
783
- orgId: import_zod10.z.string().uuid("Invalid Organization ID").optional()
708
+ var InvitationQuerySchema = import_zod9.z.object({
709
+ orgId: import_zod9.z.string().uuid("Invalid Organization ID").optional()
784
710
  });
785
- var InvitationResponseSchema = import_zod10.z.object({
711
+ var InvitationResponseSchema = import_zod9.z.object({
786
712
  invitation: InvitationSchema,
787
- userExists: import_zod10.z.boolean().optional()
788
- });
789
- var InvitationsResponseSchema = import_zod10.z.object({
790
- invitations: import_zod10.z.array(InvitationSchema)
791
- });
792
- var AcceptInvitationResponseSchema = import_zod10.z.object({
793
- membership: import_zod10.z.object({
794
- id: import_zod10.z.uuid(),
795
- userId: import_zod10.z.uuid(),
796
- orgId: import_zod10.z.uuid(),
797
- role: import_zod10.z.enum(MembershipRole),
798
- createdAt: import_zod10.z.number()
713
+ userExists: import_zod9.z.boolean().optional()
714
+ });
715
+ var InvitationsResponseSchema = import_zod9.z.object({
716
+ invitations: import_zod9.z.array(InvitationSchema)
717
+ });
718
+ var AcceptInvitationResponseSchema = import_zod9.z.object({
719
+ membership: import_zod9.z.object({
720
+ id: import_zod9.z.uuid(),
721
+ userId: import_zod9.z.uuid(),
722
+ orgId: import_zod9.z.uuid(),
723
+ role: import_zod9.z.enum(MembershipRole),
724
+ createdAt: import_zod9.z.number()
799
725
  })
800
726
  });
801
- // src/models/manifest.ts
802
- var import_zod11 = require("zod");
803
- var ProjectPhaseSchema = import_zod11.z.enum([
804
- "PLANNING",
805
- "MVP_BUILD",
806
- "SCALING",
807
- "MAINTENANCE"
808
- ]);
809
- var SprintStatusSchema = import_zod11.z.enum(["PLANNED", "ACTIVE", "COMPLETED"]);
810
- var ProjectSprintSchema = import_zod11.z.object({
811
- id: import_zod11.z.string(),
812
- goal: import_zod11.z.string(),
813
- tasks: import_zod11.z.array(import_zod11.z.string()),
814
- status: SprintStatusSchema
815
- });
816
- var MilestoneStatusSchema = import_zod11.z.enum(["PENDING", "COMPLETED"]);
817
- var ProjectMilestoneSchema = import_zod11.z.object({
818
- title: import_zod11.z.string(),
819
- date: import_zod11.z.string().optional(),
820
- status: MilestoneStatusSchema
821
- });
822
- var ProjectTimelineSchema = import_zod11.z.object({
823
- sprints: import_zod11.z.array(ProjectSprintSchema),
824
- milestones: import_zod11.z.array(ProjectMilestoneSchema)
825
- });
826
- var RepositoryContextSchema = import_zod11.z.object({
827
- summary: import_zod11.z.string(),
828
- fileStructure: import_zod11.z.string(),
829
- dependencies: import_zod11.z.record(import_zod11.z.string(), import_zod11.z.string()),
830
- frameworks: import_zod11.z.array(import_zod11.z.string()),
831
- configFiles: import_zod11.z.array(import_zod11.z.string()),
832
- lastAnalysis: import_zod11.z.string()
833
- });
834
- var ProjectManifestSchema = import_zod11.z.object({
835
- name: import_zod11.z.string(),
836
- mission: import_zod11.z.string(),
837
- targetUsers: import_zod11.z.array(import_zod11.z.string()),
838
- techStack: import_zod11.z.array(import_zod11.z.string()),
839
- phase: ProjectPhaseSchema,
840
- features: import_zod11.z.array(import_zod11.z.string()),
841
- competitors: import_zod11.z.array(import_zod11.z.string()),
842
- brandVoice: import_zod11.z.string().optional(),
843
- successMetrics: import_zod11.z.array(import_zod11.z.string()).optional(),
844
- completenessScore: import_zod11.z.number().min(0).max(100),
845
- timeline: ProjectTimelineSchema.optional(),
846
- repositoryState: RepositoryContextSchema.optional()
847
- });
848
- var PartialProjectManifestSchema = ProjectManifestSchema.partial();
849
- var DEFAULT_MANIFEST_VALUES = {
850
- name: "",
851
- mission: "",
852
- targetUsers: [],
853
- techStack: [],
854
- phase: "PLANNING",
855
- features: [],
856
- competitors: [],
857
- brandVoice: "",
858
- successMetrics: [],
859
- completenessScore: 0
860
- };
861
- var REQUIRED_MANIFEST_FIELDS = [
862
- "name",
863
- "mission",
864
- "targetUsers",
865
- "techStack",
866
- "phase",
867
- "features",
868
- "competitors"
869
- ];
870
727
  // src/models/organization.ts
871
- var import_zod12 = require("zod");
728
+ var import_zod10 = require("zod");
872
729
  var OrganizationSchema = BaseEntitySchema.extend({
873
- name: import_zod12.z.string().min(1, "Name is required").max(100),
874
- avatarUrl: import_zod12.z.string().url("Invalid avatar URL").nullable().optional().or(import_zod12.z.literal(""))
730
+ name: import_zod10.z.string().min(1, "Name is required").max(100),
731
+ avatarUrl: import_zod10.z.string().url("Invalid avatar URL").nullable().optional().or(import_zod10.z.literal(""))
875
732
  });
876
- var CreateOrganizationSchema = import_zod12.z.object({
877
- name: import_zod12.z.string().min(1, "Name is required").max(100),
878
- avatarUrl: import_zod12.z.string().url("Invalid avatar URL").optional().or(import_zod12.z.literal(""))
733
+ var CreateOrganizationSchema = import_zod10.z.object({
734
+ name: import_zod10.z.string().min(1, "Name is required").max(100),
735
+ avatarUrl: import_zod10.z.string().url("Invalid avatar URL").optional().or(import_zod10.z.literal(""))
879
736
  });
880
737
  var UpdateOrganizationSchema = OrganizationSchema.partial().omit({
881
738
  id: true,
882
739
  createdAt: true,
883
740
  updatedAt: true
884
741
  });
885
- var AddMemberSchema = import_zod12.z.object({
886
- userId: import_zod12.z.string().uuid("Invalid User ID"),
887
- role: import_zod12.z.enum(["ADMIN", "MEMBER"]).default("MEMBER")
888
- });
889
- var MembershipWithUserSchema = import_zod12.z.object({
890
- id: import_zod12.z.uuid(),
891
- userId: import_zod12.z.uuid(),
892
- orgId: import_zod12.z.uuid(),
893
- role: import_zod12.z.string(),
894
- createdAt: import_zod12.z.number(),
895
- user: import_zod12.z.object({
896
- id: import_zod12.z.uuid(),
897
- email: import_zod12.z.string().email(),
898
- name: import_zod12.z.string(),
899
- avatarUrl: import_zod12.z.string().url().nullable().optional()
742
+ var AddMemberSchema = import_zod10.z.object({
743
+ userId: import_zod10.z.string().uuid("Invalid User ID"),
744
+ role: import_zod10.z.enum(["ADMIN", "MEMBER"]).default("MEMBER")
745
+ });
746
+ var MembershipWithUserSchema = import_zod10.z.object({
747
+ id: import_zod10.z.uuid(),
748
+ userId: import_zod10.z.uuid(),
749
+ orgId: import_zod10.z.uuid(),
750
+ role: import_zod10.z.string(),
751
+ createdAt: import_zod10.z.number(),
752
+ user: import_zod10.z.object({
753
+ id: import_zod10.z.uuid(),
754
+ email: import_zod10.z.string().email(),
755
+ name: import_zod10.z.string(),
756
+ avatarUrl: import_zod10.z.string().url().nullable().optional()
900
757
  })
901
758
  });
902
- var OrgIdParamSchema = import_zod12.z.object({
903
- orgId: import_zod12.z.string().uuid("Invalid Organization ID")
759
+ var OrgIdParamSchema = import_zod10.z.object({
760
+ orgId: import_zod10.z.string().uuid("Invalid Organization ID")
904
761
  });
905
- var MembershipIdParamSchema = import_zod12.z.object({
906
- id: import_zod12.z.string().uuid("Invalid Membership ID")
762
+ var MembershipIdParamSchema = import_zod10.z.object({
763
+ id: import_zod10.z.string().uuid("Invalid Membership ID")
907
764
  });
908
- var OrganizationResponseSchema = import_zod12.z.object({
765
+ var OrganizationResponseSchema = import_zod10.z.object({
909
766
  organization: OrganizationSchema
910
767
  });
911
- var OrganizationsResponseSchema = import_zod12.z.object({
912
- organizations: import_zod12.z.array(OrganizationSchema)
768
+ var OrganizationsResponseSchema = import_zod10.z.object({
769
+ organizations: import_zod10.z.array(OrganizationSchema)
913
770
  });
914
- var MembersResponseSchema = import_zod12.z.object({
915
- members: import_zod12.z.array(MembershipWithUserSchema)
771
+ var MembersResponseSchema = import_zod10.z.object({
772
+ members: import_zod10.z.array(MembershipWithUserSchema)
916
773
  });
917
- var MembershipResponseSchema = import_zod12.z.object({
774
+ var MembershipResponseSchema = import_zod10.z.object({
918
775
  membership: MembershipWithUserSchema
919
776
  });
920
777
  // src/models/sprint.ts
921
- var import_zod13 = require("zod");
778
+ var import_zod11 = require("zod");
922
779
  var SprintSchema = BaseEntitySchema.extend({
923
- workspaceId: import_zod13.z.uuid().nullable().optional(),
924
- name: import_zod13.z.string().min(1, "Name is required").max(100),
925
- status: import_zod13.z.enum(SprintStatus),
926
- startDate: import_zod13.z.union([import_zod13.z.date(), import_zod13.z.number()]).nullable().optional(),
927
- endDate: import_zod13.z.union([import_zod13.z.date(), import_zod13.z.number()]).nullable().optional(),
928
- mindmap: import_zod13.z.string().nullable().optional(),
929
- mindmapUpdatedAt: import_zod13.z.union([import_zod13.z.date(), import_zod13.z.number()]).nullable().optional()
930
- });
931
- var CreateSprintSchema = import_zod13.z.object({
932
- name: import_zod13.z.string().min(1, "Name is required").max(100),
933
- startDate: import_zod13.z.union([import_zod13.z.string(), import_zod13.z.number()]).optional(),
934
- endDate: import_zod13.z.union([import_zod13.z.string(), import_zod13.z.number()]).optional(),
935
- taskIds: import_zod13.z.array(import_zod13.z.string()).optional()
780
+ workspaceId: import_zod11.z.uuid().nullable().optional(),
781
+ name: import_zod11.z.string().min(1, "Name is required").max(100),
782
+ status: import_zod11.z.enum(SprintStatus),
783
+ startDate: import_zod11.z.union([import_zod11.z.date(), import_zod11.z.number()]).nullable().optional(),
784
+ endDate: import_zod11.z.union([import_zod11.z.date(), import_zod11.z.number()]).nullable().optional()
785
+ });
786
+ var CreateSprintSchema = import_zod11.z.object({
787
+ name: import_zod11.z.string().min(1, "Name is required").max(100),
788
+ startDate: import_zod11.z.union([import_zod11.z.string(), import_zod11.z.number()]).optional(),
789
+ endDate: import_zod11.z.union([import_zod11.z.string(), import_zod11.z.number()]).optional(),
790
+ taskIds: import_zod11.z.array(import_zod11.z.string()).optional()
936
791
  });
937
792
  var UpdateSprintSchema = SprintSchema.partial().omit({
938
793
  id: true,
939
794
  createdAt: true,
940
795
  updatedAt: true,
941
796
  startDate: true,
942
- endDate: true,
943
- mindmapUpdatedAt: true
797
+ endDate: true
944
798
  }).extend({
945
- name: import_zod13.z.string().min(1).max(100).optional(),
946
- startDate: import_zod13.z.union([import_zod13.z.string(), import_zod13.z.number()]).optional().nullable(),
947
- endDate: import_zod13.z.union([import_zod13.z.string(), import_zod13.z.number()]).optional().nullable(),
948
- mindmapUpdatedAt: import_zod13.z.union([import_zod13.z.string(), import_zod13.z.number()]).optional().nullable()
799
+ name: import_zod11.z.string().min(1).max(100).optional(),
800
+ startDate: import_zod11.z.union([import_zod11.z.string(), import_zod11.z.number()]).optional().nullable(),
801
+ endDate: import_zod11.z.union([import_zod11.z.string(), import_zod11.z.number()]).optional().nullable()
949
802
  });
950
- var SprintIdParamSchema = import_zod13.z.object({
951
- id: import_zod13.z.string().uuid("Invalid Sprint ID")
803
+ var SprintIdParamSchema = import_zod11.z.object({
804
+ id: import_zod11.z.string().uuid("Invalid Sprint ID")
952
805
  });
953
- var SprintQuerySchema = import_zod13.z.object({});
954
- var SprintResponseSchema = import_zod13.z.object({
806
+ var SprintQuerySchema = import_zod11.z.object({});
807
+ var SprintResponseSchema = import_zod11.z.object({
955
808
  sprint: SprintSchema
956
809
  });
957
- var SprintsResponseSchema = import_zod13.z.object({
958
- sprints: import_zod13.z.array(SprintSchema)
810
+ var SprintsResponseSchema = import_zod11.z.object({
811
+ sprints: import_zod11.z.array(SprintSchema)
959
812
  });
960
813
  // src/models/task.ts
961
- var import_zod14 = require("zod");
962
- var AcceptanceItemSchema = import_zod14.z.object({
963
- id: import_zod14.z.string(),
964
- text: import_zod14.z.string(),
965
- done: import_zod14.z.boolean()
814
+ var import_zod12 = require("zod");
815
+ var AcceptanceItemSchema = import_zod12.z.object({
816
+ id: import_zod12.z.string(),
817
+ text: import_zod12.z.string(),
818
+ done: import_zod12.z.boolean()
966
819
  });
967
820
  var TaskSchema = BaseEntitySchema.extend({
968
- workspaceId: import_zod14.z.uuid().nullable().optional(),
969
- title: import_zod14.z.string().min(1, "Title is required").max(200),
970
- description: import_zod14.z.string(),
971
- status: import_zod14.z.enum(TaskStatus),
972
- priority: import_zod14.z.enum(TaskPriority),
973
- labels: import_zod14.z.array(import_zod14.z.string()),
974
- assigneeRole: import_zod14.z.enum(AssigneeRole).nullable().optional(),
975
- assignedTo: import_zod14.z.string().nullable().optional(),
976
- sprintId: import_zod14.z.uuid().nullable().optional(),
977
- parentId: import_zod14.z.uuid().nullable().optional(),
978
- dueDate: import_zod14.z.union([import_zod14.z.string(), import_zod14.z.number()]).nullable().optional(),
979
- acceptanceChecklist: import_zod14.z.array(AcceptanceItemSchema),
980
- comments: import_zod14.z.array(CommentSchema).optional(),
981
- activityLog: import_zod14.z.array(EventSchema).optional(),
982
- docs: import_zod14.z.array(DocSchema)
983
- });
984
- var CreateTaskSchema = import_zod14.z.object({
985
- title: import_zod14.z.string().min(1, "Title is required").max(200),
986
- description: import_zod14.z.string().optional().default(""),
987
- status: import_zod14.z.enum(TaskStatus).optional().default("BACKLOG" /* BACKLOG */),
988
- priority: import_zod14.z.enum(TaskPriority).optional().default("MEDIUM" /* MEDIUM */),
989
- labels: import_zod14.z.array(import_zod14.z.string()).optional().default([]),
990
- assigneeRole: import_zod14.z.enum(AssigneeRole).optional(),
991
- assignedTo: import_zod14.z.string().nullable().optional(),
992
- dueDate: import_zod14.z.union([import_zod14.z.string(), import_zod14.z.number()]).nullable().optional(),
993
- parentId: import_zod14.z.string().nullable().optional(),
994
- sprintId: import_zod14.z.string().nullable().optional(),
995
- acceptanceChecklist: import_zod14.z.array(AcceptanceItemSchema).optional(),
996
- docIds: import_zod14.z.array(import_zod14.z.string()).optional()
821
+ workspaceId: import_zod12.z.uuid().nullable().optional(),
822
+ title: import_zod12.z.string().min(1, "Title is required").max(200),
823
+ description: import_zod12.z.string(),
824
+ status: import_zod12.z.enum(TaskStatus),
825
+ priority: import_zod12.z.enum(TaskPriority),
826
+ labels: import_zod12.z.array(import_zod12.z.string()),
827
+ assigneeRole: import_zod12.z.enum(AssigneeRole).nullable().optional(),
828
+ assignedTo: import_zod12.z.string().nullable().optional(),
829
+ sprintId: import_zod12.z.uuid().nullable().optional(),
830
+ parentId: import_zod12.z.uuid().nullable().optional(),
831
+ dueDate: import_zod12.z.union([import_zod12.z.string(), import_zod12.z.number()]).nullable().optional(),
832
+ prUrl: import_zod12.z.string().nullable().optional(),
833
+ acceptanceChecklist: import_zod12.z.array(AcceptanceItemSchema),
834
+ comments: import_zod12.z.array(CommentSchema).optional(),
835
+ activityLog: import_zod12.z.array(EventSchema).optional(),
836
+ docs: import_zod12.z.array(DocSchema),
837
+ order: import_zod12.z.number().optional()
838
+ });
839
+ var CreateTaskSchema = import_zod12.z.object({
840
+ title: import_zod12.z.string().min(1, "Title is required").max(200),
841
+ description: import_zod12.z.string().optional().default(""),
842
+ status: import_zod12.z.enum(TaskStatus).optional().default("BACKLOG" /* BACKLOG */),
843
+ priority: import_zod12.z.enum(TaskPriority).optional().default("MEDIUM" /* MEDIUM */),
844
+ labels: import_zod12.z.array(import_zod12.z.string()).optional().default([]),
845
+ assigneeRole: import_zod12.z.enum(AssigneeRole).optional(),
846
+ assignedTo: import_zod12.z.string().nullable().optional(),
847
+ dueDate: import_zod12.z.union([import_zod12.z.string(), import_zod12.z.number()]).nullable().optional(),
848
+ parentId: import_zod12.z.string().nullable().optional(),
849
+ sprintId: import_zod12.z.string().nullable().optional(),
850
+ acceptanceChecklist: import_zod12.z.array(AcceptanceItemSchema).optional(),
851
+ docIds: import_zod12.z.array(import_zod12.z.string()).optional(),
852
+ order: import_zod12.z.number().optional()
997
853
  });
998
854
  var UpdateTaskSchema = TaskSchema.partial().omit({
999
855
  id: true,
@@ -1005,43 +861,44 @@ var UpdateTaskSchema = TaskSchema.partial().omit({
1005
861
  activityLog: true,
1006
862
  docs: true
1007
863
  }).extend({
1008
- title: import_zod14.z.string().min(1).max(200).optional(),
1009
- dueDate: import_zod14.z.union([import_zod14.z.string(), import_zod14.z.number()]).optional().nullable(),
1010
- acceptanceChecklist: import_zod14.z.array(AcceptanceItemSchema).optional(),
1011
- docIds: import_zod14.z.array(import_zod14.z.string()).optional()
864
+ title: import_zod12.z.string().min(1).max(200).optional(),
865
+ dueDate: import_zod12.z.union([import_zod12.z.string(), import_zod12.z.number()]).optional().nullable(),
866
+ prUrl: import_zod12.z.string().nullable().optional(),
867
+ acceptanceChecklist: import_zod12.z.array(AcceptanceItemSchema).optional(),
868
+ docIds: import_zod12.z.array(import_zod12.z.string()).optional()
1012
869
  });
1013
- var AddCommentSchema = import_zod14.z.object({
1014
- author: import_zod14.z.string().min(1, "Author is required"),
1015
- text: import_zod14.z.string().min(1, "Comment text is required")
870
+ var AddCommentSchema = import_zod12.z.object({
871
+ author: import_zod12.z.string().min(1, "Author is required"),
872
+ text: import_zod12.z.string().min(1, "Comment text is required")
1016
873
  });
1017
- var DispatchTaskSchema = import_zod14.z.object({
1018
- workerId: import_zod14.z.string().optional(),
1019
- sprintId: import_zod14.z.uuid().optional().nullable()
874
+ var DispatchTaskSchema = import_zod12.z.object({
875
+ workerId: import_zod12.z.string().optional(),
876
+ sprintId: import_zod12.z.uuid().optional().nullable()
1020
877
  });
1021
- var TaskIdParamSchema = import_zod14.z.object({
1022
- id: import_zod14.z.string().uuid("Invalid Task ID")
878
+ var TaskIdParamSchema = import_zod12.z.object({
879
+ id: import_zod12.z.string().uuid("Invalid Task ID")
1023
880
  });
1024
- var TaskQuerySchema = import_zod14.z.object({});
1025
- var TaskResponseSchema = import_zod14.z.object({
881
+ var TaskQuerySchema = import_zod12.z.object({});
882
+ var TaskResponseSchema = import_zod12.z.object({
1026
883
  task: TaskSchema
1027
884
  });
1028
- var TasksResponseSchema = import_zod14.z.object({
1029
- tasks: import_zod14.z.array(TaskSchema)
885
+ var TasksResponseSchema = import_zod12.z.object({
886
+ tasks: import_zod12.z.array(TaskSchema)
1030
887
  });
1031
888
  // src/models/workspace.ts
1032
- var import_zod15 = require("zod");
1033
- var ChecklistItemSchema = import_zod15.z.object({
1034
- id: import_zod15.z.string(),
1035
- text: import_zod15.z.string(),
1036
- done: import_zod15.z.boolean()
889
+ var import_zod13 = require("zod");
890
+ var ChecklistItemSchema = import_zod13.z.object({
891
+ id: import_zod13.z.string(),
892
+ text: import_zod13.z.string(),
893
+ done: import_zod13.z.boolean()
1037
894
  });
1038
895
  var WorkspaceSchema = BaseEntitySchema.extend({
1039
- orgId: import_zod15.z.uuid(),
1040
- name: import_zod15.z.string().min(1, "Name is required").max(100),
1041
- defaultChecklist: import_zod15.z.array(ChecklistItemSchema).nullable().optional()
896
+ orgId: import_zod13.z.uuid(),
897
+ name: import_zod13.z.string().min(1, "Name is required").max(100),
898
+ defaultChecklist: import_zod13.z.array(ChecklistItemSchema).nullable().optional()
1042
899
  });
1043
- var CreateWorkspaceSchema = import_zod15.z.object({
1044
- name: import_zod15.z.string().min(1, "Name is required").max(100)
900
+ var CreateWorkspaceSchema = import_zod13.z.object({
901
+ name: import_zod13.z.string().min(1, "Name is required").max(100)
1045
902
  });
1046
903
  var UpdateWorkspaceSchema = WorkspaceSchema.partial().omit({
1047
904
  id: true,
@@ -1049,39 +906,28 @@ var UpdateWorkspaceSchema = WorkspaceSchema.partial().omit({
1049
906
  createdAt: true,
1050
907
  updatedAt: true
1051
908
  });
1052
- var AddWorkspaceMemberSchema = import_zod15.z.object({
1053
- userId: import_zod15.z.string().uuid("Invalid User ID"),
1054
- role: import_zod15.z.string().optional()
1055
- });
1056
- var WorkspaceIdParamSchema = import_zod15.z.object({
1057
- workspaceId: import_zod15.z.string().uuid("Invalid Workspace ID")
909
+ var AddWorkspaceMemberSchema = import_zod13.z.object({
910
+ userId: import_zod13.z.string().uuid("Invalid User ID"),
911
+ role: import_zod13.z.string().optional()
1058
912
  });
1059
- var WorkspaceAndUserParamSchema = import_zod15.z.object({
1060
- workspaceId: import_zod15.z.string().uuid("Invalid Workspace ID"),
1061
- userId: import_zod15.z.string().uuid("Invalid User ID")
913
+ var WorkspaceIdParamSchema = import_zod13.z.object({
914
+ workspaceId: import_zod13.z.string().uuid("Invalid Workspace ID")
1062
915
  });
1063
- var WorkspaceWithManifestInfoSchema = WorkspaceSchema.extend({
1064
- isManifestComplete: import_zod15.z.boolean(),
1065
- manifestCompletionPercentage: import_zod15.z.number().min(0).max(100)
916
+ var WorkspaceAndUserParamSchema = import_zod13.z.object({
917
+ workspaceId: import_zod13.z.string().uuid("Invalid Workspace ID"),
918
+ userId: import_zod13.z.string().uuid("Invalid User ID")
1066
919
  });
1067
- var WorkspaceResponseSchema = import_zod15.z.object({
1068
- workspace: WorkspaceWithManifestInfoSchema
920
+ var WorkspaceResponseSchema = import_zod13.z.object({
921
+ workspace: WorkspaceSchema
1069
922
  });
1070
- var WorkspacesResponseSchema = import_zod15.z.object({
1071
- workspaces: import_zod15.z.array(WorkspaceWithManifestInfoSchema)
923
+ var WorkspacesResponseSchema = import_zod13.z.object({
924
+ workspaces: import_zod13.z.array(WorkspaceSchema)
1072
925
  });
1073
- var WorkspaceStatsSchema = import_zod15.z.object({
1074
- workspaceName: import_zod15.z.string(),
1075
- taskCounts: import_zod15.z.record(import_zod15.z.string(), import_zod15.z.number()),
1076
- memberCount: import_zod15.z.number()
926
+ var WorkspaceStatsSchema = import_zod13.z.object({
927
+ workspaceName: import_zod13.z.string(),
928
+ taskCounts: import_zod13.z.record(import_zod13.z.string(), import_zod13.z.number()),
929
+ memberCount: import_zod13.z.number()
1077
930
  });
1078
- var WorkspaceStatsResponseSchema = import_zod15.z.object({
931
+ var WorkspaceStatsResponseSchema = import_zod13.z.object({
1079
932
  stats: WorkspaceStatsSchema
1080
933
  });
1081
- var ManifestStatusResponseSchema = import_zod15.z.object({
1082
- isComplete: import_zod15.z.boolean(),
1083
- percentage: import_zod15.z.number().min(0).max(100),
1084
- missingFields: import_zod15.z.array(import_zod15.z.string()),
1085
- filledFields: import_zod15.z.array(import_zod15.z.string()),
1086
- completenessScore: import_zod15.z.number().min(0).max(100).nullable()
1087
- });