@superbuilders/primer-tives 1.1.3 → 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.
Files changed (66) hide show
  1. package/README.md +395 -413
  2. package/dist/client/choice-state.d.ts +3 -2
  3. package/dist/client/choice-state.d.ts.map +1 -1
  4. package/dist/client/create.d.ts +1 -1
  5. package/dist/client/create.d.ts.map +1 -1
  6. package/dist/client/extended-text-state.d.ts +3 -2
  7. package/dist/client/extended-text-state.d.ts.map +1 -1
  8. package/dist/client/feedback-state.d.ts +5 -3
  9. package/dist/client/feedback-state.d.ts.map +1 -1
  10. package/dist/client/index.d.ts +1 -8
  11. package/dist/client/index.d.ts.map +1 -1
  12. package/dist/client/index.js +54 -70
  13. package/dist/client/index.js.map +17 -18
  14. package/dist/client/match-state.d.ts +3 -2
  15. package/dist/client/match-state.d.ts.map +1 -1
  16. package/dist/client/observation-state.d.ts +3 -2
  17. package/dist/client/observation-state.d.ts.map +1 -1
  18. package/dist/client/order-state.d.ts +3 -2
  19. package/dist/client/order-state.d.ts.map +1 -1
  20. package/dist/client/pci-state.d.ts +3 -2
  21. package/dist/client/pci-state.d.ts.map +1 -1
  22. package/dist/client/session-context.d.ts +3 -2
  23. package/dist/client/session-context.d.ts.map +1 -1
  24. package/dist/client/session.d.ts +1 -1
  25. package/dist/client/session.d.ts.map +1 -1
  26. package/dist/client/text-entry-state.d.ts +3 -2
  27. package/dist/client/text-entry-state.d.ts.map +1 -1
  28. package/dist/client/transport.d.ts +4 -3
  29. package/dist/client/transport.d.ts.map +1 -1
  30. package/dist/client/types.d.ts +5 -55
  31. package/dist/client/types.d.ts.map +1 -1
  32. package/dist/contracts/content.d.ts.map +1 -0
  33. package/dist/contracts/index.d.ts +4 -0
  34. package/dist/contracts/index.d.ts.map +1 -1
  35. package/dist/contracts/index.js +27 -1
  36. package/dist/contracts/index.js.map +5 -4
  37. package/dist/contracts/pci.d.ts.map +1 -0
  38. package/dist/contracts/review.d.ts +55 -0
  39. package/dist/contracts/review.d.ts.map +1 -0
  40. package/dist/contracts/types.d.ts +2 -2
  41. package/dist/contracts/types.d.ts.map +1 -1
  42. package/dist/errors.d.ts +2 -1
  43. package/dist/errors.d.ts.map +1 -1
  44. package/dist/errors.js +3 -1
  45. package/dist/errors.js.map +3 -3
  46. package/dist/grade-level.js +7 -0
  47. package/dist/grade-level.js.map +10 -0
  48. package/dist/logger.js +2 -0
  49. package/dist/logger.js.map +9 -0
  50. package/dist/server/create-server.d.ts +6 -4
  51. package/dist/server/create-server.d.ts.map +1 -1
  52. package/dist/server/index.d.ts +0 -4
  53. package/dist/server/index.d.ts.map +1 -1
  54. package/dist/server/index.js +5 -19
  55. package/dist/server/index.js.map +6 -6
  56. package/dist/subject.js +7 -0
  57. package/dist/subject.js.map +10 -0
  58. package/package.json +13 -6
  59. package/dist/client/content.d.ts.map +0 -1
  60. package/dist/client/pci.d.ts.map +0 -1
  61. package/dist/index.d.ts +0 -3
  62. package/dist/index.d.ts.map +0 -1
  63. package/dist/index.js +0 -344
  64. package/dist/index.js.map +0 -12
  65. /package/dist/{client → contracts}/content.d.ts +0 -0
  66. /package/dist/{client → contracts}/pci.d.ts +0 -0
@@ -1,6 +1,7 @@
1
1
  import type { SessionContext } from "./session-context";
2
- import type { PciId } from "./pci";
3
- import type { PrimerState, RendererChoice, RendererInteraction, RendererStimulus } from "./types";
2
+ import type { PciId } from "../contracts/pci";
3
+ import type { RendererChoice, RendererInteraction, RendererStimulus } from "../contracts/types";
4
+ import type { PrimerState } from "./types";
4
5
  declare function choiceState<Pcis extends PciId>(ctx: SessionContext<Pcis>, stimulus: RendererStimulus | null, interaction: Extract<RendererInteraction<Pcis>, {
5
6
  type: "choice";
6
7
  }>, 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":"AAMA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oDAAoD,CAAA;AACxF,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,wCAAwC,CAAA;AACnE,OAAO,KAAK,EACX,WAAW,EACX,cAAc,EACd,mBAAmB,EACnB,gBAAgB,EAChB,MAAM,0CAA0C,CAAA;AAGjD,iBAAS,WAAW,CAAC,IAAI,SAAS,KAAK,EACtC,GAAG,EAAE,cAAc,CAAC,IAAI,CAAC,EACzB,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,CAqFnB;AAED,OAAO,EAAE,WAAW,EAAE,CAAA"}
1
+ {"version":3,"file":"choice-state.d.ts","sourceRoot":"","sources":["../../src/client/choice-state.ts"],"names":[],"mappings":"AAMA,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,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,CAqFnB;AAED,OAAO,EAAE,WAAW,EAAE,CAAA"}
@@ -1,5 +1,5 @@
1
1
  import type { PrimerLogger } from "../logger";
2
- import type { PciId } from "./pci";
2
+ import type { PciId } from "../contracts/pci";
3
3
  import type { SubjectScope } from "../subject";
4
4
  import type { PrimerState } from "./types";
5
5
  interface Config<Pcis extends PciId = PciId> {
@@ -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,wCAAwC,CAAA;AACnE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qCAAqC,CAAA;AACvE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0CAA0C,CAAA;AAM3E,UAAU,MAAM,CAAC,IAAI,SAAS,KAAK,GAAG,KAAK;IAC1C,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;IAC5B,QAAQ,CAAC,aAAa,EAAE,SAAS,IAAI,EAAE,CAAA;IACvC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,OAAO,EAAE,YAAY,CAAA;IAC9B,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,UAAU,CAAC,KAAK,CAAA;IACxC,QAAQ,CAAC,KAAK,CAAC,EAAE,eAAe,CAAA;IAChC,QAAQ,CAAC,MAAM,CAAC,EAAE,YAAY,CAAA;CAC9B;AAED,UAAU,MAAM,CAAC,IAAI,SAAS,KAAK,GAAG,KAAK;IAC1C,KAAK,IAAI,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAA;CACnC;AAUD,iBAAS,MAAM,CAAC,KAAK,CAAC,IAAI,SAAS,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,CA4C5E;AAED,OAAO,EAAE,MAAM,EAAE,CAAA;AACjB,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,CAAA"}
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,YAAY,EAAE,MAAM,qCAAqC,CAAA;AACvE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0CAA0C,CAAA;AAM3E,UAAU,MAAM,CAAC,IAAI,SAAS,KAAK,GAAG,KAAK;IAC1C,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;IAC5B,QAAQ,CAAC,aAAa,EAAE,SAAS,IAAI,EAAE,CAAA;IACvC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,OAAO,EAAE,YAAY,CAAA;IAC9B,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,UAAU,CAAC,KAAK,CAAA;IACxC,QAAQ,CAAC,KAAK,CAAC,EAAE,eAAe,CAAA;IAChC,QAAQ,CAAC,MAAM,CAAC,EAAE,YAAY,CAAA;CAC9B;AAED,UAAU,MAAM,CAAC,IAAI,SAAS,KAAK,GAAG,KAAK;IAC1C,KAAK,IAAI,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAA;CACnC;AAUD,iBAAS,MAAM,CAAC,KAAK,CAAC,IAAI,SAAS,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,CA4C5E;AAED,OAAO,EAAE,MAAM,EAAE,CAAA;AACjB,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,CAAA"}
@@ -1,6 +1,7 @@
1
1
  import type { SessionContext } from "./session-context";
2
- import type { PciId } from "./pci";
3
- import type { PrimerState, RendererStimulus, StandardRendererInteraction } from "./types";
2
+ import type { PciId } from "../contracts/pci";
3
+ import type { RendererStimulus, StandardRendererInteraction } from "../contracts/types";
4
+ import type { PrimerState } from "./types";
4
5
  declare function extendedTextState<Pcis extends PciId>(ctx: SessionContext<Pcis>, stimulus: RendererStimulus | null, interaction: Extract<StandardRendererInteraction, {
5
6
  type: "extended-text";
6
7
  }>): PrimerState<Pcis>;
@@ -1 +1 @@
1
- {"version":3,"file":"extended-text-state.d.ts","sourceRoot":"","sources":["../../src/client/extended-text-state.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oDAAoD,CAAA;AACxF,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,wCAAwC,CAAA;AACnE,OAAO,KAAK,EACX,WAAW,EACX,gBAAgB,EAChB,2BAA2B,EAC3B,MAAM,0CAA0C,CAAA;AAGjD,iBAAS,iBAAiB,CAAC,IAAI,SAAS,KAAK,EAC5C,GAAG,EAAE,cAAc,CAAC,IAAI,CAAC,EACzB,QAAQ,EAAE,gBAAgB,GAAG,IAAI,EACjC,WAAW,EAAE,OAAO,CAAC,2BAA2B,EAAE;IAAE,IAAI,EAAE,eAAe,CAAA;CAAE,CAAC,GAC1E,WAAW,CAAC,IAAI,CAAC,CAqKnB;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":"AAMA,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,QAAQ,EAAE,gBAAgB,GAAG,IAAI,EACjC,WAAW,EAAE,OAAO,CAAC,2BAA2B,EAAE;IAAE,IAAI,EAAE,eAAe,CAAA;CAAE,CAAC,GAC1E,WAAW,CAAC,IAAI,CAAC,CAqKnB;AAED,OAAO,EAAE,iBAAiB,EAAE,CAAA"}
@@ -1,7 +1,9 @@
1
- import type { ContentInline } from "./content";
1
+ import type { ContentInline } from "../contracts/content";
2
2
  import type { SessionContext } from "./session-context";
3
- import type { PciId } from "./pci";
4
- import type { InteractionReview, PrimerState, RendererInteraction, RendererStimulus, RendererSubmission } from "./types";
3
+ import type { PciId } from "../contracts/pci";
4
+ import type { RendererInteraction, RendererStimulus, RendererSubmission } from "../contracts/types";
5
+ import type { InteractionReview } from "../contracts/review";
6
+ import type { PrimerState } from "./types";
5
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>;
6
8
  export { feedbackState };
7
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,4CAA4C,CAAA;AAC/E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oDAAoD,CAAA;AACxF,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,wCAAwC,CAAA;AACnE,OAAO,KAAK,EACX,iBAAiB,EACjB,WAAW,EACX,mBAAmB,EACnB,gBAAgB,EAChB,kBAAkB,EAClB,MAAM,0CAA0C,CAAA;AAEjD,iBAAS,aAAa,CAAC,IAAI,SAAS,KAAK,EACxC,GAAG,EAAE,cAAc,CAAC,IAAI,CAAC,EACzB,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,CAmBnB;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,aAAa,EAAE,MAAM,+CAA+C,CAAA;AAClF,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,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,CAmBnB;AAED,OAAO,EAAE,aAAa,EAAE,CAAA"}
@@ -1,11 +1,4 @@
1
1
  export { create } from "./create";
2
2
  export type { Client, Config } from "./create";
3
- export type { PrimerLogger } from "../logger";
4
- export { SUBJECTS } from "../subject";
5
- export type { Subject, SubjectScope } from "../subject";
6
- export { ErrBadRequest, ErrConflict, ErrForbidden, ErrInvalidAccessToken, ErrInvalidSubmission, ErrJsonParse, ErrMalformedAccessToken, ErrNetwork, ErrNotFound, ErrNotSerializable, ErrRateLimited, ErrServerError, ErrServiceUnavailable, ErrTimeout, ErrTokenExpired, ErrUnsupportedPci } from "../errors";
7
- export type { BodyStimulus, ChoiceReview, ChoiceState, CompletedState, ErroredState, ExtendedTextMultipleState, ExtendedTextReview, ExtendedTextSingleState, ExtendedTextState, FatalState, FeedbackState, ImageStimulus, InteractionReview, InteractionState, MatchPair, MatchReview, MatchState, NonSerializable, ObservationState, OrderReview, OrderState, PciInteraction, PciInteractionState, PciPendingRenderProps, PciRenderProps, PciReview, PciSubmission, PciSubmittedRenderProps, PrimerState, RendererChoice, RendererInteraction, RendererMatchChoice, RendererStimulus, RendererSubmission, ReviewRecordField, ReviewRecordFieldBaseType, ReviewScalarValue, StandardRendererInteraction, TextEntryReview, TextEntryState } from "./types";
8
- export type { ContentBlock, ContentInline, ContentSpan } from "./content";
9
- export { blocksToPlainText, inlinesToPlainText } from "./content";
10
- export type { DivisionRemainderProps, DivisionRemainderSubmission, FractionAdditionProps, FractionAdditionSubmission, PciId, PciProps, PciRegistry, PciUrn, PciValue } from "./pci";
3
+ export type { ChoiceState, CompletedState, ErroredState, ExtendedTextMultipleState, ExtendedTextSingleState, ExtendedTextState, FatalState, FeedbackState, InteractionState, MatchState, NonSerializable, ObservationState, OrderState, PciInteractionState, PciPendingRenderProps, PciRenderProps, PciSubmittedRenderProps, PrimerState, TextEntryState } from "./types";
11
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,MAAM,EAAE,MAAM,2CAA2C,CAAA;AAClE,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAA;AAE/E,YAAY,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAA;AAEtE,OAAO,EAAE,QAAQ,EAAE,MAAM,qCAAqC,CAAA;AAC9D,YAAY,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,qCAAqC,CAAA;AAEhF,OAAO,EACN,aAAa,EACb,WAAW,EACX,YAAY,EACZ,qBAAqB,EACrB,oBAAoB,EACpB,YAAY,EACZ,uBAAuB,EACvB,UAAU,EACV,WAAW,EACX,kBAAkB,EAClB,cAAc,EACd,cAAc,EACd,qBAAqB,EACrB,UAAU,EACV,eAAe,EACf,iBAAiB,EACjB,MAAM,oCAAoC,CAAA;AAE3C,YAAY,EACX,YAAY,EACZ,YAAY,EACZ,WAAW,EACX,cAAc,EACd,YAAY,EACZ,yBAAyB,EACzB,kBAAkB,EAClB,uBAAuB,EACvB,iBAAiB,EACjB,UAAU,EACV,aAAa,EACb,aAAa,EACb,iBAAiB,EACjB,gBAAgB,EAChB,SAAS,EACT,WAAW,EACX,UAAU,EACV,eAAe,EACf,gBAAgB,EAChB,WAAW,EACX,UAAU,EACV,cAAc,EACd,mBAAmB,EACnB,qBAAqB,EACrB,cAAc,EACd,SAAS,EACT,aAAa,EACb,uBAAuB,EACvB,WAAW,EACX,cAAc,EACd,mBAAmB,EACnB,mBAAmB,EACnB,gBAAgB,EAChB,kBAAkB,EAClB,iBAAiB,EACjB,yBAAyB,EACzB,iBAAiB,EACjB,2BAA2B,EAC3B,eAAe,EACf,cAAc,EACd,MAAM,0CAA0C,CAAA;AAEjD,YAAY,EACX,YAAY,EACZ,aAAa,EACb,WAAW,EACX,MAAM,4CAA4C,CAAA;AAEnD,OAAO,EACN,iBAAiB,EACjB,kBAAkB,EAClB,MAAM,4CAA4C,CAAA;AAEnD,YAAY,EACX,sBAAsB,EACtB,2BAA2B,EAC3B,qBAAqB,EACrB,0BAA0B,EAC1B,KAAK,EACL,QAAQ,EACR,WAAW,EACX,MAAM,EACN,QAAQ,EACR,MAAM,wCAAwC,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAA;AAClE,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAA;AAE/E,YAAY,EACX,WAAW,EACX,cAAc,EACd,YAAY,EACZ,yBAAyB,EACzB,uBAAuB,EACvB,iBAAiB,EACjB,UAAU,EACV,aAAa,EACb,gBAAgB,EAChB,UAAU,EACV,eAAe,EACf,gBAAgB,EAChB,UAAU,EACV,mBAAmB,EACnB,qBAAqB,EACrB,cAAc,EACd,uBAAuB,EACvB,WAAW,EACX,cAAc,EACd,MAAM,0CAA0C,CAAA"}
@@ -1,3 +1,51 @@
1
+ // src/errors.ts
2
+ import * as errors from "@superbuilders/errors";
3
+ var ErrNetwork = errors.new("network");
4
+ var ErrJsonParse = errors.new("json parse");
5
+ var ErrUnsupportedPci = errors.new("unsupported pci");
6
+ var ErrInvalidAccessToken = errors.new("invalid access token");
7
+ var ErrMalformedAccessToken = errors.new("malformed access token");
8
+ var ErrTokenExpired = errors.new("access token expired");
9
+ var ErrBadRequest = errors.new("bad request");
10
+ var ErrServerError = errors.new("server error");
11
+ var ErrTimeout = errors.new("timeout");
12
+ var ErrForbidden = errors.new("forbidden");
13
+ var ErrNotFound = errors.new("not found");
14
+ var ErrConflict = errors.new("conflict");
15
+ var ErrExternalAuthorityRequired = errors.new("external authority required");
16
+ var ErrRateLimited = errors.new("rate limited");
17
+ var ErrServiceUnavailable = errors.new("service unavailable");
18
+ var ErrNotSerializable = errors.new("PrimerState is live in-memory state and must not be serialized or stored");
19
+ var ErrInvalidSubmission = errors.new("invalid submission");
20
+ var ErrInvalidSecretKey = errors.new("invalid secret key");
21
+ var ErrStudentNotFound = errors.new("student not found");
22
+ var ErrUnsupportedGrade = errors.new("unsupported grade");
23
+ var ErrTimebackUnavailable = errors.new("timeback unavailable");
24
+ var ErrNeedsHints = errors.new("student needs hints set before /advance");
25
+ // src/contracts/content.ts
26
+ function inlinesToPlainText(nodes) {
27
+ const parts = [];
28
+ for (const node of nodes) {
29
+ switch (node.type) {
30
+ case "text":
31
+ parts.push(node.value);
32
+ break;
33
+ case "italic":
34
+ parts.push(node.value);
35
+ break;
36
+ case "latex":
37
+ parts.push(node.value);
38
+ break;
39
+ }
40
+ }
41
+ return parts.join("");
42
+ }
43
+ function blocksToPlainText(blocks) {
44
+ return blocks.map(function blockText(block) {
45
+ return inlinesToPlainText(block.children);
46
+ }).join(`
47
+ `);
48
+ }
1
49
  // src/contracts/validation.ts
2
50
  import { z as z2 } from "zod";
3
51
 
@@ -283,29 +331,6 @@ function validateSubmissionForInteraction(interaction, submission) {
283
331
  function submissionValidationMessage(result) {
284
332
  return result.issues.join("; ");
285
333
  }
286
- // src/errors.ts
287
- import * as errors from "@superbuilders/errors";
288
- var ErrNetwork = errors.new("network");
289
- var ErrJsonParse = errors.new("json parse");
290
- var ErrUnsupportedPci = errors.new("unsupported pci");
291
- var ErrInvalidAccessToken = errors.new("invalid access token");
292
- var ErrMalformedAccessToken = errors.new("malformed access token");
293
- var ErrTokenExpired = errors.new("access token expired");
294
- var ErrBadRequest = errors.new("bad request");
295
- var ErrServerError = errors.new("server error");
296
- var ErrTimeout = errors.new("timeout");
297
- var ErrForbidden = errors.new("forbidden");
298
- var ErrNotFound = errors.new("not found");
299
- var ErrConflict = errors.new("conflict");
300
- var ErrExternalAuthorityRequired = errors.new("external authority required");
301
- var ErrRateLimited = errors.new("rate limited");
302
- var ErrServiceUnavailable = errors.new("service unavailable");
303
- var ErrNotSerializable = errors.new("PrimerState is live in-memory state and must not be serialized or stored");
304
- var ErrInvalidSubmission = errors.new("invalid submission");
305
- var ErrInvalidSecretKey = errors.new("invalid secret key");
306
- var ErrStudentNotFound = errors.new("student not found");
307
- var ErrUnsupportedGrade = errors.new("unsupported grade");
308
- var ErrTimebackUnavailable = errors.new("timeback unavailable");
309
334
  // src/client/create.ts
310
335
  import * as errors10 from "@superbuilders/errors";
311
336
 
@@ -359,6 +384,9 @@ function httpSentinel(status, body) {
359
384
  if (status === 409) {
360
385
  return ErrConflict;
361
386
  }
387
+ if (status === 412) {
388
+ return ErrNeedsHints;
389
+ }
362
390
  if (status === 429) {
363
391
  return ErrRateLimited;
364
392
  }
@@ -889,6 +917,7 @@ var FATAL_SENTINELS = [
889
917
  ErrTokenExpired,
890
918
  ErrForbidden,
891
919
  ErrNotFound,
920
+ ErrNeedsHints,
892
921
  ErrUnsupportedPci
893
922
  ];
894
923
  function isFatalError(err) {
@@ -1043,53 +1072,8 @@ function create(config) {
1043
1072
  }
1044
1073
  };
1045
1074
  }
1046
- // src/subject.ts
1047
- var SUBJECTS = ["math", "vocabulary", "science"];
1048
- // src/client/content.ts
1049
- function inlinesToPlainText(nodes) {
1050
- const parts = [];
1051
- for (const node of nodes) {
1052
- switch (node.type) {
1053
- case "text":
1054
- parts.push(node.value);
1055
- break;
1056
- case "italic":
1057
- parts.push(node.value);
1058
- break;
1059
- case "latex":
1060
- parts.push(node.value);
1061
- break;
1062
- }
1063
- }
1064
- return parts.join("");
1065
- }
1066
- function blocksToPlainText(blocks) {
1067
- return blocks.map(function blockText(block) {
1068
- return inlinesToPlainText(block.children);
1069
- }).join(`
1070
- `);
1071
- }
1072
1075
  export {
1073
- inlinesToPlainText,
1074
- create,
1075
- blocksToPlainText,
1076
- SUBJECTS,
1077
- ErrUnsupportedPci,
1078
- ErrTokenExpired,
1079
- ErrTimeout,
1080
- ErrServiceUnavailable,
1081
- ErrServerError,
1082
- ErrRateLimited,
1083
- ErrNotSerializable,
1084
- ErrNotFound,
1085
- ErrNetwork,
1086
- ErrMalformedAccessToken,
1087
- ErrJsonParse,
1088
- ErrInvalidSubmission,
1089
- ErrInvalidAccessToken,
1090
- ErrForbidden,
1091
- ErrConflict,
1092
- ErrBadRequest
1076
+ create
1093
1077
  };
1094
1078
 
1095
- //# debugId=4EFEDD60D9A13DA764756E2164756E21
1079
+ //# debugId=EA813B14A6F0A81364756E2164756E21