@superbuilders/primer-tives 1.2.0 → 2.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/README.md +744 -533
- package/dist/client/choice-state.d.ts +2 -1
- package/dist/client/choice-state.d.ts.map +1 -1
- package/dist/client/create.d.ts +23 -7
- package/dist/client/create.d.ts.map +1 -1
- package/dist/client/extended-text-state.d.ts +2 -1
- package/dist/client/extended-text-state.d.ts.map +1 -1
- package/dist/client/feedback-state.d.ts +2 -2
- package/dist/client/feedback-state.d.ts.map +1 -1
- package/dist/client/index.js +226 -109
- package/dist/client/index.js.map +21 -17
- package/dist/client/match-state.d.ts +2 -1
- package/dist/client/match-state.d.ts.map +1 -1
- package/dist/client/observation-state.d.ts +2 -1
- package/dist/client/observation-state.d.ts.map +1 -1
- package/dist/client/order-state.d.ts +2 -1
- package/dist/client/order-state.d.ts.map +1 -1
- package/dist/client/pci-state.d.ts +2 -1
- package/dist/client/pci-state.d.ts.map +1 -1
- package/dist/client/session-context.d.ts +1 -1
- package/dist/client/session-context.d.ts.map +1 -1
- package/dist/client/session.d.ts +2 -2
- package/dist/client/session.d.ts.map +1 -1
- package/dist/client/text-entry-state.d.ts +2 -1
- package/dist/client/text-entry-state.d.ts.map +1 -1
- package/dist/client/transport.d.ts +13 -11
- package/dist/client/transport.d.ts.map +1 -1
- package/dist/client/types.d.ts +10 -1
- package/dist/client/types.d.ts.map +1 -1
- package/dist/contracts/index.d.ts +4 -3
- package/dist/contracts/index.d.ts.map +1 -1
- package/dist/contracts/index.js +42 -36
- package/dist/contracts/index.js.map +6 -5
- package/dist/contracts/pci-schemas.d.ts +24 -20
- package/dist/contracts/pci-schemas.d.ts.map +1 -1
- package/dist/contracts/pci.d.ts +26 -27
- package/dist/contracts/pci.d.ts.map +1 -1
- package/dist/contracts/types.d.ts +5 -9
- package/dist/contracts/types.d.ts.map +1 -1
- package/dist/contracts/validation.d.ts +34 -23
- package/dist/contracts/validation.d.ts.map +1 -1
- package/dist/errors.d.ts +3 -6
- package/dist/errors.d.ts.map +1 -1
- package/dist/errors.js +5 -11
- package/dist/errors.js.map +3 -3
- package/dist/server/create-server.d.ts +3 -33
- package/dist/server/create-server.d.ts.map +1 -1
- package/dist/server/exchange.d.ts +7 -14
- package/dist/server/exchange.d.ts.map +1 -1
- package/dist/server/index.d.ts +1 -3
- package/dist/server/index.d.ts.map +1 -1
- package/dist/server/index.js +32 -407
- package/dist/server/index.js.map +6 -9
- package/dist/subject-pcis.d.ts +13 -0
- package/dist/subject-pcis.d.ts.map +1 -0
- package/dist/version.d.ts +4 -0
- package/dist/version.d.ts.map +1 -0
- package/package.json +5 -1
- package/dist/server/hints.d.ts +0 -25
- package/dist/server/hints.d.ts.map +0 -1
- package/dist/server/students.d.ts +0 -12
- package/dist/server/students.d.ts.map +0 -1
|
@@ -1,8 +1,9 @@
|
|
|
1
|
+
import type { ContentBlock } from "../contracts/content";
|
|
1
2
|
import type { SessionContext } from "./session-context";
|
|
2
3
|
import type { PciId } from "../contracts/pci";
|
|
3
4
|
import type { RendererChoice, RendererInteraction, RendererStimulus } from "../contracts/types";
|
|
4
5
|
import type { PrimerState } from "./types";
|
|
5
|
-
declare function choiceState<Pcis extends PciId>(ctx: SessionContext<Pcis>, stimulus: RendererStimulus | null, interaction: Extract<RendererInteraction<Pcis>, {
|
|
6
|
+
declare function choiceState<Pcis extends PciId>(ctx: SessionContext<Pcis>, body: ContentBlock[], stimulus: RendererStimulus | null, interaction: Extract<RendererInteraction<Pcis>, {
|
|
6
7
|
type: "choice";
|
|
7
8
|
}>, options: RendererChoice[], maxChoices: number, minChoices: number): PrimerState<Pcis>;
|
|
8
9
|
export { choiceState };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"choice-state.d.ts","sourceRoot":"","sources":["../../src/client/choice-state.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"choice-state.d.ts","sourceRoot":"","sources":["../../src/client/choice-state.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,+CAA+C,CAAA;AAOjF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oDAAoD,CAAA;AACxF,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,2CAA2C,CAAA;AACtE,OAAO,KAAK,EACX,cAAc,EACd,mBAAmB,EACnB,gBAAgB,EAChB,MAAM,6CAA6C,CAAA;AACpD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0CAA0C,CAAA;AAG3E,iBAAS,WAAW,CAAC,IAAI,SAAS,KAAK,EACtC,GAAG,EAAE,cAAc,CAAC,IAAI,CAAC,EACzB,IAAI,EAAE,YAAY,EAAE,EACpB,QAAQ,EAAE,gBAAgB,GAAG,IAAI,EACjC,WAAW,EAAE,OAAO,CAAC,mBAAmB,CAAC,IAAI,CAAC,EAAE;IAAE,IAAI,EAAE,QAAQ,CAAA;CAAE,CAAC,EACnE,OAAO,EAAE,cAAc,EAAE,EACzB,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,GAChB,WAAW,CAAC,IAAI,CAAC,CAsFnB;AAED,OAAO,EAAE,WAAW,EAAE,CAAA"}
|
package/dist/client/create.d.ts
CHANGED
|
@@ -1,20 +1,36 @@
|
|
|
1
1
|
import type { PrimerLogger } from "../logger";
|
|
2
2
|
import type { PciId } from "../contracts/pci";
|
|
3
|
-
import type { SubjectScope } from "../subject";
|
|
4
3
|
import type { PrimerState } from "./types";
|
|
5
|
-
|
|
4
|
+
import type { SubjectScope } from "../subject";
|
|
5
|
+
import { type RequiredPciForSubject } from "../subject-pcis";
|
|
6
|
+
type SupportedPciForSubject<S extends SubjectScope, Pcis extends PciId> = Pcis | RequiredPciForSubject<S>;
|
|
7
|
+
type ConfigFields<S extends SubjectScope> = {
|
|
6
8
|
readonly accessToken: string;
|
|
7
|
-
readonly
|
|
9
|
+
readonly subject: S;
|
|
8
10
|
readonly origin: string;
|
|
9
|
-
readonly subject: SubjectScope;
|
|
10
11
|
readonly fetch?: typeof globalThis.fetch;
|
|
11
12
|
readonly abort?: AbortController;
|
|
12
|
-
readonly logger
|
|
13
|
-
}
|
|
13
|
+
readonly logger: PrimerLogger;
|
|
14
|
+
};
|
|
15
|
+
type PciConfigForSubject<S extends SubjectScope, Pcis extends PciId> = [
|
|
16
|
+
RequiredPciForSubject<S>
|
|
17
|
+
] extends [never] ? {
|
|
18
|
+
readonly supportedPcis?: readonly Pcis[];
|
|
19
|
+
} : {
|
|
20
|
+
readonly supportedPcis: readonly [RequiredPciForSubject<S>, ...Pcis[]];
|
|
21
|
+
};
|
|
22
|
+
type Config<S extends SubjectScope, Pcis extends PciId = never> = ConfigFields<S> & PciConfigForSubject<S, Pcis>;
|
|
23
|
+
type DynamicSubjectConfig<Pcis extends PciId = never> = ConfigFields<SubjectScope> & {
|
|
24
|
+
readonly supportedPcis: readonly [RequiredPciForSubject<"all">, ...Pcis[]];
|
|
25
|
+
};
|
|
14
26
|
interface Client<Pcis extends PciId = PciId> {
|
|
15
27
|
start(): Promise<PrimerState<Pcis>>;
|
|
16
28
|
}
|
|
17
|
-
|
|
29
|
+
type SubjectWithoutRequiredPcis = Exclude<SubjectScope, "all" | "math">;
|
|
30
|
+
declare function create<const Pcis extends PciId = never>(config: Config<"math", Pcis>): Client<SupportedPciForSubject<"math", Pcis>>;
|
|
31
|
+
declare function create<const Pcis extends PciId = never>(config: Config<"all", Pcis>): Client<SupportedPciForSubject<"all", Pcis>>;
|
|
32
|
+
declare function create<const S extends SubjectWithoutRequiredPcis, const Pcis extends PciId = never>(config: Config<S, Pcis>): Client<SupportedPciForSubject<S, Pcis>>;
|
|
33
|
+
declare function create<const Pcis extends PciId = never>(config: DynamicSubjectConfig<Pcis>): Client<SupportedPciForSubject<"all", Pcis>>;
|
|
18
34
|
export { create };
|
|
19
35
|
export type { Client, Config };
|
|
20
36
|
//# sourceMappingURL=create.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../../src/client/create.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAA;AACtE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,2CAA2C,CAAA;AACtE,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../../src/client/create.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
+
import type { ContentBlock } from "../contracts/content";
|
|
1
2
|
import type { SessionContext } from "./session-context";
|
|
2
3
|
import type { PciId } from "../contracts/pci";
|
|
3
4
|
import type { RendererStimulus, StandardRendererInteraction } from "../contracts/types";
|
|
4
5
|
import type { PrimerState } from "./types";
|
|
5
|
-
declare function extendedTextState<Pcis extends PciId>(ctx: SessionContext<Pcis>, stimulus: RendererStimulus | null, interaction: Extract<StandardRendererInteraction, {
|
|
6
|
+
declare function extendedTextState<Pcis extends PciId>(ctx: SessionContext<Pcis>, body: ContentBlock[], stimulus: RendererStimulus | null, interaction: Extract<StandardRendererInteraction, {
|
|
6
7
|
type: "extended-text";
|
|
7
8
|
}>): PrimerState<Pcis>;
|
|
8
9
|
export { extendedTextState };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"extended-text-state.d.ts","sourceRoot":"","sources":["../../src/client/extended-text-state.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"extended-text-state.d.ts","sourceRoot":"","sources":["../../src/client/extended-text-state.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,+CAA+C,CAAA;AAOjF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oDAAoD,CAAA;AACxF,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,2CAA2C,CAAA;AACtE,OAAO,KAAK,EACX,gBAAgB,EAChB,2BAA2B,EAC3B,MAAM,6CAA6C,CAAA;AACpD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0CAA0C,CAAA;AAG3E,iBAAS,iBAAiB,CAAC,IAAI,SAAS,KAAK,EAC5C,GAAG,EAAE,cAAc,CAAC,IAAI,CAAC,EACzB,IAAI,EAAE,YAAY,EAAE,EACpB,QAAQ,EAAE,gBAAgB,GAAG,IAAI,EACjC,WAAW,EAAE,OAAO,CAAC,2BAA2B,EAAE;IAAE,IAAI,EAAE,eAAe,CAAA;CAAE,CAAC,GAC1E,WAAW,CAAC,IAAI,CAAC,CAuKnB;AAED,OAAO,EAAE,iBAAiB,EAAE,CAAA"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import type { ContentInline } from "../contracts/content";
|
|
1
|
+
import type { ContentBlock, ContentInline } from "../contracts/content";
|
|
2
2
|
import type { SessionContext } from "./session-context";
|
|
3
3
|
import type { PciId } from "../contracts/pci";
|
|
4
4
|
import type { RendererInteraction, RendererStimulus, RendererSubmission } from "../contracts/types";
|
|
5
5
|
import type { InteractionReview } from "../contracts/review";
|
|
6
6
|
import type { PrimerState } from "./types";
|
|
7
|
-
declare function feedbackState<Pcis extends PciId>(ctx: SessionContext<Pcis>, stimulus: RendererStimulus | null, interaction: RendererInteraction<Pcis>, submission: RendererSubmission<Pcis>, isCorrect: boolean, feedbackContent: ContentInline[], review: InteractionReview<Pcis> | null): PrimerState<Pcis>;
|
|
7
|
+
declare function feedbackState<Pcis extends PciId>(ctx: SessionContext<Pcis>, body: ContentBlock[], stimulus: RendererStimulus | null, interaction: RendererInteraction<Pcis>, submission: RendererSubmission<Pcis>, isCorrect: boolean, feedbackContent: ContentInline[], review: InteractionReview<Pcis> | null): PrimerState<Pcis>;
|
|
8
8
|
export { feedbackState };
|
|
9
9
|
//# sourceMappingURL=feedback-state.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"feedback-state.d.ts","sourceRoot":"","sources":["../../src/client/feedback-state.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,+CAA+C,CAAA;
|
|
1
|
+
{"version":3,"file":"feedback-state.d.ts","sourceRoot":"","sources":["../../src/client/feedback-state.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,+CAA+C,CAAA;AAChG,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oDAAoD,CAAA;AACxF,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,2CAA2C,CAAA;AACtE,OAAO,KAAK,EACX,mBAAmB,EACnB,gBAAgB,EAChB,kBAAkB,EAClB,MAAM,6CAA6C,CAAA;AACpD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,8CAA8C,CAAA;AACrF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0CAA0C,CAAA;AAE3E,iBAAS,aAAa,CAAC,IAAI,SAAS,KAAK,EACxC,GAAG,EAAE,cAAc,CAAC,IAAI,CAAC,EACzB,IAAI,EAAE,YAAY,EAAE,EACpB,QAAQ,EAAE,gBAAgB,GAAG,IAAI,EACjC,WAAW,EAAE,mBAAmB,CAAC,IAAI,CAAC,EACtC,UAAU,EAAE,kBAAkB,CAAC,IAAI,CAAC,EACpC,SAAS,EAAE,OAAO,EAClB,eAAe,EAAE,aAAa,EAAE,EAChC,MAAM,EAAE,iBAAiB,CAAC,IAAI,CAAC,GAAG,IAAI,GACpC,WAAW,CAAC,IAAI,CAAC,CAoBnB;AAED,OAAO,EAAE,aAAa,EAAE,CAAA"}
|