@superbuilders/primer-tives 2.2.1 → 3.5.1

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 (48) hide show
  1. package/README.md +813 -446
  2. package/dist/client/auth/access-token.d.ts +10 -0
  3. package/dist/client/auth/access-token.d.ts.map +1 -0
  4. package/dist/client/auth/browser.d.ts +20 -0
  5. package/dist/client/auth/browser.d.ts.map +1 -0
  6. package/dist/client/auth/callback.d.ts +10 -0
  7. package/dist/client/auth/callback.d.ts.map +1 -0
  8. package/dist/client/auth/hosted-popup.d.ts +14 -0
  9. package/dist/client/auth/hosted-popup.d.ts.map +1 -0
  10. package/dist/client/auth/provider.d.ts +14 -0
  11. package/dist/client/auth/provider.d.ts.map +1 -0
  12. package/dist/client/auth/storage.d.ts +9 -0
  13. package/dist/client/auth/storage.d.ts.map +1 -0
  14. package/dist/client/create.d.ts +22 -25
  15. package/dist/client/create.d.ts.map +1 -1
  16. package/dist/client/create.type-test.d.ts +2 -0
  17. package/dist/client/create.type-test.d.ts.map +1 -0
  18. package/dist/client/index.d.ts +1 -1
  19. package/dist/client/index.d.ts.map +1 -1
  20. package/dist/client/index.js +336 -74
  21. package/dist/client/index.js.map +14 -10
  22. package/dist/client/runtime-subject.d.ts +4 -0
  23. package/dist/client/runtime-subject.d.ts.map +1 -0
  24. package/dist/client/session.d.ts +2 -2
  25. package/dist/client/session.d.ts.map +1 -1
  26. package/dist/client/transport.d.ts +6 -4
  27. package/dist/client/transport.d.ts.map +1 -1
  28. package/dist/errors.d.ts +7 -3
  29. package/dist/errors.d.ts.map +1 -1
  30. package/dist/errors.js +14 -6
  31. package/dist/errors.js.map +3 -3
  32. package/dist/subject-pcis.d.ts +11 -5
  33. package/dist/subject-pcis.d.ts.map +1 -1
  34. package/dist/subject-pcis.js +39 -0
  35. package/dist/subject-pcis.js.map +11 -0
  36. package/dist/subject.d.ts +1 -2
  37. package/dist/subject.d.ts.map +1 -1
  38. package/dist/subject.js.map +1 -1
  39. package/dist/version.d.ts +1 -1
  40. package/package.json +2 -6
  41. package/dist/server/create-server.d.ts +0 -17
  42. package/dist/server/create-server.d.ts.map +0 -1
  43. package/dist/server/exchange.d.ts +0 -16
  44. package/dist/server/exchange.d.ts.map +0 -1
  45. package/dist/server/index.d.ts +0 -3
  46. package/dist/server/index.d.ts.map +0 -1
  47. package/dist/server/index.js +0 -173
  48. package/dist/server/index.js.map +0 -12
@@ -1,17 +1,15 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../src/errors.ts", "../src/contracts/content.ts", "../src/contracts/pci.ts", "../src/contracts/validation.ts", "../src/contracts/pci-schemas.ts", "../src/subject.ts", "../src/client/create.ts", "../src/client/transport.ts", "../src/version.ts", "../src/client/session.ts", "../src/client/consumed.ts", "../src/client/choice-state.ts", "../src/client/extended-text-state.ts", "../src/client/feedback-state.ts", "../src/client/match-state.ts", "../src/client/observation-state.ts", "../src/client/order-state.ts", "../src/client/pci-state.ts", "../src/client/text-entry-state.ts", "../src/subject-pcis.ts"],
3
+ "sources": ["../src/errors.ts", "../src/contracts/content.ts", "../src/contracts/pci.ts", "../src/contracts/validation.ts", "../src/contracts/pci-schemas.ts", "../src/client/transport.ts", "../src/version.ts", "../src/client/session.ts", "../src/client/consumed.ts", "../src/client/choice-state.ts", "../src/client/extended-text-state.ts", "../src/client/feedback-state.ts", "../src/client/match-state.ts", "../src/client/observation-state.ts", "../src/client/order-state.ts", "../src/client/pci-state.ts", "../src/client/text-entry-state.ts", "../src/client/auth/browser.ts", "../src/client/auth/callback.ts", "../src/client/auth/hosted-popup.ts", "../src/client/auth/access-token.ts", "../src/client/auth/storage.ts", "../src/client/auth/provider.ts", "../src/client/create.ts"],
4
4
  "sourcesContent": [
5
- "import * as errors from \"@superbuilders/errors\"\n\nconst ErrNetwork = errors.new(\"network\")\nconst ErrJsonParse = errors.new(\"json parse\")\nconst ErrUnsupportedPci = errors.new(\"unsupported pci\")\nconst ErrMissingRequiredPci = errors.new(\"missing required pci\")\nconst ErrInvalidAccessToken = errors.new(\"invalid access token\")\nconst ErrMalformedAccessToken = errors.new(\"malformed access token\")\nconst ErrTokenExpired = errors.new(\"access token expired\")\nconst ErrBadRequest = errors.new(\"bad request\")\nconst ErrServerError = errors.new(\"server error\")\nconst ErrTimeout = errors.new(\"timeout\")\nconst ErrForbidden = errors.new(\"forbidden\")\nconst ErrNotFound = errors.new(\"not found\")\nconst ErrConflict = errors.new(\"conflict\")\nconst ErrRateLimited = errors.new(\"rate limited\")\nconst ErrServiceUnavailable = errors.new(\"service unavailable\")\nconst ErrNotSerializable = errors.new(\n\t\"PrimerState is live in-memory state and must not be serialized or stored\"\n)\nconst ErrInvalidSubmission = errors.new(\"invalid submission\")\n\nconst ErrInvalidSecretKey = errors.new(\"invalid secret key\")\nconst ErrSdkUpgradeRequired = errors.new(\"sdk upgrade required\")\n\nexport {\n\tErrBadRequest,\n\tErrConflict,\n\tErrForbidden,\n\tErrInvalidAccessToken,\n\tErrInvalidSecretKey,\n\tErrInvalidSubmission,\n\tErrJsonParse,\n\tErrMalformedAccessToken,\n\tErrMissingRequiredPci,\n\tErrNetwork,\n\tErrNotFound,\n\tErrNotSerializable,\n\tErrRateLimited,\n\tErrSdkUpgradeRequired,\n\tErrServerError,\n\tErrServiceUnavailable,\n\tErrTimeout,\n\tErrTokenExpired,\n\tErrUnsupportedPci\n}\n",
5
+ "import * as errors from \"@superbuilders/errors\"\n\nconst ErrNetwork = errors.new(\"network\")\nconst ErrJsonParse = errors.new(\"json parse\")\nconst ErrUnsupportedPci = errors.new(\"unsupported pci\")\nconst ErrInvalidAccessToken = errors.new(\"invalid access token\")\nconst ErrMalformedAccessToken = errors.new(\"malformed access token\")\nconst ErrTokenExpired = errors.new(\"access token expired\")\nconst ErrBadRequest = errors.new(\"bad request\")\nconst ErrServerError = errors.new(\"server error\")\nconst ErrTimeout = errors.new(\"timeout\")\nconst ErrForbidden = errors.new(\"forbidden\")\nconst ErrNotFound = errors.new(\"not found\")\nconst ErrConflict = errors.new(\"conflict\")\nconst ErrRateLimited = errors.new(\"rate limited\")\nconst ErrServiceUnavailable = errors.new(\"service unavailable\")\nconst ErrNotSerializable = errors.new(\n\t\"PrimerState is live in-memory state and must not be serialized or stored\"\n)\nconst ErrInvalidSubmission = errors.new(\"invalid submission\")\nconst ErrAuthUnavailable = errors.new(\"auth unavailable\")\nconst ErrAuthConfigInvalid = errors.new(\"auth config invalid\")\nconst ErrAuthCallbackInvalid = errors.new(\"auth callback invalid\")\nconst ErrAuthStateMismatch = errors.new(\"auth state mismatch\")\nconst ErrAuthPopupBlocked = errors.new(\"auth popup blocked\")\nconst ErrAuthCancelled = errors.new(\"auth cancelled\")\n\nconst ErrSdkUpgradeRequired = errors.new(\"sdk upgrade required\")\n\nexport {\n\tErrAuthCallbackInvalid,\n\tErrAuthCancelled,\n\tErrAuthConfigInvalid,\n\tErrAuthPopupBlocked,\n\tErrAuthStateMismatch,\n\tErrAuthUnavailable,\n\tErrBadRequest,\n\tErrConflict,\n\tErrForbidden,\n\tErrInvalidAccessToken,\n\tErrInvalidSubmission,\n\tErrJsonParse,\n\tErrMalformedAccessToken,\n\tErrNetwork,\n\tErrNotFound,\n\tErrNotSerializable,\n\tErrRateLimited,\n\tErrSdkUpgradeRequired,\n\tErrServerError,\n\tErrServiceUnavailable,\n\tErrTimeout,\n\tErrTokenExpired,\n\tErrUnsupportedPci\n}\n",
6
6
  "type ContentSpan = { type: \"text\"; value: string } | { type: \"italic\"; value: string }\n\ntype ContentInline = ContentSpan | { type: \"latex\"; value: string }\n\ntype ContentBlock = { type: \"paragraph\"; children: ContentInline[] }\n\nfunction inlinesToPlainText(nodes: ContentInline[]): string {\n\tconst parts: string[] = []\n\tfor (const node of nodes) {\n\t\tswitch (node.type) {\n\t\t\tcase \"text\":\n\t\t\t\tparts.push(node.value)\n\t\t\t\tbreak\n\t\t\tcase \"italic\":\n\t\t\t\tparts.push(node.value)\n\t\t\t\tbreak\n\t\t\tcase \"latex\":\n\t\t\t\tparts.push(node.value)\n\t\t\t\tbreak\n\t\t}\n\t}\n\treturn parts.join(\"\")\n}\n\nfunction blocksToPlainText(blocks: ContentBlock[]): string {\n\treturn blocks\n\t\t.map(function blockText(block) {\n\t\t\treturn inlinesToPlainText(block.children)\n\t\t})\n\t\t.join(\"\\n\")\n}\n\nexport type { ContentBlock, ContentInline, ContentSpan }\nexport { blocksToPlainText, inlinesToPlainText }\n",
7
7
  "type FractionInputForm = \"whole\" | \"proper\" | \"improper\" | \"mixed\"\n\ninterface FractionInputProps {\n\tform: FractionInputForm\n\trequireSimplified: boolean\n}\n\ntype FractionInputSubmission =\n\t| { form: \"whole\"; whole: string }\n\t| { form: \"proper\"; numerator: string; denominator: string }\n\t| { form: \"improper\"; numerator: string; denominator: string }\n\t| { form: \"mixed\"; whole: string; numerator: string; denominator: string }\n\ntype PciUrn = `urn:primer:pci:${string}`\n\nconst PCI_IDS = [\"urn:primer:pci:fraction-input\"] as const\n\ninterface PciRegistry {\n\t\"urn:primer:pci:fraction-input\": {\n\t\tprops: FractionInputProps\n\t\tvalue: FractionInputSubmission\n\t}\n}\n\ntype AssertAllPciUrns = keyof PciRegistry extends PciUrn ? true : never\nconst urnCheck: AssertAllPciUrns = true\nvoid urnCheck\n\ntype PciId = keyof PciRegistry & string\ntype PciProps<K extends PciId> = PciRegistry[K][\"props\"]\ntype PciValue<K extends PciId> = PciRegistry[K][\"value\"]\n\nfunction isPciId(value: string): value is PciId {\n\tfor (const id of PCI_IDS) {\n\t\tif (id === value) {\n\t\t\treturn true\n\t\t}\n\t}\n\treturn false\n}\n\nexport { PCI_IDS, isPciId }\n\nexport type {\n\tFractionInputForm,\n\tFractionInputProps,\n\tFractionInputSubmission,\n\tPciId,\n\tPciProps,\n\tPciRegistry,\n\tPciUrn,\n\tPciValue\n}\n",
8
8
  "import { z } from \"zod\"\n\nimport type { PciId } from \"@superbuilders/primer-tives/contracts/pci\"\n\nimport { FractionInputSubmissionSchema } from \"@superbuilders/primer-tives/contracts/pci-schemas\"\nimport type {\n\tMatchPair,\n\tRendererChoice,\n\tRendererInteraction,\n\tRendererMatchChoice,\n\tRendererSubmission\n} from \"@superbuilders/primer-tives/contracts/types\"\n\nconst MatchPairSchema = z.object({\n\tsource: z.string(),\n\ttarget: z.string()\n})\n\nconst ChoiceSubmissionSchema = z.object({\n\ttype: z.literal(\"choice\"),\n\tselectedKeys: z.array(z.string())\n})\n\nconst TextEntrySubmissionSchema = z.object({\n\ttype: z.literal(\"text-entry\"),\n\tvalue: z.string()\n})\n\nconst ExtendedTextSubmissionSchema = z.object({\n\ttype: z.literal(\"extended-text\"),\n\tvalues: z.array(z.string()).min(1)\n})\n\nconst OrderSubmissionSchema = z.object({\n\ttype: z.literal(\"order\"),\n\torderedKeys: z.array(z.string())\n})\n\nconst MatchSubmissionSchema = z.object({\n\ttype: z.literal(\"match\"),\n\tpairs: z.array(MatchPairSchema)\n})\n\nconst FractionInputPciSubmissionSchema = z.object({\n\ttype: z.literal(\"portable-custom\"),\n\tpciId: z.literal(\"urn:primer:pci:fraction-input\"),\n\tvalue: FractionInputSubmissionSchema\n})\n\nconst RendererSubmissionSchema = z.union([\n\tChoiceSubmissionSchema,\n\tTextEntrySubmissionSchema,\n\tExtendedTextSubmissionSchema,\n\tOrderSubmissionSchema,\n\tMatchSubmissionSchema,\n\tFractionInputPciSubmissionSchema\n])\n\nfunction duplicates<T>(values: readonly T[], keyOf: (value: T) => string): string[] {\n\tconst seen = new Set<string>()\n\tconst duplicated = new Set<string>()\n\tfor (const value of values) {\n\t\tconst key = keyOf(value)\n\t\tif (seen.has(key)) {\n\t\t\tduplicated.add(key)\n\t\t\tcontinue\n\t\t}\n\t\tseen.add(key)\n\t}\n\treturn [...duplicated]\n}\n\nfunction findUnknownIds(values: readonly string[], choices: RendererChoice[]): string[] {\n\tconst ids = new Set(\n\t\tchoices.map(function getId(choice) {\n\t\t\treturn choice.identifier\n\t\t})\n\t)\n\treturn values.filter(function isUnknown(value) {\n\t\treturn !ids.has(value)\n\t})\n}\n\nfunction countByIdentifier(pairs: MatchPair[], side: \"source\" | \"target\"): Map<string, number> {\n\tconst counts = new Map<string, number>()\n\tfor (const pair of pairs) {\n\t\tconst key = pair[side]\n\t\tconst currentCount = counts.get(key)\n\t\tif (currentCount === undefined) {\n\t\t\tcounts.set(key, 1)\n\t\t\tcontinue\n\t\t}\n\t\tcounts.set(key, currentCount + 1)\n\t}\n\treturn counts\n}\n\nfunction validateUsageBounds(\n\tchoices: RendererMatchChoice[],\n\tcounts: Map<string, number>,\n\tside: \"source\" | \"target\"\n): string[] {\n\tconst issues: string[] = []\n\tfor (const choice of choices) {\n\t\tconst maybeCount = counts.get(choice.identifier)\n\t\tconst count = maybeCount === undefined ? 0 : maybeCount\n\t\tif (choice.matchMax !== 0 && count > choice.matchMax) {\n\t\t\tissues.push(`${side} '${choice.identifier}' used ${count} times, max ${choice.matchMax}`)\n\t\t}\n\t\tif (count < choice.matchMin) {\n\t\t\tissues.push(`${side} '${choice.identifier}' used ${count} times, min ${choice.matchMin}`)\n\t\t}\n\t}\n\treturn issues\n}\n\nfunction pciSubmissionSchema(pciId: PciId) {\n\tswitch (pciId) {\n\t\tcase \"urn:primer:pci:fraction-input\":\n\t\t\treturn FractionInputSubmissionSchema\n\t}\n\tconst exhaustiveCheck: never = pciId\n\treturn exhaustiveCheck\n}\n\ntype SubmissionValidationSuccess = {\n\tok: true\n\tvalue: RendererSubmission\n}\n\ntype SubmissionValidationFailure = {\n\tok: false\n\tissues: readonly string[]\n}\n\ntype SubmissionValidationResult = SubmissionValidationSuccess | SubmissionValidationFailure\n\nfunction typeMismatch(interactionType: string, submissionType: string): string {\n\treturn `submission type '${submissionType}' does not match interaction type '${interactionType}'`\n}\n\nfunction buildResult(\n\tsubmission: RendererSubmission,\n\tissues: readonly string[]\n): SubmissionValidationResult {\n\tif (issues.length > 0) {\n\t\treturn { ok: false, issues }\n\t}\n\treturn { ok: true, value: submission }\n}\n\nfunction validateChoice(\n\tinteraction: Extract<RendererInteraction, { type: \"choice\" }>,\n\tsubmission: Extract<RendererSubmission, { type: \"choice\" }>\n): readonly string[] {\n\tconst issues: string[] = []\n\tif (submission.selectedKeys.length < interaction.minChoices) {\n\t\tissues.push(`need at least ${interaction.minChoices} selections`)\n\t}\n\tif (submission.selectedKeys.length > interaction.maxChoices) {\n\t\tissues.push(`at most ${interaction.maxChoices} selections`)\n\t}\n\tconst duplicateKeys = duplicates(submission.selectedKeys, function keyOf(value) {\n\t\treturn value\n\t})\n\tif (duplicateKeys.length > 0) {\n\t\tissues.push(\"duplicate selections\")\n\t}\n\tconst unknownKeys = findUnknownIds(submission.selectedKeys, interaction.options)\n\tif (unknownKeys.length > 0) {\n\t\tissues.push(`unknown options: ${unknownKeys.join(\", \")}`)\n\t}\n\treturn issues\n}\n\nfunction validateExtendedText(\n\tinteraction: Extract<RendererInteraction, { type: \"extended-text\" }>,\n\tsubmission: Extract<RendererSubmission, { type: \"extended-text\" }>\n): readonly string[] {\n\tconst issues: string[] = []\n\tif (interaction.cardinality === \"single\") {\n\t\tif (submission.values.length !== 1) {\n\t\t\tissues.push(\"single-cardinality extended-text requires exactly one value\")\n\t\t}\n\t\treturn issues\n\t}\n\tif (submission.values.length < interaction.minStrings) {\n\t\tissues.push(`need at least ${interaction.minStrings} values`)\n\t}\n\tif (submission.values.length > interaction.maxStrings) {\n\t\tissues.push(`at most ${interaction.maxStrings} values`)\n\t}\n\tconst duplicateValues = duplicates(submission.values, function keyOf(value) {\n\t\treturn value\n\t})\n\tif (duplicateValues.length > 0) {\n\t\tissues.push(\"duplicate values are not allowed for multiple-cardinality extended-text\")\n\t}\n\treturn issues\n}\n\nfunction validateOrder(\n\tinteraction: Extract<RendererInteraction, { type: \"order\" }>,\n\tsubmission: Extract<RendererSubmission, { type: \"order\" }>\n): readonly string[] {\n\tconst issues: string[] = []\n\tif (submission.orderedKeys.length < interaction.minChoices) {\n\t\tissues.push(`need at least ${interaction.minChoices} selections`)\n\t}\n\tif (submission.orderedKeys.length > interaction.maxChoices) {\n\t\tissues.push(`at most ${interaction.maxChoices} selections`)\n\t}\n\tconst duplicateKeys = duplicates(submission.orderedKeys, function keyOf(value) {\n\t\treturn value\n\t})\n\tif (duplicateKeys.length > 0) {\n\t\tissues.push(\"duplicate selections\")\n\t}\n\tconst unknownKeys = findUnknownIds(submission.orderedKeys, interaction.choices)\n\tif (unknownKeys.length > 0) {\n\t\tissues.push(`unknown choices: ${unknownKeys.join(\", \")}`)\n\t}\n\treturn issues\n}\n\nfunction validateMatch(\n\tinteraction: Extract<RendererInteraction, { type: \"match\" }>,\n\tsubmission: Extract<RendererSubmission, { type: \"match\" }>\n): readonly string[] {\n\tconst issues: string[] = []\n\tif (submission.pairs.length < interaction.minAssociations) {\n\t\tissues.push(`need at least ${interaction.minAssociations} associations`)\n\t}\n\tif (submission.pairs.length > interaction.maxAssociations) {\n\t\tissues.push(`at most ${interaction.maxAssociations} associations`)\n\t}\n\tconst duplicatePairs = duplicates(submission.pairs, function keyOf(pair) {\n\t\treturn `${pair.source}->${pair.target}`\n\t})\n\tif (duplicatePairs.length > 0) {\n\t\tissues.push(\"duplicate associations are not allowed\")\n\t}\n\tconst sourceIds = new Set(\n\t\tinteraction.sourceChoices.map(function getId(choice) {\n\t\t\treturn choice.identifier\n\t\t})\n\t)\n\tconst targetIds = new Set(\n\t\tinteraction.targetChoices.map(function getId(choice) {\n\t\t\treturn choice.identifier\n\t\t})\n\t)\n\tfor (const pair of submission.pairs) {\n\t\tif (!sourceIds.has(pair.source)) {\n\t\t\tissues.push(`unknown source '${pair.source}'`)\n\t\t}\n\t\tif (!targetIds.has(pair.target)) {\n\t\t\tissues.push(`unknown target '${pair.target}'`)\n\t\t}\n\t}\n\tconst sourceCounts = countByIdentifier(submission.pairs, \"source\")\n\tconst targetCounts = countByIdentifier(submission.pairs, \"target\")\n\tissues.push(...validateUsageBounds(interaction.sourceChoices, sourceCounts, \"source\"))\n\tissues.push(...validateUsageBounds(interaction.targetChoices, targetCounts, \"target\"))\n\treturn issues\n}\n\nfunction validatePortableCustom(\n\tinteraction: Extract<RendererInteraction, { type: \"portable-custom\" }>,\n\tsubmission: Extract<RendererSubmission, { type: \"portable-custom\" }>\n): readonly string[] {\n\tif (submission.pciId !== interaction.pciId) {\n\t\treturn [\n\t\t\t`submission PCI '${submission.pciId}' does not match interaction PCI '${interaction.pciId}'`\n\t\t]\n\t}\n\tconst schema = pciSubmissionSchema(interaction.pciId)\n\tconst result = schema.safeParse(submission.value)\n\tif (!result.success) {\n\t\treturn result.error.issues.map(function toIssue(issue) {\n\t\t\treturn issue.message\n\t\t})\n\t}\n\treturn []\n}\n\nfunction validateSubmissionForInteraction(\n\tinteraction: RendererInteraction,\n\tsubmission: RendererSubmission\n): SubmissionValidationResult {\n\tswitch (interaction.type) {\n\t\tcase \"choice\":\n\t\t\tif (submission.type !== \"choice\") {\n\t\t\t\treturn { ok: false, issues: [typeMismatch(interaction.type, submission.type)] }\n\t\t\t}\n\t\t\treturn buildResult(submission, validateChoice(interaction, submission))\n\t\tcase \"text-entry\":\n\t\t\tif (submission.type !== \"text-entry\") {\n\t\t\t\treturn { ok: false, issues: [typeMismatch(interaction.type, submission.type)] }\n\t\t\t}\n\t\t\treturn { ok: true, value: submission }\n\t\tcase \"extended-text\":\n\t\t\tif (submission.type !== \"extended-text\") {\n\t\t\t\treturn { ok: false, issues: [typeMismatch(interaction.type, submission.type)] }\n\t\t\t}\n\t\t\treturn buildResult(submission, validateExtendedText(interaction, submission))\n\t\tcase \"order\":\n\t\t\tif (submission.type !== \"order\") {\n\t\t\t\treturn { ok: false, issues: [typeMismatch(interaction.type, submission.type)] }\n\t\t\t}\n\t\t\treturn buildResult(submission, validateOrder(interaction, submission))\n\t\tcase \"match\":\n\t\t\tif (submission.type !== \"match\") {\n\t\t\t\treturn { ok: false, issues: [typeMismatch(interaction.type, submission.type)] }\n\t\t\t}\n\t\t\treturn buildResult(submission, validateMatch(interaction, submission))\n\t\tcase \"portable-custom\":\n\t\t\tif (submission.type !== \"portable-custom\") {\n\t\t\t\treturn { ok: false, issues: [typeMismatch(interaction.type, submission.type)] }\n\t\t\t}\n\t\t\treturn buildResult(submission, validatePortableCustom(interaction, submission))\n\t}\n}\n\nfunction submissionValidationMessage(result: SubmissionValidationFailure): string {\n\treturn result.issues.join(\"; \")\n}\n\nexport {\n\tChoiceSubmissionSchema,\n\tExtendedTextSubmissionSchema,\n\tFractionInputPciSubmissionSchema,\n\tMatchPairSchema,\n\tMatchSubmissionSchema,\n\tOrderSubmissionSchema,\n\tRendererSubmissionSchema,\n\tTextEntrySubmissionSchema,\n\tsubmissionValidationMessage,\n\tvalidateSubmissionForInteraction\n}\nexport type { SubmissionValidationFailure, SubmissionValidationResult, SubmissionValidationSuccess }\n",
9
9
  "import { z } from \"zod\"\n\nconst FractionInputPropsSchema = z.object({\n\tform: z.enum([\"whole\", \"proper\", \"improper\", \"mixed\"]),\n\trequireSimplified: z.boolean()\n})\n\nconst FractionInputSubmissionSchema = z.discriminatedUnion(\"form\", [\n\tz.object({ form: z.literal(\"whole\"), whole: z.string() }),\n\tz.object({\n\t\tform: z.literal(\"proper\"),\n\t\tnumerator: z.string(),\n\t\tdenominator: z.string()\n\t}),\n\tz.object({\n\t\tform: z.literal(\"improper\"),\n\t\tnumerator: z.string(),\n\t\tdenominator: z.string()\n\t}),\n\tz.object({\n\t\tform: z.literal(\"mixed\"),\n\t\twhole: z.string(),\n\t\tnumerator: z.string(),\n\t\tdenominator: z.string()\n\t})\n])\n\nexport { FractionInputPropsSchema, FractionInputSubmissionSchema }\n",
10
- "const SUBJECTS = [\"math\", \"vocabulary\", \"science\"] as const\n\ntype Subject = (typeof SUBJECTS)[number]\n\ntype SubjectScope = Subject | \"all\"\n\nexport { SUBJECTS }\nexport type { Subject, SubjectScope }\n",
11
- "import * as errors from \"@superbuilders/errors\"\nimport { ErrMalformedAccessToken, ErrMissingRequiredPci } from \"@superbuilders/primer-tives/errors\"\nimport type { PrimerLogger } from \"@superbuilders/primer-tives/logger\"\nimport type { PciId } from \"@superbuilders/primer-tives/contracts/pci\"\nimport type { PrimerState } from \"@superbuilders/primer-tives/client/types\"\nimport { createTransport } from \"@superbuilders/primer-tives/client/transport\"\nimport { makeSession } from \"@superbuilders/primer-tives/client/session\"\nimport type { SubjectScope } from \"@superbuilders/primer-tives/subject\"\nimport {\n\tmissingPcisForSubject,\n\ttype RequiredPciForSubject\n} from \"@superbuilders/primer-tives/subject-pcis\"\n\nconst ACCESS_TOKEN_PREFIX = \"eyJ\"\n\ntype SupportedPciForSubject<S extends SubjectScope, Pcis extends PciId> =\n\t| Pcis\n\t| RequiredPciForSubject<S>\n\ntype ConfigFields<S extends SubjectScope> = {\n\treadonly accessToken: string\n\treadonly subject: S\n\treadonly origin: string\n\treadonly fetch?: typeof globalThis.fetch\n\treadonly abort?: AbortController\n\treadonly logger: PrimerLogger\n}\n\ntype PciConfigForSubject<S extends SubjectScope, Pcis extends PciId> = [\n\tRequiredPciForSubject<S>\n] extends [never]\n\t? { readonly supportedPcis?: readonly Pcis[] }\n\t: { readonly supportedPcis: readonly [RequiredPciForSubject<S>, ...Pcis[]] }\n\ntype Config<S extends SubjectScope, Pcis extends PciId = never> = ConfigFields<S> &\n\tPciConfigForSubject<S, Pcis>\n\ntype DynamicSubjectConfig<Pcis extends PciId = never> = ConfigFields<SubjectScope> & {\n\treadonly supportedPcis: readonly [RequiredPciForSubject<\"all\">, ...Pcis[]]\n}\n\ntype AnyConfig = ConfigFields<SubjectScope> & {\n\treadonly supportedPcis?: readonly PciId[]\n}\n\ninterface Client<Pcis extends PciId = PciId> {\n\tstart(): Promise<PrimerState<Pcis>>\n}\n\ntype SubjectWithoutRequiredPcis = Exclude<SubjectScope, \"all\" | \"math\">\n\nfunction isMalformedJws(token: string): boolean {\n\tif (!token.startsWith(ACCESS_TOKEN_PREFIX)) {\n\t\treturn true\n\t}\n\tconst dotCount = token.split(\".\").length - 1\n\treturn dotCount !== 2\n}\n\nfunction create<const Pcis extends PciId = never>(\n\tconfig: Config<\"math\", Pcis>\n): Client<SupportedPciForSubject<\"math\", Pcis>>\nfunction create<const Pcis extends PciId = never>(\n\tconfig: Config<\"all\", Pcis>\n): Client<SupportedPciForSubject<\"all\", Pcis>>\nfunction create<const S extends SubjectWithoutRequiredPcis, const Pcis extends PciId = never>(\n\tconfig: Config<S, Pcis>\n): Client<SupportedPciForSubject<S, Pcis>>\nfunction create<const Pcis extends PciId = never>(\n\tconfig: DynamicSubjectConfig<Pcis>\n): Client<SupportedPciForSubject<\"all\", Pcis>>\nfunction create(config: AnyConfig): Client<PciId> {\n\tconst logger = config.logger\n\tlet supportedPcis: readonly PciId[] = []\n\tif (config.supportedPcis !== undefined) {\n\t\tsupportedPcis = config.supportedPcis\n\t}\n\tconst missingPcis = missingPcisForSubject(config.subject, supportedPcis)\n\tif (missingPcis.length > 0) {\n\t\tlogger.error(\"renderer missing required pcis\", { subject: config.subject, missingPcis })\n\t\tthrow errors.wrap(ErrMissingRequiredPci, `subject '${config.subject}'`)\n\t}\n\n\tif (isMalformedJws(config.accessToken)) {\n\t\tlogger.error(\"malformed access token\", { prefix: ACCESS_TOKEN_PREFIX })\n\t\tthrow errors.wrap(\n\t\t\tErrMalformedAccessToken,\n\t\t\t`token must start with '${ACCESS_TOKEN_PREFIX}' and contain two dots`\n\t\t)\n\t}\n\n\tconst transport = createTransport<PciId>({\n\t\taccessToken: config.accessToken,\n\t\tsubject: config.subject,\n\t\torigin: config.origin,\n\t\tfetch: config.fetch,\n\t\tabort: config.abort,\n\t\tlogger\n\t})\n\n\tlet startPromise: Promise<PrimerState<PciId>> | undefined\n\n\tasync function doStart(): Promise<PrimerState<PciId>> {\n\t\tlogger.debug(\"start\")\n\t\tconst s = makeSession<PciId>({\n\t\t\tsubject: config.subject,\n\t\t\tsupportedPcis,\n\t\t\tlogger,\n\t\t\ttransport\n\t\t})\n\t\treturn s.execute({ kind: \"observation\" }, \"observation\")\n\t}\n\n\treturn {\n\t\tstart(): Promise<PrimerState<PciId>> {\n\t\t\tif (startPromise) {\n\t\t\t\tlogger.debug(\"start already called\")\n\t\t\t\treturn startPromise\n\t\t\t}\n\t\t\tstartPromise = doStart()\n\t\t\treturn startPromise\n\t\t}\n\t}\n}\n\nexport { create }\nexport type { Client, Config }\n",
12
- "import * as errors from \"@superbuilders/errors\"\nimport {\n\tErrBadRequest,\n\tErrConflict,\n\tErrForbidden,\n\tErrInvalidAccessToken,\n\tErrJsonParse,\n\tErrNetwork,\n\tErrNotFound,\n\tErrRateLimited,\n\tErrSdkUpgradeRequired,\n\tErrServerError,\n\tErrServiceUnavailable,\n\tErrTimeout,\n\tErrTokenExpired\n} from \"@superbuilders/primer-tives/errors\"\nimport type { PciId } from \"@superbuilders/primer-tives/contracts/pci\"\nimport type { SessionContext, WireIntent } from \"@superbuilders/primer-tives/client/session-context\"\nimport type { SubjectScope } from \"@superbuilders/primer-tives/subject\"\nimport type { ContentBlock, ContentInline } from \"@superbuilders/primer-tives/contracts/content\"\nimport type {\n\tRendererInteraction,\n\tRendererStimulus,\n\tRendererSubmission\n} from \"@superbuilders/primer-tives/contracts/types\"\nimport type { InteractionReview } from \"@superbuilders/primer-tives/contracts/review\"\nimport { NPM_PACKAGE_URL, SDK_VERSION } from \"@superbuilders/primer-tives/version\"\n\nconst ADVANCE_PATH = \"/api/v0/advance\"\n\ninterface WireFrame<Pcis extends PciId = PciId> {\n\tbody: ContentBlock[]\n\tstimulus: RendererStimulus | null\n\tinteraction: RendererInteraction<Pcis> | null\n}\n\ntype WireResult<Pcis extends PciId = PciId> =\n\t| {\n\t\t\toutcome: \"advanced\"\n\t\t\tframe: WireFrame<Pcis>\n\t }\n\t| {\n\t\t\toutcome: \"submitted\"\n\t\t\tframe: WireFrame<Pcis>\n\t\t\tsubmission: RendererSubmission<Pcis>\n\t\t\tisCorrect: boolean\n\t\t\tfeedbackContent: ContentInline[]\n\t\t\treview: InteractionReview<Pcis> | null\n\t }\n\t| { outcome: \"completed\" }\n\ninterface WireRequestBody<Pcis extends PciId = PciId> {\n\tsubject: SubjectScope\n\tintent: WireIntent<Pcis>\n}\n\ntype TransportResult<Pcis extends PciId = PciId> =\n\t| { ok: true; data: WireResult<Pcis> }\n\t| { ok: false; error: Error }\n\ninterface TransportConfig {\n\treadonly accessToken: string\n\treadonly subject: SubjectScope\n\treadonly origin: string\n\treadonly fetch?: typeof globalThis.fetch\n\treadonly abort?: AbortController\n\treadonly logger: SessionContext[\"logger\"]\n}\n\ntype AdvanceErrorBody = {\n\terror?: string\n\tdetail?: string\n\tminimumSdkVersion?: string\n\treceivedSdkVersion?: string\n\tupgradeUrl?: string\n}\n\nfunction readStringField(value: object, key: string): string | undefined {\n\tif (!(key in value)) {\n\t\treturn undefined\n\t}\n\tconst v: unknown = Reflect.get(value, key)\n\tif (typeof v !== \"string\") {\n\t\treturn undefined\n\t}\n\treturn v\n}\n\nfunction parseAdvanceErrorBody(body: string): AdvanceErrorBody | null {\n\tif (body.length === 0) {\n\t\treturn null\n\t}\n\tconst parsed = errors.trySync(function parseJson() {\n\t\treturn JSON.parse(body)\n\t})\n\tif (parsed.error) {\n\t\treturn null\n\t}\n\tconst raw: unknown = parsed.data\n\tif (typeof raw !== \"object\" || raw === null) {\n\t\treturn null\n\t}\n\tconst result: AdvanceErrorBody = {}\n\tconst error = readStringField(raw, \"error\")\n\tif (error !== undefined) {\n\t\tresult.error = error\n\t}\n\tconst detail = readStringField(raw, \"detail\")\n\tif (detail !== undefined) {\n\t\tresult.detail = detail\n\t}\n\tconst minimumSdkVersion = readStringField(raw, \"minimumSdkVersion\")\n\tif (minimumSdkVersion !== undefined) {\n\t\tresult.minimumSdkVersion = minimumSdkVersion\n\t}\n\tconst receivedSdkVersion = readStringField(raw, \"receivedSdkVersion\")\n\tif (receivedSdkVersion !== undefined) {\n\t\tresult.receivedSdkVersion = receivedSdkVersion\n\t}\n\tconst upgradeUrl = readStringField(raw, \"upgradeUrl\")\n\tif (upgradeUrl !== undefined) {\n\t\tresult.upgradeUrl = upgradeUrl\n\t}\n\treturn result\n}\n\nfunction httpSentinel(status: number, body: string): Error {\n\tif (status === 400) {\n\t\tconst parsed = parseAdvanceErrorBody(body)\n\t\tif (parsed?.error === \"sdk_upgrade_required\") {\n\t\t\treturn ErrSdkUpgradeRequired\n\t\t}\n\t\treturn ErrBadRequest\n\t}\n\tif (status === 401) {\n\t\tconst parsed = parseAdvanceErrorBody(body)\n\t\tif (parsed?.detail === \"token_expired\") {\n\t\t\treturn ErrTokenExpired\n\t\t}\n\t\treturn ErrInvalidAccessToken\n\t}\n\tif (status === 403) {\n\t\treturn ErrForbidden\n\t}\n\tif (status === 404) {\n\t\treturn ErrNotFound\n\t}\n\tif (status === 409) {\n\t\treturn ErrConflict\n\t}\n\tif (status === 429) {\n\t\treturn ErrRateLimited\n\t}\n\tif (status === 502 || status === 503 || status === 504) {\n\t\treturn ErrServiceUnavailable\n\t}\n\treturn ErrServerError\n}\n\nfunction buildSdkUpgradeRequiredError(\n\tsentinel: Error,\n\ttext: string,\n\tlogger: SessionContext[\"logger\"]\n): Error {\n\tconst parsed = parseAdvanceErrorBody(text)\n\tif (parsed === null) {\n\t\tlogger.error(\"sdk upgrade required\", {\n\t\t\treceivedSdkVersion: null,\n\t\t\tminimumSdkVersion: \"<unknown>\",\n\t\t\tupgradeUrl: NPM_PACKAGE_URL\n\t\t})\n\t\tconst message = `<missing> < <unknown>; bump @superbuilders/primer-tives at ${NPM_PACKAGE_URL}`\n\t\treturn errors.wrap(sentinel, message)\n\t}\n\tconst minimumSdkVersion =\n\t\tparsed.minimumSdkVersion === undefined ? \"<unknown>\" : parsed.minimumSdkVersion\n\tconst receivedSdkVersion =\n\t\tparsed.receivedSdkVersion === undefined ? null : parsed.receivedSdkVersion\n\tconst receivedDisplay = receivedSdkVersion === null ? \"<missing>\" : receivedSdkVersion\n\tconst upgradeUrl = parsed.upgradeUrl === undefined ? NPM_PACKAGE_URL : parsed.upgradeUrl\n\tlogger.error(\"sdk upgrade required\", {\n\t\treceivedSdkVersion,\n\t\tminimumSdkVersion,\n\t\tupgradeUrl\n\t})\n\tconst message = `${receivedDisplay} < ${minimumSdkVersion}; bump @superbuilders/primer-tives at ${upgradeUrl}`\n\treturn errors.wrap(sentinel, message)\n}\n\nfunction isAbortError(err: unknown): boolean {\n\tif (err instanceof DOMException && err.name === \"AbortError\") {\n\t\treturn true\n\t}\n\tif (err instanceof DOMException && err.name === \"TimeoutError\") {\n\t\treturn true\n\t}\n\treturn false\n}\n\nfunction createTransport<Pcis extends PciId>(tc: TransportConfig) {\n\tconst fetchFn = tc.fetch ? tc.fetch : globalThis.fetch\n\tconst logger = tc.logger\n\n\tfunction transportSignal(): AbortSignal | undefined {\n\t\tif (tc.abort) {\n\t\t\treturn tc.abort.signal\n\t\t}\n\t\treturn undefined\n\t}\n\n\tasync function transport(body: WireRequestBody<Pcis>): Promise<TransportResult<Pcis>> {\n\t\tlogger.debug(\"transport request\", {\n\t\t\tintentKind: body.intent.kind,\n\t\t\tsubject: body.subject\n\t\t})\n\n\t\tconst url = `${tc.origin}${ADVANCE_PATH}`\n\t\tconst fetchResult = await fetchFn(url, {\n\t\t\tmethod: \"POST\",\n\t\t\theaders: {\n\t\t\t\t\"Content-Type\": \"application/json\",\n\t\t\t\tAuthorization: `Bearer ${tc.accessToken}`,\n\t\t\t\t\"X-Primer-SDK-Version\": SDK_VERSION\n\t\t\t},\n\t\t\tbody: JSON.stringify(body),\n\t\t\tsignal: transportSignal()\n\t\t}).then(\n\t\t\tfunction ok(r: Response) {\n\t\t\t\treturn { ok: true, response: r } as const\n\t\t\t},\n\t\t\tfunction fail(err: Error) {\n\t\t\t\treturn { ok: false, error: err } as const\n\t\t\t}\n\t\t)\n\n\t\tif (!fetchResult.ok) {\n\t\t\tif (isAbortError(fetchResult.error)) {\n\t\t\t\tlogger.error(\"transport timeout\", {\n\t\t\t\t\tintentKind: body.intent.kind\n\t\t\t\t})\n\t\t\t\treturn { ok: false, error: errors.wrap(ErrTimeout, fetchResult.error.message) }\n\t\t\t}\n\t\t\tlogger.error(\"transport network error\", {\n\t\t\t\terror: fetchResult.error\n\t\t\t})\n\t\t\treturn { ok: false, error: errors.wrap(ErrNetwork, fetchResult.error.message) }\n\t\t}\n\n\t\tconst res = fetchResult.response\n\n\t\tif (!res.ok) {\n\t\t\tconst text = await res.text().catch(function fallback() {\n\t\t\t\treturn \"\"\n\t\t\t})\n\t\t\tconst sentinel = httpSentinel(res.status, text)\n\t\t\tif (errors.is(sentinel, ErrSdkUpgradeRequired)) {\n\t\t\t\treturn { ok: false, error: buildSdkUpgradeRequiredError(sentinel, text, logger) }\n\t\t\t}\n\t\t\tlogger.error(\"transport http error\", {\n\t\t\t\tstatus: res.status,\n\t\t\t\tbody: text,\n\t\t\t\tintentKind: body.intent.kind,\n\t\t\t\tsubject: body.subject\n\t\t\t})\n\t\t\treturn { ok: false, error: errors.wrap(sentinel, text) }\n\t\t}\n\n\t\tconst jsonResult = await res.json().then(\n\t\t\tfunction ok(data: WireResult<Pcis>) {\n\t\t\t\treturn { ok: true, data } as const\n\t\t\t},\n\t\t\tfunction fail(err: Error) {\n\t\t\t\treturn { ok: false, error: err } as const\n\t\t\t}\n\t\t)\n\n\t\tif (!jsonResult.ok) {\n\t\t\tlogger.error(\"transport json parse failed\", {\n\t\t\t\terror: jsonResult.error\n\t\t\t})\n\t\t\treturn { ok: false, error: errors.wrap(ErrJsonParse, jsonResult.error.message) }\n\t\t}\n\n\t\tlogger.debug(\"transport success\", {\n\t\t\tintentKind: body.intent.kind\n\t\t})\n\n\t\treturn { ok: true, data: jsonResult.data }\n\t}\n\n\treturn transport\n}\n\nexport { createTransport, httpSentinel, isAbortError }\nexport type { TransportConfig, TransportResult, WireRequestBody, WireResult }\n",
13
- "const SDK_VERSION = \"2.2.1\"\nconst NPM_PACKAGE_URL = \"https://www.npmjs.com/package/@superbuilders/primer-tives\"\n\nexport { NPM_PACKAGE_URL, SDK_VERSION }\n",
14
- "import * as errors from \"@superbuilders/errors\"\nimport { poisonToJSON } from \"@superbuilders/primer-tives/client/consumed\"\nimport {\n\tErrBadRequest,\n\tErrForbidden,\n\tErrInvalidAccessToken,\n\tErrInvalidSubmission,\n\tErrNotFound,\n\tErrSdkUpgradeRequired,\n\tErrTokenExpired,\n\tErrUnsupportedPci\n} from \"@superbuilders/primer-tives/errors\"\nimport type { PrimerLogger } from \"@superbuilders/primer-tives/logger\"\nimport type { PciId } from \"@superbuilders/primer-tives/contracts/pci\"\nimport type {\n\tSessionContext,\n\tTransitionPhase,\n\tWireIntent\n} from \"@superbuilders/primer-tives/client/session-context\"\nimport type {\n\tTransportResult,\n\tWireRequestBody,\n\tWireResult\n} from \"@superbuilders/primer-tives/client/transport\"\nimport type { SubjectScope } from \"@superbuilders/primer-tives/subject\"\n\nimport type { ContentBlock } from \"@superbuilders/primer-tives/contracts/content\"\nimport type {\n\tRendererInteraction,\n\tRendererStimulus\n} from \"@superbuilders/primer-tives/contracts/types\"\nimport type { ErroredState, PrimerState } from \"@superbuilders/primer-tives/client/types\"\nimport { choiceState } from \"@superbuilders/primer-tives/client/choice-state\"\nimport { extendedTextState } from \"@superbuilders/primer-tives/client/extended-text-state\"\nimport { feedbackState } from \"@superbuilders/primer-tives/client/feedback-state\"\nimport { matchState } from \"@superbuilders/primer-tives/client/match-state\"\nimport { observationState } from \"@superbuilders/primer-tives/client/observation-state\"\nimport { orderState } from \"@superbuilders/primer-tives/client/order-state\"\nimport { pciInteractionState } from \"@superbuilders/primer-tives/client/pci-state\"\nimport { textEntryState } from \"@superbuilders/primer-tives/client/text-entry-state\"\n\ninterface SessionConfig<Pcis extends PciId = PciId> {\n\treadonly supportedPcis: readonly Pcis[]\n\treadonly subject: SubjectScope\n\treadonly logger: PrimerLogger\n\treadonly transport: (body: WireRequestBody<Pcis>) => Promise<TransportResult<Pcis>>\n}\n\nconst FATAL_SENTINELS = [\n\tErrBadRequest,\n\tErrInvalidAccessToken,\n\tErrTokenExpired,\n\tErrForbidden,\n\tErrNotFound,\n\tErrSdkUpgradeRequired,\n\tErrUnsupportedPci\n]\n\nfunction isFatalError(err: Error): boolean {\n\tfor (const sentinel of FATAL_SENTINELS) {\n\t\tif (errors.is(err, sentinel)) {\n\t\t\treturn true\n\t\t}\n\t}\n\treturn false\n}\n\nfunction isRetriableError(err: Error): boolean {\n\treturn !errors.is(err, ErrInvalidSubmission)\n}\n\nfunction makeSession<Pcis extends PciId>(sc: SessionConfig<Pcis>) {\n\tconst logger = sc.logger\n\n\tfunction resolve(result: WireResult<Pcis>): PrimerState<Pcis> {\n\t\tswitch (result.outcome) {\n\t\t\tcase \"advanced\":\n\t\t\t\treturn fromAdvanced(result.frame.body, result.frame.stimulus, result.frame.interaction)\n\t\t\tcase \"submitted\": {\n\t\t\t\tconst interaction = result.frame.interaction\n\t\t\t\tif (interaction === null) {\n\t\t\t\t\tlogger.error(\"submitted result without interaction\")\n\t\t\t\t\treturn {\n\t\t\t\t\t\tphase: \"fatal\",\n\t\t\t\t\t\terror: errors.wrap(ErrBadRequest, \"submitted result missing interaction\"),\n\t\t\t\t\t\tretriable: false,\n\t\t\t\t\t\ttoJSON: poisonToJSON\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn feedbackState(\n\t\t\t\t\tctx,\n\t\t\t\t\tresult.frame.body,\n\t\t\t\t\tresult.frame.stimulus,\n\t\t\t\t\tinteraction,\n\t\t\t\t\tresult.submission,\n\t\t\t\t\tresult.isCorrect,\n\t\t\t\t\tresult.feedbackContent,\n\t\t\t\t\tresult.review\n\t\t\t\t)\n\t\t\t}\n\t\t\tcase \"completed\":\n\t\t\t\treturn { phase: \"completed\", toJSON: poisonToJSON }\n\t\t}\n\t}\n\n\tfunction errored(\n\t\terror: Error,\n\t\tfailedPhase: TransitionPhase,\n\t\tintent: WireIntent<Pcis>\n\t): ErroredState<Pcis> {\n\t\tlet pending: Promise<PrimerState<Pcis>> | undefined\n\t\tconst retriable = isRetriableError(error)\n\t\tconst state: ErroredState<Pcis> = {\n\t\t\tphase: \"errored\",\n\t\t\terror,\n\t\t\tretriable,\n\t\t\tretry: function retry() {\n\t\t\t\tif (!retriable) {\n\t\t\t\t\tlogger.debug(\"retry ignored for non-retriable error\", { failedPhase })\n\t\t\t\t\treturn Promise.resolve(state)\n\t\t\t\t}\n\t\t\t\tif (pending) {\n\t\t\t\t\treturn pending\n\t\t\t\t}\n\t\t\t\tlogger.debug(\"retrying from errored state\", { failedPhase })\n\t\t\t\tpending = execute(intent, failedPhase)\n\t\t\t\treturn pending\n\t\t\t},\n\t\t\ttoJSON: poisonToJSON\n\t\t}\n\t\treturn state\n\t}\n\n\tasync function execute(\n\t\tintent: WireIntent<Pcis>,\n\t\tphase: TransitionPhase\n\t): Promise<PrimerState<Pcis>> {\n\t\tlogger.debug(\"session execute\", {\n\t\t\tphase,\n\t\t\tintentKind: intent.kind,\n\t\t\tsubject: sc.subject\n\t\t})\n\t\tconst body: WireRequestBody<Pcis> = {\n\t\t\tsubject: sc.subject,\n\t\t\tintent\n\t\t}\n\n\t\tconst result = await sc.transport(body)\n\t\tif (!result.ok) {\n\t\t\tif (isFatalError(result.error)) {\n\t\t\t\tlogger.error(\"fatal transport error\", {\n\t\t\t\t\terror: result.error,\n\t\t\t\t\tphase,\n\t\t\t\t\tintentKind: intent.kind\n\t\t\t\t})\n\t\t\t\treturn { phase: \"fatal\", error: result.error, retriable: false, toJSON: poisonToJSON }\n\t\t\t}\n\t\t\tlogger.warn(\"retriable transport error\", {\n\t\t\t\terror: result.error,\n\t\t\t\tphase,\n\t\t\t\tintentKind: intent.kind\n\t\t\t})\n\t\t\treturn errored(result.error, phase, intent)\n\t\t}\n\n\t\tconst next = resolve(result.data)\n\t\tlogger.debug(\"session execute resolved\", {\n\t\t\tphase,\n\t\t\tintentKind: intent.kind,\n\t\t\toutcome: result.data.outcome,\n\t\t\tnextPhase: next.phase\n\t\t})\n\t\treturn next\n\t}\n\n\tfunction isPciSupported(pciId: string): boolean {\n\t\tfor (const id of sc.supportedPcis) {\n\t\t\tif (id === pciId) {\n\t\t\t\treturn true\n\t\t\t}\n\t\t}\n\t\treturn false\n\t}\n\n\tfunction fromAdvanced(\n\t\tbody: ContentBlock[],\n\t\tstimulus: RendererStimulus | null,\n\t\tinteraction: RendererInteraction<Pcis> | null\n\t): PrimerState<Pcis> {\n\t\tif (interaction === null) {\n\t\t\treturn observationState(ctx, body, stimulus)\n\t\t}\n\t\tif (interaction.type === \"portable-custom\") {\n\t\t\tif (!isPciSupported(interaction.pciId)) {\n\t\t\t\tlogger.error(\"unsupported pci in frame\", { pciId: interaction.pciId })\n\t\t\t\treturn {\n\t\t\t\t\tphase: \"fatal\",\n\t\t\t\t\terror: errors.wrap(ErrUnsupportedPci, `pci '${interaction.pciId}'`),\n\t\t\t\t\tretriable: false,\n\t\t\t\t\ttoJSON: poisonToJSON\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn pendingInteractionState(body, stimulus, interaction)\n\t}\n\n\tfunction pendingInteractionState(\n\t\tbody: ContentBlock[],\n\t\tstimulus: RendererStimulus | null,\n\t\tinteraction: RendererInteraction<Pcis>\n\t): PrimerState<Pcis> {\n\t\tswitch (interaction.type) {\n\t\t\tcase \"choice\":\n\t\t\t\treturn choiceState(\n\t\t\t\t\tctx,\n\t\t\t\t\tbody,\n\t\t\t\t\tstimulus,\n\t\t\t\t\tinteraction,\n\t\t\t\t\tinteraction.options,\n\t\t\t\t\tinteraction.maxChoices,\n\t\t\t\t\tinteraction.minChoices\n\t\t\t\t)\n\t\t\tcase \"text-entry\":\n\t\t\t\treturn textEntryState(ctx, body, stimulus, interaction)\n\t\t\tcase \"extended-text\":\n\t\t\t\treturn extendedTextState(ctx, body, stimulus, interaction)\n\t\t\tcase \"order\":\n\t\t\t\treturn orderState(ctx, body, stimulus, interaction)\n\t\t\tcase \"match\":\n\t\t\t\treturn matchState(ctx, body, stimulus, interaction)\n\t\t\tcase \"portable-custom\":\n\t\t\t\treturn pciInteractionState(ctx, body, stimulus, interaction)\n\t\t}\n\t}\n\n\tconst ctx: SessionContext<Pcis> = { logger, execute, errored }\n\n\treturn { execute }\n}\n\nexport { makeSession }\nexport type { SessionConfig }\n",
10
+ "import * as errors from \"@superbuilders/errors\"\nimport {\n\tErrBadRequest,\n\tErrConflict,\n\tErrForbidden,\n\tErrInvalidAccessToken,\n\tErrJsonParse,\n\tErrNetwork,\n\tErrNotFound,\n\tErrRateLimited,\n\tErrSdkUpgradeRequired,\n\tErrServerError,\n\tErrServiceUnavailable,\n\tErrTimeout,\n\tErrTokenExpired\n} from \"@superbuilders/primer-tives/errors\"\nimport type { PciId } from \"@superbuilders/primer-tives/contracts/pci\"\nimport type { SessionContext, WireIntent } from \"@superbuilders/primer-tives/client/session-context\"\nimport type { RuntimeSubjectScope } from \"@superbuilders/primer-tives/client/runtime-subject\"\nimport type { ContentBlock, ContentInline } from \"@superbuilders/primer-tives/contracts/content\"\nimport type {\n\tRendererInteraction,\n\tRendererStimulus,\n\tRendererSubmission\n} from \"@superbuilders/primer-tives/contracts/types\"\nimport type { InteractionReview } from \"@superbuilders/primer-tives/contracts/review\"\nimport { NPM_PACKAGE_URL, SDK_VERSION } from \"@superbuilders/primer-tives/version\"\nimport type { ResolvedAccessToken } from \"@superbuilders/primer-tives/client/auth/access-token\"\n\nconst ADVANCE_PATH = \"/api/v0/advance\"\n\ninterface WireFrame<Pcis extends PciId = PciId> {\n\tbody: ContentBlock[]\n\tstimulus: RendererStimulus | null\n\tinteraction: RendererInteraction<Pcis> | null\n}\n\ntype WireResult<Pcis extends PciId = PciId> =\n\t| {\n\t\t\toutcome: \"advanced\"\n\t\t\tframe: WireFrame<Pcis>\n\t }\n\t| {\n\t\t\toutcome: \"submitted\"\n\t\t\tframe: WireFrame<Pcis>\n\t\t\tsubmission: RendererSubmission<Pcis>\n\t\t\tisCorrect: boolean\n\t\t\tfeedbackContent: ContentInline[]\n\t\t\treview: InteractionReview<Pcis> | null\n\t }\n\t| { outcome: \"completed\" }\n\ninterface WireRequestBody<Pcis extends PciId = PciId> {\n\tsubject: RuntimeSubjectScope\n\tintent: WireIntent<Pcis>\n}\n\ntype TransportResult<Pcis extends PciId = PciId> =\n\t| { ok: true; data: WireResult<Pcis> }\n\t| { ok: false; error: Error }\n\ninterface TransportConfig {\n\treadonly accessToken: ResolvedAccessToken\n\treadonly publishableKey: string\n\treadonly subject: RuntimeSubjectScope\n\treadonly origin: string\n\treadonly fetch?: typeof globalThis.fetch\n\treadonly abort?: AbortController\n\treadonly logger: SessionContext[\"logger\"]\n}\n\ntype AdvanceErrorBody = {\n\terror?: string\n\tdetail?: string\n\tminimumSdkVersion?: string\n\treceivedSdkVersion?: string\n\tupgradeUrl?: string\n}\n\nfunction readStringField(value: object, key: string): string | undefined {\n\tif (!(key in value)) {\n\t\treturn undefined\n\t}\n\tconst v: unknown = Reflect.get(value, key)\n\tif (typeof v !== \"string\") {\n\t\treturn undefined\n\t}\n\treturn v\n}\n\nfunction parseAdvanceErrorBody(body: string): AdvanceErrorBody | null {\n\tif (body.length === 0) {\n\t\treturn null\n\t}\n\tconst parsed = errors.trySync(function parseJson() {\n\t\treturn JSON.parse(body)\n\t})\n\tif (parsed.error) {\n\t\treturn null\n\t}\n\tconst raw: unknown = parsed.data\n\tif (typeof raw !== \"object\" || raw === null) {\n\t\treturn null\n\t}\n\tconst result: AdvanceErrorBody = {}\n\tconst error = readStringField(raw, \"error\")\n\tif (error !== undefined) {\n\t\tresult.error = error\n\t}\n\tconst detail = readStringField(raw, \"detail\")\n\tif (detail !== undefined) {\n\t\tresult.detail = detail\n\t}\n\tconst minimumSdkVersion = readStringField(raw, \"minimumSdkVersion\")\n\tif (minimumSdkVersion !== undefined) {\n\t\tresult.minimumSdkVersion = minimumSdkVersion\n\t}\n\tconst receivedSdkVersion = readStringField(raw, \"receivedSdkVersion\")\n\tif (receivedSdkVersion !== undefined) {\n\t\tresult.receivedSdkVersion = receivedSdkVersion\n\t}\n\tconst upgradeUrl = readStringField(raw, \"upgradeUrl\")\n\tif (upgradeUrl !== undefined) {\n\t\tresult.upgradeUrl = upgradeUrl\n\t}\n\treturn result\n}\n\nfunction httpSentinel(status: number, body: string): Error {\n\tif (status === 400) {\n\t\tconst parsed = parseAdvanceErrorBody(body)\n\t\tif (parsed?.error === \"sdk_upgrade_required\") {\n\t\t\treturn ErrSdkUpgradeRequired\n\t\t}\n\t\treturn ErrBadRequest\n\t}\n\tif (status === 401) {\n\t\tconst parsed = parseAdvanceErrorBody(body)\n\t\tif (parsed?.detail === \"token_expired\") {\n\t\t\treturn ErrTokenExpired\n\t\t}\n\t\treturn ErrInvalidAccessToken\n\t}\n\tif (status === 403) {\n\t\treturn ErrForbidden\n\t}\n\tif (status === 404) {\n\t\treturn ErrNotFound\n\t}\n\tif (status === 409) {\n\t\treturn ErrConflict\n\t}\n\tif (status === 429) {\n\t\treturn ErrRateLimited\n\t}\n\tif (status === 502 || status === 503 || status === 504) {\n\t\treturn ErrServiceUnavailable\n\t}\n\treturn ErrServerError\n}\n\nfunction buildSdkUpgradeRequiredError(\n\tsentinel: Error,\n\ttext: string,\n\tlogger: SessionContext[\"logger\"]\n): Error {\n\tconst parsed = parseAdvanceErrorBody(text)\n\tif (parsed === null) {\n\t\tlogger.error(\"sdk upgrade required\", {\n\t\t\treceivedSdkVersion: null,\n\t\t\tminimumSdkVersion: \"<unknown>\",\n\t\t\tupgradeUrl: NPM_PACKAGE_URL\n\t\t})\n\t\tconst message = `<missing> < <unknown>; bump @superbuilders/primer-tives at ${NPM_PACKAGE_URL}`\n\t\treturn errors.wrap(sentinel, message)\n\t}\n\tconst minimumSdkVersion =\n\t\tparsed.minimumSdkVersion === undefined ? \"<unknown>\" : parsed.minimumSdkVersion\n\tconst receivedSdkVersion =\n\t\tparsed.receivedSdkVersion === undefined ? null : parsed.receivedSdkVersion\n\tconst receivedDisplay = receivedSdkVersion === null ? \"<missing>\" : receivedSdkVersion\n\tconst upgradeUrl = parsed.upgradeUrl === undefined ? NPM_PACKAGE_URL : parsed.upgradeUrl\n\tlogger.error(\"sdk upgrade required\", {\n\t\treceivedSdkVersion,\n\t\tminimumSdkVersion,\n\t\tupgradeUrl\n\t})\n\tconst message = `${receivedDisplay} < ${minimumSdkVersion}; bump @superbuilders/primer-tives at ${upgradeUrl}`\n\treturn errors.wrap(sentinel, message)\n}\n\nfunction isAbortError(err: unknown): boolean {\n\tif (err instanceof DOMException && err.name === \"AbortError\") {\n\t\treturn true\n\t}\n\tif (err instanceof DOMException && err.name === \"TimeoutError\") {\n\t\treturn true\n\t}\n\treturn false\n}\n\nfunction createTransport<Pcis extends PciId>(tc: TransportConfig) {\n\tconst fetchFn = tc.fetch ? tc.fetch : globalThis.fetch\n\tconst logger = tc.logger\n\n\tfunction transportSignal(): AbortSignal | undefined {\n\t\tif (tc.abort) {\n\t\t\treturn tc.abort.signal\n\t\t}\n\t\treturn undefined\n\t}\n\n\tasync function transport(body: WireRequestBody<Pcis>): Promise<TransportResult<Pcis>> {\n\t\tlogger.debug(\"transport request\", {\n\t\t\tintentKind: body.intent.kind,\n\t\t\tsubject: body.subject\n\t\t})\n\n\t\tconst url = `${tc.origin}${ADVANCE_PATH}`\n\t\tconst fetchResult = await fetchFn(url, {\n\t\t\tmethod: \"POST\",\n\t\t\theaders: {\n\t\t\t\t\"Content-Type\": \"application/json\",\n\t\t\t\tAuthorization: `Bearer ${tc.accessToken.value}`,\n\t\t\t\t\"X-Primer-Publishable-Key\": tc.publishableKey,\n\t\t\t\t\"X-Primer-SDK-Version\": SDK_VERSION\n\t\t\t},\n\t\t\tbody: JSON.stringify(body),\n\t\t\tsignal: transportSignal()\n\t\t}).then(\n\t\t\tfunction ok(r: Response) {\n\t\t\t\treturn { ok: true, response: r } as const\n\t\t\t},\n\t\t\tfunction fail(err: Error) {\n\t\t\t\treturn { ok: false, error: err } as const\n\t\t\t}\n\t\t)\n\n\t\tif (!fetchResult.ok) {\n\t\t\tif (isAbortError(fetchResult.error)) {\n\t\t\t\tlogger.error(\"transport timeout\", {\n\t\t\t\t\tintentKind: body.intent.kind\n\t\t\t\t})\n\t\t\t\treturn { ok: false, error: errors.wrap(ErrTimeout, fetchResult.error.message) }\n\t\t\t}\n\t\t\tlogger.error(\"transport network error\", {\n\t\t\t\terror: fetchResult.error\n\t\t\t})\n\t\t\treturn { ok: false, error: errors.wrap(ErrNetwork, fetchResult.error.message) }\n\t\t}\n\n\t\tconst res = fetchResult.response\n\n\t\tif (!res.ok) {\n\t\t\tconst text = await res.text().catch(function fallback() {\n\t\t\t\treturn \"\"\n\t\t\t})\n\t\t\tconst sentinel = httpSentinel(res.status, text)\n\t\t\tif (errors.is(sentinel, ErrSdkUpgradeRequired)) {\n\t\t\t\treturn { ok: false, error: buildSdkUpgradeRequiredError(sentinel, text, logger) }\n\t\t\t}\n\t\t\tlogger.error(\"transport http error\", {\n\t\t\t\tstatus: res.status,\n\t\t\t\tbody: text,\n\t\t\t\tintentKind: body.intent.kind,\n\t\t\t\tsubject: body.subject\n\t\t\t})\n\t\t\treturn { ok: false, error: errors.wrap(sentinel, text) }\n\t\t}\n\n\t\tconst jsonResult = await res.json().then(\n\t\t\tfunction ok(data: WireResult<Pcis>) {\n\t\t\t\treturn { ok: true, data } as const\n\t\t\t},\n\t\t\tfunction fail(err: Error) {\n\t\t\t\treturn { ok: false, error: err } as const\n\t\t\t}\n\t\t)\n\n\t\tif (!jsonResult.ok) {\n\t\t\tlogger.error(\"transport json parse failed\", {\n\t\t\t\terror: jsonResult.error\n\t\t\t})\n\t\t\treturn { ok: false, error: errors.wrap(ErrJsonParse, jsonResult.error.message) }\n\t\t}\n\n\t\tlogger.debug(\"transport success\", {\n\t\t\tintentKind: body.intent.kind\n\t\t})\n\n\t\treturn { ok: true, data: jsonResult.data }\n\t}\n\n\treturn transport\n}\n\nexport { createTransport, httpSentinel, isAbortError }\nexport type { TransportConfig, TransportResult, WireRequestBody, WireResult }\n",
11
+ "const SDK_VERSION = \"3.5.1\"\nconst NPM_PACKAGE_URL = \"https://www.npmjs.com/package/@superbuilders/primer-tives\"\n\nexport { NPM_PACKAGE_URL, SDK_VERSION }\n",
12
+ "import * as errors from \"@superbuilders/errors\"\nimport { poisonToJSON } from \"@superbuilders/primer-tives/client/consumed\"\nimport {\n\tErrBadRequest,\n\tErrForbidden,\n\tErrInvalidAccessToken,\n\tErrInvalidSubmission,\n\tErrNotFound,\n\tErrSdkUpgradeRequired,\n\tErrTokenExpired,\n\tErrUnsupportedPci\n} from \"@superbuilders/primer-tives/errors\"\nimport type { PrimerLogger } from \"@superbuilders/primer-tives/logger\"\nimport type { PciId } from \"@superbuilders/primer-tives/contracts/pci\"\nimport type {\n\tSessionContext,\n\tTransitionPhase,\n\tWireIntent\n} from \"@superbuilders/primer-tives/client/session-context\"\nimport type {\n\tTransportResult,\n\tWireRequestBody,\n\tWireResult\n} from \"@superbuilders/primer-tives/client/transport\"\nimport type { RuntimeSubjectScope } from \"@superbuilders/primer-tives/client/runtime-subject\"\n\nimport type { ContentBlock } from \"@superbuilders/primer-tives/contracts/content\"\nimport type {\n\tRendererInteraction,\n\tRendererStimulus\n} from \"@superbuilders/primer-tives/contracts/types\"\nimport type { ErroredState, PrimerState } from \"@superbuilders/primer-tives/client/types\"\nimport { choiceState } from \"@superbuilders/primer-tives/client/choice-state\"\nimport { extendedTextState } from \"@superbuilders/primer-tives/client/extended-text-state\"\nimport { feedbackState } from \"@superbuilders/primer-tives/client/feedback-state\"\nimport { matchState } from \"@superbuilders/primer-tives/client/match-state\"\nimport { observationState } from \"@superbuilders/primer-tives/client/observation-state\"\nimport { orderState } from \"@superbuilders/primer-tives/client/order-state\"\nimport { pciInteractionState } from \"@superbuilders/primer-tives/client/pci-state\"\nimport { textEntryState } from \"@superbuilders/primer-tives/client/text-entry-state\"\n\ninterface SessionConfig<Pcis extends PciId = PciId> {\n\treadonly supportedPcis: readonly Pcis[]\n\treadonly subject: RuntimeSubjectScope\n\treadonly logger: PrimerLogger\n\treadonly transport: (body: WireRequestBody<Pcis>) => Promise<TransportResult<Pcis>>\n}\n\nconst FATAL_SENTINELS = [\n\tErrBadRequest,\n\tErrInvalidAccessToken,\n\tErrTokenExpired,\n\tErrForbidden,\n\tErrNotFound,\n\tErrSdkUpgradeRequired,\n\tErrUnsupportedPci\n]\n\nfunction isFatalError(err: Error): boolean {\n\tfor (const sentinel of FATAL_SENTINELS) {\n\t\tif (errors.is(err, sentinel)) {\n\t\t\treturn true\n\t\t}\n\t}\n\treturn false\n}\n\nfunction isRetriableError(err: Error): boolean {\n\treturn !errors.is(err, ErrInvalidSubmission)\n}\n\nfunction makeSession<Pcis extends PciId>(sc: SessionConfig<Pcis>) {\n\tconst logger = sc.logger\n\n\tfunction resolve(result: WireResult<Pcis>): PrimerState<Pcis> {\n\t\tswitch (result.outcome) {\n\t\t\tcase \"advanced\":\n\t\t\t\treturn fromAdvanced(result.frame.body, result.frame.stimulus, result.frame.interaction)\n\t\t\tcase \"submitted\": {\n\t\t\t\tconst interaction = result.frame.interaction\n\t\t\t\tif (interaction === null) {\n\t\t\t\t\tlogger.error(\"submitted result without interaction\")\n\t\t\t\t\treturn {\n\t\t\t\t\t\tphase: \"fatal\",\n\t\t\t\t\t\terror: errors.wrap(ErrBadRequest, \"submitted result missing interaction\"),\n\t\t\t\t\t\tretriable: false,\n\t\t\t\t\t\ttoJSON: poisonToJSON\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn feedbackState(\n\t\t\t\t\tctx,\n\t\t\t\t\tresult.frame.body,\n\t\t\t\t\tresult.frame.stimulus,\n\t\t\t\t\tinteraction,\n\t\t\t\t\tresult.submission,\n\t\t\t\t\tresult.isCorrect,\n\t\t\t\t\tresult.feedbackContent,\n\t\t\t\t\tresult.review\n\t\t\t\t)\n\t\t\t}\n\t\t\tcase \"completed\":\n\t\t\t\treturn { phase: \"completed\", toJSON: poisonToJSON }\n\t\t}\n\t}\n\n\tfunction errored(\n\t\terror: Error,\n\t\tfailedPhase: TransitionPhase,\n\t\tintent: WireIntent<Pcis>\n\t): ErroredState<Pcis> {\n\t\tlet pending: Promise<PrimerState<Pcis>> | undefined\n\t\tconst retriable = isRetriableError(error)\n\t\tconst state: ErroredState<Pcis> = {\n\t\t\tphase: \"errored\",\n\t\t\terror,\n\t\t\tretriable,\n\t\t\tretry: function retry() {\n\t\t\t\tif (!retriable) {\n\t\t\t\t\tlogger.debug(\"retry ignored for non-retriable error\", { failedPhase })\n\t\t\t\t\treturn Promise.resolve(state)\n\t\t\t\t}\n\t\t\t\tif (pending) {\n\t\t\t\t\treturn pending\n\t\t\t\t}\n\t\t\t\tlogger.debug(\"retrying from errored state\", { failedPhase })\n\t\t\t\tpending = execute(intent, failedPhase)\n\t\t\t\treturn pending\n\t\t\t},\n\t\t\ttoJSON: poisonToJSON\n\t\t}\n\t\treturn state\n\t}\n\n\tasync function execute(\n\t\tintent: WireIntent<Pcis>,\n\t\tphase: TransitionPhase\n\t): Promise<PrimerState<Pcis>> {\n\t\tlogger.debug(\"session execute\", {\n\t\t\tphase,\n\t\t\tintentKind: intent.kind,\n\t\t\tsubject: sc.subject\n\t\t})\n\t\tconst body: WireRequestBody<Pcis> = {\n\t\t\tsubject: sc.subject,\n\t\t\tintent\n\t\t}\n\n\t\tconst result = await sc.transport(body)\n\t\tif (!result.ok) {\n\t\t\tif (isFatalError(result.error)) {\n\t\t\t\tlogger.error(\"fatal transport error\", {\n\t\t\t\t\terror: result.error,\n\t\t\t\t\tphase,\n\t\t\t\t\tintentKind: intent.kind\n\t\t\t\t})\n\t\t\t\treturn {\n\t\t\t\t\tphase: \"fatal\",\n\t\t\t\t\terror: result.error,\n\t\t\t\t\tretriable: false,\n\t\t\t\t\ttoJSON: poisonToJSON\n\t\t\t\t}\n\t\t\t}\n\t\t\tlogger.warn(\"retriable transport error\", {\n\t\t\t\terror: result.error,\n\t\t\t\tphase,\n\t\t\t\tintentKind: intent.kind\n\t\t\t})\n\t\t\treturn errored(result.error, phase, intent)\n\t\t}\n\n\t\tconst next = resolve(result.data)\n\t\tlogger.debug(\"session execute resolved\", {\n\t\t\tphase,\n\t\t\tintentKind: intent.kind,\n\t\t\toutcome: result.data.outcome,\n\t\t\tnextPhase: next.phase\n\t\t})\n\t\treturn next\n\t}\n\n\tfunction isPciSupported(pciId: string): boolean {\n\t\tfor (const id of sc.supportedPcis) {\n\t\t\tif (id === pciId) {\n\t\t\t\treturn true\n\t\t\t}\n\t\t}\n\t\treturn false\n\t}\n\n\tfunction fromAdvanced(\n\t\tbody: ContentBlock[],\n\t\tstimulus: RendererStimulus | null,\n\t\tinteraction: RendererInteraction<Pcis> | null\n\t): PrimerState<Pcis> {\n\t\tif (interaction === null) {\n\t\t\treturn observationState(ctx, body, stimulus)\n\t\t}\n\t\tif (interaction.type === \"portable-custom\") {\n\t\t\tif (!isPciSupported(interaction.pciId)) {\n\t\t\t\tlogger.error(\"unsupported pci in frame\", { pciId: interaction.pciId })\n\t\t\t\treturn {\n\t\t\t\t\tphase: \"fatal\",\n\t\t\t\t\terror: errors.wrap(ErrUnsupportedPci, `pci '${interaction.pciId}'`),\n\t\t\t\t\tretriable: false,\n\t\t\t\t\ttoJSON: poisonToJSON\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn pendingInteractionState(body, stimulus, interaction)\n\t}\n\n\tfunction pendingInteractionState(\n\t\tbody: ContentBlock[],\n\t\tstimulus: RendererStimulus | null,\n\t\tinteraction: RendererInteraction<Pcis>\n\t): PrimerState<Pcis> {\n\t\tswitch (interaction.type) {\n\t\t\tcase \"choice\":\n\t\t\t\treturn choiceState(\n\t\t\t\t\tctx,\n\t\t\t\t\tbody,\n\t\t\t\t\tstimulus,\n\t\t\t\t\tinteraction,\n\t\t\t\t\tinteraction.options,\n\t\t\t\t\tinteraction.maxChoices,\n\t\t\t\t\tinteraction.minChoices\n\t\t\t\t)\n\t\t\tcase \"text-entry\":\n\t\t\t\treturn textEntryState(ctx, body, stimulus, interaction)\n\t\t\tcase \"extended-text\":\n\t\t\t\treturn extendedTextState(ctx, body, stimulus, interaction)\n\t\t\tcase \"order\":\n\t\t\t\treturn orderState(ctx, body, stimulus, interaction)\n\t\t\tcase \"match\":\n\t\t\t\treturn matchState(ctx, body, stimulus, interaction)\n\t\t\tcase \"portable-custom\":\n\t\t\t\treturn pciInteractionState(ctx, body, stimulus, interaction)\n\t\t}\n\t}\n\n\tconst ctx: SessionContext<Pcis> = { logger, execute, errored }\n\n\treturn { execute }\n}\n\nexport { makeSession }\nexport type { SessionConfig }\n",
15
13
  "import { ErrNotSerializable } from \"@superbuilders/primer-tives/errors\"\n\nfunction poisonToJSON(): never {\n\t// biome-ignore lint/plugin: intentional toJSON trap — logging here would spam on every accidental serialize attempt\n\tthrow ErrNotSerializable\n}\n\nexport { poisonToJSON }\n",
16
14
  "import type { ContentBlock } from \"@superbuilders/primer-tives/contracts/content\"\nimport { poisonToJSON } from \"@superbuilders/primer-tives/client/consumed\"\nimport {\n\tsubmissionValidationMessage,\n\tvalidateSubmissionForInteraction\n} from \"@superbuilders/primer-tives/contracts\"\nimport { ErrConflict, ErrInvalidSubmission } from \"@superbuilders/primer-tives/errors\"\nimport type { SessionContext } from \"@superbuilders/primer-tives/client/session-context\"\nimport type { PciId } from \"@superbuilders/primer-tives/contracts/pci\"\nimport type {\n\tRendererChoice,\n\tRendererInteraction,\n\tRendererStimulus\n} from \"@superbuilders/primer-tives/contracts/types\"\nimport type { PrimerState } from \"@superbuilders/primer-tives/client/types\"\nimport * as errors from \"@superbuilders/errors\"\n\nfunction choiceState<Pcis extends PciId>(\n\tctx: SessionContext<Pcis>,\n\tbody: ContentBlock[],\n\tstimulus: RendererStimulus | null,\n\tinteraction: Extract<RendererInteraction<Pcis>, { type: \"choice\" }>,\n\toptions: RendererChoice[],\n\tmaxChoices: number,\n\tminChoices: number\n): PrimerState<Pcis> {\n\tlet submitPending: Promise<PrimerState<Pcis>> | undefined\n\tlet submitKey: string | undefined\n\tlet timeoutPending: Promise<PrimerState<Pcis>> | undefined\n\n\tfunction beginSubmit(selectedKeys: string[]): Promise<PrimerState<Pcis>> {\n\t\tconst submission = { type: \"choice\" as const, selectedKeys }\n\t\tconst key = JSON.stringify(submission)\n\t\tif (timeoutPending) {\n\t\t\treturn Promise.resolve(\n\t\t\t\tctx.errored(\n\t\t\t\t\terrors.wrap(ErrConflict, \"cannot submit while timeout is in flight\"),\n\t\t\t\t\t\"interaction\",\n\t\t\t\t\t{ kind: \"interaction\", submission }\n\t\t\t\t)\n\t\t\t)\n\t\t}\n\t\tif (submitPending) {\n\t\t\tif (submitKey === key) {\n\t\t\t\treturn submitPending\n\t\t\t}\n\t\t\treturn Promise.resolve(\n\t\t\t\tctx.errored(\n\t\t\t\t\terrors.wrap(\n\t\t\t\t\t\tErrConflict,\n\t\t\t\t\t\t\"cannot submit a different choice payload while submit is in flight\"\n\t\t\t\t\t),\n\t\t\t\t\t\"interaction\",\n\t\t\t\t\t{ kind: \"interaction\", submission }\n\t\t\t\t)\n\t\t\t)\n\t\t}\n\t\tconst validation = validateSubmissionForInteraction(interaction, submission)\n\t\tif (!validation.ok) {\n\t\t\tctx.logger.error(\"choice submit invalid\", { selectedKeys, issues: validation.issues })\n\t\t\treturn Promise.resolve(\n\t\t\t\tctx.errored(\n\t\t\t\t\terrors.wrap(ErrInvalidSubmission, submissionValidationMessage(validation)),\n\t\t\t\t\t\"interaction\",\n\t\t\t\t\t{ kind: \"interaction\", submission }\n\t\t\t\t)\n\t\t\t)\n\t\t}\n\t\tsubmitKey = key\n\t\tsubmitPending = ctx\n\t\t\t.execute({ kind: \"interaction\", submission }, \"interaction\")\n\t\t\t.finally(function clearPending() {\n\t\t\t\tsubmitPending = undefined\n\t\t\t\tsubmitKey = undefined\n\t\t\t})\n\t\treturn submitPending\n\t}\n\n\tfunction beginTimeout(): Promise<PrimerState<Pcis>> {\n\t\tconst intent = { kind: \"timeout\" as const }\n\t\tif (submitPending) {\n\t\t\treturn Promise.resolve(\n\t\t\t\tctx.errored(\n\t\t\t\t\terrors.wrap(ErrConflict, \"cannot timeout while submission is in flight\"),\n\t\t\t\t\t\"timeout\",\n\t\t\t\t\tintent\n\t\t\t\t)\n\t\t\t)\n\t\t}\n\t\tif (timeoutPending) {\n\t\t\treturn timeoutPending\n\t\t}\n\t\ttimeoutPending = ctx.execute(intent, \"timeout\").finally(function clearPending() {\n\t\t\ttimeoutPending = undefined\n\t\t})\n\t\treturn timeoutPending\n\t}\n\n\treturn {\n\t\tphase: \"interaction\",\n\t\tkind: \"choice\",\n\t\tbody,\n\t\tstimulus,\n\t\tinteraction,\n\t\toptions,\n\t\tmaxChoices,\n\t\tminChoices,\n\t\tsubmitChoice: beginSubmit,\n\t\ttimeout: beginTimeout,\n\t\ttoJSON: poisonToJSON\n\t}\n}\n\nexport { choiceState }\n",
17
15
  "import type { ContentBlock } from \"@superbuilders/primer-tives/contracts/content\"\nimport { poisonToJSON } from \"@superbuilders/primer-tives/client/consumed\"\nimport {\n\tsubmissionValidationMessage,\n\tvalidateSubmissionForInteraction\n} from \"@superbuilders/primer-tives/contracts\"\nimport { ErrConflict, ErrInvalidSubmission } from \"@superbuilders/primer-tives/errors\"\nimport type { SessionContext } from \"@superbuilders/primer-tives/client/session-context\"\nimport type { PciId } from \"@superbuilders/primer-tives/contracts/pci\"\nimport type {\n\tRendererStimulus,\n\tStandardRendererInteraction\n} from \"@superbuilders/primer-tives/contracts/types\"\nimport type { PrimerState } from \"@superbuilders/primer-tives/client/types\"\nimport * as errors from \"@superbuilders/errors\"\n\nfunction extendedTextState<Pcis extends PciId>(\n\tctx: SessionContext<Pcis>,\n\tbody: ContentBlock[],\n\tstimulus: RendererStimulus | null,\n\tinteraction: Extract<StandardRendererInteraction, { type: \"extended-text\" }>\n): PrimerState<Pcis> {\n\tif (interaction.cardinality === \"single\") {\n\t\tlet submitPending: Promise<PrimerState<Pcis>> | undefined\n\t\tlet submitKey: string | undefined\n\t\tlet timeoutPending: Promise<PrimerState<Pcis>> | undefined\n\t\tfunction submitText(value: string): Promise<PrimerState<Pcis>> {\n\t\t\tconst submission = { type: \"extended-text\" as const, values: [value] }\n\t\t\tconst key = JSON.stringify(submission)\n\t\t\tif (timeoutPending) {\n\t\t\t\treturn Promise.resolve(\n\t\t\t\t\tctx.errored(\n\t\t\t\t\t\terrors.wrap(ErrConflict, \"cannot submit while timeout is in flight\"),\n\t\t\t\t\t\t\"interaction\",\n\t\t\t\t\t\t{ kind: \"interaction\", submission }\n\t\t\t\t\t)\n\t\t\t\t)\n\t\t\t}\n\t\t\tif (submitPending) {\n\t\t\t\tif (submitKey === key) {\n\t\t\t\t\treturn submitPending\n\t\t\t\t}\n\t\t\t\treturn Promise.resolve(\n\t\t\t\t\tctx.errored(\n\t\t\t\t\t\terrors.wrap(\n\t\t\t\t\t\t\tErrConflict,\n\t\t\t\t\t\t\t\"cannot submit a different extended-text payload while submit is in flight\"\n\t\t\t\t\t\t),\n\t\t\t\t\t\t\"interaction\",\n\t\t\t\t\t\t{ kind: \"interaction\", submission }\n\t\t\t\t\t)\n\t\t\t\t)\n\t\t\t}\n\t\t\tconst validation = validateSubmissionForInteraction(interaction, submission)\n\t\t\tif (!validation.ok) {\n\t\t\t\tctx.logger.error(\"extended-text submit invalid\", { value, issues: validation.issues })\n\t\t\t\treturn Promise.resolve(\n\t\t\t\t\tctx.errored(\n\t\t\t\t\t\terrors.wrap(ErrInvalidSubmission, submissionValidationMessage(validation)),\n\t\t\t\t\t\t\"interaction\",\n\t\t\t\t\t\t{ kind: \"interaction\", submission }\n\t\t\t\t\t)\n\t\t\t\t)\n\t\t\t}\n\t\t\tsubmitKey = key\n\t\t\tsubmitPending = ctx\n\t\t\t\t.execute({ kind: \"interaction\", submission }, \"interaction\")\n\t\t\t\t.finally(function clearPending() {\n\t\t\t\t\tsubmitPending = undefined\n\t\t\t\t\tsubmitKey = undefined\n\t\t\t\t})\n\t\t\treturn submitPending\n\t\t}\n\t\tfunction timeout(): Promise<PrimerState<Pcis>> {\n\t\t\tconst intent = { kind: \"timeout\" as const }\n\t\t\tif (submitPending) {\n\t\t\t\treturn Promise.resolve(\n\t\t\t\t\tctx.errored(\n\t\t\t\t\t\terrors.wrap(ErrConflict, \"cannot timeout while submission is in flight\"),\n\t\t\t\t\t\t\"timeout\",\n\t\t\t\t\t\tintent\n\t\t\t\t\t)\n\t\t\t\t)\n\t\t\t}\n\t\t\tif (timeoutPending) {\n\t\t\t\treturn timeoutPending\n\t\t\t}\n\t\t\ttimeoutPending = ctx.execute(intent, \"timeout\").finally(function clearPending() {\n\t\t\t\ttimeoutPending = undefined\n\t\t\t})\n\t\t\treturn timeoutPending\n\t\t}\n\t\treturn {\n\t\t\tphase: \"interaction\",\n\t\t\tkind: \"extended-text\",\n\t\t\tcardinality: \"single\",\n\t\t\tbody,\n\t\t\tstimulus,\n\t\t\tinteraction,\n\t\t\tsubmitText,\n\t\t\ttimeout,\n\t\t\ttoJSON: poisonToJSON\n\t\t}\n\t}\n\n\tconst multi = interaction\n\tlet submitPending: Promise<PrimerState<Pcis>> | undefined\n\tlet submitKey: string | undefined\n\tlet timeoutPending: Promise<PrimerState<Pcis>> | undefined\n\tfunction submitTexts(values: string[]): Promise<PrimerState<Pcis>> {\n\t\tconst submission = { type: \"extended-text\" as const, values }\n\t\tconst key = JSON.stringify(submission)\n\t\tif (timeoutPending) {\n\t\t\treturn Promise.resolve(\n\t\t\t\tctx.errored(\n\t\t\t\t\terrors.wrap(ErrConflict, \"cannot submit while timeout is in flight\"),\n\t\t\t\t\t\"interaction\",\n\t\t\t\t\t{ kind: \"interaction\", submission }\n\t\t\t\t)\n\t\t\t)\n\t\t}\n\t\tif (submitPending) {\n\t\t\tif (submitKey === key) {\n\t\t\t\treturn submitPending\n\t\t\t}\n\t\t\treturn Promise.resolve(\n\t\t\t\tctx.errored(\n\t\t\t\t\terrors.wrap(\n\t\t\t\t\t\tErrConflict,\n\t\t\t\t\t\t\"cannot submit a different extended-text payload while submit is in flight\"\n\t\t\t\t\t),\n\t\t\t\t\t\"interaction\",\n\t\t\t\t\t{ kind: \"interaction\", submission }\n\t\t\t\t)\n\t\t\t)\n\t\t}\n\t\tconst validation = validateSubmissionForInteraction(multi, submission)\n\t\tif (!validation.ok) {\n\t\t\tctx.logger.error(\"extended-text submit invalid\", { values, issues: validation.issues })\n\t\t\treturn Promise.resolve(\n\t\t\t\tctx.errored(\n\t\t\t\t\terrors.wrap(ErrInvalidSubmission, submissionValidationMessage(validation)),\n\t\t\t\t\t\"interaction\",\n\t\t\t\t\t{ kind: \"interaction\", submission }\n\t\t\t\t)\n\t\t\t)\n\t\t}\n\t\tsubmitKey = key\n\t\tsubmitPending = ctx\n\t\t\t.execute({ kind: \"interaction\", submission }, \"interaction\")\n\t\t\t.finally(function clearPending() {\n\t\t\t\tsubmitPending = undefined\n\t\t\t\tsubmitKey = undefined\n\t\t\t})\n\t\treturn submitPending\n\t}\n\tfunction timeout(): Promise<PrimerState<Pcis>> {\n\t\tconst intent = { kind: \"timeout\" as const }\n\t\tif (submitPending) {\n\t\t\treturn Promise.resolve(\n\t\t\t\tctx.errored(\n\t\t\t\t\terrors.wrap(ErrConflict, \"cannot timeout while submission is in flight\"),\n\t\t\t\t\t\"timeout\",\n\t\t\t\t\tintent\n\t\t\t\t)\n\t\t\t)\n\t\t}\n\t\tif (timeoutPending) {\n\t\t\treturn timeoutPending\n\t\t}\n\t\ttimeoutPending = ctx.execute(intent, \"timeout\").finally(function clearPending() {\n\t\t\ttimeoutPending = undefined\n\t\t})\n\t\treturn timeoutPending\n\t}\n\treturn {\n\t\tphase: \"interaction\",\n\t\tkind: \"extended-text\",\n\t\tcardinality: \"multiple\",\n\t\tbody,\n\t\tstimulus,\n\t\tinteraction: multi,\n\t\tmaxStrings: multi.maxStrings,\n\t\tminStrings: multi.minStrings,\n\t\tsubmitTexts,\n\t\ttimeout,\n\t\ttoJSON: poisonToJSON\n\t}\n}\n\nexport { extendedTextState }\n",
@@ -21,9 +19,15 @@
21
19
  "import type { ContentBlock } from \"@superbuilders/primer-tives/contracts/content\"\nimport * as errors from \"@superbuilders/errors\"\nimport { poisonToJSON } from \"@superbuilders/primer-tives/client/consumed\"\nimport {\n\tsubmissionValidationMessage,\n\tvalidateSubmissionForInteraction\n} from \"@superbuilders/primer-tives/contracts\"\nimport { ErrConflict, ErrInvalidSubmission } from \"@superbuilders/primer-tives/errors\"\nimport type { SessionContext } from \"@superbuilders/primer-tives/client/session-context\"\nimport type { PciId } from \"@superbuilders/primer-tives/contracts/pci\"\nimport type {\n\tRendererStimulus,\n\tStandardRendererInteraction\n} from \"@superbuilders/primer-tives/contracts/types\"\nimport type { PrimerState } from \"@superbuilders/primer-tives/client/types\"\n\nfunction orderState<Pcis extends PciId>(\n\tctx: SessionContext<Pcis>,\n\tbody: ContentBlock[],\n\tstimulus: RendererStimulus | null,\n\tinteraction: Extract<StandardRendererInteraction, { type: \"order\" }>\n): PrimerState<Pcis> {\n\tlet submitPending: Promise<PrimerState<Pcis>> | undefined\n\tlet submitKey: string | undefined\n\tlet timeoutPending: Promise<PrimerState<Pcis>> | undefined\n\n\tfunction submitOrder(orderedKeys: string[]): Promise<PrimerState<Pcis>> {\n\t\tconst submission = { type: \"order\" as const, orderedKeys }\n\t\tconst key = JSON.stringify(submission)\n\t\tif (timeoutPending) {\n\t\t\treturn Promise.resolve(\n\t\t\t\tctx.errored(\n\t\t\t\t\terrors.wrap(ErrConflict, \"cannot submit while timeout is in flight\"),\n\t\t\t\t\t\"interaction\",\n\t\t\t\t\t{ kind: \"interaction\", submission }\n\t\t\t\t)\n\t\t\t)\n\t\t}\n\t\tif (submitPending) {\n\t\t\tif (submitKey === key) {\n\t\t\t\treturn submitPending\n\t\t\t}\n\t\t\treturn Promise.resolve(\n\t\t\t\tctx.errored(\n\t\t\t\t\terrors.wrap(\n\t\t\t\t\t\tErrConflict,\n\t\t\t\t\t\t\"cannot submit a different order payload while submit is in flight\"\n\t\t\t\t\t),\n\t\t\t\t\t\"interaction\",\n\t\t\t\t\t{ kind: \"interaction\", submission }\n\t\t\t\t)\n\t\t\t)\n\t\t}\n\t\tconst validation = validateSubmissionForInteraction(interaction, submission)\n\t\tif (!validation.ok) {\n\t\t\tctx.logger.error(\"order submit invalid\", { orderedKeys, issues: validation.issues })\n\t\t\treturn Promise.resolve(\n\t\t\t\tctx.errored(\n\t\t\t\t\terrors.wrap(ErrInvalidSubmission, submissionValidationMessage(validation)),\n\t\t\t\t\t\"interaction\",\n\t\t\t\t\t{ kind: \"interaction\", submission }\n\t\t\t\t)\n\t\t\t)\n\t\t}\n\t\tsubmitKey = key\n\t\tsubmitPending = ctx\n\t\t\t.execute({ kind: \"interaction\", submission }, \"interaction\")\n\t\t\t.finally(function clearPending() {\n\t\t\t\tsubmitPending = undefined\n\t\t\t\tsubmitKey = undefined\n\t\t\t})\n\t\treturn submitPending\n\t}\n\n\tfunction timeout(): Promise<PrimerState<Pcis>> {\n\t\tconst intent = { kind: \"timeout\" as const }\n\t\tif (submitPending) {\n\t\t\treturn Promise.resolve(\n\t\t\t\tctx.errored(\n\t\t\t\t\terrors.wrap(ErrConflict, \"cannot timeout while submission is in flight\"),\n\t\t\t\t\t\"timeout\",\n\t\t\t\t\tintent\n\t\t\t\t)\n\t\t\t)\n\t\t}\n\t\tif (timeoutPending) {\n\t\t\treturn timeoutPending\n\t\t}\n\t\ttimeoutPending = ctx.execute(intent, \"timeout\").finally(function clearPending() {\n\t\t\ttimeoutPending = undefined\n\t\t})\n\t\treturn timeoutPending\n\t}\n\n\treturn {\n\t\tphase: \"interaction\",\n\t\tkind: \"order\",\n\t\tbody,\n\t\tstimulus,\n\t\tinteraction,\n\t\tchoices: interaction.choices,\n\t\tminChoices: interaction.minChoices,\n\t\tmaxChoices: interaction.maxChoices,\n\t\tsubmitOrder,\n\t\ttimeout,\n\t\ttoJSON: poisonToJSON\n\t}\n}\n\nexport { orderState }\n",
22
20
  "import type { ContentBlock } from \"@superbuilders/primer-tives/contracts/content\"\nimport * as errors from \"@superbuilders/errors\"\nimport { poisonToJSON } from \"@superbuilders/primer-tives/client/consumed\"\nimport { ErrConflict } from \"@superbuilders/primer-tives/errors\"\nimport type { PciId, PciValue } from \"@superbuilders/primer-tives/contracts/pci\"\nimport type { SessionContext } from \"@superbuilders/primer-tives/client/session-context\"\nimport type { PciInteraction, RendererStimulus } from \"@superbuilders/primer-tives/contracts/types\"\nimport type { PciInteractionState, PrimerState } from \"@superbuilders/primer-tives/client/types\"\n\nfunction pciInteractionState<Pcis extends PciId>(\n\tctx: SessionContext<Pcis>,\n\tbody: ContentBlock[],\n\tstimulus: RendererStimulus | null,\n\tinteraction: PciInteraction<Pcis>\n): PciInteractionState<Pcis> {\n\tlet submitPending: Promise<PrimerState<Pcis>> | undefined\n\tlet submitKey: string | undefined\n\tlet timeoutPending: Promise<PrimerState<Pcis>> | undefined\n\tconst { pciId, properties } = interaction\n\n\tfunction submit(value: PciValue<typeof pciId>): Promise<PrimerState<Pcis>> {\n\t\tconst submission = { type: \"portable-custom\" as const, pciId, value }\n\t\tconst key = JSON.stringify(submission)\n\t\tif (timeoutPending) {\n\t\t\treturn Promise.resolve(\n\t\t\t\tctx.errored(\n\t\t\t\t\terrors.wrap(ErrConflict, \"cannot submit while timeout is in flight\"),\n\t\t\t\t\t\"interaction\",\n\t\t\t\t\t{ kind: \"interaction\", submission }\n\t\t\t\t)\n\t\t\t)\n\t\t}\n\t\tif (submitPending) {\n\t\t\tif (submitKey === key) {\n\t\t\t\treturn submitPending\n\t\t\t}\n\t\t\treturn Promise.resolve(\n\t\t\t\tctx.errored(\n\t\t\t\t\terrors.wrap(\n\t\t\t\t\t\tErrConflict,\n\t\t\t\t\t\t\"cannot submit a different pci payload while submit is in flight\"\n\t\t\t\t\t),\n\t\t\t\t\t\"interaction\",\n\t\t\t\t\t{ kind: \"interaction\", submission }\n\t\t\t\t)\n\t\t\t)\n\t\t}\n\t\tctx.logger.debug(\"pci submit\", { pciId })\n\t\tsubmitKey = key\n\t\tsubmitPending = ctx\n\t\t\t.execute({ kind: \"interaction\", submission }, \"interaction\")\n\t\t\t.finally(function clearPending() {\n\t\t\t\tsubmitPending = undefined\n\t\t\t\tsubmitKey = undefined\n\t\t\t})\n\t\treturn submitPending\n\t}\n\n\tfunction timeout(): Promise<PrimerState<Pcis>> {\n\t\tconst intent = { kind: \"timeout\" as const }\n\t\tif (submitPending) {\n\t\t\treturn Promise.resolve(\n\t\t\t\tctx.errored(\n\t\t\t\t\terrors.wrap(ErrConflict, \"cannot timeout while submission is in flight\"),\n\t\t\t\t\t\"timeout\",\n\t\t\t\t\tintent\n\t\t\t\t)\n\t\t\t)\n\t\t}\n\t\tif (timeoutPending) {\n\t\t\treturn timeoutPending\n\t\t}\n\t\tctx.logger.debug(\"pci timeout\", { pciId })\n\t\ttimeoutPending = ctx.execute(intent, \"timeout\").finally(function clearPending() {\n\t\t\ttimeoutPending = undefined\n\t\t})\n\t\treturn timeoutPending\n\t}\n\n\t// biome-ignore lint/plugin: TS cannot verify mapped-union construction from generic Pcis — pciId↔properties correlation preserved by input\n\treturn {\n\t\tphase: \"interaction\",\n\t\tkind: \"portable-custom\",\n\t\tbody,\n\t\tstimulus,\n\t\tinteraction,\n\t\tpciId,\n\t\tproperties,\n\t\tsubmit,\n\t\ttimeout,\n\t\ttoJSON: poisonToJSON\n\t} as PciInteractionState<Pcis>\n}\n\nexport { pciInteractionState }\n",
23
21
  "import type { ContentBlock } from \"@superbuilders/primer-tives/contracts/content\"\nimport * as errors from \"@superbuilders/errors\"\nimport { poisonToJSON } from \"@superbuilders/primer-tives/client/consumed\"\nimport {\n\tsubmissionValidationMessage,\n\tvalidateSubmissionForInteraction\n} from \"@superbuilders/primer-tives/contracts\"\nimport { ErrConflict, ErrInvalidSubmission } from \"@superbuilders/primer-tives/errors\"\nimport type { SessionContext } from \"@superbuilders/primer-tives/client/session-context\"\nimport type { PciId } from \"@superbuilders/primer-tives/contracts/pci\"\nimport type {\n\tRendererInteraction,\n\tRendererStimulus\n} from \"@superbuilders/primer-tives/contracts/types\"\nimport type { PrimerState } from \"@superbuilders/primer-tives/client/types\"\n\nfunction textEntryState<Pcis extends PciId>(\n\tctx: SessionContext<Pcis>,\n\tbody: ContentBlock[],\n\tstimulus: RendererStimulus | null,\n\tinteraction: Extract<RendererInteraction<Pcis>, { type: \"text-entry\" }>\n): PrimerState<Pcis> {\n\tlet submitPending: Promise<PrimerState<Pcis>> | undefined\n\tlet submitKey: string | undefined\n\tlet timeoutPending: Promise<PrimerState<Pcis>> | undefined\n\n\tfunction submitText(value: string): Promise<PrimerState<Pcis>> {\n\t\tconst submission = { type: \"text-entry\" as const, value }\n\t\tconst key = JSON.stringify(submission)\n\t\tif (timeoutPending) {\n\t\t\treturn Promise.resolve(\n\t\t\t\tctx.errored(\n\t\t\t\t\terrors.wrap(ErrConflict, \"cannot submit while timeout is in flight\"),\n\t\t\t\t\t\"interaction\",\n\t\t\t\t\t{ kind: \"interaction\", submission }\n\t\t\t\t)\n\t\t\t)\n\t\t}\n\t\tif (submitPending) {\n\t\t\tif (submitKey === key) {\n\t\t\t\treturn submitPending\n\t\t\t}\n\t\t\treturn Promise.resolve(\n\t\t\t\tctx.errored(\n\t\t\t\t\terrors.wrap(\n\t\t\t\t\t\tErrConflict,\n\t\t\t\t\t\t\"cannot submit a different text payload while submit is in flight\"\n\t\t\t\t\t),\n\t\t\t\t\t\"interaction\",\n\t\t\t\t\t{ kind: \"interaction\", submission }\n\t\t\t\t)\n\t\t\t)\n\t\t}\n\t\tconst validation = validateSubmissionForInteraction(interaction, submission)\n\t\tif (!validation.ok) {\n\t\t\tctx.logger.error(\"text-entry submit invalid\", { value, issues: validation.issues })\n\t\t\treturn Promise.resolve(\n\t\t\t\tctx.errored(\n\t\t\t\t\terrors.wrap(ErrInvalidSubmission, submissionValidationMessage(validation)),\n\t\t\t\t\t\"interaction\",\n\t\t\t\t\t{ kind: \"interaction\", submission }\n\t\t\t\t)\n\t\t\t)\n\t\t}\n\t\tsubmitKey = key\n\t\tsubmitPending = ctx\n\t\t\t.execute({ kind: \"interaction\", submission }, \"interaction\")\n\t\t\t.finally(function clearPending() {\n\t\t\t\tsubmitPending = undefined\n\t\t\t\tsubmitKey = undefined\n\t\t\t})\n\t\treturn submitPending\n\t}\n\n\tfunction timeout(): Promise<PrimerState<Pcis>> {\n\t\tconst intent = { kind: \"timeout\" as const }\n\t\tif (submitPending) {\n\t\t\treturn Promise.resolve(\n\t\t\t\tctx.errored(\n\t\t\t\t\terrors.wrap(ErrConflict, \"cannot timeout while submission is in flight\"),\n\t\t\t\t\t\"timeout\",\n\t\t\t\t\tintent\n\t\t\t\t)\n\t\t\t)\n\t\t}\n\t\tif (timeoutPending) {\n\t\t\treturn timeoutPending\n\t\t}\n\t\ttimeoutPending = ctx.execute(intent, \"timeout\").finally(function clearPending() {\n\t\t\ttimeoutPending = undefined\n\t\t})\n\t\treturn timeoutPending\n\t}\n\n\treturn {\n\t\tphase: \"interaction\",\n\t\tkind: \"text-entry\",\n\t\tbody,\n\t\tstimulus,\n\t\tinteraction,\n\t\tsubmitText,\n\t\ttimeout,\n\t\ttoJSON: poisonToJSON\n\t}\n}\n\nexport { textEntryState }\n",
24
- "import type { PciId } from \"@superbuilders/primer-tives/contracts/pci\"\nimport { SUBJECTS, type Subject, type SubjectScope } from \"@superbuilders/primer-tives/subject\"\n\nconst REQUIRED_PCIS_BY_SUBJECT = {\n\tmath: [\"urn:primer:pci:fraction-input\"],\n\tvocabulary: [],\n\tscience: []\n} as const satisfies Record<Subject, readonly PciId[]>\n\ntype RequiredPciForSubject<S extends SubjectScope> = S extends \"all\"\n\t? (typeof REQUIRED_PCIS_BY_SUBJECT)[Subject][number]\n\t: S extends Subject\n\t\t? (typeof REQUIRED_PCIS_BY_SUBJECT)[S][number]\n\t\t: never\n\nfunction requiredPcisForSubject(subject: SubjectScope): readonly PciId[] {\n\tif (subject === \"all\") {\n\t\tconst all: PciId[] = []\n\t\tfor (const s of SUBJECTS) {\n\t\t\tfor (const pci of REQUIRED_PCIS_BY_SUBJECT[s]) {\n\t\t\t\tif (!all.includes(pci)) {\n\t\t\t\t\tall.push(pci)\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn all\n\t}\n\treturn REQUIRED_PCIS_BY_SUBJECT[subject]\n}\n\nfunction missingPcisForSubject(\n\tsubject: SubjectScope,\n\tprovided: readonly string[] | undefined\n): PciId[] {\n\tconst required = requiredPcisForSubject(subject)\n\tconst missing: PciId[] = []\n\tfor (const pci of required) {\n\t\tif (provided === undefined || !provided.includes(pci)) {\n\t\t\tmissing.push(pci)\n\t\t}\n\t}\n\treturn missing\n}\n\nexport { REQUIRED_PCIS_BY_SUBJECT, missingPcisForSubject, requiredPcisForSubject }\nexport type { RequiredPciForSubject }\n"
22
+ "import * as errors from \"@superbuilders/errors\"\nimport {\n\tErrAuthConfigInvalid,\n\tErrAuthPopupBlocked,\n\tErrAuthUnavailable\n} from \"@superbuilders/primer-tives/errors\"\nimport type { PrimerLogger } from \"@superbuilders/primer-tives/logger\"\n\ntype HostedAuthOptions = {\n\treadonly redirectUri?: string\n\treadonly storage?: Storage\n\treadonly currentUrl?: string\n\treadonly popupTarget?: string\n\treadonly popupFeatures?: string\n\treadonly popupTimeoutMs?: number\n}\n\nfunction browserStorage(options: HostedAuthOptions | undefined, logger: PrimerLogger): Storage {\n\tif (options !== undefined && options.storage !== undefined) {\n\t\treturn options.storage\n\t}\n\tif (typeof globalThis.sessionStorage === \"undefined\") {\n\t\tlogger.error(\"auth storage unavailable\")\n\t\tthrow ErrAuthUnavailable\n\t}\n\treturn globalThis.sessionStorage\n}\n\nfunction currentUrl(options: HostedAuthOptions | undefined, logger: PrimerLogger): URL {\n\tif (options !== undefined && options.currentUrl !== undefined) {\n\t\tif (!URL.canParse(options.currentUrl)) {\n\t\t\tlogger.error(\"auth current url invalid\", { currentUrl: options.currentUrl })\n\t\t\tthrow ErrAuthConfigInvalid\n\t\t}\n\t\treturn new URL(options.currentUrl)\n\t}\n\tif (typeof globalThis.location === \"undefined\") {\n\t\tlogger.error(\"auth location unavailable\")\n\t\tthrow ErrAuthUnavailable\n\t}\n\treturn new URL(globalThis.location.href)\n}\n\nfunction redirectUri(\n\toptions: HostedAuthOptions | undefined,\n\turl: URL,\n\tlogger: PrimerLogger\n): string {\n\tif (options !== undefined && options.redirectUri !== undefined) {\n\t\tif (!URL.canParse(options.redirectUri)) {\n\t\t\tlogger.error(\"auth redirect uri invalid\", { redirectUri: options.redirectUri })\n\t\t\tthrow ErrAuthConfigInvalid\n\t\t}\n\t\treturn options.redirectUri\n\t}\n\treturn `${url.origin}${url.pathname}${url.search}`\n}\n\nfunction randomClientState(logger: PrimerLogger): string {\n\tif (typeof globalThis.crypto === \"undefined\") {\n\t\tlogger.error(\"auth crypto unavailable\")\n\t\tthrow ErrAuthUnavailable\n\t}\n\tconst bytes = new Uint8Array(24)\n\tglobalThis.crypto.getRandomValues(bytes)\n\tlet result = \"\"\n\tfor (const byte of bytes) {\n\t\tresult += byte.toString(16).padStart(2, \"0\")\n\t}\n\treturn result\n}\n\nfunction clearCallbackHash(options: HostedAuthOptions | undefined, url: URL): void {\n\tif (options !== undefined && options.currentUrl !== undefined) {\n\t\treturn\n\t}\n\tif (typeof globalThis.history === \"undefined\") {\n\t\treturn\n\t}\n\tconst cleanUrl = `${url.pathname}${url.search}`\n\tglobalThis.history.replaceState(globalThis.history.state, \"\", cleanUrl)\n}\n\nfunction openAuthPopup(\n\turl: string,\n\toptions: HostedAuthOptions | undefined,\n\tlogger: PrimerLogger\n): Window {\n\tif (typeof globalThis.open === \"undefined\") {\n\t\tlogger.error(\"auth popup api unavailable\")\n\t\tthrow ErrAuthUnavailable\n\t}\n\tlet target = \"primer-auth\"\n\tif (options !== undefined && options.popupTarget !== undefined) {\n\t\ttarget = options.popupTarget\n\t}\n\tlet features = \"popup,width=480,height=720\"\n\tif (options !== undefined && options.popupFeatures !== undefined) {\n\t\tfeatures = options.popupFeatures\n\t}\n\tconst popup = globalThis.open(url, target, features)\n\tif (popup === null) {\n\t\tlogger.error(\"auth popup blocked\")\n\t\tthrow ErrAuthPopupBlocked\n\t}\n\treturn popup\n}\n\nfunction readablePopupUrl(popup: Window): string | null {\n\tconst result = errors.trySync(function readLocation() {\n\t\treturn popup.location.href\n\t})\n\tif (result.error) {\n\t\treturn null\n\t}\n\treturn result.data\n}\n\nfunction sleep(ms: number): Promise<void> {\n\treturn new Promise(function resolveLater(resolve) {\n\t\tsetTimeout(resolve, ms)\n\t})\n}\n\nexport {\n\tbrowserStorage,\n\tclearCallbackHash,\n\tcurrentUrl,\n\topenAuthPopup,\n\trandomClientState,\n\treadablePopupUrl,\n\tredirectUri,\n\tsleep\n}\nexport type { HostedAuthOptions }\n",
23
+ "import { ErrAuthCallbackInvalid, ErrAuthStateMismatch } from \"@superbuilders/primer-tives/errors\"\nimport type { PrimerLogger } from \"@superbuilders/primer-tives/logger\"\n\nconst ACCESS_TOKEN_HASH_PARAM = \"primer_access_token\"\nconst AUTH_STATUS_HASH_PARAM = \"primer_auth\"\nconst AUTH_STATE_HASH_PARAM = \"primer_state\"\nconst AUTH_SUCCESS = \"success\"\nconst AUTH_ERROR = \"error\"\n\ntype AuthCallback = {\n\treadonly accessToken: string\n\treadonly state: string\n}\n\nfunction readAuthCallback(url: URL, logger: PrimerLogger): AuthCallback | null {\n\tif (url.hash.length === 0) {\n\t\treturn null\n\t}\n\tconst hash = new URLSearchParams(url.hash.slice(1))\n\tconst authStatus = hash.get(AUTH_STATUS_HASH_PARAM)\n\tif (authStatus === null) {\n\t\treturn null\n\t}\n\tif (authStatus === AUTH_ERROR) {\n\t\tlogger.error(\"auth callback returned error\")\n\t\tthrow ErrAuthCallbackInvalid\n\t}\n\tif (authStatus !== AUTH_SUCCESS) {\n\t\tlogger.error(\"auth callback status invalid\", { authStatus })\n\t\tthrow ErrAuthCallbackInvalid\n\t}\n\tconst accessToken = hash.get(ACCESS_TOKEN_HASH_PARAM)\n\tconst state = hash.get(AUTH_STATE_HASH_PARAM)\n\tif (accessToken === null || accessToken.length === 0 || state === null || state.length === 0) {\n\t\tlogger.error(\"auth callback missing token or state\")\n\t\tthrow ErrAuthCallbackInvalid\n\t}\n\treturn { accessToken, state }\n}\n\nfunction requireMatchingCallbackState(\n\tcallback: AuthCallback,\n\texpectedState: string | null,\n\tlogger: PrimerLogger\n): void {\n\tif (expectedState === null) {\n\t\tlogger.error(\"auth callback expected state missing\")\n\t\tthrow ErrAuthCallbackInvalid\n\t}\n\tif (callback.state !== expectedState) {\n\t\tlogger.error(\"auth callback state mismatch\")\n\t\tthrow ErrAuthStateMismatch\n\t}\n}\n\nexport { readAuthCallback, requireMatchingCallbackState }\nexport type { AuthCallback }\n",
24
+ "import * as errors from \"@superbuilders/errors\"\nimport {\n\tErrAuthCallbackInvalid,\n\tErrAuthCancelled,\n\tErrAuthStateMismatch\n} from \"@superbuilders/primer-tives/errors\"\nimport type { PrimerLogger } from \"@superbuilders/primer-tives/logger\"\nimport {\n\topenAuthPopup,\n\treadablePopupUrl,\n\tredirectUri,\n\tsleep,\n\ttype HostedAuthOptions\n} from \"@superbuilders/primer-tives/client/auth/browser\"\nimport { readAuthCallback } from \"@superbuilders/primer-tives/client/auth/callback\"\n\nconst DEFAULT_POPUP_TIMEOUT_MS = 10 * 60 * 1000\nconst POPUP_POLL_MS = 250\n\ntype HostedPopupConfig = {\n\treadonly origin: string\n\treadonly publishableKey: string\n\treadonly currentUrl: URL\n\treadonly clientState: string\n\treadonly options?: HostedAuthOptions\n\treadonly logger: PrimerLogger\n}\n\nfunction hostedAuthUrl(config: HostedPopupConfig): string {\n\tconst logger = config.logger\n\tif (!URL.canParse(config.origin)) {\n\t\tlogger.error(\"hosted auth origin invalid\", { origin: config.origin })\n\t\tthrow ErrAuthCallbackInvalid\n\t}\n\tconst authUrl = new URL(\"/auth/timeback\", config.origin)\n\tauthUrl.searchParams.set(\"publishableKey\", config.publishableKey)\n\tauthUrl.searchParams.set(\"redirectUri\", redirectUri(config.options, config.currentUrl, logger))\n\tauthUrl.searchParams.set(\"state\", config.clientState)\n\treturn authUrl.toString()\n}\n\nfunction popupTimeoutMs(options: HostedAuthOptions | undefined): number {\n\tif (options !== undefined && options.popupTimeoutMs !== undefined) {\n\t\treturn options.popupTimeoutMs\n\t}\n\treturn DEFAULT_POPUP_TIMEOUT_MS\n}\n\nfunction readPopupCallback(href: string, config: HostedPopupConfig): string | null {\n\tconst logger = config.logger\n\tif (!URL.canParse(href)) {\n\t\treturn null\n\t}\n\tconst callbackResult = errors.trySync(function readCallback() {\n\t\treturn readAuthCallback(new URL(href), logger)\n\t})\n\tif (callbackResult.error) {\n\t\tlogger.error(\"hosted auth popup callback invalid\", { error: callbackResult.error })\n\t\tthrow callbackResult.error\n\t}\n\tconst callback = callbackResult.data\n\tif (callback === null) {\n\t\treturn null\n\t}\n\tif (callback.state !== config.clientState) {\n\t\tlogger.error(\"hosted auth popup state mismatch\")\n\t\tthrow ErrAuthStateMismatch\n\t}\n\treturn callback.accessToken\n}\n\nasync function beginHostedPopup(config: HostedPopupConfig): Promise<string> {\n\tconst logger = config.logger\n\tconst popup = openAuthPopup(hostedAuthUrl(config), config.options, logger)\n\tconst expiresAt = Date.now() + popupTimeoutMs(config.options)\n\twhile (Date.now() < expiresAt) {\n\t\tif (popup.closed) {\n\t\t\tlogger.error(\"hosted auth popup closed\")\n\t\t\tthrow ErrAuthCancelled\n\t\t}\n\t\tconst href = readablePopupUrl(popup)\n\t\tif (href !== null) {\n\t\t\tconst accessTokenResult = errors.trySync(function readAccessToken() {\n\t\t\t\treturn readPopupCallback(href, config)\n\t\t\t})\n\t\t\tif (accessTokenResult.error) {\n\t\t\t\tpopup.close()\n\t\t\t\tlogger.error(\"hosted auth popup failed\", { error: accessTokenResult.error })\n\t\t\t\tthrow accessTokenResult.error\n\t\t\t}\n\t\t\tif (accessTokenResult.data !== null) {\n\t\t\t\tpopup.close()\n\t\t\t\tlogger.debug(\"hosted auth popup completed\")\n\t\t\t\treturn accessTokenResult.data\n\t\t\t}\n\t\t}\n\t\tawait sleep(POPUP_POLL_MS)\n\t}\n\tpopup.close()\n\tlogger.error(\"hosted auth popup timed out\")\n\tthrow ErrAuthCancelled\n}\n\nexport { beginHostedPopup }\nexport type { HostedPopupConfig }\n",
25
+ "import * as errors from \"@superbuilders/errors\"\nimport { ErrMalformedAccessToken } from \"@superbuilders/primer-tives/errors\"\nimport type { PrimerLogger } from \"@superbuilders/primer-tives/logger\"\n\nconst ACCESS_TOKEN_PREFIX = \"eyJ\"\nconst resolvedAccessTokenBrand: unique symbol = Symbol(\"primer resolved access token\")\n\ntype ResolvedAccessToken = {\n\treadonly value: string\n\treadonly [resolvedAccessTokenBrand]: true\n}\n\nfunction isMalformedJws(token: string): boolean {\n\tif (!token.startsWith(ACCESS_TOKEN_PREFIX)) {\n\t\treturn true\n\t}\n\tconst dotCount = token.split(\".\").length - 1\n\treturn dotCount !== 2\n}\n\nfunction resolveAccessToken(token: string, logger: PrimerLogger): ResolvedAccessToken {\n\tif (isMalformedJws(token)) {\n\t\tlogger.error(\"malformed access token\", { prefix: ACCESS_TOKEN_PREFIX })\n\t\tthrow errors.wrap(\n\t\t\tErrMalformedAccessToken,\n\t\t\t`token must start with '${ACCESS_TOKEN_PREFIX}' and contain two dots`\n\t\t)\n\t}\n\treturn { value: token, [resolvedAccessTokenBrand]: true }\n}\n\nexport { resolveAccessToken }\nexport type { ResolvedAccessToken }\n",
26
+ "const ACCESS_TOKEN_KEY_PREFIX = \"primer:access-token\"\nconst AUTH_STATE_KEY_PREFIX = \"primer:auth-state\"\n\nfunction accessTokenStorageKey(publishableKey: string): string {\n\treturn `${ACCESS_TOKEN_KEY_PREFIX}:${publishableKey}`\n}\n\nfunction authStateStorageKey(publishableKey: string): string {\n\treturn `${AUTH_STATE_KEY_PREFIX}:${publishableKey}`\n}\n\nfunction loadStoredAccessToken(storage: Storage, publishableKey: string): string | null {\n\tconst token = storage.getItem(accessTokenStorageKey(publishableKey))\n\tif (token === null || token.length === 0) {\n\t\treturn null\n\t}\n\treturn token\n}\n\nfunction storeAccessToken(storage: Storage, publishableKey: string, accessToken: string): void {\n\tstorage.setItem(accessTokenStorageKey(publishableKey), accessToken)\n}\n\nfunction loadAuthState(storage: Storage, publishableKey: string): string | null {\n\tconst state = storage.getItem(authStateStorageKey(publishableKey))\n\tif (state === null || state.length === 0) {\n\t\treturn null\n\t}\n\treturn state\n}\n\nfunction storeAuthState(storage: Storage, publishableKey: string, state: string): void {\n\tstorage.setItem(authStateStorageKey(publishableKey), state)\n}\n\nfunction clearAuthState(storage: Storage, publishableKey: string): void {\n\tstorage.removeItem(authStateStorageKey(publishableKey))\n}\n\nexport {\n\taccessTokenStorageKey,\n\tauthStateStorageKey,\n\tclearAuthState,\n\tloadAuthState,\n\tloadStoredAccessToken,\n\tstoreAccessToken,\n\tstoreAuthState\n}\n",
27
+ "import type { PrimerLogger } from \"@superbuilders/primer-tives/logger\"\nimport {\n\tbrowserStorage,\n\tclearCallbackHash,\n\tcurrentUrl,\n\trandomClientState,\n\ttype HostedAuthOptions\n} from \"@superbuilders/primer-tives/client/auth/browser\"\nimport {\n\treadAuthCallback,\n\trequireMatchingCallbackState\n} from \"@superbuilders/primer-tives/client/auth/callback\"\nimport { beginHostedPopup } from \"@superbuilders/primer-tives/client/auth/hosted-popup\"\nimport {\n\tresolveAccessToken,\n\ttype ResolvedAccessToken\n} from \"@superbuilders/primer-tives/client/auth/access-token\"\nimport {\n\tclearAuthState,\n\tloadAuthState,\n\tloadStoredAccessToken,\n\tstoreAccessToken,\n\tstoreAuthState\n} from \"@superbuilders/primer-tives/client/auth/storage\"\n\ntype AccessTokenResolverOptions = {\n\treadonly origin: string\n\treadonly publishableKey: string\n\treadonly accessToken?: string\n\treadonly hostedAuth?: HostedAuthOptions\n\treadonly logger: PrimerLogger\n}\n\nasync function resolveHostedAccessToken(\n\toptions: AccessTokenResolverOptions\n): Promise<ResolvedAccessToken> {\n\tconst logger = options.logger\n\tconst storage = browserStorage(options.hostedAuth, logger)\n\tconst url = currentUrl(options.hostedAuth, logger)\n\tconst callback = readAuthCallback(url, logger)\n\tif (callback !== null) {\n\t\trequireMatchingCallbackState(callback, loadAuthState(storage, options.publishableKey), logger)\n\t\tstoreAccessToken(storage, options.publishableKey, callback.accessToken)\n\t\tclearAuthState(storage, options.publishableKey)\n\t\tclearCallbackHash(options.hostedAuth, url)\n\t\treturn resolveAccessToken(callback.accessToken, logger)\n\t}\n\n\tconst stored = loadStoredAccessToken(storage, options.publishableKey)\n\tif (stored !== null) {\n\t\treturn resolveAccessToken(stored, logger)\n\t}\n\n\tconst clientState = randomClientState(logger)\n\tstoreAuthState(storage, options.publishableKey, clientState)\n\tconst accessToken = await beginHostedPopup({\n\t\torigin: options.origin,\n\t\tpublishableKey: options.publishableKey,\n\t\tcurrentUrl: url,\n\t\tclientState,\n\t\toptions: options.hostedAuth,\n\t\tlogger\n\t})\n\tstoreAccessToken(storage, options.publishableKey, accessToken)\n\tclearAuthState(storage, options.publishableKey)\n\treturn resolveAccessToken(accessToken, logger)\n}\n\nasync function resolveRuntimeAccessToken(\n\toptions: AccessTokenResolverOptions\n): Promise<ResolvedAccessToken> {\n\tif (options.accessToken !== undefined) {\n\t\treturn resolveAccessToken(options.accessToken, options.logger)\n\t}\n\treturn resolveHostedAccessToken(options)\n}\n\nexport { resolveRuntimeAccessToken }\nexport type { AccessTokenResolverOptions }\n",
28
+ "import type { PrimerLogger } from \"@superbuilders/primer-tives/logger\"\nimport type { PciId } from \"@superbuilders/primer-tives/contracts/pci\"\nimport type { PrimerState } from \"@superbuilders/primer-tives/client/types\"\nimport { createTransport } from \"@superbuilders/primer-tives/client/transport\"\nimport { makeSession } from \"@superbuilders/primer-tives/client/session\"\nimport type { Subject } from \"@superbuilders/primer-tives/subject\"\nimport type { RuntimeSubjectScope } from \"@superbuilders/primer-tives/client/runtime-subject\"\nimport { resolveRuntimeAccessToken } from \"@superbuilders/primer-tives/client/auth/provider\"\nimport type {\n\tHasRequiredPcis,\n\tRequiredPciForSubject\n} from \"@superbuilders/primer-tives/subject-pcis\"\n\ntype SubjectSelection = Subject | undefined\n\ntype SubjectOption<S extends SubjectSelection> = S extends undefined\n\t? { readonly subject?: undefined }\n\t: { readonly subject: S }\n\ntype PciOptionsForSubject<S extends SubjectSelection, Supported extends readonly PciId[]> = [\n\tRequiredPciForSubject<S>\n] extends [never]\n\t? { readonly supportedPcis?: Supported }\n\t: HasRequiredPcis<RequiredPciForSubject<S>, Supported> extends true\n\t\t? { readonly supportedPcis: Supported }\n\t\t: { readonly supportedPcis: never }\n\ntype RuntimePci<S extends SubjectSelection, Supported extends readonly PciId[]> =\n\t| Supported[number]\n\t| RequiredPciForSubject<S>\n\ntype PrimerOptions<\n\tS extends SubjectSelection = undefined,\n\tSupported extends readonly PciId[] = []\n> = {\n\treadonly publishableKey: string\n\treadonly origin: string\n\treadonly accessToken?: string\n\treadonly fetch?: typeof globalThis.fetch\n\treadonly abort?: AbortController\n\treadonly logger: PrimerLogger\n} & SubjectOption<S> &\n\tPciOptionsForSubject<S, Supported>\n\nfunction supportedPcisOrEmpty<Supported extends readonly PciId[]>(\n\tsupportedPcis: Supported | undefined\n): Supported | [] {\n\tif (supportedPcis !== undefined) {\n\t\treturn supportedPcis\n\t}\n\treturn []\n}\n\nfunction runtimeSubject(subject: Subject | undefined): RuntimeSubjectScope {\n\tif (subject === undefined) {\n\t\treturn \"all\"\n\t}\n\treturn subject\n}\n\nasync function create<\n\tconst S extends SubjectSelection = undefined,\n\tconst Supported extends readonly PciId[] = []\n>(options: PrimerOptions<S, Supported>): Promise<PrimerState<RuntimePci<S, Supported>>> {\n\tconst logger = options.logger\n\tlogger.debug(\"create\")\n\tconst subject = runtimeSubject(options.subject)\n\tconst accessToken = await resolveRuntimeAccessToken({\n\t\taccessToken: options.accessToken,\n\t\tpublishableKey: options.publishableKey,\n\t\torigin: options.origin,\n\t\tlogger\n\t})\n\tconst transport = createTransport<RuntimePci<S, Supported>>({\n\t\taccessToken,\n\t\tpublishableKey: options.publishableKey,\n\t\tsubject,\n\t\torigin: options.origin,\n\t\tfetch: options.fetch,\n\t\tabort: options.abort,\n\t\tlogger\n\t})\n\tconst session = makeSession<RuntimePci<S, Supported>>({\n\t\tsubject,\n\t\tsupportedPcis: supportedPcisOrEmpty(options.supportedPcis),\n\t\tlogger,\n\t\ttransport\n\t})\n\treturn session.execute({ kind: \"observation\" }, \"observation\")\n}\n\nexport { create }\nexport type { PrimerOptions }\n"
25
29
  ],
26
- "mappings": "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",
27
- "debugId": "859C0D980BD7BD1D64756E2164756E21",
30
+ "mappings": "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",
31
+ "debugId": "DE8A27A355B8A82664756E2164756E21",
28
32
  "names": []
29
33
  }
@@ -0,0 +1,4 @@
1
+ import type { Subject } from "../subject";
2
+ type RuntimeSubjectScope = Subject | "all";
3
+ export type { RuntimeSubjectScope };
4
+ //# sourceMappingURL=runtime-subject.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runtime-subject.d.ts","sourceRoot":"","sources":["../../src/client/runtime-subject.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qCAAqC,CAAA;AAElE,KAAK,mBAAmB,GAAG,OAAO,GAAG,KAAK,CAAA;AAE1C,YAAY,EAAE,mBAAmB,EAAE,CAAA"}
@@ -2,11 +2,11 @@ import type { PrimerLogger } from "../logger";
2
2
  import type { PciId } from "../contracts/pci";
3
3
  import type { TransitionPhase, WireIntent } from "./session-context";
4
4
  import type { TransportResult, WireRequestBody } from "./transport";
5
- import type { SubjectScope } from "../subject";
5
+ import type { RuntimeSubjectScope } from "./runtime-subject";
6
6
  import type { PrimerState } from "./types";
7
7
  interface SessionConfig<Pcis extends PciId = PciId> {
8
8
  readonly supportedPcis: readonly Pcis[];
9
- readonly subject: SubjectScope;
9
+ readonly subject: RuntimeSubjectScope;
10
10
  readonly logger: PrimerLogger;
11
11
  readonly transport: (body: WireRequestBody<Pcis>) => Promise<TransportResult<Pcis>>;
12
12
  }
@@ -1 +1 @@
1
- {"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../src/client/session.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAA;AACtE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,2CAA2C,CAAA;AACtE,OAAO,KAAK,EAEX,eAAe,EACf,UAAU,EACV,MAAM,oDAAoD,CAAA;AAC3D,OAAO,KAAK,EACX,eAAe,EACf,eAAe,EAEf,MAAM,8CAA8C,CAAA;AACrD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qCAAqC,CAAA;AAOvE,OAAO,KAAK,EAAgB,WAAW,EAAE,MAAM,0CAA0C,CAAA;AAUzF,UAAU,aAAa,CAAC,IAAI,SAAS,KAAK,GAAG,KAAK;IACjD,QAAQ,CAAC,aAAa,EAAE,SAAS,IAAI,EAAE,CAAA;IACvC,QAAQ,CAAC,OAAO,EAAE,YAAY,CAAA;IAC9B,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAA;IAC7B,QAAQ,CAAC,SAAS,EAAE,CAAC,IAAI,EAAE,eAAe,CAAC,IAAI,CAAC,KAAK,OAAO,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAA;CACnF;AAyBD,iBAAS,WAAW,CAAC,IAAI,SAAS,KAAK,EAAE,EAAE,EAAE,aAAa,CAAC,IAAI,CAAC;sBA+DtD,UAAU,CAAC,IAAI,CAAC,SACjB,eAAe,KACpB,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;EAsG7B;AAED,OAAO,EAAE,WAAW,EAAE,CAAA;AACtB,YAAY,EAAE,aAAa,EAAE,CAAA"}
1
+ {"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../src/client/session.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAA;AACtE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,2CAA2C,CAAA;AACtE,OAAO,KAAK,EAEX,eAAe,EACf,UAAU,EACV,MAAM,oDAAoD,CAAA;AAC3D,OAAO,KAAK,EACX,eAAe,EACf,eAAe,EAEf,MAAM,8CAA8C,CAAA;AACrD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oDAAoD,CAAA;AAO7F,OAAO,KAAK,EAAgB,WAAW,EAAE,MAAM,0CAA0C,CAAA;AAUzF,UAAU,aAAa,CAAC,IAAI,SAAS,KAAK,GAAG,KAAK;IACjD,QAAQ,CAAC,aAAa,EAAE,SAAS,IAAI,EAAE,CAAA;IACvC,QAAQ,CAAC,OAAO,EAAE,mBAAmB,CAAA;IACrC,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAA;IAC7B,QAAQ,CAAC,SAAS,EAAE,CAAC,IAAI,EAAE,eAAe,CAAC,IAAI,CAAC,KAAK,OAAO,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAA;CACnF;AAyBD,iBAAS,WAAW,CAAC,IAAI,SAAS,KAAK,EAAE,EAAE,EAAE,aAAa,CAAC,IAAI,CAAC;sBA+DtD,UAAU,CAAC,IAAI,CAAC,SACjB,eAAe,KACpB,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;EA2G7B;AAED,OAAO,EAAE,WAAW,EAAE,CAAA;AACtB,YAAY,EAAE,aAAa,EAAE,CAAA"}
@@ -1,9 +1,10 @@
1
1
  import type { PciId } from "../contracts/pci";
2
2
  import type { SessionContext, WireIntent } from "./session-context";
3
- import type { SubjectScope } from "../subject";
3
+ import type { RuntimeSubjectScope } from "./runtime-subject";
4
4
  import type { ContentBlock, ContentInline } from "../contracts/content";
5
5
  import type { RendererInteraction, RendererStimulus, RendererSubmission } from "../contracts/types";
6
6
  import type { InteractionReview } from "../contracts/review";
7
+ import type { ResolvedAccessToken } from "./auth/access-token";
7
8
  interface WireFrame<Pcis extends PciId = PciId> {
8
9
  body: ContentBlock[];
9
10
  stimulus: RendererStimulus | null;
@@ -23,7 +24,7 @@ type WireResult<Pcis extends PciId = PciId> = {
23
24
  outcome: "completed";
24
25
  };
25
26
  interface WireRequestBody<Pcis extends PciId = PciId> {
26
- subject: SubjectScope;
27
+ subject: RuntimeSubjectScope;
27
28
  intent: WireIntent<Pcis>;
28
29
  }
29
30
  type TransportResult<Pcis extends PciId = PciId> = {
@@ -34,8 +35,9 @@ type TransportResult<Pcis extends PciId = PciId> = {
34
35
  error: Error;
35
36
  };
36
37
  interface TransportConfig {
37
- readonly accessToken: string;
38
- readonly subject: SubjectScope;
38
+ readonly accessToken: ResolvedAccessToken;
39
+ readonly publishableKey: string;
40
+ readonly subject: RuntimeSubjectScope;
39
41
  readonly origin: string;
40
42
  readonly fetch?: typeof globalThis.fetch;
41
43
  readonly abort?: AbortController;
@@ -1 +1 @@
1
- {"version":3,"file":"transport.d.ts","sourceRoot":"","sources":["../../src/client/transport.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,2CAA2C,CAAA;AACtE,OAAO,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,oDAAoD,CAAA;AACpG,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qCAAqC,CAAA;AACvE,OAAO,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,+CAA+C,CAAA;AAChG,OAAO,KAAK,EACX,mBAAmB,EACnB,gBAAgB,EAChB,kBAAkB,EAClB,MAAM,6CAA6C,CAAA;AACpD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,8CAA8C,CAAA;AAKrF,UAAU,SAAS,CAAC,IAAI,SAAS,KAAK,GAAG,KAAK;IAC7C,IAAI,EAAE,YAAY,EAAE,CAAA;IACpB,QAAQ,EAAE,gBAAgB,GAAG,IAAI,CAAA;IACjC,WAAW,EAAE,mBAAmB,CAAC,IAAI,CAAC,GAAG,IAAI,CAAA;CAC7C;AAED,KAAK,UAAU,CAAC,IAAI,SAAS,KAAK,GAAG,KAAK,IACvC;IACA,OAAO,EAAE,UAAU,CAAA;IACnB,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,CAAA;CACrB,GACD;IACA,OAAO,EAAE,WAAW,CAAA;IACpB,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,CAAA;IACtB,UAAU,EAAE,kBAAkB,CAAC,IAAI,CAAC,CAAA;IACpC,SAAS,EAAE,OAAO,CAAA;IAClB,eAAe,EAAE,aAAa,EAAE,CAAA;IAChC,MAAM,EAAE,iBAAiB,CAAC,IAAI,CAAC,GAAG,IAAI,CAAA;CACrC,GACD;IAAE,OAAO,EAAE,WAAW,CAAA;CAAE,CAAA;AAE3B,UAAU,eAAe,CAAC,IAAI,SAAS,KAAK,GAAG,KAAK;IACnD,OAAO,EAAE,YAAY,CAAA;IACrB,MAAM,EAAE,UAAU,CAAC,IAAI,CAAC,CAAA;CACxB;AAED,KAAK,eAAe,CAAC,IAAI,SAAS,KAAK,GAAG,KAAK,IAC5C;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,IAAI,EAAE,UAAU,CAAC,IAAI,CAAC,CAAA;CAAE,GACpC;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,KAAK,CAAA;CAAE,CAAA;AAE9B,UAAU,eAAe;IACxB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;IAC5B,QAAQ,CAAC,OAAO,EAAE,YAAY,CAAA;IAC9B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,UAAU,CAAC,KAAK,CAAA;IACxC,QAAQ,CAAC,KAAK,CAAC,EAAE,eAAe,CAAA;IAChC,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAC,QAAQ,CAAC,CAAA;CACzC;AA2DD,iBAAS,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,KAAK,CA+BzD;AAgCD,iBAAS,YAAY,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAQ3C;AAED,iBAAS,eAAe,CAAC,IAAI,SAAS,KAAK,EAAE,EAAE,EAAE,eAAe,UAWhC,eAAe,CAAC,IAAI,CAAC,KAAG,OAAO,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAiFrF;AAED,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,YAAY,EAAE,CAAA;AACtD,YAAY,EAAE,eAAe,EAAE,eAAe,EAAE,eAAe,EAAE,UAAU,EAAE,CAAA"}
1
+ {"version":3,"file":"transport.d.ts","sourceRoot":"","sources":["../../src/client/transport.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,2CAA2C,CAAA;AACtE,OAAO,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,oDAAoD,CAAA;AACpG,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oDAAoD,CAAA;AAC7F,OAAO,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,+CAA+C,CAAA;AAChG,OAAO,KAAK,EACX,mBAAmB,EACnB,gBAAgB,EAChB,kBAAkB,EAClB,MAAM,6CAA6C,CAAA;AACpD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,8CAA8C,CAAA;AAErF,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,sDAAsD,CAAA;AAI/F,UAAU,SAAS,CAAC,IAAI,SAAS,KAAK,GAAG,KAAK;IAC7C,IAAI,EAAE,YAAY,EAAE,CAAA;IACpB,QAAQ,EAAE,gBAAgB,GAAG,IAAI,CAAA;IACjC,WAAW,EAAE,mBAAmB,CAAC,IAAI,CAAC,GAAG,IAAI,CAAA;CAC7C;AAED,KAAK,UAAU,CAAC,IAAI,SAAS,KAAK,GAAG,KAAK,IACvC;IACA,OAAO,EAAE,UAAU,CAAA;IACnB,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,CAAA;CACrB,GACD;IACA,OAAO,EAAE,WAAW,CAAA;IACpB,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,CAAA;IACtB,UAAU,EAAE,kBAAkB,CAAC,IAAI,CAAC,CAAA;IACpC,SAAS,EAAE,OAAO,CAAA;IAClB,eAAe,EAAE,aAAa,EAAE,CAAA;IAChC,MAAM,EAAE,iBAAiB,CAAC,IAAI,CAAC,GAAG,IAAI,CAAA;CACrC,GACD;IAAE,OAAO,EAAE,WAAW,CAAA;CAAE,CAAA;AAE3B,UAAU,eAAe,CAAC,IAAI,SAAS,KAAK,GAAG,KAAK;IACnD,OAAO,EAAE,mBAAmB,CAAA;IAC5B,MAAM,EAAE,UAAU,CAAC,IAAI,CAAC,CAAA;CACxB;AAED,KAAK,eAAe,CAAC,IAAI,SAAS,KAAK,GAAG,KAAK,IAC5C;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,IAAI,EAAE,UAAU,CAAC,IAAI,CAAC,CAAA;CAAE,GACpC;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,KAAK,CAAA;CAAE,CAAA;AAE9B,UAAU,eAAe;IACxB,QAAQ,CAAC,WAAW,EAAE,mBAAmB,CAAA;IACzC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAA;IAC/B,QAAQ,CAAC,OAAO,EAAE,mBAAmB,CAAA;IACrC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,UAAU,CAAC,KAAK,CAAA;IACxC,QAAQ,CAAC,KAAK,CAAC,EAAE,eAAe,CAAA;IAChC,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAC,QAAQ,CAAC,CAAA;CACzC;AA2DD,iBAAS,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,KAAK,CA+BzD;AAgCD,iBAAS,YAAY,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAQ3C;AAED,iBAAS,eAAe,CAAC,IAAI,SAAS,KAAK,EAAE,EAAE,EAAE,eAAe,UAWhC,eAAe,CAAC,IAAI,CAAC,KAAG,OAAO,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAkFrF;AAED,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,YAAY,EAAE,CAAA;AACtD,YAAY,EAAE,eAAe,EAAE,eAAe,EAAE,eAAe,EAAE,UAAU,EAAE,CAAA"}
package/dist/errors.d.ts CHANGED
@@ -1,7 +1,6 @@
1
1
  declare const ErrNetwork: Error;
2
2
  declare const ErrJsonParse: Error;
3
3
  declare const ErrUnsupportedPci: Error;
4
- declare const ErrMissingRequiredPci: Error;
5
4
  declare const ErrInvalidAccessToken: Error;
6
5
  declare const ErrMalformedAccessToken: Error;
7
6
  declare const ErrTokenExpired: Error;
@@ -15,7 +14,12 @@ declare const ErrRateLimited: Error;
15
14
  declare const ErrServiceUnavailable: Error;
16
15
  declare const ErrNotSerializable: Error;
17
16
  declare const ErrInvalidSubmission: Error;
18
- declare const ErrInvalidSecretKey: Error;
17
+ declare const ErrAuthUnavailable: Error;
18
+ declare const ErrAuthConfigInvalid: Error;
19
+ declare const ErrAuthCallbackInvalid: Error;
20
+ declare const ErrAuthStateMismatch: Error;
21
+ declare const ErrAuthPopupBlocked: Error;
22
+ declare const ErrAuthCancelled: Error;
19
23
  declare const ErrSdkUpgradeRequired: Error;
20
- export { ErrBadRequest, ErrConflict, ErrForbidden, ErrInvalidAccessToken, ErrInvalidSecretKey, ErrInvalidSubmission, ErrJsonParse, ErrMalformedAccessToken, ErrMissingRequiredPci, ErrNetwork, ErrNotFound, ErrNotSerializable, ErrRateLimited, ErrSdkUpgradeRequired, ErrServerError, ErrServiceUnavailable, ErrTimeout, ErrTokenExpired, ErrUnsupportedPci };
24
+ export { ErrAuthCallbackInvalid, ErrAuthCancelled, ErrAuthConfigInvalid, ErrAuthPopupBlocked, ErrAuthStateMismatch, ErrAuthUnavailable, ErrBadRequest, ErrConflict, ErrForbidden, ErrInvalidAccessToken, ErrInvalidSubmission, ErrJsonParse, ErrMalformedAccessToken, ErrNetwork, ErrNotFound, ErrNotSerializable, ErrRateLimited, ErrSdkUpgradeRequired, ErrServerError, ErrServiceUnavailable, ErrTimeout, ErrTokenExpired, ErrUnsupportedPci };
21
25
  //# sourceMappingURL=errors.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAEA,QAAA,MAAM,UAAU,OAAwB,CAAA;AACxC,QAAA,MAAM,YAAY,OAA2B,CAAA;AAC7C,QAAA,MAAM,iBAAiB,OAAgC,CAAA;AACvD,QAAA,MAAM,qBAAqB,OAAqC,CAAA;AAChE,QAAA,MAAM,qBAAqB,OAAqC,CAAA;AAChE,QAAA,MAAM,uBAAuB,OAAuC,CAAA;AACpE,QAAA,MAAM,eAAe,OAAqC,CAAA;AAC1D,QAAA,MAAM,aAAa,OAA4B,CAAA;AAC/C,QAAA,MAAM,cAAc,OAA6B,CAAA;AACjD,QAAA,MAAM,UAAU,OAAwB,CAAA;AACxC,QAAA,MAAM,YAAY,OAA0B,CAAA;AAC5C,QAAA,MAAM,WAAW,OAA0B,CAAA;AAC3C,QAAA,MAAM,WAAW,OAAyB,CAAA;AAC1C,QAAA,MAAM,cAAc,OAA6B,CAAA;AACjD,QAAA,MAAM,qBAAqB,OAAoC,CAAA;AAC/D,QAAA,MAAM,kBAAkB,OAEvB,CAAA;AACD,QAAA,MAAM,oBAAoB,OAAmC,CAAA;AAE7D,QAAA,MAAM,mBAAmB,OAAmC,CAAA;AAC5D,QAAA,MAAM,qBAAqB,OAAqC,CAAA;AAEhE,OAAO,EACN,aAAa,EACb,WAAW,EACX,YAAY,EACZ,qBAAqB,EACrB,mBAAmB,EACnB,oBAAoB,EACpB,YAAY,EACZ,uBAAuB,EACvB,qBAAqB,EACrB,UAAU,EACV,WAAW,EACX,kBAAkB,EAClB,cAAc,EACd,qBAAqB,EACrB,cAAc,EACd,qBAAqB,EACrB,UAAU,EACV,eAAe,EACf,iBAAiB,EACjB,CAAA"}
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAEA,QAAA,MAAM,UAAU,OAAwB,CAAA;AACxC,QAAA,MAAM,YAAY,OAA2B,CAAA;AAC7C,QAAA,MAAM,iBAAiB,OAAgC,CAAA;AACvD,QAAA,MAAM,qBAAqB,OAAqC,CAAA;AAChE,QAAA,MAAM,uBAAuB,OAAuC,CAAA;AACpE,QAAA,MAAM,eAAe,OAAqC,CAAA;AAC1D,QAAA,MAAM,aAAa,OAA4B,CAAA;AAC/C,QAAA,MAAM,cAAc,OAA6B,CAAA;AACjD,QAAA,MAAM,UAAU,OAAwB,CAAA;AACxC,QAAA,MAAM,YAAY,OAA0B,CAAA;AAC5C,QAAA,MAAM,WAAW,OAA0B,CAAA;AAC3C,QAAA,MAAM,WAAW,OAAyB,CAAA;AAC1C,QAAA,MAAM,cAAc,OAA6B,CAAA;AACjD,QAAA,MAAM,qBAAqB,OAAoC,CAAA;AAC/D,QAAA,MAAM,kBAAkB,OAEvB,CAAA;AACD,QAAA,MAAM,oBAAoB,OAAmC,CAAA;AAC7D,QAAA,MAAM,kBAAkB,OAAiC,CAAA;AACzD,QAAA,MAAM,oBAAoB,OAAoC,CAAA;AAC9D,QAAA,MAAM,sBAAsB,OAAsC,CAAA;AAClE,QAAA,MAAM,oBAAoB,OAAoC,CAAA;AAC9D,QAAA,MAAM,mBAAmB,OAAmC,CAAA;AAC5D,QAAA,MAAM,gBAAgB,OAA+B,CAAA;AAErD,QAAA,MAAM,qBAAqB,OAAqC,CAAA;AAEhE,OAAO,EACN,sBAAsB,EACtB,gBAAgB,EAChB,oBAAoB,EACpB,mBAAmB,EACnB,oBAAoB,EACpB,kBAAkB,EAClB,aAAa,EACb,WAAW,EACX,YAAY,EACZ,qBAAqB,EACrB,oBAAoB,EACpB,YAAY,EACZ,uBAAuB,EACvB,UAAU,EACV,WAAW,EACX,kBAAkB,EAClB,cAAc,EACd,qBAAqB,EACrB,cAAc,EACd,qBAAqB,EACrB,UAAU,EACV,eAAe,EACf,iBAAiB,EACjB,CAAA"}