@superbuilders/primer-tives 4.0.5 → 5.0.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.
Files changed (62) hide show
  1. package/README.md +36 -8
  2. package/dist/client/auth/access-token.d.ts +1 -1
  3. package/dist/client/auth/access-token.d.ts.map +1 -1
  4. package/dist/client/auth/hosted-popup.d.ts +1 -1
  5. package/dist/client/auth/hosted-popup.d.ts.map +1 -1
  6. package/dist/client/auth/provider.d.ts +2 -2
  7. package/dist/client/auth/provider.d.ts.map +1 -1
  8. package/dist/client/auth-state.d.ts +2 -2
  9. package/dist/client/auth-state.d.ts.map +1 -1
  10. package/dist/client/choice-state.d.ts +3 -3
  11. package/dist/client/choice-state.d.ts.map +1 -1
  12. package/dist/client/extended-text-state.d.ts +3 -3
  13. package/dist/client/extended-text-state.d.ts.map +1 -1
  14. package/dist/client/feedback-state.d.ts +6 -5
  15. package/dist/client/feedback-state.d.ts.map +1 -1
  16. package/dist/client/index.d.ts +2 -2
  17. package/dist/client/index.d.ts.map +1 -1
  18. package/dist/client/index.js +883 -737
  19. package/dist/client/index.js.map +24 -24
  20. package/dist/client/match-state.d.ts +3 -3
  21. package/dist/client/match-state.d.ts.map +1 -1
  22. package/dist/client/observation-state.d.ts +1 -1
  23. package/dist/client/observation-state.d.ts.map +1 -1
  24. package/dist/client/order-state.d.ts +3 -3
  25. package/dist/client/order-state.d.ts.map +1 -1
  26. package/dist/client/pci-state.d.ts +3 -3
  27. package/dist/client/pci-state.d.ts.map +1 -1
  28. package/dist/client/session-context.d.ts +2 -2
  29. package/dist/client/session-context.d.ts.map +1 -1
  30. package/dist/client/session.d.ts +4 -4
  31. package/dist/client/session.d.ts.map +1 -1
  32. package/dist/client/start.d.ts +4 -3
  33. package/dist/client/start.d.ts.map +1 -1
  34. package/dist/client/text-entry-state.d.ts +3 -3
  35. package/dist/client/text-entry-state.d.ts.map +1 -1
  36. package/dist/client/transport.d.ts +12 -6
  37. package/dist/client/transport.d.ts.map +1 -1
  38. package/dist/client/types.d.ts +32 -3
  39. package/dist/client/types.d.ts.map +1 -1
  40. package/dist/contracts/index.d.ts +4 -4
  41. package/dist/contracts/index.d.ts.map +1 -1
  42. package/dist/contracts/index.js +12 -12
  43. package/dist/contracts/index.js.map +6 -6
  44. package/dist/contracts/pci-schemas.d.ts +4 -0
  45. package/dist/contracts/pci-schemas.d.ts.map +1 -1
  46. package/dist/contracts/pci.d.ts +1 -1
  47. package/dist/contracts/pci.d.ts.map +1 -1
  48. package/dist/contracts/review.d.ts +1 -1
  49. package/dist/contracts/review.d.ts.map +1 -1
  50. package/dist/contracts/validation.d.ts +24 -2
  51. package/dist/contracts/validation.d.ts.map +1 -1
  52. package/dist/grade-level.d.ts +1 -1
  53. package/dist/grade-level.d.ts.map +1 -1
  54. package/dist/grade-level.js.map +1 -1
  55. package/dist/subject-pcis.d.ts +1 -1
  56. package/dist/subject-pcis.d.ts.map +1 -1
  57. package/dist/subject-pcis.js.map +2 -2
  58. package/dist/subject.d.ts +1 -1
  59. package/dist/subject.d.ts.map +1 -1
  60. package/dist/subject.js.map +1 -1
  61. package/dist/version.d.ts +1 -1
  62. 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.5`.
22
+ The current SDK version is `5.0.0`.
23
23
 
24
24
  ## Entrypoints
25
25
 
@@ -384,7 +384,12 @@ async function runPrimer(initialState: PrimerState): Promise<void> {
384
384
  state = await renderAndSubmitInteraction(state)
385
385
  break
386
386
  case "feedback":
387
- renderFeedback(state.feedbackContent, state.isCorrect, state.review)
387
+ if (state.feedbackKind === "submitted") {
388
+ renderSubmittedFeedback(state.feedbackContent, state.assessmentOutcome, state.review)
389
+ }
390
+ if (state.feedbackKind === "timedOut") {
391
+ renderTimeoutFeedback(state.feedbackContent)
392
+ }
388
393
  state = await state.advance()
389
394
  break
390
395
  case "errored":
@@ -588,7 +593,7 @@ Every interaction state includes:
588
593
  | `stimulus` | Optional frame stimulus. |
589
594
  | `interaction` | Full interaction contract object. |
590
595
  | submit method | Kind-specific learner submission operation. |
591
- | `timeout()` | Records that the learner timed out or the host chose to end the attempt without a submission. |
596
+ | `timeout()` | Records that the learner timed out or the host chose to end the attempt without a submission. A successful timeout resolves to timeout feedback before the next frame. |
592
597
 
593
598
  Submission methods validate standard interaction payloads before runtime submission. Invalid standard submissions return `ErroredState` with `ErrInvalidSubmission`.
594
599
 
@@ -799,20 +804,43 @@ if (state.phase === "interaction" && state.kind === "portable-custom") {
799
804
  ## `FeedbackState`
800
805
 
801
806
  ```ts
802
- interface FeedbackState<Pcis extends PciId = PciId> {
807
+ type AssessmentOutcomeValue = "correct" | "incorrect" | "revisionRequested"
808
+
809
+ type AssessmentOutcome = {
810
+ cardinality: "single"
811
+ baseType: "identifier"
812
+ value: AssessmentOutcomeValue
813
+ }
814
+
815
+ type FeedbackState<Pcis extends PciId = PciId> =
816
+ | SubmittedFeedbackState<Pcis>
817
+ | TimedOutFeedbackState<Pcis>
818
+
819
+ interface SubmittedFeedbackState<Pcis extends PciId = PciId> {
803
820
  readonly phase: "feedback"
821
+ readonly feedbackKind: "submitted"
804
822
  readonly body: ContentBlock[]
805
823
  readonly stimulus: RendererStimulus | null
806
824
  readonly interaction: RendererInteraction<Pcis>
807
825
  readonly submission: RendererSubmission<Pcis>
808
- readonly isCorrect: boolean
826
+ readonly assessmentOutcome: AssessmentOutcome
809
827
  readonly feedbackContent: ContentInline[]
810
828
  readonly review: InteractionReview<Pcis> | null
811
829
  advance(): Promise<PrimerState<Pcis>>
812
830
  }
831
+
832
+ interface TimedOutFeedbackState<Pcis extends PciId = PciId> {
833
+ readonly phase: "feedback"
834
+ readonly feedbackKind: "timedOut"
835
+ readonly body: ContentBlock[]
836
+ readonly stimulus: RendererStimulus | null
837
+ readonly interaction: RendererInteraction<Pcis>
838
+ readonly feedbackContent: ContentInline[]
839
+ advance(): Promise<PrimerState<Pcis>>
840
+ }
813
841
  ```
814
842
 
815
- Feedback state is returned after a successful learner submission. Render the submitted frame, submitted value, correctness, feedback content, and optional review data. Call `advance()` when the learner is ready to continue.
843
+ Feedback state is returned after a terminal learner submission or timeout. Switch on `feedbackKind`. Submitted feedback includes the submitted value, `assessmentOutcome.value`, feedback content, and optional review data. Timeout feedback has no submitted value and no correctness outcome. Call `advance()` when the learner is ready to continue.
816
844
 
817
845
  Repeated `advance()` calls while the first one is pending return the same pending result.
818
846
 
@@ -1092,7 +1120,7 @@ if (!validation.ok) {
1092
1120
 
1093
1121
  ## Review Types
1094
1122
 
1095
- `FeedbackState.review` is `InteractionReview | null`.
1123
+ `SubmittedFeedbackState.review` is `InteractionReview | null`. Timeout feedback does not carry review data because no submission was graded.
1096
1124
 
1097
1125
  ```ts
1098
1126
  type InteractionReview<Pcis extends PciId = PciId> =
@@ -1126,7 +1154,7 @@ type ReviewScalarValue =
1126
1154
  | { kind: "pair"; source: string; target: string }
1127
1155
  ```
1128
1156
 
1129
- `review` is for renderer display and inspection. Correctness already lives on `FeedbackState.isCorrect`.
1157
+ `review` is for renderer display and inspection. The assessment outcome lives on `SubmittedFeedbackState.assessmentOutcome.value`.
1130
1158
 
1131
1159
  ## PCI Registry
1132
1160
 
@@ -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,OAAO,EAAE,kBAAkB,EAAE,CAAA;AAC7B,YAAY,EAAE,mBAAmB,EAAE,CAAA"}
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":"AAMA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAA;AAOtE,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,OAAO,EAAE,gBAAgB,EAAE,CAAA;AAC3B,YAAY,EAAE,iBAAiB,EAAE,CAAA"}
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;AA0PD,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;
@@ -35,6 +35,6 @@ type HostedLoginResult = ResolvedAccessTokenResult | {
35
35
  };
36
36
  declare function resolveExistingAccessToken(options: AccessTokenResolverOptions): ExistingAccessTokenResult;
37
37
  declare function beginHostedLogin(options: AccessTokenResolverOptions): Promise<HostedLoginResult>;
38
- export { beginHostedLogin, resolveExistingAccessToken };
39
38
  export type { AccessTokenResolverOptions, ExistingAccessTokenResult, HostedLoginResult };
39
+ export { beginHostedLogin, resolveExistingAccessToken };
40
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,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAA;AAGtE,OAAO,EAEN,KAAK,mBAAmB,EACxB,MAAM,sDAAsD,CAAA;AAS7D,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,OAAO,EAAE,gBAAgB,EAAE,0BAA0B,EAAE,CAAA;AACvD,YAAY,EAAE,0BAA0B,EAAE,yBAAyB,EAAE,iBAAiB,EAAE,CAAA"}
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"}
@@ -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,EAAE,KAAK,EAAE,MAAM,2CAA2C,CAAA;AACtE,OAAO,KAAK,EACX,oBAAoB,EACpB,sBAAsB,EACtB,iBAAiB,EACjB,iBAAiB,EACjB,mBAAmB,EACnB,MAAM,0CAA0C,CAAA;AAEjD,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,OAAO,EAAE,sBAAsB,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,CAAA;AAC/F,YAAY,EAAE,iBAAiB,EAAE,CAAA"}
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,10 +1,10 @@
1
- import type { ContentBlock } from "../contracts/content";
2
1
  import type { SessionContext } from "./session-context";
2
+ import type { InteractionFeedback, 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
- }>, options: RendererChoice[], maxChoices: number, minChoices: number): PrimerState<Pcis>;
8
+ }>, options: RendererChoice[], maxChoices: number, minChoices: number, feedback: InteractionFeedback | null): PrimerState<Pcis>;
9
9
  export { choiceState };
10
10
  //# sourceMappingURL=choice-state.d.ts.map
@@ -1 +1 @@
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"}
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,mBAAmB,EAAE,WAAW,EAAE,MAAM,0CAA0C,CAAA;AAKhG,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,EAClB,QAAQ,EAAE,mBAAmB,GAAG,IAAI,GAClC,WAAW,CAAC,IAAI,CAAC,CAuFnB;AAED,OAAO,EAAE,WAAW,EAAE,CAAA"}
@@ -1,10 +1,10 @@
1
- import type { ContentBlock } from "../contracts/content";
2
1
  import type { SessionContext } from "./session-context";
2
+ import type { InteractionFeedback, 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
- }>): PrimerState<Pcis>;
8
+ }>, feedback: InteractionFeedback | null): PrimerState<Pcis>;
9
9
  export { extendedTextState };
10
10
  //# sourceMappingURL=extended-text-state.d.ts.map
@@ -1 +1 @@
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
+ {"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,mBAAmB,EAAE,WAAW,EAAE,MAAM,0CAA0C,CAAA;AAKhG,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,EAC5E,QAAQ,EAAE,mBAAmB,GAAG,IAAI,GAClC,WAAW,CAAC,IAAI,CAAC,CAyKnB;AAED,OAAO,EAAE,iBAAiB,EAAE,CAAA"}
@@ -1,9 +1,10 @@
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 { PrimerState } from "./types";
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
- export { feedbackState };
6
+ import type { RendererInteraction, RendererStimulus, RendererSubmission } from "../contracts/types";
7
+ declare function submittedFeedbackState<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
+ declare function timedOutFeedbackState<Pcis extends PciId>(ctx: SessionContext<Pcis>, body: ContentBlock[], stimulus: RendererStimulus | null, interaction: RendererInteraction<Pcis>, feedbackContent: ContentInline[]): PrimerState<Pcis>;
9
+ export { submittedFeedbackState, timedOutFeedbackState };
9
10
  //# 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,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"}
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;AAapD,iBAAS,sBAAsB,CAAC,IAAI,SAAS,KAAK,EACjD,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,CAcnB;AAED,iBAAS,qBAAqB,CAAC,IAAI,SAAS,KAAK,EAChD,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,eAAe,EAAE,aAAa,EAAE,GAC9B,WAAW,CAAC,IAAI,CAAC,CAWnB;AAED,OAAO,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,CAAA"}
@@ -1,4 +1,4 @@
1
- export { start } from "./start";
2
1
  export type { PrimerOptions, PrimerOptionsWithAccessToken, PrimerOptionsWithManagedAuth } from "./start";
3
- export type { ChoiceState, CompletedState, ErroredState, ExtendedTextMultipleState, ExtendedTextSingleState, ExtendedTextState, FatalState, FeedbackState, InteractionState, MatchState, ManagedStartState, NonSerializable, NonRetriableErroredState, ObservationState, OrderState, PciInteractionState, PciPendingRenderProps, PciRenderProps, PciSubmittedRenderProps, PrimerState, RetriableErroredState, RuntimeState, SignInFailedState, SignInRequiredState, TextEntryState, AccessTokenStartState, AuthConfigInvalidState, AuthUnavailableState } from "./types";
2
+ export { start } from "./start";
3
+ export type { AccessTokenStartState, AssessmentOutcome, AssessmentOutcomeValue, AuthConfigInvalidState, AuthUnavailableState, ChoiceState, CompletedState, ErroredState, ExtendedTextMultipleState, ExtendedTextSingleState, ExtendedTextState, FatalState, FeedbackKind, FeedbackState, InteractionFeedback, InteractionState, ManagedStartState, MatchState, NonRetriableErroredState, NonSerializable, ObservationState, OrderState, PciInteractionState, PciPendingRenderProps, PciRenderProps, PciSubmittedRenderProps, PrimerState, RetriableErroredState, RuntimeState, SignInFailedState, SignInRequiredState, SubmittedFeedbackState, TextEntryState, TimedOutFeedbackState } 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;AAChE,YAAY,EACX,aAAa,EACb,4BAA4B,EAC5B,4BAA4B,EAC5B,MAAM,0CAA0C,CAAA;AAEjD,YAAY,EACX,WAAW,EACX,cAAc,EACd,YAAY,EACZ,yBAAyB,EACzB,uBAAuB,EACvB,iBAAiB,EACjB,UAAU,EACV,aAAa,EACb,gBAAgB,EAChB,UAAU,EACV,iBAAiB,EACjB,eAAe,EACf,wBAAwB,EACxB,gBAAgB,EAChB,UAAU,EACV,mBAAmB,EACnB,qBAAqB,EACrB,cAAc,EACd,uBAAuB,EACvB,WAAW,EACX,qBAAqB,EACrB,YAAY,EACZ,iBAAiB,EACjB,mBAAmB,EACnB,cAAc,EACd,qBAAqB,EACrB,sBAAsB,EACtB,oBAAoB,EACpB,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,YAAY,EACZ,aAAa,EACb,mBAAmB,EACnB,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,sBAAsB,EACtB,cAAc,EACd,qBAAqB,EACrB,MAAM,0CAA0C,CAAA"}