@lessonkit/lxpack 1.0.2 → 1.2.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.
package/dist/bridge.cjs CHANGED
@@ -155,10 +155,31 @@ function dispatchBridgeActionInner(bridge, action) {
155
155
  return;
156
156
  }
157
157
  }
158
+ function forwardAssessmentCompletedToBridge(bridge, event) {
159
+ const data = event.data;
160
+ const scaled = normalizeAssessmentScore({
161
+ score: data.score,
162
+ maxScore: data.maxScore
163
+ });
164
+ if (scaled === null) return;
165
+ bridge.submitAssessment?.({
166
+ id: data.checkId,
167
+ score: scaled,
168
+ passingScore: normalizeAssessmentPassingScore({
169
+ passingScore: data.passingScore,
170
+ maxScore: data.maxScore
171
+ }),
172
+ maxScore: data.maxScore
173
+ });
174
+ }
158
175
  function forwardTelemetryToBridge(event, mode = "auto", parentWindow) {
159
176
  if (mode === "off") return;
160
177
  const bridge = getBridge(parentWindow);
161
178
  if (!bridge) return;
179
+ if (event.name === "assessment_completed") {
180
+ forwardAssessmentCompletedToBridge(bridge, event);
181
+ return;
182
+ }
162
183
  const lessonkitEvent = telemetryEventToLessonkit(event);
163
184
  if (!lessonkitEvent) return;
164
185
  const action = (0, import_tracking_schema3.mapLessonkitTelemetryToBridgeAction)(lessonkitEvent);
package/dist/bridge.d.cts CHANGED
@@ -24,7 +24,6 @@ declare function normalizeAssessmentPassingScore(opts?: {
24
24
  type LxpackBridgeMode = "auto" | "off";
25
25
  /** Apply a mapped bridge action to an LXPack bridge instance. */
26
26
  declare function dispatchBridgeAction(bridge: LxpackBridgeV1, action: ReturnType<typeof mapLessonkitTelemetryToBridgeAction>): void;
27
- /** Resolve bridge and dispatch a telemetry-derived action. */
28
27
  declare function forwardTelemetryToBridge(event: TelemetryEvent, mode?: LxpackBridgeMode, parentWindow?: Window): void;
29
28
  declare function createLxpackBridge(): LxpackBridgeV1 | null;
30
29
  declare function notifyLxpackLessonComplete(lessonId: LessonId): boolean;
package/dist/bridge.d.ts CHANGED
@@ -24,7 +24,6 @@ declare function normalizeAssessmentPassingScore(opts?: {
24
24
  type LxpackBridgeMode = "auto" | "off";
25
25
  /** Apply a mapped bridge action to an LXPack bridge instance. */
26
26
  declare function dispatchBridgeAction(bridge: LxpackBridgeV1, action: ReturnType<typeof mapLessonkitTelemetryToBridgeAction>): void;
27
- /** Resolve bridge and dispatch a telemetry-derived action. */
28
27
  declare function forwardTelemetryToBridge(event: TelemetryEvent, mode?: LxpackBridgeMode, parentWindow?: Window): void;
29
28
  declare function createLxpackBridge(): LxpackBridgeV1 | null;
30
29
  declare function notifyLxpackLessonComplete(lessonId: LessonId): boolean;
package/dist/bridge.js CHANGED
@@ -93,10 +93,31 @@ function dispatchBridgeActionInner(bridge, action) {
93
93
  return;
94
94
  }
95
95
  }
96
+ function forwardAssessmentCompletedToBridge(bridge, event) {
97
+ const data = event.data;
98
+ const scaled = normalizeAssessmentScore({
99
+ score: data.score,
100
+ maxScore: data.maxScore
101
+ });
102
+ if (scaled === null) return;
103
+ bridge.submitAssessment?.({
104
+ id: data.checkId,
105
+ score: scaled,
106
+ passingScore: normalizeAssessmentPassingScore({
107
+ passingScore: data.passingScore,
108
+ maxScore: data.maxScore
109
+ }),
110
+ maxScore: data.maxScore
111
+ });
112
+ }
96
113
  function forwardTelemetryToBridge(event, mode = "auto", parentWindow) {
97
114
  if (mode === "off") return;
98
115
  const bridge = getBridge(parentWindow);
99
116
  if (!bridge) return;
117
+ if (event.name === "assessment_completed") {
118
+ forwardAssessmentCompletedToBridge(bridge, event);
119
+ return;
120
+ }
100
121
  const lessonkitEvent = telemetryEventToLessonkit(event);
101
122
  if (!lessonkitEvent) return;
102
123
  const action = mapLessonkitTelemetryToBridgeAction2(lessonkitEvent);