@aibrains/shared-types 0.1.0

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 (158) hide show
  1. package/README.md +170 -0
  2. package/dist/index.d.ts +48 -0
  3. package/dist/index.d.ts.map +1 -0
  4. package/dist/index.js +74 -0
  5. package/dist/index.js.map +1 -0
  6. package/dist/mappers/edfi/calendar.mapper.d.ts +158 -0
  7. package/dist/mappers/edfi/calendar.mapper.d.ts.map +1 -0
  8. package/dist/mappers/edfi/calendar.mapper.js +235 -0
  9. package/dist/mappers/edfi/calendar.mapper.js.map +1 -0
  10. package/dist/mappers/edfi/credential.mapper.d.ts +50 -0
  11. package/dist/mappers/edfi/credential.mapper.d.ts.map +1 -0
  12. package/dist/mappers/edfi/credential.mapper.js +123 -0
  13. package/dist/mappers/edfi/credential.mapper.js.map +1 -0
  14. package/dist/mappers/edfi/index.d.ts +10 -0
  15. package/dist/mappers/edfi/index.d.ts.map +1 -0
  16. package/dist/mappers/edfi/index.js +26 -0
  17. package/dist/mappers/edfi/index.js.map +1 -0
  18. package/dist/mappers/edfi/staff.mapper.d.ts +96 -0
  19. package/dist/mappers/edfi/staff.mapper.d.ts.map +1 -0
  20. package/dist/mappers/edfi/staff.mapper.js +138 -0
  21. package/dist/mappers/edfi/staff.mapper.js.map +1 -0
  22. package/dist/mappers/index.d.ts +7 -0
  23. package/dist/mappers/index.d.ts.map +1 -0
  24. package/dist/mappers/index.js +23 -0
  25. package/dist/mappers/index.js.map +1 -0
  26. package/dist/schemas/academics/assignment.schema.d.ts +1463 -0
  27. package/dist/schemas/academics/assignment.schema.d.ts.map +1 -0
  28. package/dist/schemas/academics/assignment.schema.js +195 -0
  29. package/dist/schemas/academics/assignment.schema.js.map +1 -0
  30. package/dist/schemas/academics/attendance.schema.d.ts +762 -0
  31. package/dist/schemas/academics/attendance.schema.d.ts.map +1 -0
  32. package/dist/schemas/academics/attendance.schema.js +250 -0
  33. package/dist/schemas/academics/attendance.schema.js.map +1 -0
  34. package/dist/schemas/academics/classroom.schema.d.ts +742 -0
  35. package/dist/schemas/academics/classroom.schema.d.ts.map +1 -0
  36. package/dist/schemas/academics/classroom.schema.js +164 -0
  37. package/dist/schemas/academics/classroom.schema.js.map +1 -0
  38. package/dist/schemas/academics/course-section.schema.d.ts +388 -0
  39. package/dist/schemas/academics/course-section.schema.d.ts.map +1 -0
  40. package/dist/schemas/academics/course-section.schema.js +128 -0
  41. package/dist/schemas/academics/course-section.schema.js.map +1 -0
  42. package/dist/schemas/academics/course.schema.d.ts +778 -0
  43. package/dist/schemas/academics/course.schema.d.ts.map +1 -0
  44. package/dist/schemas/academics/course.schema.js +207 -0
  45. package/dist/schemas/academics/course.schema.js.map +1 -0
  46. package/dist/schemas/academics/grade.schema.d.ts +848 -0
  47. package/dist/schemas/academics/grade.schema.d.ts.map +1 -0
  48. package/dist/schemas/academics/grade.schema.js +251 -0
  49. package/dist/schemas/academics/grade.schema.js.map +1 -0
  50. package/dist/schemas/academics/index.d.ts +13 -0
  51. package/dist/schemas/academics/index.d.ts.map +1 -0
  52. package/dist/schemas/academics/index.js +29 -0
  53. package/dist/schemas/academics/index.js.map +1 -0
  54. package/dist/schemas/academics/student.schema.d.ts +2891 -0
  55. package/dist/schemas/academics/student.schema.d.ts.map +1 -0
  56. package/dist/schemas/academics/student.schema.js +249 -0
  57. package/dist/schemas/academics/student.schema.js.map +1 -0
  58. package/dist/schemas/common.d.ts +183 -0
  59. package/dist/schemas/common.d.ts.map +1 -0
  60. package/dist/schemas/common.js +126 -0
  61. package/dist/schemas/common.js.map +1 -0
  62. package/dist/schemas/enrollment/enrollment.schema.d.ts +2799 -0
  63. package/dist/schemas/enrollment/enrollment.schema.d.ts.map +1 -0
  64. package/dist/schemas/enrollment/enrollment.schema.js +435 -0
  65. package/dist/schemas/enrollment/enrollment.schema.js.map +1 -0
  66. package/dist/schemas/enrollment/index.d.ts +7 -0
  67. package/dist/schemas/enrollment/index.d.ts.map +1 -0
  68. package/dist/schemas/enrollment/index.js +23 -0
  69. package/dist/schemas/enrollment/index.js.map +1 -0
  70. package/dist/schemas/identity/academic-year.schema.d.ts +546 -0
  71. package/dist/schemas/identity/academic-year.schema.d.ts.map +1 -0
  72. package/dist/schemas/identity/academic-year.schema.js +137 -0
  73. package/dist/schemas/identity/academic-year.schema.js.map +1 -0
  74. package/dist/schemas/identity/auth.schema.d.ts +670 -0
  75. package/dist/schemas/identity/auth.schema.d.ts.map +1 -0
  76. package/dist/schemas/identity/auth.schema.js +126 -0
  77. package/dist/schemas/identity/auth.schema.js.map +1 -0
  78. package/dist/schemas/identity/bell-schedule.schema.d.ts +630 -0
  79. package/dist/schemas/identity/bell-schedule.schema.d.ts.map +1 -0
  80. package/dist/schemas/identity/bell-schedule.schema.js +143 -0
  81. package/dist/schemas/identity/bell-schedule.schema.js.map +1 -0
  82. package/dist/schemas/identity/calendar-date.schema.d.ts +830 -0
  83. package/dist/schemas/identity/calendar-date.schema.d.ts.map +1 -0
  84. package/dist/schemas/identity/calendar-date.schema.js +208 -0
  85. package/dist/schemas/identity/calendar-date.schema.js.map +1 -0
  86. package/dist/schemas/identity/credential.schema.d.ts +472 -0
  87. package/dist/schemas/identity/credential.schema.d.ts.map +1 -0
  88. package/dist/schemas/identity/credential.schema.js +200 -0
  89. package/dist/schemas/identity/credential.schema.js.map +1 -0
  90. package/dist/schemas/identity/department.schema.d.ts +567 -0
  91. package/dist/schemas/identity/department.schema.d.ts.map +1 -0
  92. package/dist/schemas/identity/department.schema.js +113 -0
  93. package/dist/schemas/identity/department.schema.js.map +1 -0
  94. package/dist/schemas/identity/index.d.ts +21 -0
  95. package/dist/schemas/identity/index.d.ts.map +1 -0
  96. package/dist/schemas/identity/index.js +39 -0
  97. package/dist/schemas/identity/index.js.map +1 -0
  98. package/dist/schemas/identity/leave.schema.d.ts +725 -0
  99. package/dist/schemas/identity/leave.schema.d.ts.map +1 -0
  100. package/dist/schemas/identity/leave.schema.js +204 -0
  101. package/dist/schemas/identity/leave.schema.js.map +1 -0
  102. package/dist/schemas/identity/role.schema.d.ts +356 -0
  103. package/dist/schemas/identity/role.schema.d.ts.map +1 -0
  104. package/dist/schemas/identity/role.schema.js +124 -0
  105. package/dist/schemas/identity/role.schema.js.map +1 -0
  106. package/dist/schemas/identity/school-year.schema.d.ts +303 -0
  107. package/dist/schemas/identity/school-year.schema.d.ts.map +1 -0
  108. package/dist/schemas/identity/school-year.schema.js +59 -0
  109. package/dist/schemas/identity/school-year.schema.js.map +1 -0
  110. package/dist/schemas/identity/school.schema.d.ts +844 -0
  111. package/dist/schemas/identity/school.schema.d.ts.map +1 -0
  112. package/dist/schemas/identity/school.schema.js +139 -0
  113. package/dist/schemas/identity/school.schema.js.map +1 -0
  114. package/dist/schemas/identity/security.schema.d.ts +422 -0
  115. package/dist/schemas/identity/security.schema.d.ts.map +1 -0
  116. package/dist/schemas/identity/security.schema.js +151 -0
  117. package/dist/schemas/identity/security.schema.js.map +1 -0
  118. package/dist/schemas/identity/session.schema.d.ts +193 -0
  119. package/dist/schemas/identity/session.schema.d.ts.map +1 -0
  120. package/dist/schemas/identity/session.schema.js +59 -0
  121. package/dist/schemas/identity/session.schema.js.map +1 -0
  122. package/dist/schemas/identity/staff.schema.d.ts +1037 -0
  123. package/dist/schemas/identity/staff.schema.d.ts.map +1 -0
  124. package/dist/schemas/identity/staff.schema.js +251 -0
  125. package/dist/schemas/identity/staff.schema.js.map +1 -0
  126. package/dist/schemas/identity/tenant.schema.d.ts +313 -0
  127. package/dist/schemas/identity/tenant.schema.d.ts.map +1 -0
  128. package/dist/schemas/identity/tenant.schema.js +81 -0
  129. package/dist/schemas/identity/tenant.schema.js.map +1 -0
  130. package/dist/schemas/identity/user.schema.d.ts +921 -0
  131. package/dist/schemas/identity/user.schema.d.ts.map +1 -0
  132. package/dist/schemas/identity/user.schema.js +201 -0
  133. package/dist/schemas/identity/user.schema.js.map +1 -0
  134. package/dist/schemas/index.d.ts +10 -0
  135. package/dist/schemas/index.d.ts.map +1 -0
  136. package/dist/schemas/index.js +26 -0
  137. package/dist/schemas/index.js.map +1 -0
  138. package/dist/validators/academic-year.d.ts +90 -0
  139. package/dist/validators/academic-year.d.ts.map +1 -0
  140. package/dist/validators/academic-year.js +190 -0
  141. package/dist/validators/academic-year.js.map +1 -0
  142. package/dist/validators/date-range.d.ts +142 -0
  143. package/dist/validators/date-range.d.ts.map +1 -0
  144. package/dist/validators/date-range.js +170 -0
  145. package/dist/validators/date-range.js.map +1 -0
  146. package/dist/validators/grade-level.d.ts +80 -0
  147. package/dist/validators/grade-level.d.ts.map +1 -0
  148. package/dist/validators/grade-level.js +157 -0
  149. package/dist/validators/grade-level.js.map +1 -0
  150. package/dist/validators/index.d.ts +10 -0
  151. package/dist/validators/index.d.ts.map +1 -0
  152. package/dist/validators/index.js +26 -0
  153. package/dist/validators/index.js.map +1 -0
  154. package/dist/validators/password.d.ts +60 -0
  155. package/dist/validators/password.d.ts.map +1 -0
  156. package/dist/validators/password.js +81 -0
  157. package/dist/validators/password.js.map +1 -0
  158. package/package.json +50 -0
@@ -0,0 +1,200 @@
1
+ "use strict";
2
+ /**
3
+ * Credential Schemas - Identity Service
4
+ *
5
+ * Zod schemas for staff credential management with Ed-Fi alignment.
6
+ * Ed-Fi: Credential represents teaching licenses, certifications, endorsements.
7
+ */
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.credentialExpirationAlertSchema = exports.verifyCredentialSchema = exports.credentialFilterSchema = exports.credentialListResponseSchema = exports.credentialResponseSchema = exports.updateCredentialSchema = exports.createCredentialSchema = exports.gradeLevelDescriptorSchema = exports.verificationStatusSchema = exports.credentialFieldSchema = exports.credentialTypeSchema = void 0;
10
+ const zod_1 = require("zod");
11
+ const common_1 = require("../common");
12
+ // ============================================
13
+ // Enums (Ed-Fi aligned)
14
+ // ============================================
15
+ /**
16
+ * Credential type (Ed-Fi: credentialTypeDescriptor)
17
+ */
18
+ exports.credentialTypeSchema = zod_1.z.enum([
19
+ 'certification', // Teaching certification
20
+ 'license', // Professional license
21
+ 'endorsement', // Subject/grade endorsement
22
+ 'degree', // Academic degree
23
+ 'registration', // Professional registration
24
+ 'permit', // Work permit
25
+ 'clearance', // Background clearance
26
+ 'training', // Training completion
27
+ 'other',
28
+ ]);
29
+ /**
30
+ * Credential field/subject area (Ed-Fi: credentialFieldDescriptor)
31
+ */
32
+ exports.credentialFieldSchema = zod_1.z.enum([
33
+ 'elementary_education',
34
+ 'secondary_education',
35
+ 'special_education',
36
+ 'early_childhood',
37
+ 'mathematics',
38
+ 'science',
39
+ 'english_language_arts',
40
+ 'social_studies',
41
+ 'foreign_language',
42
+ 'physical_education',
43
+ 'music',
44
+ 'art',
45
+ 'technology',
46
+ 'counseling',
47
+ 'administration',
48
+ 'library_media',
49
+ 'other',
50
+ ]);
51
+ /**
52
+ * Verification status
53
+ */
54
+ exports.verificationStatusSchema = zod_1.z.enum([
55
+ 'pending',
56
+ 'verified',
57
+ 'rejected',
58
+ 'expired',
59
+ 'revoked',
60
+ ]);
61
+ /**
62
+ * Grade level (Ed-Fi aligned)
63
+ */
64
+ exports.gradeLevelDescriptorSchema = zod_1.z.enum([
65
+ 'pre_k',
66
+ 'kindergarten',
67
+ 'first',
68
+ 'second',
69
+ 'third',
70
+ 'fourth',
71
+ 'fifth',
72
+ 'sixth',
73
+ 'seventh',
74
+ 'eighth',
75
+ 'ninth',
76
+ 'tenth',
77
+ 'eleventh',
78
+ 'twelfth',
79
+ 'adult_education',
80
+ 'ungraded',
81
+ ]);
82
+ // ============================================
83
+ // Create Credential Schema
84
+ // ============================================
85
+ exports.createCredentialSchema = zod_1.z.object({
86
+ // Ed-Fi Core Fields
87
+ credentialIdentifier: zod_1.z.string().min(1).max(60), // Ed-Fi: credentialIdentifier
88
+ credentialTypeDescriptor: exports.credentialTypeSchema, // Ed-Fi: credentialTypeDescriptor
89
+ credentialFieldDescriptor: exports.credentialFieldSchema.optional(), // Ed-Fi: credentialFieldDescriptor
90
+ issuanceDate: common_1.dateSchema, // Ed-Fi: issuanceDate
91
+ expirationDate: common_1.dateSchema.optional(), // Ed-Fi: expirationDate
92
+ // Issuing Authority (Ed-Fi: stateOfIssueStateAbbreviationDescriptor)
93
+ issuingState: zod_1.z.string().max(50).optional(),
94
+ issuingOrganization: zod_1.z.string().max(150),
95
+ // Grade Levels (Ed-Fi: credentialGradeLevels)
96
+ gradeLevels: zod_1.z.array(exports.gradeLevelDescriptorSchema).optional(),
97
+ // Academic Subjects (simplified)
98
+ subjects: zod_1.z.array(zod_1.z.string().max(60)).optional(),
99
+ // EdForge Extensions
100
+ name: zod_1.z.string().min(1).max(150), // Human-readable name
101
+ description: zod_1.z.string().max(500).optional(),
102
+ documentUrl: zod_1.z.string().url().optional(), // Link to scanned document
103
+ documentFileName: zod_1.z.string().max(255).optional(),
104
+ // Verification
105
+ verificationStatus: exports.verificationStatusSchema.default('pending'),
106
+ verificationNotes: zod_1.z.string().max(500).optional(),
107
+ verifiedBy: zod_1.z.string().uuid().optional(),
108
+ verifiedAt: common_1.isoDateSchema.optional(),
109
+ // Renewal tracking
110
+ isRenewable: zod_1.z.boolean().default(true),
111
+ renewalReminderDays: zod_1.z.number().int().min(0).max(365).default(90),
112
+ });
113
+ // ============================================
114
+ // Update Credential Schema
115
+ // ============================================
116
+ exports.updateCredentialSchema = exports.createCredentialSchema.partial().omit({
117
+ credentialIdentifier: true, // Cannot change identifier
118
+ }).extend({
119
+ verificationStatus: exports.verificationStatusSchema.optional(),
120
+ });
121
+ // ============================================
122
+ // Credential Response Schema
123
+ // ============================================
124
+ exports.credentialResponseSchema = zod_1.z.object({
125
+ // Identifiers
126
+ credentialId: zod_1.z.string().uuid(),
127
+ staffId: zod_1.z.string().uuid(),
128
+ tenantId: zod_1.z.string().uuid(),
129
+ // Ed-Fi Core
130
+ credentialIdentifier: zod_1.z.string(),
131
+ credentialTypeDescriptor: exports.credentialTypeSchema,
132
+ credentialFieldDescriptor: exports.credentialFieldSchema.optional(),
133
+ issuanceDate: zod_1.z.string(),
134
+ expirationDate: zod_1.z.string().optional(),
135
+ // Issuing Authority
136
+ issuingState: zod_1.z.string().optional(),
137
+ issuingOrganization: zod_1.z.string(),
138
+ // Grade Levels & Subjects
139
+ gradeLevels: zod_1.z.array(exports.gradeLevelDescriptorSchema).optional(),
140
+ subjects: zod_1.z.array(zod_1.z.string()).optional(),
141
+ // EdForge Extensions
142
+ name: zod_1.z.string(),
143
+ description: zod_1.z.string().optional(),
144
+ documentUrl: zod_1.z.string().optional(),
145
+ documentFileName: zod_1.z.string().optional(),
146
+ // Verification
147
+ verificationStatus: exports.verificationStatusSchema,
148
+ verificationNotes: zod_1.z.string().optional(),
149
+ verifiedBy: zod_1.z.string().optional(),
150
+ verifiedByName: zod_1.z.string().optional(),
151
+ verifiedAt: zod_1.z.string().optional(),
152
+ // Renewal
153
+ isRenewable: zod_1.z.boolean(),
154
+ renewalReminderDays: zod_1.z.number(),
155
+ // Computed
156
+ isExpired: zod_1.z.boolean(),
157
+ daysUntilExpiration: zod_1.z.number().optional(),
158
+ isExpiringSoon: zod_1.z.boolean(), // Within renewal reminder period
159
+ // Metadata
160
+ createdAt: zod_1.z.string(),
161
+ updatedAt: zod_1.z.string(),
162
+ });
163
+ // ============================================
164
+ // Credential List Response
165
+ // ============================================
166
+ exports.credentialListResponseSchema = (0, common_1.createPaginatedResponseSchema)(exports.credentialResponseSchema);
167
+ // ============================================
168
+ // Credential Filter Schema
169
+ // ============================================
170
+ exports.credentialFilterSchema = zod_1.z.object({
171
+ staffId: zod_1.z.string().uuid().optional(),
172
+ credentialType: exports.credentialTypeSchema.optional(),
173
+ credentialField: exports.credentialFieldSchema.optional(),
174
+ verificationStatus: exports.verificationStatusSchema.optional(),
175
+ isExpired: zod_1.z.boolean().optional(),
176
+ isExpiringSoon: zod_1.z.boolean().optional(),
177
+ limit: zod_1.z.coerce.number().min(1).max(100).default(20),
178
+ cursor: zod_1.z.string().optional(),
179
+ });
180
+ // ============================================
181
+ // Verify Credential Schema
182
+ // ============================================
183
+ exports.verifyCredentialSchema = zod_1.z.object({
184
+ verificationStatus: zod_1.z.enum(['verified', 'rejected']),
185
+ verificationNotes: zod_1.z.string().max(500).optional(),
186
+ });
187
+ // ============================================
188
+ // Credential Expiration Alert
189
+ // ============================================
190
+ exports.credentialExpirationAlertSchema = zod_1.z.object({
191
+ credentialId: zod_1.z.string().uuid(),
192
+ staffId: zod_1.z.string().uuid(),
193
+ staffName: zod_1.z.string(),
194
+ credentialName: zod_1.z.string(),
195
+ expirationDate: zod_1.z.string(),
196
+ daysUntilExpiration: zod_1.z.number(),
197
+ schoolId: zod_1.z.string().uuid(),
198
+ schoolName: zod_1.z.string(),
199
+ });
200
+ //# sourceMappingURL=credential.schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"credential.schema.js","sourceRoot":"","sources":["../../../src/schemas/identity/credential.schema.ts"],"names":[],"mappings":"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"}