@superbuilders/primer-tives 4.0.4 → 4.1.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 +42 -6
- package/dist/client/auth/access-token.d.ts +1 -1
- package/dist/client/auth/access-token.d.ts.map +1 -1
- package/dist/client/auth/hosted-popup.d.ts +1 -1
- package/dist/client/auth/hosted-popup.d.ts.map +1 -1
- package/dist/client/auth/provider.d.ts +8 -3
- package/dist/client/auth/provider.d.ts.map +1 -1
- package/dist/client/auth/storage.d.ts +8 -0
- package/dist/client/auth/storage.d.ts.map +1 -0
- package/dist/client/auth-state.d.ts +2 -2
- package/dist/client/auth-state.d.ts.map +1 -1
- package/dist/client/choice-state.d.ts +2 -2
- package/dist/client/choice-state.d.ts.map +1 -1
- package/dist/client/extended-text-state.d.ts +2 -2
- package/dist/client/extended-text-state.d.ts.map +1 -1
- package/dist/client/feedback-state.d.ts +4 -4
- package/dist/client/feedback-state.d.ts.map +1 -1
- package/dist/client/index.d.ts +2 -2
- package/dist/client/index.d.ts.map +1 -1
- package/dist/client/index.js +636 -556
- package/dist/client/index.js.map +25 -24
- package/dist/client/match-state.d.ts +2 -2
- package/dist/client/match-state.d.ts.map +1 -1
- package/dist/client/observation-state.d.ts +1 -1
- package/dist/client/observation-state.d.ts.map +1 -1
- package/dist/client/order-state.d.ts +2 -2
- package/dist/client/order-state.d.ts.map +1 -1
- package/dist/client/pci-state.d.ts +2 -2
- package/dist/client/pci-state.d.ts.map +1 -1
- package/dist/client/session-context.d.ts +2 -2
- package/dist/client/session-context.d.ts.map +1 -1
- package/dist/client/session.d.ts +5 -5
- package/dist/client/session.d.ts.map +1 -1
- package/dist/client/start.d.ts +3 -3
- package/dist/client/start.d.ts.map +1 -1
- package/dist/client/text-entry-state.d.ts +2 -2
- package/dist/client/text-entry-state.d.ts.map +1 -1
- package/dist/client/transport.d.ts +7 -6
- package/dist/client/transport.d.ts.map +1 -1
- package/dist/client/types.d.ts +8 -2
- package/dist/client/types.d.ts.map +1 -1
- package/dist/contracts/index.d.ts +4 -4
- package/dist/contracts/index.d.ts.map +1 -1
- package/dist/contracts/index.js +12 -12
- package/dist/contracts/index.js.map +6 -6
- package/dist/contracts/pci-schemas.d.ts +4 -0
- package/dist/contracts/pci-schemas.d.ts.map +1 -1
- package/dist/contracts/pci.d.ts +1 -1
- package/dist/contracts/pci.d.ts.map +1 -1
- package/dist/contracts/review.d.ts +1 -1
- package/dist/contracts/review.d.ts.map +1 -1
- package/dist/contracts/validation.d.ts +24 -2
- package/dist/contracts/validation.d.ts.map +1 -1
- package/dist/grade-level.d.ts +1 -1
- package/dist/grade-level.d.ts.map +1 -1
- package/dist/grade-level.js.map +1 -1
- package/dist/subject-pcis.d.ts +1 -1
- package/dist/subject-pcis.d.ts.map +1 -1
- package/dist/subject-pcis.js.map +2 -2
- package/dist/subject.d.ts +1 -1
- package/dist/subject.d.ts.map +1 -1
- package/dist/subject.js.map +1 -1
- package/dist/version.d.ts +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -19,7 +19,7 @@ bun add @superbuilders/primer-tives
|
|
|
19
19
|
|
|
20
20
|
## Version
|
|
21
21
|
|
|
22
|
-
The current SDK version is `4.0.
|
|
22
|
+
The current SDK version is `4.0.5`.
|
|
23
23
|
|
|
24
24
|
## Entrypoints
|
|
25
25
|
|
|
@@ -210,12 +210,40 @@ The SDK uses Primer's production runtime by default.
|
|
|
210
210
|
| Shape | Semantics |
|
|
211
211
|
| --- | --- |
|
|
212
212
|
| `accessToken` present | `start` validates the token shape locally and returns `AccessTokenStartState`. This mode cannot return sign-in states. |
|
|
213
|
-
| `accessToken` absent | `start`
|
|
213
|
+
| `accessToken` absent | `start` uses managed hosted-auth mode. It reads and writes the SDK-managed browser session token cache documented below. |
|
|
214
214
|
|
|
215
215
|
The public API exposes hosted auth as state behavior. `SignInRequiredState.login()` and `SignInFailedState.login()` are the sign-in transitions. `AuthUnavailableState` and `AuthConfigInvalidState` expose no login operation.
|
|
216
216
|
|
|
217
217
|
When `subject` is present, it must be a concrete literal subject at the options declaration site. Do not pass a broad `Subject` value into `PrimerOptions`; narrow it in host control flow, then construct options with `satisfies PrimerOptionsWithManagedAuth<"math", ...>`, `satisfies PrimerOptionsWithAccessToken<"math", ...>`, or the corresponding literal subject variant.
|
|
218
218
|
|
|
219
|
+
## Managed Auth Token Persistence
|
|
220
|
+
|
|
221
|
+
Managed hosted auth is designed for browser-only consumers that do not have their own server-side token broker. When `accessToken` is absent, PrimerTives owns a session-scoped browser token cache with one fixed storage location:
|
|
222
|
+
|
|
223
|
+
```txt
|
|
224
|
+
sessionStorage["primer:access-token:<publishableKey>"]
|
|
225
|
+
```
|
|
226
|
+
|
|
227
|
+
This is intentionally zero config. There is no storage selector and no persistence flag. Managed-auth mode always uses `globalThis.sessionStorage`; if `sessionStorage` is unavailable, `start` returns `AuthUnavailableState`.
|
|
228
|
+
|
|
229
|
+
The cache stores only the final Primer access token returned by hosted Timeback sign-in. OAuth transaction state, nonce, verifier, and callback validation state are not stored in browser storage; those remain server-managed by Primer.
|
|
230
|
+
|
|
231
|
+
Managed-auth startup behavior is:
|
|
232
|
+
|
|
233
|
+
| Situation | SDK behavior |
|
|
234
|
+
| --- | --- |
|
|
235
|
+
| Valid cached token exists | `start` uses it and enters the runtime without opening sign-in. |
|
|
236
|
+
| No cached token exists | `start` returns `SignInRequiredState`. |
|
|
237
|
+
| Cached token is malformed or expired | SDK clears the key and returns `SignInRequiredState`. |
|
|
238
|
+
| Hosted sign-in succeeds | SDK validates the returned token, stores it at the documented key, then starts the runtime. |
|
|
239
|
+
| Runtime rejects a managed cached token as expired or invalid | SDK clears the key and returns `SignInFailedState` so the app can ask the learner to sign in again. |
|
|
240
|
+
|
|
241
|
+
Access-token mode bypasses this cache entirely. If `accessToken` is present in `start` options, PrimerTives does not read, write, or clear `sessionStorage`.
|
|
242
|
+
|
|
243
|
+
The cached value is a bearer credential. Browser-only consumers get reload convenience from this default, but any script that can read the page can read the token. Host applications must maintain normal XSS protections and should use access-token mode if they need to own token storage themselves.
|
|
244
|
+
|
|
245
|
+
The canonical managed sign-in endpoint is `/api/auth/timeback/start`. Legacy `/auth/timeback` URLs are not part of the PrimerTives 4.0.5 contract.
|
|
246
|
+
|
|
219
247
|
## Auth Semantics
|
|
220
248
|
|
|
221
249
|
An access token is expected to be JWS-shaped: it starts with `eyJ` and contains exactly two dots. If a provided token does not match that shape, `start` returns `FatalState` with `ErrMalformedAccessToken`.
|
|
@@ -356,7 +384,7 @@ async function runPrimer(initialState: PrimerState): Promise<void> {
|
|
|
356
384
|
state = await renderAndSubmitInteraction(state)
|
|
357
385
|
break
|
|
358
386
|
case "feedback":
|
|
359
|
-
renderFeedback(state.feedbackContent, state.
|
|
387
|
+
renderFeedback(state.feedbackContent, state.assessmentOutcome, state.review)
|
|
360
388
|
state = await state.advance()
|
|
361
389
|
break
|
|
362
390
|
case "errored":
|
|
@@ -771,20 +799,28 @@ if (state.phase === "interaction" && state.kind === "portable-custom") {
|
|
|
771
799
|
## `FeedbackState`
|
|
772
800
|
|
|
773
801
|
```ts
|
|
802
|
+
type AssessmentOutcomeValue = "correct" | "incorrect" | "revisionRequested"
|
|
803
|
+
|
|
804
|
+
type AssessmentOutcome = {
|
|
805
|
+
cardinality: "single"
|
|
806
|
+
baseType: "identifier"
|
|
807
|
+
value: AssessmentOutcomeValue
|
|
808
|
+
}
|
|
809
|
+
|
|
774
810
|
interface FeedbackState<Pcis extends PciId = PciId> {
|
|
775
811
|
readonly phase: "feedback"
|
|
776
812
|
readonly body: ContentBlock[]
|
|
777
813
|
readonly stimulus: RendererStimulus | null
|
|
778
814
|
readonly interaction: RendererInteraction<Pcis>
|
|
779
815
|
readonly submission: RendererSubmission<Pcis>
|
|
780
|
-
readonly
|
|
816
|
+
readonly assessmentOutcome: AssessmentOutcome
|
|
781
817
|
readonly feedbackContent: ContentInline[]
|
|
782
818
|
readonly review: InteractionReview<Pcis> | null
|
|
783
819
|
advance(): Promise<PrimerState<Pcis>>
|
|
784
820
|
}
|
|
785
821
|
```
|
|
786
822
|
|
|
787
|
-
Feedback state is returned after a
|
|
823
|
+
Feedback state is returned after a terminal learner submission. Render the submitted frame, submitted value, `assessmentOutcome.value`, feedback content, and optional review data. Call `advance()` when the learner is ready to continue.
|
|
788
824
|
|
|
789
825
|
Repeated `advance()` calls while the first one is pending return the same pending result.
|
|
790
826
|
|
|
@@ -1098,7 +1134,7 @@ type ReviewScalarValue =
|
|
|
1098
1134
|
| { kind: "pair"; source: string; target: string }
|
|
1099
1135
|
```
|
|
1100
1136
|
|
|
1101
|
-
`review` is for renderer display and inspection.
|
|
1137
|
+
`review` is for renderer display and inspection. The assessment outcome lives on `FeedbackState.assessmentOutcome.value`.
|
|
1102
1138
|
|
|
1103
1139
|
## PCI Registry
|
|
1104
1140
|
|
|
@@ -5,6 +5,6 @@ type ResolvedAccessToken = {
|
|
|
5
5
|
readonly [resolvedAccessTokenBrand]: true;
|
|
6
6
|
};
|
|
7
7
|
declare function resolveAccessToken(token: string, logger: PrimerLogger): ResolvedAccessToken;
|
|
8
|
-
export { resolveAccessToken };
|
|
9
8
|
export type { ResolvedAccessToken };
|
|
9
|
+
export { resolveAccessToken };
|
|
10
10
|
//# sourceMappingURL=access-token.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"access-token.d.ts","sourceRoot":"","sources":["../../../src/client/auth/access-token.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAA;AAItE,QAAA,MAAM,wBAAwB,EAAE,OAAO,MAA+C,CAAA;AAEtF,KAAK,mBAAmB,GAAG;IAC1B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,CAAC,wBAAwB,CAAC,EAAE,IAAI,CAAA;CACzC,CAAA;AAmED,iBAAS,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,GAAG,mBAAmB,CAUpF;AAED,
|
|
1
|
+
{"version":3,"file":"access-token.d.ts","sourceRoot":"","sources":["../../../src/client/auth/access-token.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAA;AAItE,QAAA,MAAM,wBAAwB,EAAE,OAAO,MAA+C,CAAA;AAEtF,KAAK,mBAAmB,GAAG;IAC1B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,CAAC,wBAAwB,CAAC,EAAE,IAAI,CAAA;CACzC,CAAA;AAmED,iBAAS,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,GAAG,mBAAmB,CAUpF;AAED,YAAY,EAAE,mBAAmB,EAAE,CAAA;AACnC,OAAO,EAAE,kBAAkB,EAAE,CAAA"}
|
|
@@ -7,6 +7,6 @@ type HostedPopupConfig = {
|
|
|
7
7
|
readonly logger: PrimerLogger;
|
|
8
8
|
};
|
|
9
9
|
declare function beginHostedPopup(config: HostedPopupConfig): Promise<string>;
|
|
10
|
-
export { beginHostedPopup };
|
|
11
10
|
export type { HostedPopupConfig };
|
|
11
|
+
export { beginHostedPopup };
|
|
12
12
|
//# sourceMappingURL=hosted-popup.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hosted-popup.d.ts","sourceRoot":"","sources":["../../../src/client/auth/hosted-popup.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"hosted-popup.d.ts","sourceRoot":"","sources":["../../../src/client/auth/hosted-popup.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAA;AAMtE,KAAK,iBAAiB,GAAG;IACxB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAA;IAC/B,QAAQ,CAAC,UAAU,EAAE,GAAG,CAAA;IACxB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;IAC5B,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAA;CAC7B,CAAA;AAgJD,iBAAe,gBAAgB,CAAC,MAAM,EAAE,iBAAiB,GAAG,OAAO,CAAC,MAAM,CAAC,CAU1E;AAED,YAAY,EAAE,iBAAiB,EAAE,CAAA;AACjC,OAAO,EAAE,gBAAgB,EAAE,CAAA"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type { PrimerLogger } from "../../logger";
|
|
2
1
|
import { type ResolvedAccessToken } from "./access-token";
|
|
2
|
+
import type { PrimerLogger } from "../../logger";
|
|
3
3
|
type AccessTokenResolverOptions = {
|
|
4
4
|
readonly origin: string;
|
|
5
5
|
readonly publishableKey: string;
|
|
@@ -9,6 +9,7 @@ type AccessTokenResolverOptions = {
|
|
|
9
9
|
type ResolvedAccessTokenResult = {
|
|
10
10
|
readonly kind: "resolved";
|
|
11
11
|
readonly accessToken: ResolvedAccessToken;
|
|
12
|
+
readonly clearCachedAccessToken?: () => void;
|
|
12
13
|
};
|
|
13
14
|
type MissingAccessTokenResult = {
|
|
14
15
|
readonly kind: "missing";
|
|
@@ -17,7 +18,11 @@ type FatalAccessTokenResult = {
|
|
|
17
18
|
readonly kind: "fatal";
|
|
18
19
|
readonly error: Error;
|
|
19
20
|
};
|
|
20
|
-
type
|
|
21
|
+
type AuthUnavailableResult = {
|
|
22
|
+
readonly kind: "auth-unavailable";
|
|
23
|
+
readonly error: Error;
|
|
24
|
+
};
|
|
25
|
+
type ExistingAccessTokenResult = ResolvedAccessTokenResult | MissingAccessTokenResult | AuthUnavailableResult | FatalAccessTokenResult;
|
|
21
26
|
type HostedLoginResult = ResolvedAccessTokenResult | {
|
|
22
27
|
readonly kind: "sign-in-failed";
|
|
23
28
|
readonly error: Error;
|
|
@@ -30,6 +35,6 @@ type HostedLoginResult = ResolvedAccessTokenResult | {
|
|
|
30
35
|
};
|
|
31
36
|
declare function resolveExistingAccessToken(options: AccessTokenResolverOptions): ExistingAccessTokenResult;
|
|
32
37
|
declare function beginHostedLogin(options: AccessTokenResolverOptions): Promise<HostedLoginResult>;
|
|
33
|
-
export { beginHostedLogin, resolveExistingAccessToken };
|
|
34
38
|
export type { AccessTokenResolverOptions, ExistingAccessTokenResult, HostedLoginResult };
|
|
39
|
+
export { beginHostedLogin, resolveExistingAccessToken };
|
|
35
40
|
//# sourceMappingURL=provider.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../../src/client/auth/provider.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../../src/client/auth/provider.ts"],"names":[],"mappings":"AACA,OAAO,EACN,KAAK,mBAAmB,EAExB,MAAM,sDAAsD,CAAA;AAU7D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAA;AAEtE,KAAK,0BAA0B,GAAG;IACjC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAA;IAC/B,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAA;IAC7B,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAA;CAC7B,CAAA;AAED,KAAK,yBAAyB,GAAG;IAChC,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAA;IACzB,QAAQ,CAAC,WAAW,EAAE,mBAAmB,CAAA;IACzC,QAAQ,CAAC,sBAAsB,CAAC,EAAE,MAAM,IAAI,CAAA;CAC5C,CAAA;AAED,KAAK,wBAAwB,GAAG;IAC/B,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAA;CACxB,CAAA;AAED,KAAK,sBAAsB,GAAG;IAC7B,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAA;IACtB,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAA;CACrB,CAAA;AAED,KAAK,qBAAqB,GAAG;IAC5B,QAAQ,CAAC,IAAI,EAAE,kBAAkB,CAAA;IACjC,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAA;CACrB,CAAA;AAED,KAAK,yBAAyB,GAC3B,yBAAyB,GACzB,wBAAwB,GACxB,qBAAqB,GACrB,sBAAsB,CAAA;AAEzB,KAAK,iBAAiB,GACnB,yBAAyB,GACzB;IAAE,QAAQ,CAAC,IAAI,EAAE,gBAAgB,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAA;CAAE,GAC1D;IAAE,QAAQ,CAAC,IAAI,EAAE,kBAAkB,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAA;CAAE,GAC5D;IAAE,QAAQ,CAAC,IAAI,EAAE,qBAAqB,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAA;CAAE,CAAA;AA4DlE,iBAAS,0BAA0B,CAClC,OAAO,EAAE,0BAA0B,GACjC,yBAAyB,CAW3B;AAYD,iBAAe,gBAAgB,CAAC,OAAO,EAAE,0BAA0B,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAyB/F;AAED,YAAY,EAAE,0BAA0B,EAAE,yBAAyB,EAAE,iBAAiB,EAAE,CAAA;AACxF,OAAO,EAAE,gBAAgB,EAAE,0BAA0B,EAAE,CAAA"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { PrimerLogger } from "../../logger";
|
|
2
|
+
declare function managedAuthAccessTokenStorageKey(publishableKey: string): string;
|
|
3
|
+
declare function managedAuthStorage(logger: PrimerLogger): Storage;
|
|
4
|
+
declare function loadManagedAuthAccessToken(storage: Storage, publishableKey: string): string | null;
|
|
5
|
+
declare function storeManagedAuthAccessToken(storage: Storage, publishableKey: string, accessToken: string): void;
|
|
6
|
+
declare function clearManagedAuthAccessToken(storage: Storage, publishableKey: string): void;
|
|
7
|
+
export { clearManagedAuthAccessToken, loadManagedAuthAccessToken, managedAuthAccessTokenStorageKey, managedAuthStorage, storeManagedAuthAccessToken };
|
|
8
|
+
//# sourceMappingURL=storage.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"storage.d.ts","sourceRoot":"","sources":["../../../src/client/auth/storage.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAA;AAItE,iBAAS,gCAAgC,CAAC,cAAc,EAAE,MAAM,GAAG,MAAM,CAExE;AAED,iBAAS,kBAAkB,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAMzD;AAED,iBAAS,0BAA0B,CAAC,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAM3F;AAED,iBAAS,2BAA2B,CACnC,OAAO,EAAE,OAAO,EAChB,cAAc,EAAE,MAAM,EACtB,WAAW,EAAE,MAAM,GACjB,IAAI,CAEN;AAED,iBAAS,2BAA2B,CAAC,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,GAAG,IAAI,CAEnF;AAED,OAAO,EACN,2BAA2B,EAC3B,0BAA0B,EAC1B,gCAAgC,EAChC,kBAAkB,EAClB,2BAA2B,EAC3B,CAAA"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
+
import type { AuthConfigInvalidState, AuthUnavailableState, ManagedStartState, SignInFailedState, SignInRequiredState } from "./types";
|
|
1
2
|
import type { PciId } from "../contracts/pci";
|
|
2
|
-
import type { AuthUnavailableState, AuthConfigInvalidState, ManagedStartState, SignInFailedState, SignInRequiredState } from "./types";
|
|
3
3
|
type SignInStateConfig<Pcis extends PciId = PciId> = {
|
|
4
4
|
login(): Promise<ManagedStartState<Pcis>>;
|
|
5
5
|
};
|
|
@@ -9,6 +9,6 @@ declare function signInFailedState<Pcis extends PciId>(config: SignInStateConfig
|
|
|
9
9
|
}): SignInFailedState<Pcis>;
|
|
10
10
|
declare function authUnavailableState(error: Error): AuthUnavailableState;
|
|
11
11
|
declare function authConfigInvalidState(error: Error): AuthConfigInvalidState;
|
|
12
|
-
export { authConfigInvalidState, authUnavailableState, signInFailedState, signInRequiredState };
|
|
13
12
|
export type { SignInStateConfig };
|
|
13
|
+
export { authConfigInvalidState, authUnavailableState, signInFailedState, signInRequiredState };
|
|
14
14
|
//# sourceMappingURL=auth-state.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth-state.d.ts","sourceRoot":"","sources":["../../src/client/auth-state.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"auth-state.d.ts","sourceRoot":"","sources":["../../src/client/auth-state.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACX,sBAAsB,EACtB,oBAAoB,EACpB,iBAAiB,EACjB,iBAAiB,EACjB,mBAAmB,EACnB,MAAM,0CAA0C,CAAA;AACjD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,2CAA2C,CAAA;AAEtE,KAAK,iBAAiB,CAAC,IAAI,SAAS,KAAK,GAAG,KAAK,IAAI;IACpD,KAAK,IAAI,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAA;CACzC,CAAA;AAkBD,iBAAS,mBAAmB,CAAC,IAAI,SAAS,KAAK,EAC9C,MAAM,EAAE,iBAAiB,CAAC,IAAI,CAAC,GAC7B,mBAAmB,CAAC,IAAI,CAAC,CAM3B;AAED,iBAAS,iBAAiB,CAAC,IAAI,SAAS,KAAK,EAC5C,MAAM,EAAE,iBAAiB,CAAC,IAAI,CAAC,GAAG;IAAE,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAA;CAAE,GACzD,iBAAiB,CAAC,IAAI,CAAC,CAOzB;AAED,iBAAS,oBAAoB,CAAC,KAAK,EAAE,KAAK,GAAG,oBAAoB,CAMhE;AAED,iBAAS,sBAAsB,CAAC,KAAK,EAAE,KAAK,GAAG,sBAAsB,CAMpE;AAED,YAAY,EAAE,iBAAiB,EAAE,CAAA;AACjC,OAAO,EAAE,sBAAsB,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,CAAA"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import type { ContentBlock } from "../contracts/content";
|
|
2
1
|
import type { SessionContext } from "./session-context";
|
|
2
|
+
import type { PrimerState } from "./types";
|
|
3
|
+
import type { ContentBlock } from "../contracts/content";
|
|
3
4
|
import type { PciId } from "../contracts/pci";
|
|
4
5
|
import type { RendererChoice, RendererInteraction, RendererStimulus } from "../contracts/types";
|
|
5
|
-
import type { PrimerState } from "./types";
|
|
6
6
|
declare function choiceState<Pcis extends PciId>(ctx: SessionContext<Pcis>, body: ContentBlock[], stimulus: RendererStimulus | null, interaction: Extract<RendererInteraction<Pcis>, {
|
|
7
7
|
type: "choice";
|
|
8
8
|
}>, options: RendererChoice[], maxChoices: number, minChoices: number): PrimerState<Pcis>;
|
|
@@ -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":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oDAAoD,CAAA;AACxF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0CAA0C,CAAA;AAK3E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,+CAA+C,CAAA;AACjF,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,2CAA2C,CAAA;AACtE,OAAO,KAAK,EACX,cAAc,EACd,mBAAmB,EACnB,gBAAgB,EAChB,MAAM,6CAA6C,CAAA;AAGpD,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"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import type { ContentBlock } from "../contracts/content";
|
|
2
1
|
import type { SessionContext } from "./session-context";
|
|
2
|
+
import type { PrimerState } from "./types";
|
|
3
|
+
import type { ContentBlock } from "../contracts/content";
|
|
3
4
|
import type { PciId } from "../contracts/pci";
|
|
4
5
|
import type { RendererStimulus, StandardRendererInteraction } from "../contracts/types";
|
|
5
|
-
import type { PrimerState } from "./types";
|
|
6
6
|
declare function extendedTextState<Pcis extends PciId>(ctx: SessionContext<Pcis>, body: ContentBlock[], stimulus: RendererStimulus | null, interaction: Extract<StandardRendererInteraction, {
|
|
7
7
|
type: "extended-text";
|
|
8
8
|
}>): PrimerState<Pcis>;
|
|
@@ -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":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oDAAoD,CAAA;AACxF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0CAA0C,CAAA;AAK3E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,+CAA+C,CAAA;AACjF,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,2CAA2C,CAAA;AACtE,OAAO,KAAK,EACX,gBAAgB,EAChB,2BAA2B,EAC3B,MAAM,6CAA6C,CAAA;AAGpD,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 { ContentBlock, ContentInline } from "../contracts/content";
|
|
2
1
|
import type { SessionContext } from "./session-context";
|
|
2
|
+
import type { AssessmentOutcome, PrimerState } from "./types";
|
|
3
|
+
import type { ContentBlock, ContentInline } from "../contracts/content";
|
|
3
4
|
import type { PciId } from "../contracts/pci";
|
|
4
|
-
import type { RendererInteraction, RendererStimulus, RendererSubmission } from "../contracts/types";
|
|
5
5
|
import type { InteractionReview } from "../contracts/review";
|
|
6
|
-
import type {
|
|
7
|
-
declare function feedbackState<Pcis extends PciId>(ctx: SessionContext<Pcis>, body: ContentBlock[], stimulus: RendererStimulus | null, interaction: RendererInteraction<Pcis>, submission: RendererSubmission<Pcis>,
|
|
6
|
+
import type { RendererInteraction, RendererStimulus, RendererSubmission } from "../contracts/types";
|
|
7
|
+
declare function feedbackState<Pcis extends PciId>(ctx: SessionContext<Pcis>, body: ContentBlock[], stimulus: RendererStimulus | null, interaction: RendererInteraction<Pcis>, submission: RendererSubmission<Pcis>, assessmentOutcome: AssessmentOutcome, 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,
|
|
1
|
+
{"version":3,"file":"feedback-state.d.ts","sourceRoot":"","sources":["../../src/client/feedback-state.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oDAAoD,CAAA;AACxF,OAAO,KAAK,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,0CAA0C,CAAA;AAC9F,OAAO,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,+CAA+C,CAAA;AAChG,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,2CAA2C,CAAA;AACtE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,8CAA8C,CAAA;AACrF,OAAO,KAAK,EACX,mBAAmB,EACnB,gBAAgB,EAChB,kBAAkB,EAClB,MAAM,6CAA6C,CAAA;AAEpD,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,iBAAiB,EAAE,iBAAiB,EACpC,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"}
|
package/dist/client/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { start } from "./start";
|
|
2
1
|
export type { PrimerOptions, PrimerOptionsWithAccessToken, PrimerOptionsWithManagedAuth } from "./start";
|
|
3
|
-
export
|
|
2
|
+
export { start } from "./start";
|
|
3
|
+
export type { AccessTokenStartState, AssessmentOutcome, AssessmentOutcomeValue, AuthConfigInvalidState, AuthUnavailableState, ChoiceState, CompletedState, ErroredState, ExtendedTextMultipleState, ExtendedTextSingleState, ExtendedTextState, FatalState, FeedbackState, InteractionState, ManagedStartState, MatchState, NonRetriableErroredState, NonSerializable, ObservationState, OrderState, PciInteractionState, PciPendingRenderProps, PciRenderProps, PciSubmittedRenderProps, PrimerState, RetriableErroredState, RuntimeState, SignInFailedState, SignInRequiredState, TextEntryState } from "./types";
|
|
4
4
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,0CAA0C,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACX,aAAa,EACb,4BAA4B,EAC5B,4BAA4B,EAC5B,MAAM,0CAA0C,CAAA;AACjD,OAAO,EAAE,KAAK,EAAE,MAAM,0CAA0C,CAAA;AAEhE,YAAY,EACX,qBAAqB,EACrB,iBAAiB,EACjB,sBAAsB,EACtB,sBAAsB,EACtB,oBAAoB,EACpB,WAAW,EACX,cAAc,EACd,YAAY,EACZ,yBAAyB,EACzB,uBAAuB,EACvB,iBAAiB,EACjB,UAAU,EACV,aAAa,EACb,gBAAgB,EAChB,iBAAiB,EACjB,UAAU,EACV,wBAAwB,EACxB,eAAe,EACf,gBAAgB,EAChB,UAAU,EACV,mBAAmB,EACnB,qBAAqB,EACrB,cAAc,EACd,uBAAuB,EACvB,WAAW,EACX,qBAAqB,EACrB,YAAY,EACZ,iBAAiB,EACjB,mBAAmB,EACnB,cAAc,EACd,MAAM,0CAA0C,CAAA"}
|