placementt-core 1.400.920 → 1.400.922

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.
@@ -905,6 +905,7 @@ export type InstituteData = {
905
905
  provider?: string;
906
906
  };
907
907
  skillsAssessments?: boolean;
908
+ assessActivitySkills?: boolean;
908
909
  skills: string[];
909
910
  scheduledSkillsAssessments?: {
910
911
  [key in "yearStart" | "yearEnd" | "eachTerm" | "preWorkExperience" | "postWorkExperience" | "employerInteraction"]?: {
@@ -2111,6 +2112,10 @@ export type LeaverCheckpointResponse = {
2111
2112
  wellbeingScore?: 1 | 2 | 3 | 4 | 5;
2112
2113
  personalEmail?: string;
2113
2114
  date: string;
2115
+ /** Set when the leaver answered the staying-on gate on this form (only shown
2116
+ * when the group permits staying and we didn't already know). true → they're
2117
+ * staying at the school, so the alumni/consent capture is skipped. */
2118
+ stayingAtSchoolSixthForm?: boolean;
2114
2119
  /** Consent / one-time items still outstanding for this leaver, collected on
2115
2120
  * this form and routed to UserData by the backend (never stored here). */
2116
2121
  intentionsCapture?: LeaverConsentCapture;
@@ -2126,6 +2131,7 @@ export type LeaverRequest = Omit<AspirationRequest, "cycleId" | "response"> & {
2126
2131
  response?: LeaverTransitionData;
2127
2132
  alumniId?: string;
2128
2133
  intentionsCapturedAt?: string;
2134
+ stayingAtSchoolSixthForm?: boolean;
2129
2135
  personalEmail?: string;
2130
2136
  token?: string;
2131
2137
  tokenExpiry?: string;
@@ -2679,6 +2685,7 @@ export type SkillAssessment = {
2679
2685
  externalKey?: string;
2680
2686
  userType: "parents" | "employers" | "students";
2681
2687
  skillRequest?: string;
2688
+ activityId?: string;
2682
2689
  email: string;
2683
2690
  forename: string;
2684
2691
  surname: string;
@@ -2763,6 +2770,10 @@ export type StudentActivity = {
2763
2770
  hoursPerSession?: number;
2764
2771
  careerAreas?: string[];
2765
2772
  skillsDeveloped?: string[];
2773
+ skillScores?: {
2774
+ [skill: string]: number;
2775
+ };
2776
+ skillsAssessmentId?: string;
2766
2777
  reflection?: string;
2767
2778
  evidenceFileIds?: string[];
2768
2779
  };
@@ -3025,6 +3036,11 @@ export type LeaverGroup = {
3025
3036
  totalInvited?: number;
3026
3037
  totalResponded?: number;
3027
3038
  aggregates?: LeaverAggregates;
3039
+ /** Staff setup flag — true when every student in this group leaves after this
3040
+ * year (no internal sixth-form option). When false/undefined the leaver form
3041
+ * asks "are you staying on?" first, and stayers skip the alumni / consent
3042
+ * capture (and aren't seeded as alumni). */
3043
+ allStudentsLeave?: boolean;
3028
3044
  /** Post-leaving checkpoint schedule. Absent = checkpoints disabled for this group. */
3029
3045
  checkpointConfig?: {
3030
3046
  resultsDay?: {
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "private": false,
3
3
  "name": "placementt-core",
4
4
  "author": "Placementt",
5
- "version": "1.400.920",
5
+ "version": "1.400.922",
6
6
  "main": "lib/index.js",
7
7
  "types": "lib/index.d.ts",
8
8
  "scripts": {
@@ -900,6 +900,7 @@ export type InstituteData = {
900
900
  },
901
901
  // SKILLS ASSESSMENT CONFIGURATION
902
902
  skillsAssessments?: boolean,
903
+ assessActivitySkills?: boolean, // ask students to self-assess skills when logging an extracurricular activity
903
904
  skills: string[]
904
905
  scheduledSkillsAssessments?: {
905
906
  [key in "yearStart" | "yearEnd" | "eachTerm" | "preWorkExperience" | "postWorkExperience" | "employerInteraction"]?: {
@@ -2028,6 +2029,10 @@ export type LeaverCheckpointResponse = {
2028
2029
  wellbeingScore?: 1|2|3|4|5, // christmas only, optional
2029
2030
  personalEmail?: string, // lets them update their contact email
2030
2031
  date: string, // ISO — server-stamped submission time
2032
+ /** Set when the leaver answered the staying-on gate on this form (only shown
2033
+ * when the group permits staying and we didn't already know). true → they're
2034
+ * staying at the school, so the alumni/consent capture is skipped. */
2035
+ stayingAtSchoolSixthForm?: boolean,
2031
2036
  /** Consent / one-time items still outstanding for this leaver, collected on
2032
2037
  * this form and routed to UserData by the backend (never stored here). */
2033
2038
  intentionsCapture?: LeaverConsentCapture,
@@ -2044,6 +2049,7 @@ export type LeaverRequest = Omit<AspirationRequest, "cycleId"|"response"> & {
2044
2049
  response?: LeaverTransitionData,
2045
2050
  alumniId?: string, // set when this leaver opted in and an Alumni record was created
2046
2051
  intentionsCapturedAt?: string, // ISO — set when consent/alumni data was captured via a later checkpoint (intentions form itself was never completed)
2052
+ stayingAtSchoolSixthForm?: boolean, // canonical per-request staying-on answer (from whichever form captured it); gates whether any form re-asks the staying-on question
2047
2053
 
2048
2054
  // ── Post-leaving contact + magic-link auth (set at checkpoint send time) ──
2049
2055
  personalEmail?: string, // denormalised from response.personalEmail at checkpoint-1 submit
@@ -2608,8 +2614,9 @@ export type SkillAssessment = {
2608
2614
  externalKey?: string,
2609
2615
  userType: "parents"|"employers"|"students",
2610
2616
  skillRequest?: string,
2617
+ activityId?: string, // links a self-assessment to the extracurricular activity it came from
2611
2618
  email: string,
2612
- forename: string,
2619
+ forename: string,
2613
2620
  surname: string,
2614
2621
  }
2615
2622
 
@@ -2747,6 +2754,9 @@ export type StudentActivity = {
2747
2754
 
2748
2755
  skillsDeveloped?: string[]; // from skills framework
2749
2756
 
2757
+ skillScores?: { [skill: string]: number }; // student self-assessed 1-10 score per developed skill
2758
+ skillsAssessmentId?: string; // linked skillsAssessments doc created from this activity
2759
+
2750
2760
  reflection?: string;
2751
2761
 
2752
2762
  // -------------------------
@@ -3020,6 +3030,12 @@ export type LeaverGroup = {
3020
3030
  totalResponded?: number, // incremented on each completion
3021
3031
  aggregates?: LeaverAggregates, // pre-aggregated response data for dashboard charts
3022
3032
 
3033
+ /** Staff setup flag — true when every student in this group leaves after this
3034
+ * year (no internal sixth-form option). When false/undefined the leaver form
3035
+ * asks "are you staying on?" first, and stayers skip the alumni / consent
3036
+ * capture (and aren't seeded as alumni). */
3037
+ allStudentsLeave?: boolean,
3038
+
3023
3039
  /** Post-leaving checkpoint schedule. Absent = checkpoints disabled for this group. */
3024
3040
  checkpointConfig?: {
3025
3041
  resultsDay?: {enabled: boolean, sendAt: string, emailTemplateId?: string}, // ISO datetime