@pactosigna/mcp-server 0.1.5 → 0.1.7

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 (2) hide show
  1. package/dist/index.js +2864 -4
  2. package/package.json +1 -1
package/dist/index.js CHANGED
@@ -21499,6 +21499,202 @@ var LinkTypeSchema = external_exports.enum([
21499
21499
  ]);
21500
21500
  var AcceptabilityStatusSchema = external_exports.enum(["acceptable", "review_required", "unacceptable"]);
21501
21501
  var DepartmentRoleSchema = external_exports.enum(["manager", "member"]);
21502
+ var ErrorResponseSchema = external_exports.object({
21503
+ error: external_exports.string(),
21504
+ code: external_exports.string().optional(),
21505
+ details: external_exports.record(external_exports.unknown()).optional()
21506
+ });
21507
+ var PaginationParamsSchema = external_exports.object({
21508
+ limit: external_exports.coerce.number().min(1).max(100).optional().default(50),
21509
+ offset: external_exports.coerce.number().min(0).optional().default(0)
21510
+ });
21511
+ var RegulatoryFrameworkSchema2 = external_exports.enum([
21512
+ "ISO_13485",
21513
+ "IEC_62304",
21514
+ "FDA_21_CFR_820",
21515
+ "QMSR",
21516
+ "EU_MDR",
21517
+ "ISO_14971",
21518
+ "AI_ACT"
21519
+ ]);
21520
+ var RoleSchema2 = external_exports.enum(["admin", "member", "auditor"]);
21521
+ var DepartmentRoleSchema2 = external_exports.enum(["manager", "member"]);
21522
+ var AuditorTypeSchema = external_exports.enum(["internal", "external"]);
21523
+ var ReviewerRuleSchema = external_exports.object({
21524
+ documentType: external_exports.string(),
21525
+ requiredDepartments: external_exports.array(external_exports.string()),
21526
+ finalApproverDepartment: external_exports.string()
21527
+ });
21528
+ var CreateOrganizationRequestSchema = external_exports.object({
21529
+ name: external_exports.string().min(3).max(100),
21530
+ frameworks: external_exports.array(RegulatoryFrameworkSchema2).min(1),
21531
+ department: external_exports.string().min(1)
21532
+ });
21533
+ var ChecklistTemplateItemSchema = external_exports.object({
21534
+ id: external_exports.string().min(1),
21535
+ label: external_exports.string().min(1).max(500),
21536
+ sortOrder: external_exports.number().int().nonnegative()
21537
+ });
21538
+ var UpdateOrganizationSettingsRequestSchema = external_exports.object({
21539
+ name: external_exports.string().min(1).optional(),
21540
+ frameworks: external_exports.array(RegulatoryFrameworkSchema2).optional(),
21541
+ departments: external_exports.array(external_exports.string()).optional(),
21542
+ reviewerRules: external_exports.array(ReviewerRuleSchema).optional(),
21543
+ releaseChecklistTemplate: external_exports.array(ChecklistTemplateItemSchema).max(30).optional()
21544
+ });
21545
+ var UpdateMemberRequestSchema = external_exports.object({
21546
+ department: external_exports.string().optional(),
21547
+ role: RoleSchema2.optional(),
21548
+ departmentRole: DepartmentRoleSchema2.optional()
21549
+ });
21550
+ var InviteUserRequestSchema = external_exports.object({
21551
+ email: external_exports.string().email(),
21552
+ department: external_exports.string().min(1),
21553
+ role: RoleSchema2,
21554
+ departmentRole: DepartmentRoleSchema2.optional(),
21555
+ auditorType: AuditorTypeSchema.optional(),
21556
+ accessExpiresAt: external_exports.string().datetime().optional()
21557
+ }).superRefine((data, ctx) => {
21558
+ if (data.role === "auditor" && !data.auditorType) {
21559
+ ctx.addIssue({
21560
+ code: external_exports.ZodIssueCode.custom,
21561
+ message: "auditorType is required when role is auditor",
21562
+ path: ["auditorType"]
21563
+ });
21564
+ }
21565
+ if (data.role !== "auditor" && data.auditorType) {
21566
+ ctx.addIssue({
21567
+ code: external_exports.ZodIssueCode.custom,
21568
+ message: "auditorType is only valid for auditor role",
21569
+ path: ["auditorType"]
21570
+ });
21571
+ }
21572
+ if (data.role !== "auditor" && data.accessExpiresAt) {
21573
+ ctx.addIssue({
21574
+ code: external_exports.ZodIssueCode.custom,
21575
+ message: "accessExpiresAt is only valid for auditor role",
21576
+ path: ["accessExpiresAt"]
21577
+ });
21578
+ }
21579
+ });
21580
+ var AcceptInviteRequestSchema = external_exports.object({
21581
+ token: external_exports.string().min(1)
21582
+ });
21583
+ var UpdateProfileRequestSchema = external_exports.object({
21584
+ displayName: external_exports.string().min(1).max(100).optional()
21585
+ });
21586
+ var OrgIdParamSchema = external_exports.object({
21587
+ orgId: external_exports.string().min(1)
21588
+ });
21589
+ var MemberIdParamSchema = external_exports.object({
21590
+ orgId: external_exports.string().min(1),
21591
+ memberId: external_exports.string().min(1)
21592
+ });
21593
+ var InviteIdParamSchema = external_exports.object({
21594
+ orgId: external_exports.string().min(1),
21595
+ inviteId: external_exports.string().min(1)
21596
+ });
21597
+ var SubscriptionStatusSchema = external_exports.enum([
21598
+ "active",
21599
+ "trialing",
21600
+ "past_due",
21601
+ "canceled",
21602
+ "incomplete"
21603
+ ]);
21604
+ var SubscriptionResponseSchema = external_exports.object({
21605
+ status: SubscriptionStatusSchema,
21606
+ currentPeriodEnd: external_exports.string(),
21607
+ cancelAtPeriodEnd: external_exports.boolean()
21608
+ });
21609
+ var CreateCheckoutSessionResponseSchema = external_exports.object({
21610
+ checkoutUrl: external_exports.string().url()
21611
+ });
21612
+ var CreatePortalSessionResponseSchema = external_exports.object({
21613
+ portalUrl: external_exports.string().url()
21614
+ });
21615
+ var MemberStatusSchema = external_exports.enum(["active", "suspended", "removed"]);
21616
+ var InviteStatusSchema = external_exports.enum(["pending", "accepted", "expired", "revoked"]);
21617
+ var MemberResponseSchema = external_exports.object({
21618
+ id: external_exports.string(),
21619
+ email: external_exports.string().email(),
21620
+ emailVerified: external_exports.boolean(),
21621
+ displayName: external_exports.string(),
21622
+ department: external_exports.string(),
21623
+ departmentRole: DepartmentRoleSchema2.optional(),
21624
+ role: RoleSchema2,
21625
+ auditorType: AuditorTypeSchema.optional(),
21626
+ accessExpiresAt: external_exports.string().optional(),
21627
+ // ISO date (for external auditors)
21628
+ status: MemberStatusSchema,
21629
+ joinedAt: external_exports.string()
21630
+ // ISO date
21631
+ });
21632
+ var InviteResponseSchema = external_exports.object({
21633
+ id: external_exports.string(),
21634
+ email: external_exports.string().email(),
21635
+ department: external_exports.string(),
21636
+ role: RoleSchema2,
21637
+ status: InviteStatusSchema,
21638
+ expiresAt: external_exports.string(),
21639
+ // ISO date
21640
+ createdAt: external_exports.string()
21641
+ // ISO date
21642
+ });
21643
+ var OrganizationResponseSchema = external_exports.object({
21644
+ id: external_exports.string(),
21645
+ name: external_exports.string(),
21646
+ role: RoleSchema2,
21647
+ department: external_exports.string(),
21648
+ gitHubAppInstallationId: external_exports.number().optional(),
21649
+ gitHubOrgName: external_exports.string().optional(),
21650
+ subscription: SubscriptionResponseSchema.optional()
21651
+ });
21652
+ var OrganizationSettingsResponseSchema = external_exports.object({
21653
+ frameworks: external_exports.array(external_exports.string()),
21654
+ departments: external_exports.array(external_exports.string()),
21655
+ defaultSafetyClass: SafetyClassSchema,
21656
+ reviewerRules: external_exports.array(ReviewerRuleSchema),
21657
+ releaseChecklistTemplate: external_exports.array(ChecklistTemplateItemSchema).optional()
21658
+ });
21659
+ var CreateOrganizationResponseSchema = external_exports.object({
21660
+ organizationId: external_exports.string()
21661
+ });
21662
+ var GetOrganizationsResponseSchema = external_exports.object({
21663
+ organizations: external_exports.array(OrganizationResponseSchema)
21664
+ });
21665
+ var GetMembersResponseSchema = external_exports.object({
21666
+ members: external_exports.array(MemberResponseSchema)
21667
+ });
21668
+ var GetInvitesResponseSchema = external_exports.object({
21669
+ invites: external_exports.array(InviteResponseSchema)
21670
+ });
21671
+ var AcceptInviteResponseSchema = external_exports.object({
21672
+ organizationId: external_exports.string(),
21673
+ organizationName: external_exports.string()
21674
+ });
21675
+ var PendingInviteResponseSchema = external_exports.object({
21676
+ id: external_exports.string(),
21677
+ organizationId: external_exports.string(),
21678
+ organizationName: external_exports.string(),
21679
+ invitedByName: external_exports.string(),
21680
+ role: RoleSchema2,
21681
+ department: external_exports.string(),
21682
+ createdAt: external_exports.string(),
21683
+ expiresAt: external_exports.string()
21684
+ });
21685
+ var GetPendingInvitesResponseSchema = external_exports.object({
21686
+ invites: external_exports.array(PendingInviteResponseSchema)
21687
+ });
21688
+ var SuccessResponseSchema = external_exports.object({
21689
+ success: external_exports.boolean()
21690
+ });
21691
+ var ValidateInviteResponseSchema = external_exports.object({
21692
+ organizationName: external_exports.string(),
21693
+ status: InviteStatusSchema
21694
+ });
21695
+ var CreateInviteResponseSchema = external_exports.object({
21696
+ inviteId: external_exports.string()
21697
+ });
21502
21698
  var RiskDocumentStatusSchema = external_exports.enum([
21503
21699
  "draft",
21504
21700
  "in_review",
@@ -22036,7 +22232,8 @@ var ReleasePlanFrontmatterSchema = external_exports.object({
22036
22232
  reviewers: external_exports.array(external_exports.string()).optional(),
22037
22233
  approvers: external_exports.array(external_exports.string()).optional(),
22038
22234
  version: external_exports.string().optional(),
22039
- target_date: external_exports.string().optional()
22235
+ target_date: external_exports.string().optional(),
22236
+ applicable_plans: external_exports.array(external_exports.string()).optional()
22040
22237
  });
22041
22238
  var SuspectedLinkDispositionSchema = external_exports.enum(["included_in_release", "not_impacted"]);
22042
22239
  var SuspectedLinkNeighborSchema = external_exports.object({
@@ -22225,12 +22422,12 @@ var GateOverrideCategorySchema = external_exports.enum([
22225
22422
  "missing_smoke_test_evidence"
22226
22423
  ]);
22227
22424
  var MemberRoleSchema = external_exports.enum(["admin", "member"]);
22228
- var MemberStatusSchema = external_exports.enum(["active", "suspended", "removed"]);
22425
+ var MemberStatusSchema2 = external_exports.enum(["active", "suspended", "removed"]);
22229
22426
  var EmailAddressSchema = external_exports.object({
22230
22427
  value: external_exports.string().email(),
22231
22428
  verified: external_exports.boolean()
22232
22429
  });
22233
- var ReviewerRuleSchema = external_exports.object({
22430
+ var ReviewerRuleSchema2 = external_exports.object({
22234
22431
  documentType: DocumentTypeSchema,
22235
22432
  requiredDepartments: external_exports.array(external_exports.string()),
22236
22433
  finalApproverDepartment: external_exports.string()
@@ -22446,6 +22643,2669 @@ var SigningRequestStatusSchema = external_exports.enum([
22446
22643
  ]);
22447
22644
  var SignerStatusSchema = external_exports.enum(["pending", "viewed", "signed", "declined"]);
22448
22645
  var FieldTypeSchema = external_exports.enum(["signature", "initials", "date"]);
22646
+ var LegalAcceptRequestSchema = external_exports.object({
22647
+ documentType: LegalDocumentTypeSchema,
22648
+ documentVersion: LegalDocumentVersionSchema,
22649
+ organizationId: external_exports.string().optional()
22650
+ }).superRefine((data, ctx) => {
22651
+ if (data.documentType === "billing-terms" && !data.organizationId) {
22652
+ ctx.addIssue({
22653
+ code: external_exports.ZodIssueCode.custom,
22654
+ message: "organizationId is required for billing-terms",
22655
+ path: ["organizationId"]
22656
+ });
22657
+ }
22658
+ });
22659
+ var LegalHistoryQuerySchema = external_exports.object({
22660
+ pageToken: external_exports.string().optional(),
22661
+ limit: external_exports.coerce.number().min(1).max(100).default(20)
22662
+ });
22663
+ var LegalAcceptResponseSchema = external_exports.object({
22664
+ acceptanceId: external_exports.string(),
22665
+ acceptedAt: external_exports.string()
22666
+ });
22667
+ var DocumentStatusSchema2 = external_exports.object({
22668
+ accepted: external_exports.boolean(),
22669
+ acceptedVersion: external_exports.string().optional(),
22670
+ currentVersion: external_exports.string()
22671
+ });
22672
+ var LegalStatusResponseSchema = external_exports.object({
22673
+ tos: DocumentStatusSchema2,
22674
+ privacyPolicy: DocumentStatusSchema2,
22675
+ billingTerms: external_exports.record(external_exports.string(), DocumentStatusSchema2)
22676
+ });
22677
+ var LegalHistoryResponseSchema = external_exports.object({
22678
+ acceptances: external_exports.array(external_exports.object({
22679
+ id: external_exports.string(),
22680
+ documentType: LegalDocumentTypeSchema,
22681
+ documentVersion: external_exports.string(),
22682
+ organizationId: external_exports.string().optional(),
22683
+ acceptedAt: external_exports.string()
22684
+ })),
22685
+ nextPageToken: external_exports.string().optional()
22686
+ });
22687
+ var RepositoryTypeSchema = external_exports.enum(["qms", "device"]);
22688
+ var SyncStatusSchema2 = external_exports.enum(["active", "paused", "error"]);
22689
+ var ConnectRepositoryRequestSchema = external_exports.object({
22690
+ organizationId: external_exports.string().min(1),
22691
+ gitHubRepoFullName: external_exports.string().min(1),
22692
+ gitHubRepoId: external_exports.number().int().positive()
22693
+ });
22694
+ var RepositoryIdParamSchema = external_exports.object({
22695
+ repositoryId: external_exports.string().min(1)
22696
+ });
22697
+ var OrgRepositoryParamSchema = external_exports.object({
22698
+ orgId: external_exports.string().min(1),
22699
+ repositoryId: external_exports.string().min(1)
22700
+ });
22701
+ var OrgIdQuerySchema = external_exports.object({
22702
+ organizationId: external_exports.string().min(1)
22703
+ });
22704
+ var OwnerTypeSchema2 = external_exports.enum(["qms", "device"]);
22705
+ var AssignRepositoryRequestSchema = external_exports.object({
22706
+ ownerType: OwnerTypeSchema2,
22707
+ ownerId: external_exports.string().min(1)
22708
+ });
22709
+ var TriggerSyncRequestSchema = external_exports.object({
22710
+ organizationId: external_exports.string().min(1)
22711
+ });
22712
+ var SyncEventParamSchema = external_exports.object({
22713
+ repositoryId: external_exports.string().min(1),
22714
+ syncEventId: external_exports.string().min(1)
22715
+ });
22716
+ var DocumentCountsSchema = external_exports.record(external_exports.string(), external_exports.number());
22717
+ var LinkCountsSchema = external_exports.record(external_exports.string(), external_exports.number());
22718
+ var RepositorySnapshotSchema = external_exports.object({
22719
+ documentCounts: DocumentCountsSchema,
22720
+ linkCounts: LinkCountsSchema,
22721
+ totalDocuments: external_exports.number(),
22722
+ totalLinks: external_exports.number()
22723
+ });
22724
+ var BaseFieldsSchema = external_exports.object({
22725
+ id: external_exports.string(),
22726
+ organizationId: external_exports.string(),
22727
+ ownerType: external_exports.enum(["qms", "device"]).nullable(),
22728
+ ownerId: external_exports.string().nullable(),
22729
+ gitHubRepoFullName: external_exports.string(),
22730
+ gitHubRepoId: external_exports.number(),
22731
+ syncStatus: SyncStatusSchema2,
22732
+ lastSyncedAt: external_exports.string().optional(),
22733
+ // ISO date
22734
+ lastSyncCommitSha: external_exports.string().optional(),
22735
+ connectedAt: external_exports.string(),
22736
+ // ISO date
22737
+ connectedBy: external_exports.string(),
22738
+ snapshot: RepositorySnapshotSchema.optional()
22739
+ });
22740
+ var UnassignedRepositoryResponseSchema = BaseFieldsSchema.extend({
22741
+ type: external_exports.literal("unassigned")
22742
+ });
22743
+ var QmsRepositoryResponseSchema = BaseFieldsSchema.extend({
22744
+ type: external_exports.literal("qms")
22745
+ });
22746
+ var DeviceRepositoryResponseSchema = BaseFieldsSchema.extend({
22747
+ type: external_exports.literal("device"),
22748
+ deviceName: external_exports.string(),
22749
+ safetyClass: SafetyClassSchema,
22750
+ configManaged: external_exports.boolean().optional()
22751
+ });
22752
+ var RepositoryResponseSchema = external_exports.discriminatedUnion("type", [
22753
+ UnassignedRepositoryResponseSchema,
22754
+ QmsRepositoryResponseSchema,
22755
+ DeviceRepositoryResponseSchema
22756
+ ]);
22757
+ var BaseRepositoryResponseSchema = BaseFieldsSchema.extend({
22758
+ type: external_exports.enum(["unassigned", "qms", "device"])
22759
+ });
22760
+ var GitHubRepositoryResponseSchema = external_exports.object({
22761
+ id: external_exports.number(),
22762
+ fullName: external_exports.string(),
22763
+ name: external_exports.string(),
22764
+ private: external_exports.boolean(),
22765
+ defaultBranch: external_exports.string()
22766
+ });
22767
+ var ConnectRepositoryResponseSchema = external_exports.object({
22768
+ repositoryId: external_exports.string()
22769
+ });
22770
+ var GetRepositoriesResponseSchema = external_exports.object({
22771
+ repositories: external_exports.array(RepositoryResponseSchema)
22772
+ });
22773
+ var ListGitHubReposResponseSchema = external_exports.object({
22774
+ repositories: external_exports.array(GitHubRepositoryResponseSchema)
22775
+ });
22776
+ var TriggerSyncResponseSchema = external_exports.object({
22777
+ syncEventId: external_exports.string()
22778
+ });
22779
+ var SyncEventStatusSchema = external_exports.enum([
22780
+ "pending",
22781
+ "in_progress",
22782
+ "completed",
22783
+ "completed_with_errors",
22784
+ "failed"
22785
+ ]);
22786
+ var SyncTriggerSchema = external_exports.enum(["manual", "webhook", "scheduled"]);
22787
+ var SyncEventResultSchema = external_exports.object({
22788
+ documentsCreated: external_exports.number(),
22789
+ documentsUpdated: external_exports.number(),
22790
+ documentsRemoved: external_exports.number(),
22791
+ linksCreated: external_exports.number(),
22792
+ linksRemoved: external_exports.number(),
22793
+ errors: external_exports.array(external_exports.string()),
22794
+ commitSha: external_exports.string(),
22795
+ repoConfig: external_exports.object({
22796
+ device: external_exports.object({
22797
+ name: external_exports.string(),
22798
+ safety_class: external_exports.enum(["A", "B", "C"]),
22799
+ classification: external_exports.object({
22800
+ eu: external_exports.string().optional(),
22801
+ us: external_exports.string().optional()
22802
+ }).optional()
22803
+ })
22804
+ }).optional()
22805
+ });
22806
+ var SyncEventResponseSchema = external_exports.object({
22807
+ id: external_exports.string(),
22808
+ status: SyncEventStatusSchema,
22809
+ trigger: SyncTriggerSchema,
22810
+ createdAt: external_exports.string(),
22811
+ // ISO date
22812
+ createdBy: external_exports.string(),
22813
+ startedAt: external_exports.string().optional(),
22814
+ completedAt: external_exports.string().optional(),
22815
+ error: external_exports.string().optional(),
22816
+ result: SyncEventResultSchema.optional()
22817
+ });
22818
+ var GetSyncEventResponseSchema = external_exports.object({
22819
+ syncEvent: SyncEventResponseSchema
22820
+ });
22821
+ var RiskTypeSchema = external_exports.enum(["software_risk", "usability_risk", "security_risk"]);
22822
+ var GetRiskMatrixQuerySchema = external_exports.object({
22823
+ organizationId: external_exports.string().min(1),
22824
+ repositoryId: external_exports.string().optional(),
22825
+ type: RiskTypeSchema.optional()
22826
+ });
22827
+ var GetRiskGapsQuerySchema = external_exports.object({
22828
+ organizationId: external_exports.string().min(1),
22829
+ repositoryId: external_exports.string().optional(),
22830
+ type: RiskTypeSchema.optional()
22831
+ });
22832
+ var GetRiskListQuerySchema = external_exports.object({
22833
+ organizationId: external_exports.string().min(1),
22834
+ repositoryId: external_exports.string().optional(),
22835
+ type: RiskTypeSchema.optional(),
22836
+ limit: external_exports.coerce.number().min(1).max(100).optional().default(50)
22837
+ });
22838
+ var RiskValueSchema = external_exports.number().int().min(1).max(5);
22839
+ var RiskDocumentTypeSchema = external_exports.enum([
22840
+ "software_risk",
22841
+ "usability_risk",
22842
+ "security_risk",
22843
+ "haz_soe_software",
22844
+ "haz_soe_security",
22845
+ "hazardous_situation",
22846
+ "harm",
22847
+ "hazard_category"
22848
+ ]);
22849
+ var HarmAssessmentEntrySchema = external_exports.object({
22850
+ harm: external_exports.string(),
22851
+ harmTitle: external_exports.string().optional(),
22852
+ harmSeverity: RiskValueSchema,
22853
+ inherentProbability: RiskValueSchema,
22854
+ residualProbability: RiskValueSchema,
22855
+ residualSeverityOverride: RiskValueSchema.optional(),
22856
+ residualSeverity: RiskValueSchema,
22857
+ inherentAcceptability: AcceptabilityStatusSchema,
22858
+ residualAcceptability: AcceptabilityStatusSchema
22859
+ });
22860
+ var RiskEntrySchema = external_exports.object({
22861
+ id: external_exports.string(),
22862
+ type: RiskDocumentTypeSchema,
22863
+ harmAssessments: external_exports.array(HarmAssessmentEntrySchema),
22864
+ worstInherentSeverity: RiskValueSchema.optional(),
22865
+ worstInherentProbability: RiskValueSchema.optional(),
22866
+ worstResidualSeverity: RiskValueSchema.optional(),
22867
+ worstResidualProbability: RiskValueSchema.optional(),
22868
+ worstAcceptability: AcceptabilityStatusSchema.optional(),
22869
+ cvssScore: external_exports.number().min(0).max(10).optional(),
22870
+ cvssVector: external_exports.string().optional()
22871
+ });
22872
+ var RiskMatrixResponseSchema = external_exports.object({
22873
+ inherent: external_exports.array(external_exports.array(external_exports.number())),
22874
+ residual: external_exports.array(external_exports.array(external_exports.number())),
22875
+ acceptability: external_exports.array(external_exports.array(AcceptabilityStatusSchema)),
22876
+ summary: external_exports.object({
22877
+ total: external_exports.number(),
22878
+ acceptable: external_exports.number(),
22879
+ reviewRequired: external_exports.number(),
22880
+ unacceptable: external_exports.number()
22881
+ }),
22882
+ labels: external_exports.object({
22883
+ severity: external_exports.array(external_exports.string()),
22884
+ probability: external_exports.array(external_exports.string())
22885
+ })
22886
+ });
22887
+ var RiskGapSchema = external_exports.object({
22888
+ code: external_exports.string(),
22889
+ severity: external_exports.enum(["error", "warning"]),
22890
+ documentId: external_exports.string(),
22891
+ documentTitle: external_exports.string(),
22892
+ message: external_exports.string(),
22893
+ repositoryId: external_exports.string().optional(),
22894
+ repositoryName: external_exports.string().optional()
22895
+ });
22896
+ var RiskGapsResponseSchema = external_exports.object({
22897
+ gaps: external_exports.array(RiskGapSchema),
22898
+ byType: external_exports.record(external_exports.array(RiskGapSchema))
22899
+ });
22900
+ var RiskListItemSchema = external_exports.object({
22901
+ id: external_exports.string(),
22902
+ documentId: external_exports.string(),
22903
+ title: external_exports.string(),
22904
+ type: RiskDocumentTypeSchema,
22905
+ harmAssessmentCount: external_exports.number().int().min(0),
22906
+ worstInherentSeverity: RiskValueSchema.optional(),
22907
+ worstInherentProbability: RiskValueSchema.optional(),
22908
+ worstResidualSeverity: RiskValueSchema.optional(),
22909
+ worstResidualProbability: RiskValueSchema.optional(),
22910
+ worstAcceptability: AcceptabilityStatusSchema.optional(),
22911
+ mitigationsCount: external_exports.number().int().min(0),
22912
+ hasRiskBenefit: external_exports.boolean(),
22913
+ cvssScore: external_exports.number().min(0).max(10).optional(),
22914
+ cvssVector: external_exports.string().optional()
22915
+ });
22916
+ var RiskListResponseSchema = external_exports.object({
22917
+ risks: external_exports.array(RiskListItemSchema),
22918
+ total: external_exports.number()
22919
+ });
22920
+ var DocumentSourceTypeSchema = external_exports.enum([
22921
+ "markdown",
22922
+ "pdf"
22923
+ ]);
22924
+ var ChangeTypeSchema2 = external_exports.enum(["added", "modified", "removed"]);
22925
+ var GetDocumentsQuerySchema = external_exports.object({
22926
+ organizationId: external_exports.string().min(1),
22927
+ repositoryId: external_exports.string().min(1).optional(),
22928
+ docType: DocumentTypeSchema.optional(),
22929
+ status: DocumentStatusSchema.optional(),
22930
+ searchQuery: external_exports.string().optional(),
22931
+ limit: external_exports.coerce.number().int().positive().max(200).default(50),
22932
+ offset: external_exports.coerce.number().int().nonnegative().default(0)
22933
+ });
22934
+ var GetDocumentQuerySchema = external_exports.object({
22935
+ organizationId: external_exports.string().min(1),
22936
+ includeChangelog: external_exports.string().transform((v) => v === "true").pipe(external_exports.boolean()).default("false")
22937
+ });
22938
+ var GetDocumentContentQuerySchema = external_exports.object({
22939
+ organizationId: external_exports.string().min(1),
22940
+ commitSha: external_exports.string().min(1).optional()
22941
+ });
22942
+ var GetTraceabilityMatrixQuerySchema = external_exports.object({
22943
+ organizationId: external_exports.string().min(1),
22944
+ repositoryId: external_exports.string().min(1).optional(),
22945
+ sourceType: DocumentTypeSchema,
22946
+ targetType: DocumentTypeSchema,
22947
+ linkType: LinkTypeSchema,
22948
+ statusFilter: external_exports.string().transform((v) => v.split(",").filter(Boolean)).pipe(external_exports.array(DocumentStatusSchema)).optional()
22949
+ });
22950
+ var GetGapsQuerySchema = external_exports.object({
22951
+ organizationId: external_exports.string().min(1),
22952
+ repositoryId: external_exports.string().min(1).optional(),
22953
+ docTypes: external_exports.string().transform((v) => v.split(",").filter(Boolean)).pipe(external_exports.array(DocumentTypeSchema)).optional()
22954
+ });
22955
+ var GetDeviceTraceabilityMatrixQuerySchema = external_exports.object({
22956
+ sourceType: DocumentTypeSchema,
22957
+ targetType: DocumentTypeSchema,
22958
+ linkType: LinkTypeSchema,
22959
+ statusFilter: external_exports.string().transform((v) => v.split(",").filter(Boolean)).pipe(external_exports.array(DocumentStatusSchema)).optional()
22960
+ });
22961
+ var GetDeviceGapsQuerySchema = external_exports.object({
22962
+ docTypes: external_exports.string().transform((v) => v.split(",").filter(Boolean)).pipe(external_exports.array(DocumentTypeSchema)).optional()
22963
+ });
22964
+ var DocumentIdParamSchema = external_exports.object({
22965
+ documentId: external_exports.string().min(1)
22966
+ });
22967
+ var ChangelogEntryResponseSchema = external_exports.object({
22968
+ id: external_exports.string(),
22969
+ changeType: ChangeTypeSchema2,
22970
+ commitSha: external_exports.string(),
22971
+ previousCommitSha: external_exports.string().optional(),
22972
+ changedBy: external_exports.string().optional(),
22973
+ changedByEmail: external_exports.string().optional(),
22974
+ changedAt: external_exports.string(),
22975
+ // ISO datetime
22976
+ pullRequestNumber: external_exports.number().optional(),
22977
+ pullRequestTitle: external_exports.string().optional(),
22978
+ releaseId: external_exports.string().optional(),
22979
+ releaseName: external_exports.string().optional(),
22980
+ changeSummary: external_exports.string().optional()
22981
+ });
22982
+ var LinkResponseSchema = external_exports.object({
22983
+ id: external_exports.string(),
22984
+ sourceDocumentId: external_exports.string(),
22985
+ targetDocumentId: external_exports.string(),
22986
+ linkType: LinkTypeSchema,
22987
+ sourceDocPath: external_exports.string(),
22988
+ targetDocPath: external_exports.string(),
22989
+ sourceRepositoryId: external_exports.string(),
22990
+ targetRepositoryId: external_exports.string().optional(),
22991
+ rationale: external_exports.string().optional()
22992
+ });
22993
+ var DocumentSummaryResponseSchema = external_exports.object({
22994
+ id: external_exports.string(),
22995
+ documentId: external_exports.string(),
22996
+ title: external_exports.string(),
22997
+ docType: DocumentTypeSchema,
22998
+ status: DocumentStatusSchema,
22999
+ sourceType: DocumentSourceTypeSchema,
23000
+ path: external_exports.string(),
23001
+ repositoryId: external_exports.string(),
23002
+ repositoryName: external_exports.string(),
23003
+ repositoryType: external_exports.enum(["qms", "device"]),
23004
+ lastSyncedAt: external_exports.string(),
23005
+ // ISO datetime
23006
+ metadata: external_exports.record(external_exports.string(), external_exports.unknown()).optional()
23007
+ });
23008
+ var DocumentDetailResponseSchema = DocumentSummaryResponseSchema.extend({
23009
+ metadata: external_exports.record(external_exports.string(), external_exports.unknown()),
23010
+ currentCommitSha: external_exports.string(),
23011
+ sourcePath: external_exports.string().nullable(),
23012
+ changelog: external_exports.array(ChangelogEntryResponseSchema).optional(),
23013
+ incomingLinks: external_exports.array(LinkResponseSchema).optional(),
23014
+ outgoingLinks: external_exports.array(LinkResponseSchema).optional()
23015
+ });
23016
+ var DocumentContentResponseSchema = external_exports.object({
23017
+ content: external_exports.string(),
23018
+ commitSha: external_exports.string(),
23019
+ path: external_exports.string(),
23020
+ githubUrl: external_exports.string()
23021
+ });
23022
+ var GetDocumentsResponseSchema = external_exports.object({
23023
+ documents: external_exports.array(DocumentSummaryResponseSchema),
23024
+ total: external_exports.number(),
23025
+ limit: external_exports.number(),
23026
+ offset: external_exports.number()
23027
+ });
23028
+ var TraceabilityRowSchema = external_exports.object({
23029
+ sourceId: external_exports.string(),
23030
+ sourceDocumentId: external_exports.string(),
23031
+ sourceTitle: external_exports.string(),
23032
+ sourcePath: external_exports.string(),
23033
+ linked: external_exports.boolean(),
23034
+ targetIds: external_exports.array(external_exports.string()),
23035
+ targetDocumentIds: external_exports.array(external_exports.string()),
23036
+ targetTitles: external_exports.array(external_exports.string())
23037
+ });
23038
+ var TraceabilityMatrixResponseSchema = external_exports.object({
23039
+ sourceType: DocumentTypeSchema,
23040
+ targetType: DocumentTypeSchema,
23041
+ linkType: LinkTypeSchema,
23042
+ coveragePercent: external_exports.number(),
23043
+ totalSources: external_exports.number(),
23044
+ coveredSources: external_exports.number(),
23045
+ rows: external_exports.array(TraceabilityRowSchema)
23046
+ });
23047
+ var GapItemSchema = external_exports.object({
23048
+ documentId: external_exports.string(),
23049
+ documentTitle: external_exports.string(),
23050
+ documentPath: external_exports.string(),
23051
+ docType: DocumentTypeSchema,
23052
+ missingLinkType: LinkTypeSchema,
23053
+ expectedTargetType: DocumentTypeSchema
23054
+ });
23055
+ var GapsResponseSchema = external_exports.object({
23056
+ totalGaps: external_exports.number(),
23057
+ gaps: external_exports.array(GapItemSchema)
23058
+ });
23059
+ var ComponentResponseSchema = external_exports.object({
23060
+ id: external_exports.string(),
23061
+ componentName: external_exports.string(),
23062
+ version: external_exports.string(),
23063
+ license: external_exports.string().optional(),
23064
+ safetyRiskClass: external_exports.string().optional(),
23065
+ purpose: external_exports.string().optional(),
23066
+ verification: external_exports.string().optional(),
23067
+ cveStatus: external_exports.string().optional(),
23068
+ category: external_exports.string().optional(),
23069
+ supplierId: external_exports.string().optional(),
23070
+ sourceFormat: external_exports.enum(["markdown_table", "cyclonedx", "spdx"]),
23071
+ purl: external_exports.string().optional()
23072
+ });
23073
+ var GetComponentsResponseSchema = external_exports.array(ComponentResponseSchema);
23074
+ var DocumentSignoffObligationSchema = external_exports.object({
23075
+ obligationId: external_exports.string(),
23076
+ role: external_exports.enum(["author", "reviewer", "approver"]),
23077
+ department: external_exports.string(),
23078
+ status: external_exports.enum(["pending", "fulfilled"]),
23079
+ fulfilledByUserId: external_exports.string().optional(),
23080
+ fulfilledByUserEmail: external_exports.string().optional(),
23081
+ fulfilledByUserDisplayName: external_exports.string().optional(),
23082
+ fulfilledAt: external_exports.string().optional(),
23083
+ signatureId: external_exports.string().optional()
23084
+ });
23085
+ var DocumentSignoffStatusResponseSchema = external_exports.object({
23086
+ documentId: external_exports.string(),
23087
+ commitSha: external_exports.string(),
23088
+ obligations: external_exports.array(DocumentSignoffObligationSchema),
23089
+ progress: external_exports.object({
23090
+ total: external_exports.number(),
23091
+ fulfilled: external_exports.number(),
23092
+ isComplete: external_exports.boolean()
23093
+ })
23094
+ });
23095
+ var DocumentExportResponseSchema = external_exports.object({
23096
+ message: external_exports.string()
23097
+ });
23098
+ var CompiledDocumentPresetSchema = external_exports.enum(["srs", "prs", "dmr", "risk"]);
23099
+ var CompiledDocumentQuerySchema = external_exports.object({
23100
+ organizationId: external_exports.string().min(1),
23101
+ repositoryId: external_exports.string().min(1).optional(),
23102
+ docType: DocumentTypeSchema.optional(),
23103
+ category: external_exports.string().optional(),
23104
+ status: DocumentStatusSchema.optional(),
23105
+ preset: CompiledDocumentPresetSchema.optional()
23106
+ }).refine((data) => data.preset || data.docType, {
23107
+ message: "Either preset or docType must be provided"
23108
+ });
23109
+ var CompiledTableOfContentsEntrySchema = external_exports.object({
23110
+ documentId: external_exports.string(),
23111
+ title: external_exports.string(),
23112
+ anchor: external_exports.string()
23113
+ });
23114
+ var CompiledDocumentItemSchema = external_exports.object({
23115
+ documentId: external_exports.string(),
23116
+ title: external_exports.string(),
23117
+ docType: DocumentTypeSchema,
23118
+ status: DocumentStatusSchema,
23119
+ path: external_exports.string(),
23120
+ content: external_exports.string(),
23121
+ anchor: external_exports.string()
23122
+ });
23123
+ var CompiledDocumentResponseSchema = external_exports.object({
23124
+ title: external_exports.string(),
23125
+ generatedAt: external_exports.string(),
23126
+ documentCount: external_exports.number(),
23127
+ tableOfContents: external_exports.array(CompiledTableOfContentsEntrySchema),
23128
+ documents: external_exports.array(CompiledDocumentItemSchema)
23129
+ });
23130
+ var ReleaseTypeSchema2 = external_exports.enum(["qms", "device"]);
23131
+ var ReleaseStatusSchema2 = external_exports.enum(["draft", "in_review", "approved", "published"]);
23132
+ var SignatureTypeSchema2 = external_exports.enum([
23133
+ "author",
23134
+ "reviewer",
23135
+ "approver",
23136
+ "dept_reviewer",
23137
+ "final_approver",
23138
+ "trainee",
23139
+ "trainer"
23140
+ ]);
23141
+ var ReleaseChangeTypeSchema = external_exports.enum(["added", "modified", "removed"]);
23142
+ var ListReleasesQuerySchema = external_exports.object({
23143
+ organizationId: external_exports.string().min(1),
23144
+ status: ReleaseStatusSchema2.optional(),
23145
+ type: ReleaseTypeSchema2.optional(),
23146
+ deviceId: external_exports.string().optional(),
23147
+ limit: external_exports.coerce.number().int().positive().max(100).default(50),
23148
+ offset: external_exports.coerce.number().int().nonnegative().default(0)
23149
+ });
23150
+ var GetReleaseQuerySchema = external_exports.object({
23151
+ organizationId: external_exports.string().min(1),
23152
+ includeSignatures: external_exports.string().transform((v) => v === "true").pipe(external_exports.boolean()).default("false"),
23153
+ includeSnapshot: external_exports.string().transform((v) => v === "true").pipe(external_exports.boolean()).default("false")
23154
+ });
23155
+ var GetSignaturesQuerySchema = external_exports.object({
23156
+ organizationId: external_exports.string().min(1)
23157
+ });
23158
+ var GetChangedDocumentsQuerySchema = external_exports.object({
23159
+ organizationId: external_exports.string().min(1),
23160
+ type: ReleaseTypeSchema2,
23161
+ deviceId: external_exports.string().optional()
23162
+ });
23163
+ var ReleaseIdParamSchema = external_exports.object({
23164
+ releaseId: external_exports.string().min(1)
23165
+ });
23166
+ var DHRMarketEntrySchema = external_exports.object({
23167
+ country: external_exports.string().min(1),
23168
+ clinicalEvaluation: external_exports.boolean()
23169
+ });
23170
+ var DHRTestEvidenceEntrySchema = external_exports.object({
23171
+ label: external_exports.string().min(1),
23172
+ url: external_exports.string().url()
23173
+ });
23174
+ var DHRMetadataSchema = external_exports.object({
23175
+ markets: external_exports.array(DHRMarketEntrySchema).default([]),
23176
+ udi: external_exports.string().nullable().default(null),
23177
+ automatedTestEvidence: external_exports.array(DHRTestEvidenceEntrySchema).default([])
23178
+ });
23179
+ var DeploymentReferenceTypeSchema = external_exports.enum([
23180
+ "artifact",
23181
+ "pipeline",
23182
+ "deployment",
23183
+ "other"
23184
+ ]);
23185
+ var DeploymentReferenceSchema = external_exports.object({
23186
+ label: external_exports.string().min(1).max(200),
23187
+ url: external_exports.string().url(),
23188
+ type: DeploymentReferenceTypeSchema
23189
+ });
23190
+ var CreateReleaseRequestSchema = external_exports.object({
23191
+ organizationId: external_exports.string().min(1),
23192
+ name: external_exports.string().min(1).max(200),
23193
+ description: external_exports.string().max(2e3).optional(),
23194
+ type: ReleaseTypeSchema2,
23195
+ deviceId: external_exports.string().optional(),
23196
+ releasePlanDocumentId: external_exports.string().min(1).optional(),
23197
+ designReviewId: external_exports.string().min(1).optional(),
23198
+ releaseNotesDocumentId: external_exports.string().min(1).optional(),
23199
+ deviationNotes: external_exports.string().max(5e3).optional(),
23200
+ dhr: DHRMetadataSchema.optional(),
23201
+ reason: external_exports.string().max(500).optional()
23202
+ }).strict();
23203
+ var UpdateReleaseRequestSchema = external_exports.object({
23204
+ organizationId: external_exports.string().min(1),
23205
+ name: external_exports.string().min(1).max(200).optional(),
23206
+ description: external_exports.string().max(2e3).optional(),
23207
+ releasePlanDocumentId: external_exports.string().min(1).nullable().optional(),
23208
+ designReviewId: external_exports.string().min(1).nullable().optional(),
23209
+ releaseNotesDocumentId: external_exports.string().min(1).nullable().optional(),
23210
+ deviationNotes: external_exports.string().max(5e3).optional(),
23211
+ dhr: DHRMetadataSchema.nullable().optional(),
23212
+ deploymentReferences: external_exports.array(DeploymentReferenceSchema).optional(),
23213
+ smokeTestEvidence: external_exports.array(DHRTestEvidenceEntrySchema).optional(),
23214
+ reason: external_exports.string().max(500).optional()
23215
+ }).strict();
23216
+ var AddSignatureRequestSchema = external_exports.object({
23217
+ organizationId: external_exports.string().min(1),
23218
+ obligationId: external_exports.string().min(1),
23219
+ meaning: external_exports.string().min(1).max(500),
23220
+ /** Fresh Firebase ID token for per-signature re-authentication (Part 11 §11.200) */
23221
+ idToken: external_exports.string().min(1).optional(),
23222
+ /** Part 11: ID of the ERSD version the signer accepted */
23223
+ ersdDisclosureId: external_exports.string().min(1),
23224
+ /** Part 11: ISO date string when the signer accepted the ERSD */
23225
+ ersdAcceptedAt: external_exports.string().datetime()
23226
+ }).strict();
23227
+ var SubmitReleaseRequestSchema = external_exports.object({
23228
+ organizationId: external_exports.string().min(1),
23229
+ reason: external_exports.string().max(500).optional()
23230
+ });
23231
+ var WithdrawReleaseRequestSchema = external_exports.object({
23232
+ organizationId: external_exports.string().min(1),
23233
+ reason: external_exports.string().max(500).optional()
23234
+ });
23235
+ var PublishReleaseRequestSchema = external_exports.object({
23236
+ organizationId: external_exports.string().min(1),
23237
+ reason: external_exports.string().max(500).optional()
23238
+ });
23239
+ var DeleteReleaseQuerySchema = external_exports.object({
23240
+ organizationId: external_exports.string().min(1)
23241
+ });
23242
+ var UpdateChecklistItemParamSchema = external_exports.object({
23243
+ releaseId: external_exports.string().min(1),
23244
+ templateItemId: external_exports.string().min(1)
23245
+ });
23246
+ var UpdateChecklistItemRequestSchema = external_exports.object({
23247
+ organizationId: external_exports.string().min(1),
23248
+ checked: external_exports.boolean(),
23249
+ evidence: external_exports.string().max(2e3).optional()
23250
+ }).strict();
23251
+ var GateOverrideCategoryParamSchema = external_exports.object({
23252
+ releaseId: external_exports.string().min(1),
23253
+ category: GateOverrideCategorySchema
23254
+ });
23255
+ var AddGateOverrideRequestSchema = external_exports.object({
23256
+ organizationId: external_exports.string().min(1),
23257
+ category: GateOverrideCategorySchema,
23258
+ justification: external_exports.string().min(20).max(2e3)
23259
+ }).strict();
23260
+ var RemoveGateOverrideQuerySchema = external_exports.object({
23261
+ organizationId: external_exports.string().min(1)
23262
+ });
23263
+ var ReleaseChangeResponseSchema = external_exports.object({
23264
+ repositoryId: external_exports.string(),
23265
+ documentId: external_exports.string(),
23266
+ documentPath: external_exports.string(),
23267
+ documentTitle: external_exports.string(),
23268
+ documentType: external_exports.string(),
23269
+ commitSha: external_exports.string(),
23270
+ changeType: ReleaseChangeTypeSchema
23271
+ });
23272
+ var SignatureResponseSchema = external_exports.object({
23273
+ id: external_exports.string(),
23274
+ releaseId: external_exports.string(),
23275
+ obligationId: external_exports.string(),
23276
+ userId: external_exports.string(),
23277
+ userEmail: external_exports.string(),
23278
+ userDisplayName: external_exports.string(),
23279
+ userDepartment: external_exports.string(),
23280
+ signatureType: SignatureTypeSchema2,
23281
+ meaning: external_exports.string(),
23282
+ timestamp: external_exports.string(),
23283
+ // ISO datetime
23284
+ signedCommitShas: external_exports.array(external_exports.string())
23285
+ });
23286
+ var SigningObligationRoleSchema = external_exports.enum(["author", "reviewer", "approver"]);
23287
+ var SigningObligationStatusSchema = external_exports.enum(["pending", "fulfilled"]);
23288
+ var SigningObligationResponseSchema = external_exports.object({
23289
+ obligationId: external_exports.string(),
23290
+ role: SigningObligationRoleSchema,
23291
+ department: external_exports.string(),
23292
+ documentIds: external_exports.array(external_exports.string()),
23293
+ status: SigningObligationStatusSchema,
23294
+ fulfilledBySignatureId: external_exports.string().optional(),
23295
+ fulfilledAt: external_exports.string().optional()
23296
+ });
23297
+ var SigningObligationsSummarySchema = external_exports.object({
23298
+ total: external_exports.number(),
23299
+ fulfilled: external_exports.number(),
23300
+ pending: external_exports.number()
23301
+ });
23302
+ var SnapshotLinkSchema = external_exports.object({
23303
+ sourceDocumentId: external_exports.string(),
23304
+ targetDocumentId: external_exports.string(),
23305
+ linkType: external_exports.string()
23306
+ });
23307
+ var RiskMatrixCellSchema = external_exports.object({
23308
+ count: external_exports.number(),
23309
+ acceptability: external_exports.enum(["acceptable", "review_required", "unacceptable"])
23310
+ });
23311
+ var SnapshotGapSchema = external_exports.object({
23312
+ code: external_exports.string(),
23313
+ severity: external_exports.enum(["error", "warning"]),
23314
+ documentId: external_exports.string(),
23315
+ documentTitle: external_exports.string(),
23316
+ message: external_exports.string()
23317
+ });
23318
+ var SnapshotTraceabilityChainEntrySchema = external_exports.object({
23319
+ hazardId: external_exports.string(),
23320
+ hazardTitle: external_exports.string(),
23321
+ situationId: external_exports.string(),
23322
+ situationTitle: external_exports.string(),
23323
+ harmId: external_exports.string(),
23324
+ harmTitle: external_exports.string(),
23325
+ riskId: external_exports.string(),
23326
+ riskTitle: external_exports.string(),
23327
+ riskType: external_exports.string(),
23328
+ inherentSeverity: external_exports.number(),
23329
+ inherentProbability: external_exports.number(),
23330
+ residualSeverity: external_exports.number(),
23331
+ residualProbability: external_exports.number(),
23332
+ acceptability: external_exports.string(),
23333
+ controls: external_exports.array(external_exports.string()),
23334
+ cvssScore: external_exports.number().optional(),
23335
+ cvssVector: external_exports.string().optional()
23336
+ });
23337
+ var SnapshotPlanReferenceSchema = external_exports.object({
23338
+ documentId: external_exports.string(),
23339
+ title: external_exports.string(),
23340
+ commitSha: external_exports.string(),
23341
+ safetyClass: external_exports.string(),
23342
+ postProductionReference: external_exports.string().optional()
23343
+ });
23344
+ var ComponentSnapshotEntryResponseSchema = external_exports.object({
23345
+ componentName: external_exports.string(),
23346
+ version: external_exports.string(),
23347
+ license: external_exports.string().optional(),
23348
+ safetyRiskClass: external_exports.string().optional(),
23349
+ sourceFormat: external_exports.enum(["markdown_table", "cyclonedx", "spdx"])
23350
+ });
23351
+ var ReleaseSnapshotResponseSchema = external_exports.object({
23352
+ traceabilityLinks: external_exports.array(SnapshotLinkSchema),
23353
+ traceabilityCoverage: external_exports.number(),
23354
+ riskMatrix: external_exports.object({
23355
+ inherent: external_exports.array(external_exports.array(external_exports.number())),
23356
+ residual: external_exports.array(external_exports.array(external_exports.number())),
23357
+ acceptability: external_exports.array(external_exports.array(external_exports.enum(["acceptable", "review_required", "unacceptable"]))),
23358
+ summary: external_exports.object({
23359
+ total: external_exports.number(),
23360
+ acceptable: external_exports.number(),
23361
+ reviewRequired: external_exports.number(),
23362
+ unacceptable: external_exports.number()
23363
+ })
23364
+ }),
23365
+ gaps: external_exports.array(SnapshotGapSchema),
23366
+ gapsSummary: external_exports.object({
23367
+ errorCount: external_exports.number(),
23368
+ warningCount: external_exports.number()
23369
+ }),
23370
+ riskTraceabilityChain: external_exports.array(SnapshotTraceabilityChainEntrySchema).optional(),
23371
+ riskManagementPlan: SnapshotPlanReferenceSchema.optional(),
23372
+ componentSnapshots: external_exports.record(external_exports.array(ComponentSnapshotEntryResponseSchema)).optional()
23373
+ });
23374
+ var DHRMarketEntryResponseSchema = external_exports.object({
23375
+ country: external_exports.string(),
23376
+ clinicalEvaluation: external_exports.boolean()
23377
+ });
23378
+ var DHRTestEvidenceEntryResponseSchema = external_exports.object({
23379
+ label: external_exports.string(),
23380
+ url: external_exports.string()
23381
+ });
23382
+ var DHRMetadataResponseSchema = external_exports.object({
23383
+ markets: external_exports.array(DHRMarketEntryResponseSchema),
23384
+ udi: external_exports.string().nullable(),
23385
+ automatedTestEvidence: external_exports.array(DHRTestEvidenceEntryResponseSchema)
23386
+ });
23387
+ var DeploymentReferenceResponseSchema = external_exports.object({
23388
+ label: external_exports.string(),
23389
+ url: external_exports.string(),
23390
+ type: external_exports.string()
23391
+ });
23392
+ var GateOverrideResponseSchema = external_exports.object({
23393
+ category: external_exports.string(),
23394
+ justification: external_exports.string(),
23395
+ gapDocumentIds: external_exports.array(external_exports.string()),
23396
+ gapCount: external_exports.number(),
23397
+ createdBy: external_exports.string(),
23398
+ createdByEmail: external_exports.string(),
23399
+ createdByDepartment: external_exports.string(),
23400
+ createdAt: external_exports.string()
23401
+ });
23402
+ var ReleaseChecklistItemResponseSchema = external_exports.object({
23403
+ templateItemId: external_exports.string(),
23404
+ label: external_exports.string(),
23405
+ checked: external_exports.boolean(),
23406
+ evidence: external_exports.string().optional(),
23407
+ updatedBy: external_exports.string().optional(),
23408
+ updatedAt: external_exports.string().optional()
23409
+ });
23410
+ var ReleaseDocumentManifestEntrySchema = external_exports.object({
23411
+ documentId: external_exports.string(),
23412
+ title: external_exports.string(),
23413
+ type: external_exports.string(),
23414
+ path: external_exports.string(),
23415
+ commitSha: external_exports.string()
23416
+ });
23417
+ var ReleaseSummaryResponseSchema = external_exports.object({
23418
+ id: external_exports.string(),
23419
+ name: external_exports.string(),
23420
+ description: external_exports.string().optional(),
23421
+ type: ReleaseTypeSchema2,
23422
+ deviceId: external_exports.string().optional(),
23423
+ status: ReleaseStatusSchema2,
23424
+ changesCount: external_exports.number(),
23425
+ signaturesCount: external_exports.number(),
23426
+ obligationsSummary: SigningObligationsSummarySchema,
23427
+ createdBy: external_exports.string(),
23428
+ createdAt: external_exports.string(),
23429
+ // ISO datetime
23430
+ submittedForReviewAt: external_exports.string().optional(),
23431
+ approvedAt: external_exports.string().optional(),
23432
+ publishedAt: external_exports.string().optional(),
23433
+ obligationsDerivedAt: external_exports.string().optional(),
23434
+ obligationsDerivationVersion: external_exports.number().optional(),
23435
+ obligationsInputHash: external_exports.string().optional(),
23436
+ releasePlanDocumentId: external_exports.string().optional(),
23437
+ designReviewId: external_exports.string().optional(),
23438
+ releaseNotesDocumentId: external_exports.string().optional(),
23439
+ deviationNotes: external_exports.string().optional(),
23440
+ dhr: DHRMetadataResponseSchema.optional(),
23441
+ version: external_exports.string().optional()
23442
+ });
23443
+ var ReleaseDetailResponseSchema = ReleaseSummaryResponseSchema.extend({
23444
+ changes: external_exports.array(ReleaseChangeResponseSchema),
23445
+ signingObligations: external_exports.array(SigningObligationResponseSchema),
23446
+ signatures: external_exports.array(SignatureResponseSchema).optional(),
23447
+ snapshot: ReleaseSnapshotResponseSchema.optional(),
23448
+ checklist: external_exports.array(ReleaseChecklistItemResponseSchema).optional(),
23449
+ releaseCommitSha: external_exports.string().optional(),
23450
+ previousReleaseId: external_exports.string().optional(),
23451
+ previousReleaseCommitSha: external_exports.string().optional(),
23452
+ deploymentReferences: external_exports.array(DeploymentReferenceResponseSchema).optional(),
23453
+ smokeTestEvidence: external_exports.array(external_exports.object({ label: external_exports.string(), url: external_exports.string() })).optional(),
23454
+ gateOverrides: external_exports.array(GateOverrideResponseSchema).default([]),
23455
+ documentManifest: external_exports.array(ReleaseDocumentManifestEntrySchema).optional()
23456
+ });
23457
+ var ListReleasesResponseSchema = external_exports.object({
23458
+ releases: external_exports.array(ReleaseSummaryResponseSchema),
23459
+ total: external_exports.number(),
23460
+ limit: external_exports.number(),
23461
+ offset: external_exports.number()
23462
+ });
23463
+ var GetSignaturesResponseSchema = external_exports.object({
23464
+ signatures: external_exports.array(SignatureResponseSchema)
23465
+ });
23466
+ var ChangedDocumentResponseSchema = external_exports.object({
23467
+ documentId: external_exports.string(),
23468
+ repositoryId: external_exports.string(),
23469
+ documentPath: external_exports.string(),
23470
+ documentTitle: external_exports.string(),
23471
+ documentType: external_exports.string(),
23472
+ currentCommitSha: external_exports.string(),
23473
+ previousCommitSha: external_exports.string().optional(),
23474
+ changeType: ReleaseChangeTypeSchema
23475
+ });
23476
+ var GetChangedDocumentsResponseSchema = external_exports.object({
23477
+ changes: external_exports.array(ChangedDocumentResponseSchema),
23478
+ previousReleaseId: external_exports.string().optional(),
23479
+ previousReleaseName: external_exports.string().optional()
23480
+ });
23481
+ var CreateReleaseResponseSchema = external_exports.object({
23482
+ id: external_exports.string(),
23483
+ release: ReleaseDetailResponseSchema
23484
+ });
23485
+ var ReleaseStatusChangeResponseSchema = external_exports.object({
23486
+ success: external_exports.boolean(),
23487
+ release: ReleaseDetailResponseSchema
23488
+ });
23489
+ var AddSignatureResponseSchema = external_exports.object({
23490
+ signature: SignatureResponseSchema,
23491
+ releaseStatus: ReleaseStatusSchema2,
23492
+ isAutoApproved: external_exports.boolean()
23493
+ });
23494
+ var ComparisonChangeTypeSchema = external_exports.enum(["added", "modified", "removed", "unchanged"]);
23495
+ var GetReleaseComparisonQuerySchema = external_exports.object({
23496
+ organizationId: external_exports.string().min(1),
23497
+ baseReleaseId: external_exports.string().min(1).optional()
23498
+ });
23499
+ var ComparisonReleaseInfoSchema = external_exports.object({
23500
+ id: external_exports.string(),
23501
+ name: external_exports.string(),
23502
+ publishedAt: external_exports.string().nullable()
23503
+ });
23504
+ var ComparisonCommitRefSchema = external_exports.object({
23505
+ commitSha: external_exports.string()
23506
+ });
23507
+ var ReleaseComparisonChangeSchema = external_exports.object({
23508
+ documentId: external_exports.string(),
23509
+ documentTitle: external_exports.string(),
23510
+ documentType: external_exports.string(),
23511
+ documentPath: external_exports.string(),
23512
+ changeType: ComparisonChangeTypeSchema,
23513
+ target: ComparisonCommitRefSchema.nullable(),
23514
+ base: ComparisonCommitRefSchema.nullable()
23515
+ });
23516
+ var ComparisonSummarySchema = external_exports.object({
23517
+ added: external_exports.number(),
23518
+ modified: external_exports.number(),
23519
+ removed: external_exports.number(),
23520
+ unchanged: external_exports.number()
23521
+ });
23522
+ var BaselineOptionSchema = external_exports.object({
23523
+ id: external_exports.string(),
23524
+ name: external_exports.string(),
23525
+ publishedAt: external_exports.string()
23526
+ });
23527
+ var ReleaseComparisonResponseSchema = external_exports.object({
23528
+ targetRelease: ComparisonReleaseInfoSchema,
23529
+ baseRelease: ComparisonReleaseInfoSchema.nullable(),
23530
+ changes: external_exports.array(ReleaseComparisonChangeSchema),
23531
+ summary: ComparisonSummarySchema,
23532
+ fallback: external_exports.boolean(),
23533
+ baselineOptions: external_exports.array(BaselineOptionSchema)
23534
+ });
23535
+ var CreateQmsRequestSchema = external_exports.object({
23536
+ organizationId: external_exports.string().min(1),
23537
+ repositoryId: external_exports.string().min(1),
23538
+ name: external_exports.string().min(1).max(100)
23539
+ });
23540
+ var UpdateQmsRequestSchema = external_exports.object({
23541
+ name: external_exports.string().min(1).max(100).optional()
23542
+ });
23543
+ var QmsIdParamSchema = external_exports.object({
23544
+ orgId: external_exports.string().min(1),
23545
+ qmsId: external_exports.string().min(1)
23546
+ });
23547
+ var QmsResponseSchema = external_exports.object({
23548
+ id: external_exports.string(),
23549
+ organizationId: external_exports.string(),
23550
+ repositoryId: external_exports.string(),
23551
+ name: external_exports.string(),
23552
+ createdAt: external_exports.string(),
23553
+ createdBy: external_exports.string()
23554
+ });
23555
+ var CreateDeviceRequestSchema = external_exports.object({
23556
+ organizationId: external_exports.string().min(1),
23557
+ repositoryId: external_exports.string().min(1),
23558
+ name: external_exports.string().min(1).max(100),
23559
+ safetyClass: SafetyClassSchema
23560
+ });
23561
+ var UpdateDeviceRequestSchema = external_exports.object({
23562
+ name: external_exports.string().min(1).max(100).optional(),
23563
+ safetyClass: SafetyClassSchema.optional()
23564
+ });
23565
+ var DeviceIdParamSchema = external_exports.object({
23566
+ orgId: external_exports.string().min(1),
23567
+ deviceId: external_exports.string().min(1)
23568
+ });
23569
+ var DeviceListQuerySchema = external_exports.object({
23570
+ organizationId: external_exports.string().min(1)
23571
+ });
23572
+ var DeviceResponseSchema = external_exports.object({
23573
+ id: external_exports.string(),
23574
+ organizationId: external_exports.string(),
23575
+ repositoryId: external_exports.string(),
23576
+ name: external_exports.string(),
23577
+ safetyClass: SafetyClassSchema,
23578
+ createdAt: external_exports.string(),
23579
+ createdBy: external_exports.string()
23580
+ });
23581
+ var DCODocumentChangeTypeSchema = external_exports.enum(["new", "revision", "obsolete"]);
23582
+ var DCOStatusSchema = external_exports.enum(["draft", "pending_signatures", "approved", "effective"]);
23583
+ var DCOScopeSchema = external_exports.enum(["release", "documents", "maintenance"]);
23584
+ var DCODocumentEntrySchema = external_exports.object({
23585
+ documentId: external_exports.string().min(1),
23586
+ repositoryId: external_exports.string().min(1),
23587
+ commitSha: external_exports.string().min(1),
23588
+ changeType: DCODocumentChangeTypeSchema,
23589
+ changeDescription: external_exports.string().min(1).max(2e3)
23590
+ });
23591
+ var CreateDCORequestSchema = external_exports.object({
23592
+ title: external_exports.string().min(1).max(200),
23593
+ description: external_exports.string().min(1).max(5e3),
23594
+ scope: DCOScopeSchema,
23595
+ effectiveDate: external_exports.string().datetime(),
23596
+ documents: external_exports.array(DCODocumentEntrySchema).min(1),
23597
+ /** Required when scope='release' */
23598
+ releaseId: external_exports.string().min(1).optional()
23599
+ }).superRefine((data, ctx) => {
23600
+ if (data.scope === "release" && !data.releaseId) {
23601
+ ctx.addIssue({
23602
+ code: external_exports.ZodIssueCode.custom,
23603
+ message: 'releaseId is required when scope is "release"',
23604
+ path: ["releaseId"]
23605
+ });
23606
+ }
23607
+ });
23608
+ var UpdateDCORequestSchema = external_exports.object({
23609
+ title: external_exports.string().min(1).max(200).optional(),
23610
+ description: external_exports.string().min(1).max(5e3).optional(),
23611
+ effectiveDate: external_exports.string().datetime().optional(),
23612
+ documents: external_exports.array(DCODocumentEntrySchema).min(1).optional()
23613
+ });
23614
+ var SubmitDCORequestSchema = external_exports.object({
23615
+ departments: external_exports.array(external_exports.string().min(1)).min(1, "At least one department must be specified")
23616
+ });
23617
+ var FulfillDCOObligationRequestSchema = external_exports.object({
23618
+ obligationId: external_exports.string().min(1),
23619
+ meaning: external_exports.string().min(1).max(500),
23620
+ /** Fresh ID token from re-authentication (Part 11 §11.200 compliance) */
23621
+ idToken: external_exports.string().min(1),
23622
+ /** Part 11: ID of the ERSD version the signer accepted */
23623
+ ersdDisclosureId: external_exports.string().min(1),
23624
+ /** Part 11: ISO date string when the signer accepted the ERSD */
23625
+ ersdAcceptedAt: external_exports.string().datetime()
23626
+ });
23627
+ var DCOIdParamSchema = external_exports.object({
23628
+ orgId: external_exports.string().min(1),
23629
+ qmsId: external_exports.string().min(1),
23630
+ dcoId: external_exports.string().min(1)
23631
+ });
23632
+ var QmsDCOParamSchema = external_exports.object({
23633
+ orgId: external_exports.string().min(1),
23634
+ qmsId: external_exports.string().min(1)
23635
+ });
23636
+ var DCOListQuerySchema = PaginationParamsSchema.extend({
23637
+ status: DCOStatusSchema.optional(),
23638
+ scope: DCOScopeSchema.optional()
23639
+ });
23640
+ var RevisionAssignmentSchema = external_exports.object({
23641
+ documentId: external_exports.string(),
23642
+ revisionNumber: external_exports.number()
23643
+ });
23644
+ var DCOSigningObligationSchema = external_exports.object({
23645
+ obligationId: external_exports.string(),
23646
+ department: external_exports.string(),
23647
+ status: external_exports.enum(["pending", "fulfilled"]),
23648
+ meaning: external_exports.string().optional(),
23649
+ fulfilledBySignatureId: external_exports.string().optional(),
23650
+ fulfilledAt: external_exports.string().optional()
23651
+ });
23652
+ var DCOResponseSchema = external_exports.object({
23653
+ id: external_exports.string(),
23654
+ organizationId: external_exports.string(),
23655
+ qmsId: external_exports.string(),
23656
+ dcoNumber: external_exports.string(),
23657
+ title: external_exports.string(),
23658
+ description: external_exports.string(),
23659
+ scope: DCOScopeSchema,
23660
+ releaseId: external_exports.string().optional(),
23661
+ documents: external_exports.array(DCODocumentEntrySchema),
23662
+ status: DCOStatusSchema,
23663
+ effectiveDate: external_exports.string(),
23664
+ createdAt: external_exports.string(),
23665
+ createdBy: external_exports.string(),
23666
+ approvedAt: external_exports.string().optional(),
23667
+ effectiveAt: external_exports.string().optional(),
23668
+ revisionAssignments: external_exports.array(RevisionAssignmentSchema),
23669
+ signingObligations: external_exports.array(DCOSigningObligationSchema)
23670
+ });
23671
+ var DCOListResponseSchema = external_exports.object({
23672
+ items: external_exports.array(DCOResponseSchema),
23673
+ total: external_exports.number(),
23674
+ limit: external_exports.number(),
23675
+ offset: external_exports.number()
23676
+ });
23677
+ var DocumentRevisionResponseSchema = external_exports.object({
23678
+ id: external_exports.string(),
23679
+ revisionNumber: external_exports.number(),
23680
+ dcoId: external_exports.string(),
23681
+ dcoNumber: external_exports.string(),
23682
+ releaseId: external_exports.string().optional(),
23683
+ releaseName: external_exports.string().optional(),
23684
+ commitSha: external_exports.string(),
23685
+ changeType: DCODocumentChangeTypeSchema,
23686
+ changeDescription: external_exports.string(),
23687
+ effectiveAt: external_exports.string(),
23688
+ effectiveBy: external_exports.string()
23689
+ });
23690
+ var RequestDCOExportResponseSchema = external_exports.object({
23691
+ message: external_exports.string(),
23692
+ estimatedMinutes: external_exports.number()
23693
+ });
23694
+ var CAPA_STATUSES = [
23695
+ "open",
23696
+ "investigation",
23697
+ "implementation",
23698
+ "verification",
23699
+ "closed",
23700
+ "cancelled"
23701
+ ];
23702
+ var CAPA_CLASSIFICATIONS = ["corrective", "preventive"];
23703
+ var CAPA_PRIORITIES = ["low", "medium", "high", "critical"];
23704
+ var CAPA_SOURCE_TYPES = [
23705
+ "nonconformance",
23706
+ "complaint",
23707
+ "audit_finding",
23708
+ "observation",
23709
+ "other"
23710
+ ];
23711
+ var CAPA_ACTION_STATUSES = ["pending", "in_progress", "completed"];
23712
+ var CapaStatusSchema = external_exports.enum(CAPA_STATUSES);
23713
+ var CapaClassificationSchema = external_exports.enum(CAPA_CLASSIFICATIONS);
23714
+ var CapaPrioritySchema = external_exports.enum(CAPA_PRIORITIES);
23715
+ var CapaSourceTypeSchema = external_exports.enum(CAPA_SOURCE_TYPES);
23716
+ var CapaActionStatusSchema = external_exports.enum(CAPA_ACTION_STATUSES);
23717
+ var QmsCapaParamSchema = external_exports.object({
23718
+ orgId: external_exports.string().min(1),
23719
+ qmsId: external_exports.string().min(1)
23720
+ });
23721
+ var CapaIdParamSchema = external_exports.object({
23722
+ orgId: external_exports.string().min(1),
23723
+ qmsId: external_exports.string().min(1),
23724
+ capaId: external_exports.string().min(1)
23725
+ });
23726
+ var CapaActionIdParamSchema = external_exports.object({
23727
+ orgId: external_exports.string().min(1),
23728
+ qmsId: external_exports.string().min(1),
23729
+ capaId: external_exports.string().min(1),
23730
+ actionId: external_exports.string().min(1)
23731
+ });
23732
+ var CreateCapaRequestSchema = external_exports.object({
23733
+ classification: CapaClassificationSchema,
23734
+ priority: CapaPrioritySchema,
23735
+ title: external_exports.string().min(1).max(200),
23736
+ description: external_exports.string().min(1).max(5e3),
23737
+ sourceType: CapaSourceTypeSchema,
23738
+ sourceDescription: external_exports.string().min(1).max(2e3),
23739
+ sourceId: external_exports.string().max(200).optional(),
23740
+ dueDate: external_exports.string().datetime().optional(),
23741
+ affectedDocumentIds: external_exports.array(external_exports.string().min(1)).default([]),
23742
+ affectedDeviceIds: external_exports.array(external_exports.string().min(1)).default([])
23743
+ });
23744
+ var UpdateCapaRequestSchema = external_exports.object({
23745
+ title: external_exports.string().min(1).max(200).optional(),
23746
+ description: external_exports.string().min(1).max(5e3).optional(),
23747
+ priority: CapaPrioritySchema.optional(),
23748
+ rootCauseDescription: external_exports.string().max(5e3).optional(),
23749
+ verificationDescription: external_exports.string().max(5e3).optional(),
23750
+ affectedDocumentIds: external_exports.array(external_exports.string().min(1)).optional(),
23751
+ affectedDeviceIds: external_exports.array(external_exports.string().min(1)).optional(),
23752
+ dueDate: external_exports.string().datetime().nullable().optional()
23753
+ });
23754
+ var CloseCapaRequestSchema = external_exports.object({
23755
+ signatureId: external_exports.string().min(1)
23756
+ });
23757
+ var AddCapaActionRequestSchema = external_exports.object({
23758
+ description: external_exports.string().min(1).max(2e3),
23759
+ assigneeId: external_exports.string().min(1),
23760
+ dueDate: external_exports.string().datetime(),
23761
+ notes: external_exports.string().max(2e3).optional()
23762
+ });
23763
+ var UpdateCapaActionRequestSchema = external_exports.object({
23764
+ description: external_exports.string().min(1).max(2e3).optional(),
23765
+ assigneeId: external_exports.string().min(1).optional(),
23766
+ dueDate: external_exports.string().datetime().optional(),
23767
+ status: CapaActionStatusSchema.optional(),
23768
+ notes: external_exports.string().max(2e3).optional()
23769
+ });
23770
+ var CapaListQuerySchema = PaginationParamsSchema.extend({
23771
+ status: CapaStatusSchema.optional(),
23772
+ classification: CapaClassificationSchema.optional(),
23773
+ priority: CapaPrioritySchema.optional()
23774
+ });
23775
+ var CapaActionResponseSchema = external_exports.object({
23776
+ id: external_exports.string(),
23777
+ description: external_exports.string(),
23778
+ assigneeId: external_exports.string(),
23779
+ assigneeEmail: external_exports.string(),
23780
+ dueDate: external_exports.string(),
23781
+ status: CapaActionStatusSchema,
23782
+ completedAt: external_exports.string().optional(),
23783
+ notes: external_exports.string().optional()
23784
+ });
23785
+ var CapaResponseSchema = external_exports.object({
23786
+ id: external_exports.string(),
23787
+ qmsId: external_exports.string(),
23788
+ organizationId: external_exports.string(),
23789
+ capaNumber: external_exports.string(),
23790
+ classification: CapaClassificationSchema,
23791
+ priority: CapaPrioritySchema,
23792
+ title: external_exports.string(),
23793
+ description: external_exports.string(),
23794
+ sourceType: CapaSourceTypeSchema,
23795
+ sourceId: external_exports.string().optional(),
23796
+ sourceDescription: external_exports.string(),
23797
+ rootCauseDescription: external_exports.string().optional(),
23798
+ verificationDescription: external_exports.string().optional(),
23799
+ affectedDocumentIds: external_exports.array(external_exports.string()),
23800
+ affectedDeviceIds: external_exports.array(external_exports.string()),
23801
+ actions: external_exports.array(CapaActionResponseSchema),
23802
+ status: CapaStatusSchema,
23803
+ createdAt: external_exports.string(),
23804
+ createdBy: external_exports.string(),
23805
+ investigationStartedAt: external_exports.string().optional(),
23806
+ implementationStartedAt: external_exports.string().optional(),
23807
+ verificationStartedAt: external_exports.string().optional(),
23808
+ closedAt: external_exports.string().optional(),
23809
+ closedBy: external_exports.string().optional(),
23810
+ cancelledAt: external_exports.string().optional(),
23811
+ cancelledBy: external_exports.string().optional(),
23812
+ dueDate: external_exports.string().optional()
23813
+ });
23814
+ var CapaListResponseSchema = external_exports.object({
23815
+ items: external_exports.array(CapaResponseSchema),
23816
+ total: external_exports.number(),
23817
+ limit: external_exports.number(),
23818
+ offset: external_exports.number()
23819
+ });
23820
+ var COMPLAINT_STATUSES = [
23821
+ "open",
23822
+ "investigating",
23823
+ "resolved",
23824
+ "closed",
23825
+ "cancelled"
23826
+ ];
23827
+ var COMPLAINT_SEVERITIES = ["low", "medium", "high", "critical"];
23828
+ var COMPLAINT_CATEGORIES = [
23829
+ "quality",
23830
+ "safety",
23831
+ "performance",
23832
+ "usability",
23833
+ "other"
23834
+ ];
23835
+ var COMPLAINT_SOURCES = ["customer", "internal", "regulatory", "distributor"];
23836
+ var ComplaintStatusSchema = external_exports.enum(COMPLAINT_STATUSES);
23837
+ var ComplaintSeveritySchema = external_exports.enum(COMPLAINT_SEVERITIES);
23838
+ var ComplaintCategorySchema = external_exports.enum(COMPLAINT_CATEGORIES);
23839
+ var ComplaintSourceSchema = external_exports.enum(COMPLAINT_SOURCES);
23840
+ var QmsComplaintParamSchema = external_exports.object({
23841
+ orgId: external_exports.string().min(1),
23842
+ qmsId: external_exports.string().min(1)
23843
+ });
23844
+ var ComplaintIdParamSchema = external_exports.object({
23845
+ orgId: external_exports.string().min(1),
23846
+ qmsId: external_exports.string().min(1),
23847
+ complaintId: external_exports.string().min(1)
23848
+ });
23849
+ var ComplainantSchema = external_exports.object({
23850
+ name: external_exports.string().min(1).max(200),
23851
+ email: external_exports.string().email().optional(),
23852
+ phone: external_exports.string().max(50).optional(),
23853
+ organization: external_exports.string().max(200).optional()
23854
+ });
23855
+ var CreateComplaintRequestSchema = external_exports.object({
23856
+ title: external_exports.string().min(1).max(200),
23857
+ description: external_exports.string().min(1).max(5e3),
23858
+ severity: ComplaintSeveritySchema,
23859
+ category: ComplaintCategorySchema,
23860
+ source: ComplaintSourceSchema,
23861
+ receivedDate: external_exports.string().datetime(),
23862
+ complainant: ComplainantSchema,
23863
+ reportable: external_exports.boolean(),
23864
+ reportabilityJustification: external_exports.string().max(5e3).optional(),
23865
+ affectedDeviceIds: external_exports.array(external_exports.string().min(1)).default([]),
23866
+ affectedDocumentIds: external_exports.array(external_exports.string().min(1)).default([]),
23867
+ assigneeId: external_exports.string().min(1).optional(),
23868
+ dueDate: external_exports.string().datetime().optional()
23869
+ });
23870
+ var UpdateComplaintRequestSchema = external_exports.object({
23871
+ title: external_exports.string().min(1).max(200).optional(),
23872
+ description: external_exports.string().min(1).max(5e3).optional(),
23873
+ severity: ComplaintSeveritySchema.optional(),
23874
+ category: ComplaintCategorySchema.optional(),
23875
+ source: ComplaintSourceSchema.optional(),
23876
+ reportable: external_exports.boolean().optional(),
23877
+ reportabilityJustification: external_exports.string().max(5e3).optional(),
23878
+ investigationSummary: external_exports.string().max(5e3).optional(),
23879
+ rootCauseDescription: external_exports.string().max(5e3).optional(),
23880
+ resolutionDescription: external_exports.string().max(5e3).optional(),
23881
+ affectedDeviceIds: external_exports.array(external_exports.string().min(1)).optional(),
23882
+ affectedDocumentIds: external_exports.array(external_exports.string().min(1)).optional(),
23883
+ assigneeId: external_exports.string().min(1).nullable().optional(),
23884
+ dueDate: external_exports.string().datetime().nullable().optional()
23885
+ });
23886
+ var ResolveComplaintRequestSchema = external_exports.object({
23887
+ resolutionDescription: external_exports.string().min(1).max(5e3)
23888
+ });
23889
+ var CloseComplaintRequestSchema = external_exports.object({
23890
+ signatureId: external_exports.string().min(1)
23891
+ });
23892
+ var CancelComplaintRequestSchema = external_exports.object({
23893
+ reason: external_exports.string().min(1).max(5e3)
23894
+ });
23895
+ var ComplaintListQuerySchema = PaginationParamsSchema.extend({
23896
+ status: ComplaintStatusSchema.optional(),
23897
+ severity: ComplaintSeveritySchema.optional(),
23898
+ category: ComplaintCategorySchema.optional(),
23899
+ source: ComplaintSourceSchema.optional()
23900
+ });
23901
+ var ComplaintResponseSchema = external_exports.object({
23902
+ id: external_exports.string(),
23903
+ qmsId: external_exports.string(),
23904
+ organizationId: external_exports.string(),
23905
+ complaintNumber: external_exports.string(),
23906
+ title: external_exports.string(),
23907
+ description: external_exports.string(),
23908
+ status: ComplaintStatusSchema,
23909
+ severity: ComplaintSeveritySchema,
23910
+ category: ComplaintCategorySchema,
23911
+ source: ComplaintSourceSchema,
23912
+ receivedDate: external_exports.string(),
23913
+ complainant: ComplainantSchema,
23914
+ reportable: external_exports.boolean(),
23915
+ reportabilityJustification: external_exports.string().optional(),
23916
+ investigationSummary: external_exports.string().optional(),
23917
+ rootCauseDescription: external_exports.string().optional(),
23918
+ resolutionDescription: external_exports.string().optional(),
23919
+ affectedDeviceIds: external_exports.array(external_exports.string()),
23920
+ affectedDocumentIds: external_exports.array(external_exports.string()),
23921
+ linkedCapaId: external_exports.string().optional(),
23922
+ assigneeId: external_exports.string().optional(),
23923
+ assigneeEmail: external_exports.string().optional(),
23924
+ dueDate: external_exports.string().optional(),
23925
+ createdAt: external_exports.string(),
23926
+ createdBy: external_exports.string(),
23927
+ investigationStartedAt: external_exports.string().optional(),
23928
+ resolvedAt: external_exports.string().optional(),
23929
+ resolvedBy: external_exports.string().optional(),
23930
+ closedAt: external_exports.string().optional(),
23931
+ closedBy: external_exports.string().optional(),
23932
+ cancellationReason: external_exports.string().optional(),
23933
+ cancelledAt: external_exports.string().optional(),
23934
+ cancelledBy: external_exports.string().optional()
23935
+ });
23936
+ var ComplaintListResponseSchema = external_exports.object({
23937
+ items: external_exports.array(ComplaintResponseSchema),
23938
+ total: external_exports.number(),
23939
+ limit: external_exports.number(),
23940
+ offset: external_exports.number()
23941
+ });
23942
+ var EscalateToCapaResponseSchema = external_exports.object({
23943
+ capaId: external_exports.string()
23944
+ });
23945
+ var NC_STATUSES = [
23946
+ "reported",
23947
+ "investigation",
23948
+ "disposition",
23949
+ "closed",
23950
+ "cancelled"
23951
+ ];
23952
+ var NC_SEVERITIES = ["minor", "major", "critical"];
23953
+ var NC_DISPOSITIONS = [
23954
+ "use_as_is",
23955
+ "rework",
23956
+ "scrap",
23957
+ "return_to_supplier",
23958
+ "concession"
23959
+ ];
23960
+ var NC_SOURCE_TYPES = [
23961
+ "product",
23962
+ "process",
23963
+ "supplier",
23964
+ "audit_finding",
23965
+ "complaint",
23966
+ "other"
23967
+ ];
23968
+ var NcStatusSchema = external_exports.enum(NC_STATUSES);
23969
+ var NcSeveritySchema = external_exports.enum(NC_SEVERITIES);
23970
+ var NcDispositionSchema = external_exports.enum(NC_DISPOSITIONS);
23971
+ var NcSourceTypeSchema = external_exports.enum(NC_SOURCE_TYPES);
23972
+ var QmsNcParamSchema = external_exports.object({
23973
+ orgId: external_exports.string().min(1),
23974
+ qmsId: external_exports.string().min(1)
23975
+ });
23976
+ var NcIdParamSchema = external_exports.object({
23977
+ orgId: external_exports.string().min(1),
23978
+ qmsId: external_exports.string().min(1),
23979
+ ncId: external_exports.string().min(1)
23980
+ });
23981
+ var CreateNcRequestSchema = external_exports.object({
23982
+ severity: NcSeveritySchema,
23983
+ sourceType: NcSourceTypeSchema,
23984
+ title: external_exports.string().min(1).max(200),
23985
+ description: external_exports.string().min(1).max(5e3),
23986
+ dueDate: external_exports.string().datetime().optional(),
23987
+ affectedDocumentIds: external_exports.array(external_exports.string().min(1)).default([]),
23988
+ affectedDeviceIds: external_exports.array(external_exports.string().min(1)).default([])
23989
+ });
23990
+ var UpdateNcRequestSchema = external_exports.object({
23991
+ title: external_exports.string().min(1).max(200).optional(),
23992
+ description: external_exports.string().min(1).max(5e3).optional(),
23993
+ severity: NcSeveritySchema.optional(),
23994
+ investigationDescription: external_exports.string().max(5e3).optional(),
23995
+ affectedDocumentIds: external_exports.array(external_exports.string().min(1)).optional(),
23996
+ affectedDeviceIds: external_exports.array(external_exports.string().min(1)).optional(),
23997
+ dueDate: external_exports.string().datetime().nullable().optional()
23998
+ });
23999
+ var SetDispositionRequestSchema = external_exports.object({
24000
+ disposition: NcDispositionSchema,
24001
+ justification: external_exports.string().min(1).max(5e3)
24002
+ });
24003
+ var ApproveConcessionRequestSchema = external_exports.object({
24004
+ signatureId: external_exports.string().min(1)
24005
+ });
24006
+ var NcListQuerySchema = PaginationParamsSchema.extend({
24007
+ status: NcStatusSchema.optional(),
24008
+ severity: NcSeveritySchema.optional(),
24009
+ sourceType: NcSourceTypeSchema.optional()
24010
+ });
24011
+ var NcResponseSchema = external_exports.object({
24012
+ id: external_exports.string(),
24013
+ qmsId: external_exports.string(),
24014
+ organizationId: external_exports.string(),
24015
+ ncNumber: external_exports.string(),
24016
+ severity: NcSeveritySchema,
24017
+ sourceType: NcSourceTypeSchema,
24018
+ title: external_exports.string(),
24019
+ description: external_exports.string(),
24020
+ investigationDescription: external_exports.string().optional(),
24021
+ disposition: NcDispositionSchema.optional(),
24022
+ dispositionJustification: external_exports.string().optional(),
24023
+ concessionSignatureId: external_exports.string().optional(),
24024
+ affectedDocumentIds: external_exports.array(external_exports.string()),
24025
+ affectedDeviceIds: external_exports.array(external_exports.string()),
24026
+ linkedCapaId: external_exports.string().optional(),
24027
+ status: NcStatusSchema,
24028
+ createdAt: external_exports.string(),
24029
+ createdBy: external_exports.string(),
24030
+ investigationStartedAt: external_exports.string().optional(),
24031
+ investigationStartedBy: external_exports.string().optional(),
24032
+ dispositionSetAt: external_exports.string().optional(),
24033
+ dispositionSetBy: external_exports.string().optional(),
24034
+ closedAt: external_exports.string().optional(),
24035
+ closedBy: external_exports.string().optional(),
24036
+ cancelledAt: external_exports.string().optional(),
24037
+ cancelledBy: external_exports.string().optional(),
24038
+ dueDate: external_exports.string().optional()
24039
+ });
24040
+ var NcListResponseSchema = external_exports.object({
24041
+ items: external_exports.array(NcResponseSchema),
24042
+ total: external_exports.number(),
24043
+ limit: external_exports.number(),
24044
+ offset: external_exports.number()
24045
+ });
24046
+ var DocumentSignatureTypeSchema = external_exports.enum([
24047
+ "author",
24048
+ "reviewer",
24049
+ "approver",
24050
+ "dept_reviewer",
24051
+ "final_approver",
24052
+ "trainee",
24053
+ "trainer"
24054
+ ]);
24055
+ var SignatureCaptureContextSchema = external_exports.discriminatedUnion("type", [
24056
+ external_exports.object({
24057
+ type: external_exports.literal("release"),
24058
+ id: external_exports.string().min(1)
24059
+ }),
24060
+ external_exports.object({
24061
+ type: external_exports.literal("design_review"),
24062
+ id: external_exports.string().min(1)
24063
+ }),
24064
+ external_exports.object({
24065
+ type: external_exports.literal("dco"),
24066
+ id: external_exports.string().min(1)
24067
+ }),
24068
+ external_exports.object({
24069
+ type: external_exports.literal("document_signoff"),
24070
+ id: external_exports.string().min(1)
24071
+ }),
24072
+ external_exports.object({
24073
+ type: external_exports.literal("nonconformance"),
24074
+ id: external_exports.string().min(1)
24075
+ }),
24076
+ external_exports.object({
24077
+ type: external_exports.literal("complaint"),
24078
+ id: external_exports.string().min(1)
24079
+ }),
24080
+ external_exports.object({
24081
+ type: external_exports.literal("training_completion"),
24082
+ id: external_exports.string().min(1)
24083
+ }),
24084
+ external_exports.object({
24085
+ type: external_exports.literal("training_signoff"),
24086
+ id: external_exports.string().min(1)
24087
+ })
24088
+ ]);
24089
+ var CreateDocumentSignatureRequestSchema = external_exports.object({
24090
+ signatureType: DocumentSignatureTypeSchema,
24091
+ meaning: external_exports.string().min(1).max(500),
24092
+ capturedDuring: SignatureCaptureContextSchema,
24093
+ reason: external_exports.string().max(500).optional(),
24094
+ /** Fresh Firebase ID token for per-signature re-authentication (Part 11 §11.200) */
24095
+ idToken: external_exports.string().min(1).optional(),
24096
+ /** Part 11: ID of the ERSD version the signer accepted */
24097
+ ersdDisclosureId: external_exports.string().min(1),
24098
+ /** Part 11: ISO date string when the signer accepted the ERSD */
24099
+ ersdAcceptedAt: external_exports.string().datetime()
24100
+ });
24101
+ var SignatureDocumentCommitParamSchema = external_exports.object({
24102
+ orgId: external_exports.string().min(1),
24103
+ docId: external_exports.string().min(1),
24104
+ commitSha: external_exports.string().min(1)
24105
+ });
24106
+ var SignatureDocumentIdParamSchema = external_exports.object({
24107
+ orgId: external_exports.string().min(1),
24108
+ docId: external_exports.string().min(1)
24109
+ });
24110
+ var DocumentSignatureResponseSchema = external_exports.object({
24111
+ id: external_exports.string(),
24112
+ organizationId: external_exports.string(),
24113
+ documentId: external_exports.string(),
24114
+ commitSha: external_exports.string(),
24115
+ userId: external_exports.string(),
24116
+ userEmail: external_exports.string(),
24117
+ userDisplayName: external_exports.string(),
24118
+ userDepartment: external_exports.string(),
24119
+ signatureType: DocumentSignatureTypeSchema,
24120
+ meaning: external_exports.string(),
24121
+ contentHash: external_exports.string().optional(),
24122
+ timestamp: external_exports.string(),
24123
+ capturedDuring: SignatureCaptureContextSchema
24124
+ });
24125
+ var DocumentSignaturesListResponseSchema = external_exports.object({
24126
+ signatures: external_exports.array(DocumentSignatureResponseSchema)
24127
+ });
24128
+ var DocumentSignatureHistoryItemSchema = external_exports.object({
24129
+ commitSha: external_exports.string(),
24130
+ signatures: external_exports.array(DocumentSignatureResponseSchema)
24131
+ });
24132
+ var DocumentSignatureHistoryResponseSchema = external_exports.object({
24133
+ documentId: external_exports.string(),
24134
+ history: external_exports.array(DocumentSignatureHistoryItemSchema)
24135
+ });
24136
+ var CreateDocumentSignatureResponseSchema = external_exports.object({
24137
+ signatureId: external_exports.string()
24138
+ });
24139
+ var GitHubCommitAuthorSchema = external_exports.object({
24140
+ email: external_exports.string(),
24141
+ name: external_exports.string()
24142
+ });
24143
+ var GitHubPushCommitSchema = external_exports.object({
24144
+ id: external_exports.string(),
24145
+ message: external_exports.string(),
24146
+ author: GitHubCommitAuthorSchema,
24147
+ added: external_exports.array(external_exports.string()),
24148
+ modified: external_exports.array(external_exports.string()),
24149
+ removed: external_exports.array(external_exports.string())
24150
+ });
24151
+ var GitHubWebhookRepositorySchema = external_exports.object({
24152
+ id: external_exports.number(),
24153
+ full_name: external_exports.string()
24154
+ });
24155
+ var GitHubInstallationSchema = external_exports.object({
24156
+ id: external_exports.number()
24157
+ });
24158
+ var GitHubAccountSchema = external_exports.object({
24159
+ login: external_exports.string(),
24160
+ type: external_exports.string()
24161
+ });
24162
+ var GitHubPushEventSchema = external_exports.object({
24163
+ ref: external_exports.string(),
24164
+ before: external_exports.string(),
24165
+ after: external_exports.string(),
24166
+ repository: GitHubWebhookRepositorySchema,
24167
+ installation: GitHubInstallationSchema.optional(),
24168
+ commits: external_exports.array(GitHubPushCommitSchema)
24169
+ });
24170
+ var GitHubInstallationEventSchema = external_exports.object({
24171
+ action: external_exports.enum(["created", "deleted", "suspend", "unsuspend"]),
24172
+ installation: external_exports.object({
24173
+ id: external_exports.number(),
24174
+ account: GitHubAccountSchema
24175
+ }),
24176
+ repositories: external_exports.array(external_exports.object({
24177
+ id: external_exports.number(),
24178
+ full_name: external_exports.string()
24179
+ })).optional()
24180
+ });
24181
+ var GitHubInstallationRepositoriesEventSchema = external_exports.object({
24182
+ action: external_exports.enum(["added", "removed"]),
24183
+ installation: external_exports.object({
24184
+ id: external_exports.number(),
24185
+ account: GitHubAccountSchema
24186
+ }),
24187
+ repositories_added: external_exports.array(external_exports.object({
24188
+ id: external_exports.number(),
24189
+ full_name: external_exports.string()
24190
+ })),
24191
+ repositories_removed: external_exports.array(external_exports.object({
24192
+ id: external_exports.number(),
24193
+ full_name: external_exports.string()
24194
+ }))
24195
+ });
24196
+ var GitHubWebhookHeadersSchema = external_exports.object({
24197
+ "x-github-event": external_exports.string(),
24198
+ "x-github-delivery": external_exports.string(),
24199
+ "x-hub-signature-256": external_exports.string().optional()
24200
+ });
24201
+ var CompleteGitHubInstallationRequestSchema = external_exports.object({
24202
+ organizationId: external_exports.string().min(1),
24203
+ installationId: external_exports.number().int().positive()
24204
+ });
24205
+ var ListGitHubRepositoriesRequestSchema = external_exports.object({
24206
+ organizationId: external_exports.string().min(1)
24207
+ });
24208
+ var GitHubInstallationRepoSchema = external_exports.object({
24209
+ id: external_exports.number(),
24210
+ full_name: external_exports.string(),
24211
+ name: external_exports.string(),
24212
+ owner: external_exports.string(),
24213
+ default_branch: external_exports.string()
24214
+ });
24215
+ var ListGitHubRepositoriesResponseSchema = external_exports.object({
24216
+ repositories: external_exports.array(GitHubInstallationRepoSchema),
24217
+ installed: external_exports.boolean(),
24218
+ gitHubOrgName: external_exports.string().optional()
24219
+ });
24220
+ var CompleteGitHubInstallationResponseSchema = external_exports.object({
24221
+ success: external_exports.boolean()
24222
+ });
24223
+ var TrainingTypeSchema = external_exports.enum(["quiz", "acknowledge", "instructor_led"]);
24224
+ var TrainingStatusSchema = external_exports.enum(["pending", "in_progress", "completed", "overdue"]);
24225
+ var TrainingOrgParamSchema = external_exports.object({
24226
+ orgId: external_exports.string().min(1)
24227
+ });
24228
+ var TrainingTaskParamSchema = external_exports.object({
24229
+ orgId: external_exports.string().min(1),
24230
+ taskId: external_exports.string().min(1)
24231
+ });
24232
+ var MyTrainingQuerySchema = external_exports.object({
24233
+ status: TrainingStatusSchema.optional(),
24234
+ documentId: external_exports.string().optional()
24235
+ });
24236
+ var TrainingDashboardQuerySchema = external_exports.object({
24237
+ status: TrainingStatusSchema.optional(),
24238
+ memberId: external_exports.string().optional(),
24239
+ documentId: external_exports.string().optional()
24240
+ });
24241
+ var StartTrainingRequestSchema = external_exports.object({});
24242
+ var SubmitQuizRequestSchema = external_exports.object({
24243
+ sessionId: external_exports.string().min(1),
24244
+ answers: external_exports.record(external_exports.string(), external_exports.union([external_exports.number(), external_exports.array(external_exports.number()), external_exports.boolean()]))
24245
+ });
24246
+ var AcknowledgeTrainingRequestSchema = external_exports.object({
24247
+ meaning: external_exports.string().min(1).max(500)
24248
+ });
24249
+ var BatchSignoffRequestSchema = external_exports.object({
24250
+ taskIds: external_exports.array(external_exports.string().min(1)).min(1),
24251
+ evidenceUrl: external_exports.string().url(),
24252
+ evidenceHash: external_exports.string().min(1),
24253
+ meaning: external_exports.string().min(1).max(500)
24254
+ });
24255
+ var QuizOptionSchema = external_exports.object({
24256
+ text: external_exports.string().min(1),
24257
+ correct: external_exports.boolean().optional(),
24258
+ explanation: external_exports.string().optional()
24259
+ });
24260
+ var QuizQuestionSchema = external_exports.object({
24261
+ type: external_exports.enum(["single-choice", "multi-choice", "true-false"]),
24262
+ text: external_exports.string().min(1),
24263
+ options: external_exports.array(QuizOptionSchema).optional(),
24264
+ correct: external_exports.boolean().optional(),
24265
+ explanation: external_exports.string().optional()
24266
+ });
24267
+ var QuizDefinitionSchema = external_exports.object({
24268
+ passingScore: external_exports.number().min(0).max(100).optional(),
24269
+ questions: external_exports.array(QuizQuestionSchema).min(1)
24270
+ });
24271
+ var CreateTrainingTaskRequestSchema = external_exports.object({
24272
+ memberId: external_exports.string().min(1),
24273
+ documentId: external_exports.string().min(1),
24274
+ documentVersion: external_exports.string().min(1),
24275
+ trainingType: TrainingTypeSchema,
24276
+ dueDays: external_exports.number().int().positive().optional(),
24277
+ /** Required for quiz-type training. Stored server-side for scoring. */
24278
+ quizDefinition: QuizDefinitionSchema.optional()
24279
+ });
24280
+ var UpdateTrainingSettingsRequestSchema = external_exports.object({
24281
+ defaultDueDays: external_exports.number().int().positive().optional(),
24282
+ passingScorePercent: external_exports.number().int().min(0).max(100).optional()
24283
+ });
24284
+ var BulkAssignTrainingRequestSchema = external_exports.object({
24285
+ department: external_exports.string().min(1),
24286
+ documentId: external_exports.string().min(1),
24287
+ documentVersion: external_exports.string().min(1),
24288
+ trainingType: TrainingTypeSchema,
24289
+ dueDays: external_exports.number().int().positive().optional()
24290
+ });
24291
+ var TrainingTaskResponseSchema = external_exports.object({
24292
+ id: external_exports.string(),
24293
+ organizationId: external_exports.string(),
24294
+ memberId: external_exports.string(),
24295
+ memberName: external_exports.string(),
24296
+ memberEmail: external_exports.string(),
24297
+ documentId: external_exports.string(),
24298
+ documentTitle: external_exports.string(),
24299
+ documentVersion: external_exports.string(),
24300
+ trainingType: TrainingTypeSchema,
24301
+ status: TrainingStatusSchema,
24302
+ dueDate: external_exports.string(),
24303
+ createdAt: external_exports.string(),
24304
+ startedAt: external_exports.string().optional(),
24305
+ completedAt: external_exports.string().optional(),
24306
+ quizScore: external_exports.number().optional(),
24307
+ signatureId: external_exports.string().optional(),
24308
+ evidenceUrl: external_exports.string().optional()
24309
+ });
24310
+ var QuizOptionResponseSchema = external_exports.object({
24311
+ text: external_exports.string()
24312
+ });
24313
+ var QuizQuestionTypeSchema = external_exports.enum(["single_choice", "multiple_choice", "true_false"]);
24314
+ var QuizQuestionResponseSchema = external_exports.object({
24315
+ type: QuizQuestionTypeSchema,
24316
+ text: external_exports.string(),
24317
+ options: external_exports.array(QuizOptionResponseSchema).optional()
24318
+ });
24319
+ var QuizSessionResponseSchema = external_exports.object({
24320
+ sessionId: external_exports.string(),
24321
+ questions: external_exports.array(QuizQuestionResponseSchema),
24322
+ questionCount: external_exports.number(),
24323
+ passingScore: external_exports.number(),
24324
+ savedAnswers: external_exports.record(external_exports.string(), external_exports.union([external_exports.number(), external_exports.array(external_exports.number()), external_exports.boolean()])).optional()
24325
+ });
24326
+ var QuizResultResponseSchema = external_exports.object({
24327
+ passed: external_exports.boolean(),
24328
+ score: external_exports.number(),
24329
+ passingScore: external_exports.number(),
24330
+ correctCount: external_exports.number(),
24331
+ totalCount: external_exports.number(),
24332
+ explanations: external_exports.record(external_exports.string(), external_exports.string()),
24333
+ signatureRequired: external_exports.boolean()
24334
+ });
24335
+ var TrainingStatsResponseSchema = external_exports.object({
24336
+ pending: external_exports.number(),
24337
+ inProgress: external_exports.number(),
24338
+ completed: external_exports.number(),
24339
+ overdue: external_exports.number(),
24340
+ completionRate: external_exports.number()
24341
+ });
24342
+ var TrainingDashboardResponseSchema = external_exports.object({
24343
+ stats: TrainingStatsResponseSchema,
24344
+ tasks: external_exports.array(TrainingTaskResponseSchema)
24345
+ });
24346
+ var TrainingSettingsResponseSchema = external_exports.object({
24347
+ defaultDueDays: external_exports.number(),
24348
+ passingScorePercent: external_exports.number()
24349
+ });
24350
+ var BulkAssignTrainingResponseSchema = external_exports.object({
24351
+ createdCount: external_exports.number(),
24352
+ skippedCount: external_exports.number(),
24353
+ memberNames: external_exports.array(external_exports.string())
24354
+ });
24355
+ var SigningEligibilityResponseSchema = external_exports.object({
24356
+ eligible: external_exports.boolean(),
24357
+ hasIncompleteTraining: external_exports.boolean()
24358
+ });
24359
+ var SigningFieldSchema = external_exports.object({
24360
+ id: external_exports.string().min(1),
24361
+ type: FieldTypeSchema,
24362
+ assignedSignerEmail: external_exports.string().email(),
24363
+ /** 1-based page index within the PDF document. */
24364
+ page: external_exports.number().int().positive(),
24365
+ /** Field left edge as a percentage of the page width (0–100). */
24366
+ x: external_exports.number().min(0).max(100),
24367
+ /** Field top edge as a percentage of the page height (0–100). */
24368
+ y: external_exports.number().min(0).max(100),
24369
+ /** Field width as a percentage of the page width (0–100). */
24370
+ width: external_exports.number().min(0).max(100),
24371
+ /** Field height as a percentage of the page height (0–100). */
24372
+ height: external_exports.number().min(0).max(100)
24373
+ });
24374
+ var SigningDocumentInputSchema = external_exports.object({
24375
+ fileName: external_exports.string().min(1),
24376
+ storagePath: external_exports.string().startsWith("signing-uploads/"),
24377
+ fileHash: external_exports.string().min(1),
24378
+ pageCount: external_exports.number().int().positive(),
24379
+ fields: external_exports.array(SigningFieldSchema).min(1)
24380
+ });
24381
+ var SignerInputSchema = external_exports.object({
24382
+ name: external_exports.string().min(1).max(200),
24383
+ email: external_exports.string().email(),
24384
+ meaning: external_exports.string().min(1).max(500)
24385
+ });
24386
+ var SigningRequestIdParamSchema = external_exports.object({
24387
+ signingRequestId: external_exports.string().min(1)
24388
+ });
24389
+ var ListSigningRequestsQuerySchema = external_exports.object({
24390
+ organizationId: external_exports.string().min(1),
24391
+ status: SigningRequestStatusSchema.optional(),
24392
+ limit: external_exports.coerce.number().int().positive().max(100).default(50),
24393
+ offset: external_exports.coerce.number().int().nonnegative().default(0)
24394
+ });
24395
+ var GetSigningRequestQuerySchema = external_exports.object({
24396
+ organizationId: external_exports.string().min(1)
24397
+ });
24398
+ var CreateSigningRequestSchema = external_exports.object({
24399
+ organizationId: external_exports.string().min(1),
24400
+ title: external_exports.string().min(1).max(200),
24401
+ description: external_exports.string().max(2e3).optional(),
24402
+ meaning: external_exports.string().min(1).max(500),
24403
+ expiresAt: external_exports.string().datetime(),
24404
+ signingDocuments: external_exports.array(SigningDocumentInputSchema).min(1),
24405
+ signers: external_exports.array(SignerInputSchema).min(1)
24406
+ });
24407
+ var CancelSigningRequestSchema = external_exports.object({
24408
+ organizationId: external_exports.string().min(1)
24409
+ });
24410
+ var RemindSignersSchema = external_exports.object({
24411
+ organizationId: external_exports.string().min(1)
24412
+ });
24413
+ var GetSigningCeremonyParamSchema = external_exports.object({
24414
+ token: external_exports.string().min(1)
24415
+ });
24416
+ var RequestVerificationCodeSchema = external_exports.object({
24417
+ token: external_exports.string().min(1)
24418
+ });
24419
+ var CompleteSigningCeremonySchema = external_exports.object({
24420
+ token: external_exports.string().min(1),
24421
+ verificationCode: external_exports.string().length(6),
24422
+ signatureImagePath: external_exports.string().startsWith("data:"),
24423
+ initialsImagePath: external_exports.string().startsWith("data:").optional(),
24424
+ fieldValues: external_exports.array(external_exports.object({
24425
+ fieldId: external_exports.string().min(1),
24426
+ type: FieldTypeSchema,
24427
+ value: external_exports.string().min(1).refine((v) => v.startsWith("data:") || /^\d{4}-\d{2}-\d{2}/.test(v), {
24428
+ message: "Value must be a data URL or a date string"
24429
+ })
24430
+ })).min(1),
24431
+ /** Part 11: ID of the ERSD version the signer accepted — required, 400 if missing */
24432
+ ersdDisclosureId: external_exports.string().min(1),
24433
+ /** Part 11: ISO timestamp when the signer accepted the ERSD — required, 400 if missing */
24434
+ ersdAcceptedAt: external_exports.string().datetime()
24435
+ });
24436
+ var SigningFieldResponseSchema = external_exports.object({
24437
+ id: external_exports.string(),
24438
+ type: FieldTypeSchema,
24439
+ assignedSignerEmail: external_exports.string(),
24440
+ page: external_exports.number(),
24441
+ x: external_exports.number(),
24442
+ y: external_exports.number(),
24443
+ width: external_exports.number(),
24444
+ height: external_exports.number()
24445
+ });
24446
+ var SigningDocumentResponseSchema = external_exports.object({
24447
+ fileName: external_exports.string(),
24448
+ storagePath: external_exports.string(),
24449
+ fileHash: external_exports.string(),
24450
+ pageCount: external_exports.number(),
24451
+ uploadedAt: external_exports.string(),
24452
+ fields: external_exports.array(SigningFieldResponseSchema)
24453
+ });
24454
+ var SignerResponseSchema = external_exports.object({
24455
+ name: external_exports.string(),
24456
+ email: external_exports.string(),
24457
+ meaning: external_exports.string(),
24458
+ status: SignerStatusSchema,
24459
+ signedAt: external_exports.string().optional()
24460
+ });
24461
+ var SigningAuditEntryResponseSchema = external_exports.object({
24462
+ id: external_exports.string(),
24463
+ eventType: external_exports.string(),
24464
+ actor: external_exports.string(),
24465
+ timestamp: external_exports.string(),
24466
+ details: external_exports.record(external_exports.unknown()).optional()
24467
+ });
24468
+ var SigningRequestSummaryResponseSchema = external_exports.object({
24469
+ id: external_exports.string(),
24470
+ title: external_exports.string(),
24471
+ status: SigningRequestStatusSchema,
24472
+ meaning: external_exports.string(),
24473
+ signerCount: external_exports.number(),
24474
+ signedCount: external_exports.number(),
24475
+ createdAt: external_exports.string(),
24476
+ expiresAt: external_exports.string()
24477
+ });
24478
+ var SigningRequestDetailResponseSchema = SigningRequestSummaryResponseSchema.extend({
24479
+ description: external_exports.string().optional(),
24480
+ createdBy: external_exports.string(),
24481
+ createdByEmail: external_exports.string(),
24482
+ signingDocuments: external_exports.array(SigningDocumentResponseSchema),
24483
+ signers: external_exports.array(SignerResponseSchema),
24484
+ auditTrail: external_exports.array(SigningAuditEntryResponseSchema)
24485
+ });
24486
+ var ListSigningRequestsResponseSchema = external_exports.object({
24487
+ signingRequests: external_exports.array(SigningRequestSummaryResponseSchema),
24488
+ total: external_exports.number()
24489
+ });
24490
+ var CeremonyDocumentResponseSchema = SigningDocumentResponseSchema.omit({
24491
+ storagePath: true
24492
+ });
24493
+ var CeremonyERSDResponseSchema = external_exports.object({
24494
+ id: external_exports.string(),
24495
+ content: external_exports.string(),
24496
+ version: external_exports.string()
24497
+ });
24498
+ var SigningCeremonyResponseSchema = external_exports.object({
24499
+ organizationName: external_exports.string(),
24500
+ title: external_exports.string(),
24501
+ description: external_exports.string().optional(),
24502
+ meaning: external_exports.string(),
24503
+ signerName: external_exports.string(),
24504
+ signerEmail: external_exports.string(),
24505
+ status: external_exports.enum(["ready", "already_signed", "expired", "cancelled"]),
24506
+ signingDocuments: external_exports.array(CeremonyDocumentResponseSchema),
24507
+ /** Only fields assigned to this signer */
24508
+ fields: external_exports.array(SigningFieldResponseSchema),
24509
+ /** Part 11: Electronic Record and Signature Disclosure — must be accepted before signing */
24510
+ ersd: CeremonyERSDResponseSchema
24511
+ });
24512
+ var DownloadSignedPdfResponseSchema = external_exports.object({
24513
+ downloadUrl: external_exports.string().url()
24514
+ });
24515
+ var NotificationTypeSchema = external_exports.enum([
24516
+ "training_assigned",
24517
+ "training_overdue",
24518
+ "release_submitted_for_review",
24519
+ "release_published",
24520
+ "signature_requested",
24521
+ "capa_overdue",
24522
+ "nc_overdue",
24523
+ "complaint_overdue",
24524
+ "action_overdue",
24525
+ "objective_threshold_breach",
24526
+ "review_due_soon",
24527
+ "review_auto_drafted",
24528
+ "review_overdue"
24529
+ ]);
24530
+ var NotificationOrgParamSchema = external_exports.object({
24531
+ orgId: external_exports.string().min(1)
24532
+ });
24533
+ var NotificationIdParamSchema = external_exports.object({
24534
+ orgId: external_exports.string().min(1),
24535
+ notificationId: external_exports.string().min(1)
24536
+ });
24537
+ var NotificationQuerySchema = external_exports.object({
24538
+ unreadOnly: external_exports.enum(["true", "false"]).optional(),
24539
+ type: NotificationTypeSchema.optional(),
24540
+ limit: external_exports.coerce.number().int().positive().max(100).optional()
24541
+ });
24542
+ var NotificationResponseSchema = external_exports.object({
24543
+ id: external_exports.string(),
24544
+ type: NotificationTypeSchema,
24545
+ title: external_exports.string(),
24546
+ body: external_exports.string(),
24547
+ resourceType: external_exports.string(),
24548
+ resourceId: external_exports.string(),
24549
+ deepLink: external_exports.string(),
24550
+ read: external_exports.boolean(),
24551
+ createdAt: external_exports.string()
24552
+ });
24553
+ var NotificationListResponseSchema = external_exports.object({
24554
+ notifications: external_exports.array(NotificationResponseSchema),
24555
+ unreadCount: external_exports.number()
24556
+ });
24557
+ var CreateCheckoutSessionRequestSchema = external_exports.object({
24558
+ organizationId: external_exports.string().min(1)
24559
+ });
24560
+ var CreatePortalSessionRequestSchema = external_exports.object({
24561
+ organizationId: external_exports.string().min(1)
24562
+ });
24563
+ var MonthlyCountSchema = external_exports.object({
24564
+ month: external_exports.string(),
24565
+ // 'YYYY-MM'
24566
+ opened: external_exports.number(),
24567
+ closed: external_exports.number()
24568
+ });
24569
+ var CapaMetricsSchema = external_exports.object({
24570
+ total: external_exports.number(),
24571
+ byStatus: external_exports.record(external_exports.string(), external_exports.number()),
24572
+ overdue: external_exports.number(),
24573
+ avgCycleTimeDays: external_exports.number().nullable(),
24574
+ trend: external_exports.array(MonthlyCountSchema)
24575
+ });
24576
+ var NcMetricsSchema = external_exports.object({
24577
+ total: external_exports.number(),
24578
+ byStatus: external_exports.record(external_exports.string(), external_exports.number()),
24579
+ bySeverity: external_exports.record(external_exports.string(), external_exports.number()),
24580
+ overdue: external_exports.number(),
24581
+ avgCycleTimeDays: external_exports.number().nullable(),
24582
+ trend: external_exports.array(MonthlyCountSchema)
24583
+ });
24584
+ var ComplaintMetricsSchema = external_exports.object({
24585
+ total: external_exports.number(),
24586
+ byStatus: external_exports.record(external_exports.string(), external_exports.number()),
24587
+ bySeverity: external_exports.record(external_exports.string(), external_exports.number()),
24588
+ overdue: external_exports.number(),
24589
+ reportableCount: external_exports.number(),
24590
+ avgCycleTimeDays: external_exports.number().nullable(),
24591
+ trend: external_exports.array(MonthlyCountSchema)
24592
+ });
24593
+ var TrainingMetricsSchema = external_exports.object({
24594
+ totalTasks: external_exports.number(),
24595
+ complianceRate: external_exports.number(),
24596
+ // 0-100
24597
+ byStatus: external_exports.record(external_exports.string(), external_exports.number()),
24598
+ overdue: external_exports.number()
24599
+ });
24600
+ var ReleaseMetricsSchema = external_exports.object({
24601
+ total: external_exports.number(),
24602
+ byStatus: external_exports.record(external_exports.string(), external_exports.number()),
24603
+ avgCycleTimeDays: external_exports.number().nullable()
24604
+ });
24605
+ var AuditMetricsSchema = external_exports.object({
24606
+ totalSchedules: external_exports.number(),
24607
+ totalReports: external_exports.number(),
24608
+ findingsMajor: external_exports.number(),
24609
+ findingsMinor: external_exports.number(),
24610
+ findingsObservations: external_exports.number()
24611
+ });
24612
+ var QualityMetricsResponseSchema = external_exports.object({
24613
+ generatedAt: external_exports.string(),
24614
+ period: external_exports.object({
24615
+ from: external_exports.string(),
24616
+ to: external_exports.string()
24617
+ }),
24618
+ capas: CapaMetricsSchema,
24619
+ nonconformances: NcMetricsSchema,
24620
+ complaints: ComplaintMetricsSchema,
24621
+ training: TrainingMetricsSchema,
24622
+ releases: ReleaseMetricsSchema,
24623
+ audits: AuditMetricsSchema
24624
+ });
24625
+ var QualityMetricsQuerySchema = external_exports.object({
24626
+ period: external_exports.enum(["30d", "90d", "365d"]).optional().default("90d")
24627
+ });
24628
+ var ApiKeyOrgParamSchema = external_exports.object({
24629
+ orgId: external_exports.string().min(1)
24630
+ });
24631
+ var ApiKeyIdParamSchema = external_exports.object({
24632
+ orgId: external_exports.string().min(1),
24633
+ apiKeyId: external_exports.string().min(1)
24634
+ });
24635
+ var CreateApiKeyRequestSchema = external_exports.object({
24636
+ name: external_exports.string().min(1).max(100)
24637
+ });
24638
+ var ApiKeyResponseSchema = external_exports.object({
24639
+ id: external_exports.string(),
24640
+ name: external_exports.string(),
24641
+ prefix: external_exports.string(),
24642
+ createdAt: external_exports.string(),
24643
+ lastUsedAt: external_exports.string().nullable(),
24644
+ createdBy: external_exports.string(),
24645
+ createdByEmail: external_exports.string()
24646
+ });
24647
+ var CreateApiKeyResponseSchema = external_exports.object({
24648
+ id: external_exports.string(),
24649
+ name: external_exports.string(),
24650
+ key: external_exports.string(),
24651
+ prefix: external_exports.string(),
24652
+ createdAt: external_exports.string()
24653
+ });
24654
+ var ApiKeyListResponseSchema = external_exports.object({
24655
+ keys: external_exports.array(ApiKeyResponseSchema)
24656
+ });
24657
+ var CompliancePackageStatusEnum = external_exports.enum([
24658
+ "pending",
24659
+ "in_progress",
24660
+ "completed",
24661
+ "failed"
24662
+ ]);
24663
+ var CompliancePackageSectionEnum = external_exports.enum([
24664
+ "system_description",
24665
+ "electronic_signatures",
24666
+ "audit_trails",
24667
+ "access_controls",
24668
+ "change_control",
24669
+ "dhr_attestation",
24670
+ "compiled_documents"
24671
+ ]);
24672
+ var ComplianceOrgParamSchema = external_exports.object({
24673
+ orgId: external_exports.string().min(1)
24674
+ });
24675
+ var CompliancePackageParamSchema = external_exports.object({
24676
+ orgId: external_exports.string().min(1),
24677
+ packageId: external_exports.string().min(1)
24678
+ });
24679
+ var GenerateCompliancePackageRequestSchema = external_exports.object({
24680
+ /** Safety class determines which sections and depth of evidence to include */
24681
+ safetyClass: SafetyClassSchema,
24682
+ /** Sections to include; defaults to all if omitted */
24683
+ sections: external_exports.array(CompliancePackageSectionEnum).min(1).optional(),
24684
+ /** Optional date range filter for audit trail entries */
24685
+ auditTrailFrom: external_exports.string().datetime().optional(),
24686
+ auditTrailTo: external_exports.string().datetime().optional(),
24687
+ /** Optional release ID to scope signatures and change control to a specific release */
24688
+ releaseId: external_exports.string().optional()
24689
+ });
24690
+ var CompliancePackageResponseSchema = external_exports.object({
24691
+ id: external_exports.string(),
24692
+ organizationId: external_exports.string(),
24693
+ status: CompliancePackageStatusEnum,
24694
+ safetyClass: SafetyClassSchema,
24695
+ sections: external_exports.array(CompliancePackageSectionEnum),
24696
+ /** Requesting member info */
24697
+ requestedById: external_exports.string(),
24698
+ requestedByName: external_exports.string(),
24699
+ requestedAt: external_exports.string(),
24700
+ /** Completion timestamps */
24701
+ completedAt: external_exports.string().optional(),
24702
+ /** Expiry for the download URL */
24703
+ downloadExpiresAt: external_exports.string().optional(),
24704
+ /** Error message — only present when status is 'failed' */
24705
+ errorMessage: external_exports.string().optional(),
24706
+ /** Optional scoping filters used during generation */
24707
+ releaseId: external_exports.string().optional(),
24708
+ auditTrailFrom: external_exports.string().optional(),
24709
+ auditTrailTo: external_exports.string().optional()
24710
+ });
24711
+ var CompliancePackageListResponseSchema = external_exports.object({
24712
+ packages: external_exports.array(CompliancePackageResponseSchema)
24713
+ });
24714
+ var ValidationPackageResponseSchema = external_exports.object({
24715
+ downloadUrl: external_exports.string().url(),
24716
+ version: external_exports.string(),
24717
+ lastUpdated: external_exports.string()
24718
+ });
24719
+ var ReadinessSeveritySchema = external_exports.enum(["error", "warning", "info"]);
24720
+ var ReadinessItemSchema = external_exports.object({
24721
+ severity: ReadinessSeveritySchema,
24722
+ message: external_exports.string(),
24723
+ documentId: external_exports.string().optional(),
24724
+ releaseId: external_exports.string().optional(),
24725
+ action: external_exports.string()
24726
+ });
24727
+ var ReadinessDimensionSchema = external_exports.object({
24728
+ name: external_exports.string(),
24729
+ score: external_exports.number().min(0).max(100),
24730
+ weight: external_exports.number().min(0).max(1),
24731
+ details: external_exports.string(),
24732
+ items: external_exports.array(ReadinessItemSchema)
24733
+ });
24734
+ var ComplianceReadinessResponseSchema = external_exports.object({
24735
+ overallScore: external_exports.number().min(0).max(100),
24736
+ calculatedAt: external_exports.string(),
24737
+ dimensions: external_exports.array(ReadinessDimensionSchema)
24738
+ });
24739
+ var ACTION_STATUSES = ["open", "in_progress", "completed", "cancelled"];
24740
+ var ACTION_PRIORITIES = ["low", "medium", "high", "critical"];
24741
+ var ACTION_SOURCE_TYPES = [
24742
+ "capa",
24743
+ "nonconformance",
24744
+ "complaint",
24745
+ "management_review",
24746
+ "custom_review",
24747
+ "audit_finding",
24748
+ "quality_objective"
24749
+ ];
24750
+ var ActionSourceSchema = external_exports.object({
24751
+ type: external_exports.enum(ACTION_SOURCE_TYPES),
24752
+ id: external_exports.string().min(1),
24753
+ displayNumber: external_exports.string().optional()
24754
+ });
24755
+ var CreateActionRequestSchema = external_exports.object({
24756
+ title: external_exports.string().min(1).max(200),
24757
+ description: external_exports.string().min(1).max(5e3),
24758
+ source: ActionSourceSchema,
24759
+ assigneeDepartment: external_exports.string().min(1),
24760
+ assigneeDepartmentRole: external_exports.enum(["manager", "member"]),
24761
+ assigneeId: external_exports.string().optional(),
24762
+ priority: external_exports.enum(ACTION_PRIORITIES),
24763
+ dueDate: external_exports.string().datetime()
24764
+ });
24765
+ var UpdateActionRequestSchema = external_exports.object({
24766
+ title: external_exports.string().min(1).max(200).optional(),
24767
+ description: external_exports.string().min(1).max(5e3).optional(),
24768
+ assigneeDepartment: external_exports.string().min(1).optional(),
24769
+ assigneeDepartmentRole: external_exports.enum(["manager", "member"]).optional(),
24770
+ assigneeId: external_exports.string().nullable().optional(),
24771
+ priority: external_exports.enum(ACTION_PRIORITIES).optional(),
24772
+ dueDate: external_exports.string().datetime().optional(),
24773
+ notes: external_exports.string().max(5e3).optional()
24774
+ });
24775
+ var ListActionsQuerySchema = external_exports.object({
24776
+ sourceType: external_exports.enum(ACTION_SOURCE_TYPES).optional(),
24777
+ sourceId: external_exports.string().optional(),
24778
+ status: external_exports.enum(ACTION_STATUSES).optional(),
24779
+ assigneeDepartment: external_exports.string().optional(),
24780
+ priority: external_exports.enum(ACTION_PRIORITIES).optional(),
24781
+ page: external_exports.coerce.number().int().positive().default(1),
24782
+ limit: external_exports.coerce.number().int().positive().max(100).default(20)
24783
+ });
24784
+ var CompleteActionRequestSchema = external_exports.object({
24785
+ notes: external_exports.string().max(5e3).optional()
24786
+ });
24787
+ var QmsActionParamSchema = external_exports.object({
24788
+ orgId: external_exports.string().min(1),
24789
+ qmsId: external_exports.string().min(1)
24790
+ });
24791
+ var ActionIdParamSchema = external_exports.object({
24792
+ orgId: external_exports.string().min(1),
24793
+ qmsId: external_exports.string().min(1),
24794
+ actionId: external_exports.string().min(1)
24795
+ });
24796
+ var ActionResponseSchema = external_exports.object({
24797
+ id: external_exports.string(),
24798
+ actionNumber: external_exports.string(),
24799
+ title: external_exports.string(),
24800
+ description: external_exports.string(),
24801
+ source: external_exports.object({
24802
+ type: external_exports.enum(ACTION_SOURCE_TYPES),
24803
+ id: external_exports.string(),
24804
+ displayNumber: external_exports.string().optional()
24805
+ }),
24806
+ assigneeDepartment: external_exports.string(),
24807
+ assigneeDepartmentRole: external_exports.enum(["manager", "member"]),
24808
+ assigneeId: external_exports.string().nullable(),
24809
+ priority: external_exports.enum(ACTION_PRIORITIES),
24810
+ dueDate: external_exports.string(),
24811
+ status: external_exports.enum(ACTION_STATUSES),
24812
+ isOverdue: external_exports.boolean(),
24813
+ completedAt: external_exports.string().nullable(),
24814
+ completedBy: external_exports.string().nullable(),
24815
+ notes: external_exports.string().nullable(),
24816
+ createdAt: external_exports.string(),
24817
+ createdBy: external_exports.string(),
24818
+ updatedAt: external_exports.string()
24819
+ });
24820
+ var ListActionsResponseSchema = external_exports.object({
24821
+ items: external_exports.array(ActionResponseSchema),
24822
+ total: external_exports.number(),
24823
+ page: external_exports.number(),
24824
+ limit: external_exports.number(),
24825
+ hasMore: external_exports.boolean()
24826
+ });
24827
+ var OBJECTIVE_TYPES = ["auto", "manual"];
24828
+ var OBJECTIVE_STATUSES = ["on_track", "at_risk", "off_target", "not_started"];
24829
+ var OBJECTIVE_DIRECTIONS = ["above", "below"];
24830
+ var OBJECTIVE_CADENCES = ["monthly", "quarterly", "annual"];
24831
+ var AUTO_METRIC_SOURCES = [
24832
+ "capa.avgCycleTimeDays",
24833
+ "capa.overdueCount",
24834
+ "capa.openCount",
24835
+ "nonconformance.avgCycleTimeDays",
24836
+ "nonconformance.overdueCount",
24837
+ "nonconformance.openCount",
24838
+ "complaint.avgCycleTimeDays",
24839
+ "complaint.overdueCount",
24840
+ "complaint.reportableCount",
24841
+ "training.complianceRate",
24842
+ "training.overdueCount",
24843
+ "release.avgCycleTimeDays",
24844
+ "audit.findingsMajor",
24845
+ "audit.findingsMinor"
24846
+ ];
24847
+ var AlertRecipientSchema = external_exports.object({
24848
+ department: external_exports.string().min(1),
24849
+ departmentRole: external_exports.enum(["manager", "member"])
24850
+ });
24851
+ var CreateQualityObjectiveRequestSchema = external_exports.object({
24852
+ title: external_exports.string().min(1).max(200),
24853
+ description: external_exports.string().min(1).max(5e3),
24854
+ type: external_exports.enum(OBJECTIVE_TYPES),
24855
+ metricSource: external_exports.enum(AUTO_METRIC_SOURCES).optional(),
24856
+ unit: external_exports.string().min(1).max(50),
24857
+ target: external_exports.number(),
24858
+ direction: external_exports.enum(OBJECTIVE_DIRECTIONS),
24859
+ warningThreshold: external_exports.number(),
24860
+ ownerDepartment: external_exports.string().min(1),
24861
+ ownerDepartmentRole: external_exports.enum(["manager", "member"]),
24862
+ alertRecipients: external_exports.array(AlertRecipientSchema).default([]),
24863
+ reviewCadence: external_exports.enum(OBJECTIVE_CADENCES),
24864
+ effectiveDate: external_exports.string().datetime(),
24865
+ targetDate: external_exports.string().datetime().optional()
24866
+ });
24867
+ var UpdateQualityObjectiveRequestSchema = external_exports.object({
24868
+ title: external_exports.string().min(1).max(200).optional(),
24869
+ description: external_exports.string().min(1).max(5e3).optional(),
24870
+ unit: external_exports.string().min(1).max(50).optional(),
24871
+ target: external_exports.number().optional(),
24872
+ direction: external_exports.enum(OBJECTIVE_DIRECTIONS).optional(),
24873
+ warningThreshold: external_exports.number().optional(),
24874
+ ownerDepartment: external_exports.string().min(1).optional(),
24875
+ ownerDepartmentRole: external_exports.enum(["manager", "member"]).optional(),
24876
+ alertRecipients: external_exports.array(AlertRecipientSchema).optional(),
24877
+ reviewCadence: external_exports.enum(OBJECTIVE_CADENCES).optional(),
24878
+ targetDate: external_exports.string().datetime().nullable().optional()
24879
+ });
24880
+ var RecordObjectiveValueRequestSchema = external_exports.object({
24881
+ value: external_exports.number(),
24882
+ note: external_exports.string().max(1e3).optional()
24883
+ });
24884
+ var ListQualityObjectivesQuerySchema = external_exports.object({
24885
+ type: external_exports.enum(OBJECTIVE_TYPES).optional(),
24886
+ status: external_exports.enum(OBJECTIVE_STATUSES).optional(),
24887
+ isActive: external_exports.enum(["true", "false"]).transform((v) => v === "true").optional(),
24888
+ page: external_exports.coerce.number().int().positive().default(1),
24889
+ limit: external_exports.coerce.number().int().positive().max(100).default(20)
24890
+ });
24891
+ var QmsObjectiveParamSchema = external_exports.object({
24892
+ orgId: external_exports.string().min(1),
24893
+ qmsId: external_exports.string().min(1)
24894
+ });
24895
+ var ObjectiveIdParamSchema = external_exports.object({
24896
+ orgId: external_exports.string().min(1),
24897
+ qmsId: external_exports.string().min(1),
24898
+ objectiveId: external_exports.string().min(1)
24899
+ });
24900
+ var QualityObjectiveSnapshotResponseSchema = external_exports.object({
24901
+ id: external_exports.string(),
24902
+ value: external_exports.number(),
24903
+ status: external_exports.enum(OBJECTIVE_STATUSES),
24904
+ source: external_exports.enum(["auto", "manual", "review"]),
24905
+ reviewId: external_exports.string().nullable(),
24906
+ capturedAt: external_exports.string(),
24907
+ capturedBy: external_exports.string().nullable()
24908
+ });
24909
+ var QualityObjectiveResponseSchema = external_exports.object({
24910
+ id: external_exports.string(),
24911
+ objectiveNumber: external_exports.string(),
24912
+ title: external_exports.string(),
24913
+ description: external_exports.string(),
24914
+ type: external_exports.enum(OBJECTIVE_TYPES),
24915
+ metricSource: external_exports.enum(AUTO_METRIC_SOURCES).nullable(),
24916
+ unit: external_exports.string(),
24917
+ target: external_exports.number(),
24918
+ direction: external_exports.enum(OBJECTIVE_DIRECTIONS),
24919
+ warningThreshold: external_exports.number(),
24920
+ currentValue: external_exports.number().nullable(),
24921
+ currentValueUpdatedAt: external_exports.string().nullable(),
24922
+ status: external_exports.enum(OBJECTIVE_STATUSES),
24923
+ ownerDepartment: external_exports.string(),
24924
+ ownerDepartmentRole: external_exports.enum(["manager", "member"]),
24925
+ alertRecipients: external_exports.array(external_exports.object({
24926
+ department: external_exports.string(),
24927
+ departmentRole: external_exports.enum(["manager", "member"])
24928
+ })),
24929
+ reviewCadence: external_exports.enum(OBJECTIVE_CADENCES),
24930
+ effectiveDate: external_exports.string(),
24931
+ targetDate: external_exports.string().nullable(),
24932
+ isActive: external_exports.boolean(),
24933
+ createdAt: external_exports.string(),
24934
+ createdBy: external_exports.string(),
24935
+ updatedAt: external_exports.string(),
24936
+ // Optional: included when fetching detail with snapshots
24937
+ recentSnapshots: external_exports.array(QualityObjectiveSnapshotResponseSchema).optional()
24938
+ });
24939
+ var ListQualityObjectivesResponseSchema = external_exports.object({
24940
+ items: external_exports.array(QualityObjectiveResponseSchema),
24941
+ total: external_exports.number(),
24942
+ page: external_exports.number(),
24943
+ limit: external_exports.number(),
24944
+ hasMore: external_exports.boolean()
24945
+ });
24946
+ var REVIEW_STATUSES = [
24947
+ "scheduled",
24948
+ "draft",
24949
+ "in_progress",
24950
+ "completed",
24951
+ "cancelled"
24952
+ ];
24953
+ var REVIEW_CADENCES = ["monthly", "quarterly", "semi_annual", "annual"];
24954
+ var REVIEW_DATA_SOURCES = [
24955
+ "capas",
24956
+ "nonconformances",
24957
+ "complaints",
24958
+ "training",
24959
+ "releases",
24960
+ "audits"
24961
+ ];
24962
+ var CreateReviewTypeRequestSchema = external_exports.object({
24963
+ name: external_exports.string().min(1).max(200),
24964
+ dataSources: external_exports.array(external_exports.enum(REVIEW_DATA_SOURCES)).min(1),
24965
+ requiredSections: external_exports.array(external_exports.string().min(1)).default([]),
24966
+ ownerDepartment: external_exports.string().min(1),
24967
+ ownerDepartmentRole: external_exports.enum(["manager", "member"]),
24968
+ cadence: external_exports.enum(REVIEW_CADENCES),
24969
+ advanceNotificationDays: external_exports.number().int().min(1).max(30).default(7),
24970
+ includeObjectives: external_exports.boolean().default(false)
24971
+ });
24972
+ var UpdateReviewTypeRequestSchema = external_exports.object({
24973
+ name: external_exports.string().min(1).max(200).optional(),
24974
+ dataSources: external_exports.array(external_exports.enum(REVIEW_DATA_SOURCES)).min(1).optional(),
24975
+ requiredSections: external_exports.array(external_exports.string().min(1)).optional(),
24976
+ ownerDepartment: external_exports.string().min(1).optional(),
24977
+ ownerDepartmentRole: external_exports.enum(["manager", "member"]).optional(),
24978
+ cadence: external_exports.enum(REVIEW_CADENCES).optional(),
24979
+ advanceNotificationDays: external_exports.number().int().min(1).max(30).optional(),
24980
+ includeObjectives: external_exports.boolean().optional()
24981
+ });
24982
+ var QmsReviewTypeParamSchema = external_exports.object({
24983
+ orgId: external_exports.string().min(1),
24984
+ qmsId: external_exports.string().min(1)
24985
+ });
24986
+ var ReviewTypeIdParamSchema = external_exports.object({
24987
+ orgId: external_exports.string().min(1),
24988
+ qmsId: external_exports.string().min(1),
24989
+ reviewTypeId: external_exports.string().min(1)
24990
+ });
24991
+ var ReviewTypeResponseSchema = external_exports.object({
24992
+ id: external_exports.string(),
24993
+ name: external_exports.string(),
24994
+ isBuiltIn: external_exports.boolean(),
24995
+ dataSources: external_exports.array(external_exports.enum(REVIEW_DATA_SOURCES)),
24996
+ requiredSections: external_exports.array(external_exports.string()),
24997
+ ownerDepartment: external_exports.string(),
24998
+ ownerDepartmentRole: external_exports.enum(["manager", "member"]),
24999
+ cadence: external_exports.enum(REVIEW_CADENCES),
25000
+ advanceNotificationDays: external_exports.number(),
25001
+ includeObjectives: external_exports.boolean(),
25002
+ isActive: external_exports.boolean(),
25003
+ createdAt: external_exports.string(),
25004
+ updatedAt: external_exports.string()
25005
+ });
25006
+ var ListReviewTypesResponseSchema = external_exports.object({
25007
+ items: external_exports.array(ReviewTypeResponseSchema)
25008
+ });
25009
+ var CreateQualityReviewRequestSchema = external_exports.object({
25010
+ reviewTypeId: external_exports.string().min(1),
25011
+ title: external_exports.string().min(1).max(200),
25012
+ scheduledDate: external_exports.string().datetime(),
25013
+ reviewPeriod: external_exports.object({
25014
+ from: external_exports.string().datetime(),
25015
+ to: external_exports.string().datetime()
25016
+ })
25017
+ });
25018
+ var AddDecisionRequestSchema = external_exports.object({
25019
+ description: external_exports.string().min(1).max(2e3),
25020
+ decidedBy: external_exports.string().min(1)
25021
+ });
25022
+ var AddAttendeeRequestSchema = external_exports.object({
25023
+ memberId: external_exports.string().min(1),
25024
+ name: external_exports.string().min(1),
25025
+ department: external_exports.string().min(1),
25026
+ role: external_exports.string().min(1)
25027
+ });
25028
+ var UpdateReviewNotesRequestSchema = external_exports.object({
25029
+ notes: external_exports.string().max(1e4)
25030
+ });
25031
+ var ListQualityReviewsQuerySchema = external_exports.object({
25032
+ reviewTypeId: external_exports.string().optional(),
25033
+ status: external_exports.enum(REVIEW_STATUSES).optional(),
25034
+ page: external_exports.coerce.number().int().positive().default(1),
25035
+ limit: external_exports.coerce.number().int().positive().max(100).default(20)
25036
+ });
25037
+ var QmsReviewParamSchema = external_exports.object({
25038
+ orgId: external_exports.string().min(1),
25039
+ qmsId: external_exports.string().min(1)
25040
+ });
25041
+ var ReviewIdParamSchema = external_exports.object({
25042
+ orgId: external_exports.string().min(1),
25043
+ qmsId: external_exports.string().min(1),
25044
+ reviewId: external_exports.string().min(1)
25045
+ });
25046
+ var MonthlyTrendSchema = external_exports.object({
25047
+ month: external_exports.string(),
25048
+ opened: external_exports.number(),
25049
+ closed: external_exports.number()
25050
+ });
25051
+ var ReviewDataSnapshotSchema = external_exports.object({
25052
+ capas: external_exports.object({
25053
+ total: external_exports.number(),
25054
+ open: external_exports.number(),
25055
+ overdue: external_exports.number(),
25056
+ avgCycleTimeDays: external_exports.number().nullable(),
25057
+ trend: external_exports.array(MonthlyTrendSchema)
25058
+ }).optional(),
25059
+ nonconformances: external_exports.object({
25060
+ total: external_exports.number(),
25061
+ open: external_exports.number(),
25062
+ overdue: external_exports.number(),
25063
+ avgCycleTimeDays: external_exports.number().nullable(),
25064
+ bySeverity: external_exports.record(external_exports.string(), external_exports.number()),
25065
+ trend: external_exports.array(MonthlyTrendSchema)
25066
+ }).optional(),
25067
+ complaints: external_exports.object({
25068
+ total: external_exports.number(),
25069
+ open: external_exports.number(),
25070
+ overdue: external_exports.number(),
25071
+ reportableCount: external_exports.number(),
25072
+ trend: external_exports.array(MonthlyTrendSchema)
25073
+ }).optional(),
25074
+ training: external_exports.object({
25075
+ totalTasks: external_exports.number(),
25076
+ complianceRate: external_exports.number(),
25077
+ overdue: external_exports.number()
25078
+ }).optional(),
25079
+ releases: external_exports.object({
25080
+ total: external_exports.number(),
25081
+ avgCycleTimeDays: external_exports.number().nullable()
25082
+ }).optional(),
25083
+ audits: external_exports.object({
25084
+ totalFindings: external_exports.number(),
25085
+ major: external_exports.number(),
25086
+ minor: external_exports.number(),
25087
+ observations: external_exports.number()
25088
+ }).optional()
25089
+ });
25090
+ var ReviewObjectiveSnapshotSchema = external_exports.object({
25091
+ objectiveId: external_exports.string(),
25092
+ title: external_exports.string(),
25093
+ target: external_exports.number(),
25094
+ value: external_exports.number().nullable(),
25095
+ status: external_exports.string(),
25096
+ direction: external_exports.string(),
25097
+ unit: external_exports.string()
25098
+ });
25099
+ var ReviewDecisionSchema = external_exports.object({
25100
+ description: external_exports.string(),
25101
+ decidedBy: external_exports.string()
25102
+ });
25103
+ var ReviewAttendeeSchema = external_exports.object({
25104
+ memberId: external_exports.string(),
25105
+ name: external_exports.string(),
25106
+ department: external_exports.string(),
25107
+ role: external_exports.string()
25108
+ });
25109
+ var QualityReviewResponseSchema = external_exports.object({
25110
+ id: external_exports.string(),
25111
+ reviewNumber: external_exports.string(),
25112
+ title: external_exports.string(),
25113
+ reviewTypeId: external_exports.string(),
25114
+ reviewTypeName: external_exports.string(),
25115
+ status: external_exports.enum(REVIEW_STATUSES),
25116
+ scheduledDate: external_exports.string(),
25117
+ conductedDate: external_exports.string().nullable(),
25118
+ reviewPeriod: external_exports.object({
25119
+ from: external_exports.string(),
25120
+ to: external_exports.string()
25121
+ }),
25122
+ ownerDepartment: external_exports.string(),
25123
+ ownerDepartmentRole: external_exports.enum(["manager", "member"]),
25124
+ dataSources: external_exports.array(external_exports.enum(REVIEW_DATA_SOURCES)),
25125
+ attendees: external_exports.array(ReviewAttendeeSchema),
25126
+ dataSnapshot: ReviewDataSnapshotSchema,
25127
+ objectiveSnapshots: external_exports.array(ReviewObjectiveSnapshotSchema),
25128
+ decisions: external_exports.array(ReviewDecisionSchema),
25129
+ notes: external_exports.string().nullable(),
25130
+ completedAt: external_exports.string().nullable(),
25131
+ completedBy: external_exports.string().nullable(),
25132
+ createdAt: external_exports.string(),
25133
+ createdBy: external_exports.string(),
25134
+ updatedAt: external_exports.string()
25135
+ });
25136
+ var ListQualityReviewsResponseSchema = external_exports.object({
25137
+ items: external_exports.array(QualityReviewResponseSchema),
25138
+ total: external_exports.number(),
25139
+ page: external_exports.number(),
25140
+ limit: external_exports.number(),
25141
+ hasMore: external_exports.boolean()
25142
+ });
25143
+ var QUALITY_FINDING_CODES = [
25144
+ "review_overdue",
25145
+ "action_overdue",
25146
+ "objective_off_target",
25147
+ "review_actions_incomplete"
25148
+ ];
25149
+ var QUALITY_FINDING_SEVERITIES = ["error", "warning"];
25150
+ var QualityFindingSchema = external_exports.object({
25151
+ code: external_exports.enum(QUALITY_FINDING_CODES),
25152
+ severity: external_exports.enum(QUALITY_FINDING_SEVERITIES),
25153
+ entityId: external_exports.string(),
25154
+ entityTitle: external_exports.string(),
25155
+ message: external_exports.string(),
25156
+ metadata: external_exports.record(external_exports.unknown()).optional()
25157
+ });
25158
+ var QualityFindingsResponseSchema = external_exports.object({
25159
+ findings: external_exports.array(QualityFindingSchema),
25160
+ summary: external_exports.object({
25161
+ errorCount: external_exports.number(),
25162
+ warningCount: external_exports.number(),
25163
+ overdueActions: external_exports.number(),
25164
+ overdueReviews: external_exports.number(),
25165
+ offTargetObjectives: external_exports.number(),
25166
+ incompleteReviewActions: external_exports.number()
25167
+ })
25168
+ });
25169
+ var GetFrameworksQuerySchema = external_exports.object({
25170
+ scope: FrameworkScopeSchema.optional()
25171
+ });
25172
+ var GetFrameworkParamsSchema = external_exports.object({
25173
+ frameworkId: RegulatoryFrameworkSchema
25174
+ });
25175
+ var GetClauseMappingsParamsSchema = external_exports.object({
25176
+ frameworkId: RegulatoryFrameworkSchema,
25177
+ clauseId: external_exports.string().min(1)
25178
+ });
25179
+ var GetCrosswalkQuerySchema = external_exports.object({
25180
+ targetFrameworkId: RegulatoryFrameworkSchema
25181
+ });
25182
+ var GetQmsComplianceParamsSchema = external_exports.object({
25183
+ orgId: external_exports.string().min(1)
25184
+ });
25185
+ var GetQmsComplianceQuerySchema = external_exports.object({
25186
+ repositoryId: external_exports.string().min(1)
25187
+ });
25188
+ var GetDeviceComplianceParamsSchema = external_exports.object({
25189
+ orgId: external_exports.string().min(1),
25190
+ deviceId: external_exports.string().min(1)
25191
+ });
25192
+ var GetDeviceFrameworkComplianceParamsSchema = external_exports.object({
25193
+ orgId: external_exports.string().min(1),
25194
+ deviceId: external_exports.string().min(1),
25195
+ frameworkId: RegulatoryFrameworkSchema
25196
+ });
25197
+ var FrameworkSummarySchema = external_exports.object({
25198
+ id: RegulatoryFrameworkSchema,
25199
+ name: external_exports.string(),
25200
+ version: external_exports.string(),
25201
+ scope: FrameworkScopeSchema,
25202
+ url: external_exports.string().nullable(),
25203
+ active: external_exports.boolean(),
25204
+ clauseCount: external_exports.number().int().nonnegative()
25205
+ });
25206
+ var FrameworksListResponseSchema = external_exports.object({
25207
+ frameworks: external_exports.array(FrameworkSummarySchema)
25208
+ });
25209
+ var ClauseNodeSchema = external_exports.lazy(() => external_exports.object({
25210
+ id: external_exports.string(),
25211
+ frameworkId: RegulatoryFrameworkSchema,
25212
+ clauseNumber: external_exports.string(),
25213
+ title: external_exports.string(),
25214
+ parentClauseId: external_exports.string().nullable(),
25215
+ depth: external_exports.number().int().nonnegative(),
25216
+ sortOrder: external_exports.number().int().nonnegative(),
25217
+ children: external_exports.array(ClauseNodeSchema)
25218
+ }));
25219
+ var FrameworkDetailResponseSchema = external_exports.object({
25220
+ id: RegulatoryFrameworkSchema,
25221
+ name: external_exports.string(),
25222
+ version: external_exports.string(),
25223
+ scope: FrameworkScopeSchema,
25224
+ url: external_exports.string().nullable(),
25225
+ active: external_exports.boolean(),
25226
+ clauses: external_exports.array(ClauseNodeSchema)
25227
+ });
25228
+ var ClauseMappingSchema = external_exports.object({
25229
+ clauseId: external_exports.string(),
25230
+ mappedFrameworkId: RegulatoryFrameworkSchema,
25231
+ mappedFrameworkName: external_exports.string(),
25232
+ mappedClauseId: external_exports.string(),
25233
+ mappedClauseTitle: external_exports.string(),
25234
+ relationship: MappingRelationshipSchema,
25235
+ notes: external_exports.string().nullable()
25236
+ });
25237
+ var ClauseMappingsResponseSchema = external_exports.object({
25238
+ clauseId: external_exports.string(),
25239
+ frameworkId: RegulatoryFrameworkSchema,
25240
+ mappings: external_exports.array(ClauseMappingSchema)
25241
+ });
25242
+ var CrosswalkResponseSchema = external_exports.object({
25243
+ sourceFrameworkId: RegulatoryFrameworkSchema,
25244
+ targetFrameworkId: RegulatoryFrameworkSchema,
25245
+ mappings: external_exports.array(ClauseMappingSchema)
25246
+ });
25247
+ var FrameworkCoverageSchema = external_exports.object({
25248
+ frameworkId: RegulatoryFrameworkSchema,
25249
+ frameworkName: external_exports.string(),
25250
+ totalClauses: external_exports.number().int().nonnegative(),
25251
+ coveredClauses: external_exports.number().int().nonnegative(),
25252
+ coveragePercent: external_exports.number().min(0).max(100),
25253
+ scope: FrameworkScopeSchema
25254
+ });
25255
+ var ComplianceSummaryResponseSchema = external_exports.object({
25256
+ organizationId: external_exports.string(),
25257
+ frameworks: external_exports.array(FrameworkCoverageSchema),
25258
+ overallCoveragePercent: external_exports.number().min(0).max(100)
25259
+ });
25260
+ var EvidenceItemSchema = external_exports.object({
25261
+ documentId: external_exports.string(),
25262
+ documentTitle: external_exports.string(),
25263
+ /** Document type. Optional — omitted for non-document evidence (e.g. training records). */
25264
+ docType: DocumentTypeSchema.optional(),
25265
+ linkType: LinkTypeSchema.optional(),
25266
+ status: external_exports.string()
25267
+ });
25268
+ var ClauseComplianceSchema = external_exports.object({
25269
+ clauseId: external_exports.string(),
25270
+ clauseNumber: external_exports.string(),
25271
+ clauseTitle: external_exports.string(),
25272
+ covered: external_exports.boolean(),
25273
+ /** Compliance score 0..1 based on weighted evidence rules */
25274
+ score: external_exports.number().min(0).max(1),
25275
+ evidence: external_exports.array(EvidenceItemSchema)
25276
+ });
25277
+ var FrameworkComplianceResponseSchema = external_exports.object({
25278
+ frameworkId: RegulatoryFrameworkSchema,
25279
+ frameworkName: external_exports.string(),
25280
+ totalClauses: external_exports.number().int().nonnegative(),
25281
+ coveredClauses: external_exports.number().int().nonnegative(),
25282
+ coveragePercent: external_exports.number().min(0).max(100),
25283
+ clauses: external_exports.array(ClauseComplianceSchema)
25284
+ });
25285
+ var ClauseEvidenceStatusSchema = external_exports.enum(["covered", "partial", "missing"]);
25286
+ var ClauseEvidenceItemSchema = external_exports.object({
25287
+ type: external_exports.string(),
25288
+ label: external_exports.string(),
25289
+ count: external_exports.number().int().nonnegative(),
25290
+ status: ClauseEvidenceStatusSchema
25291
+ });
25292
+ var ClauseEvidenceNodeSchema = external_exports.object({
25293
+ clauseId: external_exports.string(),
25294
+ clauseNumber: external_exports.string(),
25295
+ clauseTitle: external_exports.string(),
25296
+ status: ClauseEvidenceStatusSchema,
25297
+ evidenceCount: external_exports.number().int().nonnegative(),
25298
+ evidence: external_exports.array(ClauseEvidenceItemSchema)
25299
+ });
25300
+ var FrameworkEvidenceResponseSchema = external_exports.object({
25301
+ frameworkId: RegulatoryFrameworkSchema,
25302
+ frameworkName: external_exports.string(),
25303
+ totalClauses: external_exports.number().int().nonnegative(),
25304
+ coveredClauses: external_exports.number().int().nonnegative(),
25305
+ partialClauses: external_exports.number().int().nonnegative(),
25306
+ missingClauses: external_exports.number().int().nonnegative(),
25307
+ clauses: external_exports.array(ClauseEvidenceNodeSchema)
25308
+ });
22449
25309
  var RISK_DOCUMENT_TYPES = [
22450
25310
  "software_risk",
22451
25311
  "usability_risk",
@@ -22918,7 +25778,7 @@ var client = new PactoSignaApiClient({
22918
25778
  apiKey: PACTOSIGNA_API_KEY
22919
25779
  });
22920
25780
  var server = new Server(
22921
- { name: "pactosigna", version: "0.1.5" },
25781
+ { name: "pactosigna", version: "0.1.7" },
22922
25782
  { capabilities: { tools: {} } }
22923
25783
  );
22924
25784
  server.setRequestHandler(ListToolsRequestSchema, async () => ({