@aibrains/shared-types 0.14.0 → 0.16.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 (108) hide show
  1. package/dist/events/enrollment-billing.events.d.ts +47 -0
  2. package/dist/events/enrollment-billing.events.d.ts.map +1 -0
  3. package/dist/events/enrollment-billing.events.js +9 -0
  4. package/dist/events/enrollment-billing.events.js.map +1 -0
  5. package/dist/identity/country-config.d.ts +120 -0
  6. package/dist/identity/country-config.d.ts.map +1 -0
  7. package/dist/identity/country-config.js +404 -0
  8. package/dist/identity/country-config.js.map +1 -0
  9. package/dist/identity/field-governance.d.ts +40 -0
  10. package/dist/identity/field-governance.d.ts.map +1 -0
  11. package/dist/identity/field-governance.js +111 -0
  12. package/dist/identity/field-governance.js.map +1 -0
  13. package/dist/index.d.ts +6 -1
  14. package/dist/index.d.ts.map +1 -1
  15. package/dist/index.js +9 -1
  16. package/dist/index.js.map +1 -1
  17. package/dist/mappers/edfi/education-org.mapper.js +3 -3
  18. package/dist/mappers/edfi/education-org.mapper.js.map +1 -1
  19. package/dist/schemas/academics/assignment.schema.d.ts +10 -10
  20. package/dist/schemas/academics/attendance.schema.d.ts +16 -16
  21. package/dist/schemas/academics/classwork.schema.d.ts +4 -4
  22. package/dist/schemas/academics/grade.schema.d.ts +2 -2
  23. package/dist/schemas/academics/index.d.ts +1 -0
  24. package/dist/schemas/academics/index.d.ts.map +1 -1
  25. package/dist/schemas/academics/index.js +1 -0
  26. package/dist/schemas/academics/index.js.map +1 -1
  27. package/dist/schemas/academics/section-attendance.schema.d.ts +447 -0
  28. package/dist/schemas/academics/section-attendance.schema.d.ts.map +1 -0
  29. package/dist/schemas/academics/section-attendance.schema.js +126 -0
  30. package/dist/schemas/academics/section-attendance.schema.js.map +1 -0
  31. package/dist/schemas/academics/student.schema.d.ts +15 -15
  32. package/dist/schemas/common.d.ts +4 -2
  33. package/dist/schemas/common.d.ts.map +1 -1
  34. package/dist/schemas/common.js +7 -2
  35. package/dist/schemas/common.js.map +1 -1
  36. package/dist/schemas/enrollment/enrollment.schema.d.ts +55 -55
  37. package/dist/schemas/finance/common.d.ts +1 -1
  38. package/dist/schemas/finance/common.d.ts.map +1 -1
  39. package/dist/schemas/finance/common.js +1 -1
  40. package/dist/schemas/finance/common.js.map +1 -1
  41. package/dist/schemas/finance/credit-note.schema.d.ts +127 -0
  42. package/dist/schemas/finance/credit-note.schema.d.ts.map +1 -0
  43. package/dist/schemas/finance/credit-note.schema.js +55 -0
  44. package/dist/schemas/finance/credit-note.schema.js.map +1 -0
  45. package/dist/schemas/finance/discount-rule.schema.d.ts +352 -0
  46. package/dist/schemas/finance/discount-rule.schema.d.ts.map +1 -0
  47. package/dist/schemas/finance/discount-rule.schema.js +57 -0
  48. package/dist/schemas/finance/discount-rule.schema.js.map +1 -0
  49. package/dist/schemas/finance/fee-structure.schema.d.ts +40 -10
  50. package/dist/schemas/finance/fee-structure.schema.d.ts.map +1 -1
  51. package/dist/schemas/finance/fee-structure.schema.js +10 -0
  52. package/dist/schemas/finance/fee-structure.schema.js.map +1 -1
  53. package/dist/schemas/finance/index.d.ts +3 -0
  54. package/dist/schemas/finance/index.d.ts.map +1 -1
  55. package/dist/schemas/finance/index.js +3 -0
  56. package/dist/schemas/finance/index.js.map +1 -1
  57. package/dist/schemas/finance/invoice.schema.d.ts +68 -8
  58. package/dist/schemas/finance/invoice.schema.d.ts.map +1 -1
  59. package/dist/schemas/finance/invoice.schema.js +10 -1
  60. package/dist/schemas/finance/invoice.schema.js.map +1 -1
  61. package/dist/schemas/finance/payment.schema.d.ts +38 -22
  62. package/dist/schemas/finance/payment.schema.d.ts.map +1 -1
  63. package/dist/schemas/finance/payment.schema.js +2 -0
  64. package/dist/schemas/finance/payment.schema.js.map +1 -1
  65. package/dist/schemas/finance/refund.schema.d.ts +99 -0
  66. package/dist/schemas/finance/refund.schema.d.ts.map +1 -0
  67. package/dist/schemas/finance/refund.schema.js +47 -0
  68. package/dist/schemas/finance/refund.schema.js.map +1 -0
  69. package/dist/schemas/identity/academic-year.schema.d.ts +14 -14
  70. package/dist/schemas/identity/bell-schedule.schema.d.ts +5 -5
  71. package/dist/schemas/identity/calendar-date.schema.d.ts +12 -12
  72. package/dist/schemas/identity/credential.schema.d.ts +4 -4
  73. package/dist/schemas/identity/department.schema.d.ts +6 -6
  74. package/dist/schemas/identity/education-org-network.schema.d.ts +7 -7
  75. package/dist/schemas/identity/education-organization.schema.d.ts +1 -1
  76. package/dist/schemas/identity/education-service-center.schema.d.ts +4 -4
  77. package/dist/schemas/identity/index.d.ts +2 -0
  78. package/dist/schemas/identity/index.d.ts.map +1 -1
  79. package/dist/schemas/identity/index.js +4 -0
  80. package/dist/schemas/identity/index.js.map +1 -1
  81. package/dist/schemas/identity/leave.schema.d.ts +34 -34
  82. package/dist/schemas/identity/local-education-agency.schema.d.ts +4 -4
  83. package/dist/schemas/identity/school-year.schema.d.ts +18 -18
  84. package/dist/schemas/identity/school.schema.d.ts +613 -124
  85. package/dist/schemas/identity/school.schema.d.ts.map +1 -1
  86. package/dist/schemas/identity/school.schema.js +32 -8
  87. package/dist/schemas/identity/school.schema.js.map +1 -1
  88. package/dist/schemas/identity/staff-assignment.schema.d.ts +3 -3
  89. package/dist/schemas/identity/staff.schema.d.ts +18 -18
  90. package/dist/schemas/identity/state-education-agency.schema.d.ts +3 -3
  91. package/dist/utils/bikram-sambat.d.ts +68 -0
  92. package/dist/utils/bikram-sambat.d.ts.map +1 -0
  93. package/dist/utils/bikram-sambat.js +301 -0
  94. package/dist/utils/bikram-sambat.js.map +1 -0
  95. package/dist/utils/currency.d.ts +30 -8
  96. package/dist/utils/currency.d.ts.map +1 -1
  97. package/dist/utils/currency.js +93 -25
  98. package/dist/utils/currency.js.map +1 -1
  99. package/dist/utils/date-format.d.ts +20 -0
  100. package/dist/utils/date-format.d.ts.map +1 -0
  101. package/dist/utils/date-format.js +66 -0
  102. package/dist/utils/date-format.js.map +1 -0
  103. package/dist/utils/school-hours.d.ts +48 -0
  104. package/dist/utils/school-hours.d.ts.map +1 -0
  105. package/dist/utils/school-hours.js +134 -0
  106. package/dist/utils/school-hours.js.map +1 -0
  107. package/dist/validators/date-range.d.ts +6 -6
  108. package/package.json +1 -1
@@ -0,0 +1,48 @@
1
+ /**
2
+ * School Hours Validation Utility
3
+ *
4
+ * Validates schedule slots, school days, and generates default bell schedule periods.
5
+ * All time values are HH:mm format (24-hour).
6
+ */
7
+ export interface SchoolHoursConfig {
8
+ startTime: string;
9
+ endTime: string;
10
+ schoolDays: number[];
11
+ periodDuration: number;
12
+ }
13
+ export interface Period {
14
+ number: number;
15
+ startTime: string;
16
+ endTime: string;
17
+ type: 'class' | 'break';
18
+ label: string;
19
+ }
20
+ /**
21
+ * Check if a time falls within school hours (inclusive start, exclusive end)
22
+ */
23
+ export declare function isWithinSchoolHours(time: string, startTime: string, endTime: string): boolean;
24
+ /**
25
+ * Check if a day of week is a school day
26
+ */
27
+ export declare function isSchoolDay(dayOfWeek: number, schoolDays: number[]): boolean;
28
+ /**
29
+ * Validate a schedule slot against school hours config.
30
+ * Returns error message string or null if valid.
31
+ */
32
+ export declare function validateScheduleSlot(params: {
33
+ startTime: string;
34
+ endTime: string;
35
+ dayOfWeek: number;
36
+ schoolConfig: SchoolHoursConfig;
37
+ }): string | null;
38
+ /**
39
+ * Auto-generate bell schedule periods based on school hours and period duration.
40
+ * Inserts breaks between periods.
41
+ */
42
+ export declare function generateDefaultPeriods(startTime: string, endTime: string, periodDuration: number, breakDuration?: number): Period[];
43
+ /**
44
+ * Validate a bell schedule against school hours.
45
+ * Returns array of error messages (empty if valid).
46
+ */
47
+ export declare function validateBellSchedule(periods: Period[], schoolConfig: SchoolHoursConfig): string[];
48
+ //# sourceMappingURL=school-hours.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"school-hours.d.ts","sourceRoot":"","sources":["../../src/utils/school-hours.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,MAAM,WAAW,iBAAiB;IAChC,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,MAAM;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC;IACxB,KAAK,EAAE,MAAM,CAAC;CACf;AAmBD;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAK7F;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,OAAO,CAE5E;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE;IAC3C,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,iBAAiB,CAAC;CACjC,GAAG,MAAM,GAAG,IAAI,CAyBhB;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CACpC,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,EACf,cAAc,EAAE,MAAM,EACtB,aAAa,GAAE,MAAW,GACzB,MAAM,EAAE,CAiCV;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,MAAM,EAAE,EACjB,YAAY,EAAE,iBAAiB,GAC9B,MAAM,EAAE,CA+BV"}
@@ -0,0 +1,134 @@
1
+ "use strict";
2
+ /**
3
+ * School Hours Validation Utility
4
+ *
5
+ * Validates schedule slots, school days, and generates default bell schedule periods.
6
+ * All time values are HH:mm format (24-hour).
7
+ */
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.isWithinSchoolHours = isWithinSchoolHours;
10
+ exports.isSchoolDay = isSchoolDay;
11
+ exports.validateScheduleSlot = validateScheduleSlot;
12
+ exports.generateDefaultPeriods = generateDefaultPeriods;
13
+ exports.validateBellSchedule = validateBellSchedule;
14
+ /**
15
+ * Parse HH:mm string to minutes since midnight
16
+ */
17
+ function parseTime(time) {
18
+ const [h, m] = time.split(':').map(Number);
19
+ return h * 60 + m;
20
+ }
21
+ /**
22
+ * Format minutes since midnight to HH:mm
23
+ */
24
+ function formatTime(minutes) {
25
+ const h = Math.floor(minutes / 60);
26
+ const m = minutes % 60;
27
+ return `${String(h).padStart(2, '0')}:${String(m).padStart(2, '0')}`;
28
+ }
29
+ /**
30
+ * Check if a time falls within school hours (inclusive start, exclusive end)
31
+ */
32
+ function isWithinSchoolHours(time, startTime, endTime) {
33
+ const t = parseTime(time);
34
+ const start = parseTime(startTime);
35
+ const end = parseTime(endTime);
36
+ return t >= start && t <= end;
37
+ }
38
+ /**
39
+ * Check if a day of week is a school day
40
+ */
41
+ function isSchoolDay(dayOfWeek, schoolDays) {
42
+ return schoolDays.includes(dayOfWeek);
43
+ }
44
+ /**
45
+ * Validate a schedule slot against school hours config.
46
+ * Returns error message string or null if valid.
47
+ */
48
+ function validateScheduleSlot(params) {
49
+ const { startTime, endTime, dayOfWeek, schoolConfig } = params;
50
+ // Check school day
51
+ if (!isSchoolDay(dayOfWeek, schoolConfig.schoolDays)) {
52
+ const dayNames = ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'];
53
+ return `${dayNames[dayOfWeek]} is not a school day`;
54
+ }
55
+ // Check start time
56
+ if (!isWithinSchoolHours(startTime, schoolConfig.startTime, schoolConfig.endTime)) {
57
+ return `Start time ${startTime} falls outside school hours (${schoolConfig.startTime}-${schoolConfig.endTime})`;
58
+ }
59
+ // Check end time
60
+ if (!isWithinSchoolHours(endTime, schoolConfig.startTime, schoolConfig.endTime)) {
61
+ return `End time ${endTime} falls outside school hours (${schoolConfig.startTime}-${schoolConfig.endTime})`;
62
+ }
63
+ // Check order
64
+ if (parseTime(endTime) <= parseTime(startTime)) {
65
+ return `End time ${endTime} must be after start time ${startTime}`;
66
+ }
67
+ return null;
68
+ }
69
+ /**
70
+ * Auto-generate bell schedule periods based on school hours and period duration.
71
+ * Inserts breaks between periods.
72
+ */
73
+ function generateDefaultPeriods(startTime, endTime, periodDuration, breakDuration = 10) {
74
+ const periods = [];
75
+ let currentTime = parseTime(startTime);
76
+ const schoolEnd = parseTime(endTime);
77
+ let periodNumber = 1;
78
+ while (currentTime + periodDuration <= schoolEnd) {
79
+ // Add class period
80
+ periods.push({
81
+ number: periodNumber,
82
+ startTime: formatTime(currentTime),
83
+ endTime: formatTime(currentTime + periodDuration),
84
+ type: 'class',
85
+ label: `Period ${periodNumber}`,
86
+ });
87
+ currentTime += periodDuration;
88
+ periodNumber++;
89
+ // Add break if there's room for another period after break
90
+ if (currentTime + breakDuration + periodDuration <= schoolEnd) {
91
+ periods.push({
92
+ number: periodNumber - 1, // breaks share the preceding period number
93
+ startTime: formatTime(currentTime),
94
+ endTime: formatTime(currentTime + breakDuration),
95
+ type: 'break',
96
+ label: periodNumber === 5 ? 'Lunch Break' : 'Break',
97
+ });
98
+ currentTime += breakDuration;
99
+ }
100
+ }
101
+ return periods;
102
+ }
103
+ /**
104
+ * Validate a bell schedule against school hours.
105
+ * Returns array of error messages (empty if valid).
106
+ */
107
+ function validateBellSchedule(periods, schoolConfig) {
108
+ const errors = [];
109
+ const classPeriods = periods.filter(p => p.type === 'class');
110
+ if (classPeriods.length === 0) {
111
+ errors.push('Bell schedule must have at least one class period');
112
+ return errors;
113
+ }
114
+ // First period must not start before school start
115
+ const firstPeriod = classPeriods[0];
116
+ if (parseTime(firstPeriod.startTime) < parseTime(schoolConfig.startTime)) {
117
+ errors.push(`First period starts at ${firstPeriod.startTime}, before school start time ${schoolConfig.startTime}`);
118
+ }
119
+ // Last period must not end after school end
120
+ const lastPeriod = classPeriods[classPeriods.length - 1];
121
+ if (parseTime(lastPeriod.endTime) > parseTime(schoolConfig.endTime)) {
122
+ errors.push(`Last period ends at ${lastPeriod.endTime}, after school end time ${schoolConfig.endTime}`);
123
+ }
124
+ // Check period duration alignment (warning-level, not error)
125
+ for (const period of classPeriods) {
126
+ const duration = parseTime(period.endTime) - parseTime(period.startTime);
127
+ if (duration !== schoolConfig.periodDuration && duration !== schoolConfig.periodDuration * 2) {
128
+ // Allow single or double periods
129
+ errors.push(`Period ${period.number} duration (${duration}min) doesn't match configured period duration (${schoolConfig.periodDuration}min)`);
130
+ }
131
+ }
132
+ return errors;
133
+ }
134
+ //# sourceMappingURL=school-hours.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"school-hours.js","sourceRoot":"","sources":["../../src/utils/school-hours.ts"],"names":[],"mappings":"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"}
@@ -10,8 +10,8 @@ export { dateSchema } from '../schemas/common';
10
10
  */
11
11
  export declare const datetimeSchema: z.ZodString;
12
12
  export declare const dateRangeSchema: z.ZodEffects<z.ZodObject<{
13
- startDate: z.ZodEffects<z.ZodString, string, string>;
14
- endDate: z.ZodEffects<z.ZodString, string, string>;
13
+ startDate: z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>;
14
+ endDate: z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>;
15
15
  }, "strip", z.ZodTypeAny, {
16
16
  startDate: string;
17
17
  endDate: string;
@@ -30,8 +30,8 @@ export type DateRange = z.infer<typeof dateRangeSchema>;
30
30
  * Academic year must be between 120 and 365 days
31
31
  */
32
32
  export declare const academicYearDateRangeSchema: z.ZodEffects<z.ZodEffects<z.ZodObject<{
33
- startDate: z.ZodEffects<z.ZodString, string, string>;
34
- endDate: z.ZodEffects<z.ZodString, string, string>;
33
+ startDate: z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>;
34
+ endDate: z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>;
35
35
  }, "strip", z.ZodTypeAny, {
36
36
  startDate: string;
37
37
  endDate: string;
@@ -56,8 +56,8 @@ export type AcademicYearDateRange = z.infer<typeof academicYearDateRangeSchema>;
56
56
  * Grading period must be between 7 and 180 days
57
57
  */
58
58
  export declare const gradingPeriodDateRangeSchema: z.ZodEffects<z.ZodEffects<z.ZodObject<{
59
- startDate: z.ZodEffects<z.ZodString, string, string>;
60
- endDate: z.ZodEffects<z.ZodString, string, string>;
59
+ startDate: z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>;
60
+ endDate: z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>;
61
61
  }, "strip", z.ZodTypeAny, {
62
62
  startDate: string;
63
63
  endDate: string;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aibrains/shared-types",
3
- "version": "0.14.0",
3
+ "version": "0.16.0",
4
4
  "description": "Shared Zod schemas, TypeScript types, and validators for Education data models.",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",