@lxpack/runtime 0.1.0 → 0.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/flow.d.ts ADDED
@@ -0,0 +1,14 @@
1
+ import type { Condition, CourseManifest, FlowRule } from "@lxpack/validators";
2
+ export interface FlowContext {
3
+ getVariable: (name: string) => unknown;
4
+ isAssessmentPassed: (id: string) => boolean;
5
+ isInteractionDone: (id: string) => boolean;
6
+ }
7
+ export declare function evaluateCondition(condition: Condition, ctx: FlowContext): boolean;
8
+ export declare function resolveFlowGoto(manifest: CourseManifest, ctx: FlowContext): string | null;
9
+ export declare function buildActivityOrder(manifest: CourseManifest): string[];
10
+ export declare function resolveLinearAdjacent(manifest: CourseManifest, currentId: string, direction: 1 | -1): string | null;
11
+ export declare function resolveNextActivityId(manifest: CourseManifest, currentId: string, ctx: FlowContext): string | null;
12
+ export declare function resolvePreviousActivityId(manifest: CourseManifest, currentId: string): string | null;
13
+ export type { FlowRule };
14
+ //# sourceMappingURL=flow.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"flow.d.ts","sourceRoot":"","sources":["../src/flow.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAE9E,MAAM,WAAW,WAAW;IAC1B,WAAW,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC;IACvC,kBAAkB,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC;IAC5C,iBAAiB,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC;CAC5C;AAED,wBAAgB,iBAAiB,CAC/B,SAAS,EAAE,SAAS,EACpB,GAAG,EAAE,WAAW,GACf,OAAO,CAkBT;AAED,wBAAgB,eAAe,CAC7B,QAAQ,EAAE,cAAc,EACxB,GAAG,EAAE,WAAW,GACf,MAAM,GAAG,IAAI,CAUf;AAED,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,cAAc,GAAG,MAAM,EAAE,CAMrE;AAED,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,cAAc,EACxB,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,CAAC,GAAG,CAAC,CAAC,GAChB,MAAM,GAAG,IAAI,CAMf;AAED,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,cAAc,EACxB,SAAS,EAAE,MAAM,EACjB,GAAG,EAAE,WAAW,GACf,MAAM,GAAG,IAAI,CAMf;AAED,wBAAgB,yBAAyB,CACvC,QAAQ,EAAE,cAAc,EACxB,SAAS,EAAE,MAAM,GAChB,MAAM,GAAG,IAAI,CAEf;AAED,YAAY,EAAE,QAAQ,EAAE,CAAC"}
@@ -0,0 +1,17 @@
1
+ import type { CourseProgress } from "./types.js";
2
+ interface CompactProgress {
3
+ c?: string;
4
+ l?: string[];
5
+ a?: Record<string, number>;
6
+ s?: Record<string, unknown>;
7
+ }
8
+ export declare function compactProgress(progress: CourseProgress): CompactProgress;
9
+ export declare function expandProgress(compact: CompactProgress, defaults: CourseProgress): CourseProgress;
10
+ export declare function serializeProgressForStorage(progress: CourseProgress): string;
11
+ export declare function expandLegacyProgress(saved: Partial<CourseProgress>, defaults: CourseProgress): CourseProgress;
12
+ export declare function parseStoredProgress(raw: string, defaults: CourseProgress): {
13
+ progress: CourseProgress;
14
+ parsed: boolean;
15
+ };
16
+ export {};
17
+ //# sourceMappingURL=progress-persist.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"progress-persist.d.ts","sourceRoot":"","sources":["../src/progress-persist.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAGjD,UAAU,eAAe;IACvB,CAAC,CAAC,EAAE,MAAM,CAAC;IACX,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC;IACb,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC3B,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC7B;AAED,wBAAgB,eAAe,CAAC,QAAQ,EAAE,cAAc,GAAG,eAAe,CAWzE;AAED,wBAAgB,cAAc,CAC5B,OAAO,EAAE,eAAe,EACxB,QAAQ,EAAE,cAAc,GACvB,cAAc,CAahB;AAqBD,wBAAgB,2BAA2B,CAAC,QAAQ,EAAE,cAAc,GAAG,MAAM,CAkB5E;AAYD,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,OAAO,CAAC,cAAc,CAAC,EAC9B,QAAQ,EAAE,cAAc,GACvB,cAAc,CAehB;AAED,wBAAgB,mBAAmB,CACjC,GAAG,EAAE,MAAM,EACX,QAAQ,EAAE,cAAc,GACvB;IAAE,QAAQ,EAAE,cAAc,CAAC;IAAC,MAAM,EAAE,OAAO,CAAA;CAAE,CAa/C"}
package/dist/runtime.d.ts CHANGED
@@ -1,19 +1,28 @@
1
1
  import type { CourseManifest, CourseProgress, LxpackAPI, RuntimeConfig, TrackEvent } from "./types.js";
2
+ import type { FlowContext } from "./flow.js";
2
3
  export declare class LxpackRuntime {
3
4
  private manifest;
4
5
  private progress;
5
6
  private scorm;
7
+ private scorm2004;
6
8
  private completionThreshold;
7
9
  private storageKey;
8
10
  private mode;
9
11
  private passedAssessments;
12
+ private defaultPassingScores;
13
+ private terminated;
10
14
  constructor(config: RuntimeConfig);
15
+ private restoreLessonLocation;
16
+ private restoreScorm2004Progress;
11
17
  private restoreScormProgress;
12
18
  private restoreLocalProgress;
13
19
  private syncPassedAssessments;
14
20
  private getAssessmentPassingScore;
15
21
  getAPI(): LxpackAPI;
16
- track(event: TrackEvent): void;
22
+ track(event: TrackEvent, options?: {
23
+ persist?: boolean;
24
+ }): void;
25
+ private applyAssessmentResult;
17
26
  submitAssessment(assessmentId: string, score: number, passingScore: number): void;
18
27
  completeLesson(lessonId: string): void;
19
28
  setCurrentLesson(lessonId: string): void;
@@ -25,6 +34,8 @@ export declare class LxpackRuntime {
25
34
  getCompletionRatio(): number;
26
35
  private updateCompletion;
27
36
  private persist;
37
+ getFlowContext(): FlowContext;
38
+ resolveFlowNavigation(): string | null;
28
39
  terminate(): void;
29
40
  }
30
41
  export { createScormConnection, findLmsApi, Scorm12Adapter, Scorm12Simulator, Scorm12API, installScormAPI, trimSuspendData, } from "./scorm-api.js";
@@ -1 +1 @@
1
- {"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,cAAc,EACd,cAAc,EACd,SAAS,EACT,aAAa,EACb,UAAU,EACX,MAAM,YAAY,CAAC;AAoCpB,qBAAa,aAAa;IACxB,OAAO,CAAC,QAAQ,CAAiB;IACjC,OAAO,CAAC,QAAQ,CAAiB;IACjC,OAAO,CAAC,KAAK,CAAgC;IAC7C,OAAO,CAAC,mBAAmB,CAAS;IACpC,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,IAAI,CAAwB;IACpC,OAAO,CAAC,iBAAiB,CAAqB;gBAElC,MAAM,EAAE,aAAa;IAwBjC,OAAO,CAAC,oBAAoB;IAqB5B,OAAO,CAAC,oBAAoB;IAa5B,OAAO,CAAC,qBAAqB;IAS7B,OAAO,CAAC,yBAAyB;IAQjC,MAAM,IAAI,SAAS;IAenB,KAAK,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI;IAa9B,gBAAgB,CACd,YAAY,EAAE,MAAM,EACpB,KAAK,EAAE,MAAM,EACb,YAAY,EAAE,MAAM,GACnB,IAAI;IAiBP,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAWtC,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAQxC,WAAW,IAAI,cAAc;IAI7B,WAAW,IAAI,cAAc;IAI7B,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO;IAI3C,kBAAkB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO;IAIjD,aAAa,IAAI,MAAM;IAKvB,kBAAkB,IAAI,MAAM;IAc5B,OAAO,CAAC,gBAAgB;IAkCxB,OAAO,CAAC,OAAO;IAiBf,SAAS,IAAI,IAAI;CAKlB;AAED,OAAO,EACL,qBAAqB,EACrB,UAAU,EACV,cAAc,EACd,gBAAgB,EAChB,UAAU,EACV,eAAe,EACf,eAAe,GAChB,MAAM,gBAAgB,CAAC;AACxB,YAAY,EAAE,cAAc,EAAE,cAAc,EAAE,SAAS,EAAE,aAAa,EAAE,UAAU,EAAE,CAAC"}
1
+ {"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,cAAc,EACd,cAAc,EACd,SAAS,EACT,aAAa,EACb,UAAU,EACX,MAAM,YAAY,CAAC;AAkBpB,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAa7C,qBAAa,aAAa;IACxB,OAAO,CAAC,QAAQ,CAAiB;IACjC,OAAO,CAAC,QAAQ,CAAiB;IACjC,OAAO,CAAC,KAAK,CAAgC;IAC7C,OAAO,CAAC,SAAS,CAAoC;IACrD,OAAO,CAAC,mBAAmB,CAAS;IACpC,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,IAAI,CAAwB;IACpC,OAAO,CAAC,iBAAiB,CAAqB;IAC9C,OAAO,CAAC,oBAAoB,CAAyB;IACrD,OAAO,CAAC,UAAU,CAAS;gBAEf,MAAM,EAAE,aAAa;IAuCjC,OAAO,CAAC,qBAAqB;IAgB7B,OAAO,CAAC,wBAAwB;IAmBhC,OAAO,CAAC,oBAAoB;IAkB5B,OAAO,CAAC,oBAAoB;IAiB5B,OAAO,CAAC,qBAAqB;IAS7B,OAAO,CAAC,yBAAyB;IASjC,MAAM,IAAI,SAAS;IA6BnB,KAAK,CAAC,KAAK,EAAE,UAAU,EAAE,OAAO,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,IAAI;IA2B/D,OAAO,CAAC,qBAAqB;IAe7B,gBAAgB,CACd,YAAY,EAAE,MAAM,EACpB,KAAK,EAAE,MAAM,EACb,YAAY,EAAE,MAAM,GACnB,IAAI;IAMP,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAWtC,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAWxC,WAAW,IAAI,cAAc;IAI7B,WAAW,IAAI,cAAc;IAI7B,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO;IAI3C,kBAAkB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO;IAIjD,aAAa,IAAI,MAAM;IAKvB,kBAAkB,IAAI,MAAM;IAc5B,OAAO,CAAC,gBAAgB;IAoDxB,OAAO,CAAC,OAAO;IAqBf,cAAc,IAAI,WAAW;IAS7B,qBAAqB,IAAI,MAAM,GAAG,IAAI;IAItC,SAAS,IAAI,IAAI;CAUlB;AAED,OAAO,EACL,qBAAqB,EACrB,UAAU,EACV,cAAc,EACd,gBAAgB,EAChB,UAAU,EACV,eAAe,EACf,eAAe,GAChB,MAAM,gBAAgB,CAAC;AACxB,YAAY,EAAE,cAAc,EAAE,cAAc,EAAE,SAAS,EAAE,aAAa,EAAE,UAAU,EAAE,CAAC"}