@superbuilders/primer-tives 2.2.0 → 2.2.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.
- package/README.md +5 -5
- package/dist/client/index.js +29 -5
- package/dist/client/index.js.map +5 -5
- package/dist/client/session.d.ts.map +1 -1
- package/dist/client/transport.d.ts.map +1 -1
- package/dist/server/create-server.d.ts +1 -0
- package/dist/server/create-server.d.ts.map +1 -1
- package/dist/server/exchange.d.ts +1 -0
- package/dist/server/exchange.d.ts.map +1 -1
- package/dist/server/index.js +45 -14
- package/dist/server/index.js.map +4 -4
- package/dist/version.d.ts +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -17,7 +17,7 @@ The SDK uses sentinel errors from `@superbuilders/errors`. Use `errors.try()` to
|
|
|
17
17
|
|
|
18
18
|
## Package Version
|
|
19
19
|
|
|
20
|
-
The current SDK version is `2.2.
|
|
20
|
+
The current SDK version is `2.2.1`.
|
|
21
21
|
|
|
22
22
|
The browser SDK sends `SDK_VERSION` as `X-Primer-SDK-Version` on `/api/v0/advance`. If the server requires a newer SDK, the browser state becomes `fatal` with `ErrSdkUpgradeRequired`.
|
|
23
23
|
|
|
@@ -58,7 +58,7 @@ The backend token flow is:
|
|
|
58
58
|
6. Primer returns a short-lived browser access token.
|
|
59
59
|
7. Your browser UI passes that token to `create({ accessToken, ... })`.
|
|
60
60
|
|
|
61
|
-
Primer stores a secret-keyed
|
|
61
|
+
Primer stores a secret-keyed SHA-512/256 digest of normalized email, not raw email. The browser never sees your Primer secret key and never sends the email to `/advance`.
|
|
62
62
|
|
|
63
63
|
## End-To-End Backend Example
|
|
64
64
|
|
|
@@ -69,7 +69,7 @@ import { createPrimerServer } from "@superbuilders/primer-tives/server"
|
|
|
69
69
|
import { ErrBadRequest, ErrInvalidSecretKey, ErrNetwork, ErrTimeout } from "@superbuilders/primer-tives/errors"
|
|
70
70
|
|
|
71
71
|
const primer = createPrimerServer({
|
|
72
|
-
origin: "https://
|
|
72
|
+
origin: "https://primerlearn.dev",
|
|
73
73
|
secretKey: process.env.PRIMER_SECRET_KEY,
|
|
74
74
|
logger
|
|
75
75
|
})
|
|
@@ -109,7 +109,7 @@ import * as logger from "@superbuilders/slog"
|
|
|
109
109
|
import { create, type PrimerState } from "@superbuilders/primer-tives/client"
|
|
110
110
|
|
|
111
111
|
const client = create({
|
|
112
|
-
origin: "https://
|
|
112
|
+
origin: "https://primerlearn.dev",
|
|
113
113
|
accessToken,
|
|
114
114
|
subject: "math",
|
|
115
115
|
supportedPcis: ["urn:primer:pci:fraction-input"],
|
|
@@ -176,7 +176,7 @@ Config fields:
|
|
|
176
176
|
|
|
177
177
|
| Field | Required | Description |
|
|
178
178
|
| --- | --- | --- |
|
|
179
|
-
| `origin` | Yes | Primer deployment origin, for example `https://
|
|
179
|
+
| `origin` | Yes | Primer deployment origin, for example `https://primerlearn.dev`. |
|
|
180
180
|
| `secretKey` | Yes | Primer `sk_...` frontend secret. Keep it on the backend. |
|
|
181
181
|
| `fetch` | No | Custom fetch for tests, proxies, tracing, or platform adapters. Defaults to `globalThis.fetch`. |
|
|
182
182
|
| `abort` | No | `AbortController`; its signal is passed to every server SDK request. |
|
package/dist/client/index.js
CHANGED
|
@@ -342,7 +342,7 @@ import * as errors10 from "@superbuilders/errors";
|
|
|
342
342
|
import * as errors2 from "@superbuilders/errors";
|
|
343
343
|
|
|
344
344
|
// src/version.ts
|
|
345
|
-
var SDK_VERSION = "2.2.
|
|
345
|
+
var SDK_VERSION = "2.2.1";
|
|
346
346
|
var NPM_PACKAGE_URL = "https://www.npmjs.com/package/@superbuilders/primer-tives";
|
|
347
347
|
|
|
348
348
|
// src/client/transport.ts
|
|
@@ -509,7 +509,10 @@ function createTransport(tc) {
|
|
|
509
509
|
return { ok: false, error: buildSdkUpgradeRequiredError(sentinel, text, logger) };
|
|
510
510
|
}
|
|
511
511
|
logger.error("transport http error", {
|
|
512
|
-
status: res.status
|
|
512
|
+
status: res.status,
|
|
513
|
+
body: text,
|
|
514
|
+
intentKind: body.intent.kind,
|
|
515
|
+
subject: body.subject
|
|
513
516
|
});
|
|
514
517
|
return { ok: false, error: errors2.wrap(sentinel, text) };
|
|
515
518
|
}
|
|
@@ -1045,6 +1048,11 @@ function makeSession(sc) {
|
|
|
1045
1048
|
return state;
|
|
1046
1049
|
}
|
|
1047
1050
|
async function execute(intent, phase) {
|
|
1051
|
+
logger.debug("session execute", {
|
|
1052
|
+
phase,
|
|
1053
|
+
intentKind: intent.kind,
|
|
1054
|
+
subject: sc.subject
|
|
1055
|
+
});
|
|
1048
1056
|
const body = {
|
|
1049
1057
|
subject: sc.subject,
|
|
1050
1058
|
intent
|
|
@@ -1052,12 +1060,28 @@ function makeSession(sc) {
|
|
|
1052
1060
|
const result = await sc.transport(body);
|
|
1053
1061
|
if (!result.ok) {
|
|
1054
1062
|
if (isFatalError(result.error)) {
|
|
1055
|
-
logger.error("fatal transport error", {
|
|
1063
|
+
logger.error("fatal transport error", {
|
|
1064
|
+
error: result.error,
|
|
1065
|
+
phase,
|
|
1066
|
+
intentKind: intent.kind
|
|
1067
|
+
});
|
|
1056
1068
|
return { phase: "fatal", error: result.error, retriable: false, toJSON: poisonToJSON };
|
|
1057
1069
|
}
|
|
1070
|
+
logger.warn("retriable transport error", {
|
|
1071
|
+
error: result.error,
|
|
1072
|
+
phase,
|
|
1073
|
+
intentKind: intent.kind
|
|
1074
|
+
});
|
|
1058
1075
|
return errored(result.error, phase, intent);
|
|
1059
1076
|
}
|
|
1060
|
-
|
|
1077
|
+
const next = resolve(result.data);
|
|
1078
|
+
logger.debug("session execute resolved", {
|
|
1079
|
+
phase,
|
|
1080
|
+
intentKind: intent.kind,
|
|
1081
|
+
outcome: result.data.outcome,
|
|
1082
|
+
nextPhase: next.phase
|
|
1083
|
+
});
|
|
1084
|
+
return next;
|
|
1061
1085
|
}
|
|
1062
1086
|
function isPciSupported(pciId) {
|
|
1063
1087
|
for (const id of sc.supportedPcis) {
|
|
@@ -1193,4 +1217,4 @@ export {
|
|
|
1193
1217
|
create
|
|
1194
1218
|
};
|
|
1195
1219
|
|
|
1196
|
-
//# debugId=
|
|
1220
|
+
//# debugId=859C0D980BD7BD1D64756E2164756E21
|
package/dist/client/index.js.map
CHANGED
|
@@ -9,9 +9,9 @@
|
|
|
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
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
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})\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.
|
|
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\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\", {
|
|
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",
|
|
15
15
|
"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
16
|
"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
17
|
"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",
|
|
@@ -23,7 +23,7 @@
|
|
|
23
23
|
"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
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"
|
|
25
25
|
],
|
|
26
|
-
"mappings": "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",
|
|
27
|
-
"debugId": "
|
|
26
|
+
"mappings": "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",
|
|
27
|
+
"debugId": "859C0D980BD7BD1D64756E2164756E21",
|
|
28
28
|
"names": []
|
|
29
29
|
}
|
|
@@ -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;
|
|
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 +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,
|
|
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"}
|
|
@@ -3,6 +3,7 @@ import { type GetTokenInput } from "./exchange";
|
|
|
3
3
|
interface PrimerServerConfig {
|
|
4
4
|
readonly origin: string;
|
|
5
5
|
readonly secretKey: string;
|
|
6
|
+
readonly headers?: HeadersInit;
|
|
6
7
|
readonly fetch?: typeof globalThis.fetch;
|
|
7
8
|
readonly abort?: AbortController;
|
|
8
9
|
readonly logger: PrimerLogger;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-server.d.ts","sourceRoot":"","sources":["../../src/server/create-server.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAA;AACtE,OAAO,EAAE,KAAK,aAAa,EAAY,MAAM,6CAA6C,CAAA;AAE1F,UAAU,kBAAkB;IAC3B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,UAAU,CAAC,KAAK,CAAA;IACxC,QAAQ,CAAC,KAAK,CAAC,EAAE,eAAe,CAAA;IAChC,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAA;CAC7B;AAED,UAAU,YAAY;IACrB,QAAQ,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC,CAAA;CAC/C;AAED,iBAAS,kBAAkB,CAAC,MAAM,EAAE,kBAAkB,GAAG,YAAY,CAMpE;AAED,YAAY,EAAE,aAAa,EAAE,YAAY,EAAE,kBAAkB,EAAE,CAAA;AAC/D,OAAO,EAAE,kBAAkB,EAAE,CAAA"}
|
|
1
|
+
{"version":3,"file":"create-server.d.ts","sourceRoot":"","sources":["../../src/server/create-server.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAA;AACtE,OAAO,EAAE,KAAK,aAAa,EAAY,MAAM,6CAA6C,CAAA;AAE1F,UAAU,kBAAkB;IAC3B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,OAAO,CAAC,EAAE,WAAW,CAAA;IAC9B,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,UAAU,CAAC,KAAK,CAAA;IACxC,QAAQ,CAAC,KAAK,CAAC,EAAE,eAAe,CAAA;IAChC,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAA;CAC7B;AAED,UAAU,YAAY;IACrB,QAAQ,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC,CAAA;CAC/C;AAED,iBAAS,kBAAkB,CAAC,MAAM,EAAE,kBAAkB,GAAG,YAAY,CAMpE;AAED,YAAY,EAAE,aAAa,EAAE,YAAY,EAAE,kBAAkB,EAAE,CAAA;AAC/D,OAAO,EAAE,kBAAkB,EAAE,CAAA"}
|
|
@@ -2,6 +2,7 @@ import type { PrimerLogger } from "../logger";
|
|
|
2
2
|
interface TokenConfig {
|
|
3
3
|
readonly origin: string;
|
|
4
4
|
readonly secretKey: string;
|
|
5
|
+
readonly headers?: HeadersInit;
|
|
5
6
|
readonly fetch?: typeof globalThis.fetch;
|
|
6
7
|
readonly abort?: AbortController;
|
|
7
8
|
readonly logger: PrimerLogger;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"exchange.d.ts","sourceRoot":"","sources":["../../src/server/exchange.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAA;AAItE,UAAU,WAAW;IACpB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,UAAU,CAAC,KAAK,CAAA;IACxC,QAAQ,CAAC,KAAK,CAAC,EAAE,eAAe,CAAA;IAChC,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAA;CAC7B;AAED,KAAK,aAAa,GAAG;IACpB,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAA;CAC9B,CAAA;
|
|
1
|
+
{"version":3,"file":"exchange.d.ts","sourceRoot":"","sources":["../../src/server/exchange.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAA;AAItE,UAAU,WAAW;IACpB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,OAAO,CAAC,EAAE,WAAW,CAAA;IAC9B,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,UAAU,CAAC,KAAK,CAAA;IACxC,QAAQ,CAAC,KAAK,CAAC,EAAE,eAAe,CAAA;IAChC,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAA;CAC7B;AAED,KAAK,aAAa,GAAG;IACpB,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAA;CAC9B,CAAA;AAsJD,iBAAe,QAAQ,CAAC,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC,CAuBlF;AAED,YAAY,EAAE,aAAa,EAAE,WAAW,EAAE,CAAA;AAC1C,OAAO,EAAE,QAAQ,EAAE,CAAA"}
|
package/dist/server/index.js
CHANGED
|
@@ -22,6 +22,7 @@ var ErrSdkUpgradeRequired = errors.new("sdk upgrade required");
|
|
|
22
22
|
// src/server/exchange.ts
|
|
23
23
|
import * as errors2 from "@superbuilders/errors";
|
|
24
24
|
var TOKEN_PATH = "/api/v0/sessions";
|
|
25
|
+
var MAX_LOGGED_BODY_CHARS = 2000;
|
|
25
26
|
function isObjectRecord(value) {
|
|
26
27
|
return typeof value === "object" && value !== null;
|
|
27
28
|
}
|
|
@@ -31,6 +32,12 @@ function toTokenErrorBody(data) {
|
|
|
31
32
|
}
|
|
32
33
|
return typeof data.error === "string" ? { error: data.error } : {};
|
|
33
34
|
}
|
|
35
|
+
function truncateBody(text) {
|
|
36
|
+
if (text.length <= MAX_LOGGED_BODY_CHARS) {
|
|
37
|
+
return text;
|
|
38
|
+
}
|
|
39
|
+
return text.slice(0, MAX_LOGGED_BODY_CHARS);
|
|
40
|
+
}
|
|
34
41
|
function parseTokenSuccessBody(data) {
|
|
35
42
|
if (!isObjectRecord(data)) {
|
|
36
43
|
return;
|
|
@@ -56,27 +63,42 @@ function httpSentinel(status) {
|
|
|
56
63
|
return ErrServerError;
|
|
57
64
|
}
|
|
58
65
|
async function readErrorBody(res) {
|
|
59
|
-
const
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
66
|
+
const contentType = res.headers.get("content-type");
|
|
67
|
+
const textResult = await res.text().then(function ok(text) {
|
|
68
|
+
return { ok: true, text };
|
|
69
|
+
}, function fail(err) {
|
|
70
|
+
return { ok: false, error: err };
|
|
63
71
|
});
|
|
64
|
-
if (!
|
|
65
|
-
return {};
|
|
72
|
+
if (!textResult.ok) {
|
|
73
|
+
return { contentType: contentType === null ? undefined : contentType };
|
|
74
|
+
}
|
|
75
|
+
const rawText = truncateBody(textResult.text);
|
|
76
|
+
const parsed = errors2.trySync(function parseJson() {
|
|
77
|
+
return JSON.parse(textResult.text);
|
|
78
|
+
});
|
|
79
|
+
if (parsed.error) {
|
|
80
|
+
return { rawText, contentType: contentType === null ? undefined : contentType };
|
|
66
81
|
}
|
|
67
|
-
|
|
82
|
+
const body = toTokenErrorBody(parsed.data);
|
|
83
|
+
return { ...body, rawText, contentType: contentType === null ? undefined : contentType };
|
|
68
84
|
}
|
|
69
85
|
async function sendTokenRequest(config, input) {
|
|
70
86
|
const logger = config.logger;
|
|
71
87
|
const fetchFn = config.fetch ? config.fetch : globalThis.fetch;
|
|
72
88
|
const signal = config.abort ? config.abort.signal : undefined;
|
|
73
89
|
const url = `${config.origin}${TOKEN_PATH}`;
|
|
90
|
+
const headers = new Headers(config.headers);
|
|
91
|
+
headers.set("Content-Type", "application/json");
|
|
92
|
+
headers.set("Authorization", `Bearer ${config.secretKey}`);
|
|
93
|
+
const hasProtectionBypass = headers.has("x-vercel-protection-bypass");
|
|
94
|
+
logger.debug("token request dispatch", {
|
|
95
|
+
url,
|
|
96
|
+
hasProtectionBypass,
|
|
97
|
+
hasAbortSignal: signal !== undefined
|
|
98
|
+
});
|
|
74
99
|
const fetchResult = await fetchFn(url, {
|
|
75
100
|
method: "POST",
|
|
76
|
-
headers
|
|
77
|
-
"Content-Type": "application/json",
|
|
78
|
-
Authorization: `Bearer ${config.secretKey}`
|
|
79
|
-
},
|
|
101
|
+
headers,
|
|
80
102
|
body: JSON.stringify({ verified_email: input.verifiedEmail }),
|
|
81
103
|
signal
|
|
82
104
|
}).then(function ok(response) {
|
|
@@ -115,13 +137,22 @@ async function parseToken(config, res) {
|
|
|
115
137
|
}
|
|
116
138
|
async function getToken(config, input) {
|
|
117
139
|
const logger = config.logger;
|
|
118
|
-
logger.debug("token request"
|
|
140
|
+
logger.debug("token request", {
|
|
141
|
+
origin: config.origin,
|
|
142
|
+
verifiedEmail: input.verifiedEmail,
|
|
143
|
+
hasCustomHeaders: config.headers !== undefined
|
|
144
|
+
});
|
|
119
145
|
const res = await sendTokenRequest(config, input);
|
|
120
146
|
if (!res.ok) {
|
|
121
147
|
const body = await readErrorBody(res);
|
|
122
148
|
const sentinel = httpSentinel(res.status);
|
|
123
149
|
const detail = body.error ? `${res.status} ${body.error}` : `${res.status}`;
|
|
124
|
-
logger.error("token request http error", {
|
|
150
|
+
logger.error("token request http error", {
|
|
151
|
+
status: res.status,
|
|
152
|
+
body,
|
|
153
|
+
origin: config.origin,
|
|
154
|
+
verifiedEmail: input.verifiedEmail
|
|
155
|
+
});
|
|
125
156
|
throw errors2.wrap(sentinel, detail);
|
|
126
157
|
}
|
|
127
158
|
return parseToken(config, res);
|
|
@@ -139,4 +170,4 @@ export {
|
|
|
139
170
|
createPrimerServer
|
|
140
171
|
};
|
|
141
172
|
|
|
142
|
-
//# debugId=
|
|
173
|
+
//# debugId=33FD60F3187C394264756E2164756E21
|
package/dist/server/index.js.map
CHANGED
|
@@ -3,10 +3,10 @@
|
|
|
3
3
|
"sources": ["../src/errors.ts", "../src/server/exchange.ts", "../src/server/create-server.ts"],
|
|
4
4
|
"sourcesContent": [
|
|
5
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",
|
|
6
|
-
"import * as errors from \"@superbuilders/errors\"\nimport {\n\tErrBadRequest,\n\tErrInvalidSecretKey,\n\tErrJsonParse,\n\tErrNetwork,\n\tErrServerError,\n\tErrTimeout\n} from \"@superbuilders/primer-tives/errors\"\nimport type { PrimerLogger } from \"@superbuilders/primer-tives/logger\"\n\nconst TOKEN_PATH = \"/api/v0/sessions\"\n\ninterface TokenConfig {\n\treadonly origin: string\n\treadonly secretKey: string\n\treadonly fetch?: typeof globalThis.fetch\n\treadonly abort?: AbortController\n\treadonly logger: PrimerLogger\n}\n\ntype GetTokenInput = {\n\treadonly verifiedEmail: string\n}\n\ninterface TokenSuccessBody {\n\taccess_token: string\n\ttoken_type: \"Bearer\"\n}\n\ninterface TokenErrorBody {\n\treadonly error?: string\n}\n\nfunction isObjectRecord(value: unknown): value is Record<string, unknown> {\n\treturn typeof value === \"object\" && value !== null\n}\n\nfunction toTokenErrorBody(data: unknown): TokenErrorBody {\n\tif (!isObjectRecord(data)) {\n\t\treturn {}\n\t}\n\treturn typeof data.error === \"string\" ? { error: data.error } : {}\n}\n\nfunction parseTokenSuccessBody(data: unknown): TokenSuccessBody | undefined {\n\tif (!isObjectRecord(data)) {\n\t\treturn undefined\n\t}\n\tif (typeof data.access_token !== \"string\" || data.token_type !== \"Bearer\") {\n\t\treturn undefined\n\t}\n\treturn {\n\t\taccess_token: data.access_token,\n\t\ttoken_type: \"Bearer\"\n\t}\n}\n\nfunction isAbortError(err: Error): boolean {\n\treturn err.name === \"AbortError\" || err.name === \"TimeoutError\"\n}\n\nfunction httpSentinel(status: number): Error {\n\tif (status === 400) {\n\t\treturn ErrBadRequest\n\t}\n\tif (status === 401) {\n\t\treturn ErrInvalidSecretKey\n\t}\n\treturn ErrServerError\n}\n\nasync function readErrorBody(res: Response): Promise<TokenErrorBody> {\n\tconst
|
|
7
|
-
"import type { PrimerLogger } from \"@superbuilders/primer-tives/logger\"\nimport { type GetTokenInput, getToken } from \"@superbuilders/primer-tives/server/exchange\"\n\ninterface PrimerServerConfig {\n\treadonly origin: string\n\treadonly secretKey: string\n\treadonly fetch?: typeof globalThis.fetch\n\treadonly abort?: AbortController\n\treadonly logger: PrimerLogger\n}\n\ninterface PrimerServer {\n\tgetToken(input: GetTokenInput): Promise<string>\n}\n\nfunction createPrimerServer(config: PrimerServerConfig): PrimerServer {\n\treturn {\n\t\tgetToken(input): Promise<string> {\n\t\t\treturn getToken(config, input)\n\t\t}\n\t}\n}\n\nexport type { GetTokenInput, PrimerServer, PrimerServerConfig }\nexport { createPrimerServer }\n"
|
|
6
|
+
"import * as errors from \"@superbuilders/errors\"\nimport {\n\tErrBadRequest,\n\tErrInvalidSecretKey,\n\tErrJsonParse,\n\tErrNetwork,\n\tErrServerError,\n\tErrTimeout\n} from \"@superbuilders/primer-tives/errors\"\nimport type { PrimerLogger } from \"@superbuilders/primer-tives/logger\"\n\nconst TOKEN_PATH = \"/api/v0/sessions\"\n\ninterface TokenConfig {\n\treadonly origin: string\n\treadonly secretKey: string\n\treadonly headers?: HeadersInit\n\treadonly fetch?: typeof globalThis.fetch\n\treadonly abort?: AbortController\n\treadonly logger: PrimerLogger\n}\n\ntype GetTokenInput = {\n\treadonly verifiedEmail: string\n}\n\ninterface TokenSuccessBody {\n\taccess_token: string\n\ttoken_type: \"Bearer\"\n}\n\ninterface TokenErrorBody {\n\treadonly error?: string\n\treadonly rawText?: string\n\treadonly contentType?: string\n}\n\nconst MAX_LOGGED_BODY_CHARS = 2_000\n\nfunction isObjectRecord(value: unknown): value is Record<string, unknown> {\n\treturn typeof value === \"object\" && value !== null\n}\n\nfunction toTokenErrorBody(data: unknown): TokenErrorBody {\n\tif (!isObjectRecord(data)) {\n\t\treturn {}\n\t}\n\treturn typeof data.error === \"string\" ? { error: data.error } : {}\n}\n\nfunction truncateBody(text: string): string {\n\tif (text.length <= MAX_LOGGED_BODY_CHARS) {\n\t\treturn text\n\t}\n\treturn text.slice(0, MAX_LOGGED_BODY_CHARS)\n}\n\nfunction parseTokenSuccessBody(data: unknown): TokenSuccessBody | undefined {\n\tif (!isObjectRecord(data)) {\n\t\treturn undefined\n\t}\n\tif (typeof data.access_token !== \"string\" || data.token_type !== \"Bearer\") {\n\t\treturn undefined\n\t}\n\treturn {\n\t\taccess_token: data.access_token,\n\t\ttoken_type: \"Bearer\"\n\t}\n}\n\nfunction isAbortError(err: Error): boolean {\n\treturn err.name === \"AbortError\" || err.name === \"TimeoutError\"\n}\n\nfunction httpSentinel(status: number): Error {\n\tif (status === 400) {\n\t\treturn ErrBadRequest\n\t}\n\tif (status === 401) {\n\t\treturn ErrInvalidSecretKey\n\t}\n\treturn ErrServerError\n}\n\nasync function readErrorBody(res: Response): Promise<TokenErrorBody> {\n\tconst contentType = res.headers.get(\"content-type\")\n\tconst textResult = await res.text().then(\n\t\tfunction ok(text: string) {\n\t\t\treturn { ok: true, text } as const\n\t\t},\n\t\tfunction fail(err: Error) {\n\t\t\treturn { ok: false, error: err } as const\n\t\t}\n\t)\n\tif (!textResult.ok) {\n\t\treturn { contentType: contentType === null ? undefined : contentType }\n\t}\n\tconst rawText = truncateBody(textResult.text)\n\tconst parsed = errors.trySync(function parseJson(): unknown {\n\t\treturn JSON.parse(textResult.text)\n\t})\n\tif (parsed.error) {\n\t\treturn { rawText, contentType: contentType === null ? undefined : contentType }\n\t}\n\tconst body = toTokenErrorBody(parsed.data)\n\treturn { ...body, rawText, contentType: contentType === null ? undefined : contentType }\n}\n\nasync function sendTokenRequest(config: TokenConfig, input: GetTokenInput): Promise<Response> {\n\tconst logger = config.logger\n\tconst fetchFn = config.fetch ? config.fetch : globalThis.fetch\n\tconst signal = config.abort ? config.abort.signal : undefined\n\tconst url = `${config.origin}${TOKEN_PATH}`\n\tconst headers = new Headers(config.headers)\n\theaders.set(\"Content-Type\", \"application/json\")\n\theaders.set(\"Authorization\", `Bearer ${config.secretKey}`)\n\tconst hasProtectionBypass = headers.has(\"x-vercel-protection-bypass\")\n\tlogger.debug(\"token request dispatch\", {\n\t\turl,\n\t\thasProtectionBypass,\n\t\thasAbortSignal: signal !== undefined\n\t})\n\n\tconst fetchResult = await fetchFn(url, {\n\t\tmethod: \"POST\",\n\t\theaders,\n\t\tbody: JSON.stringify({ verified_email: input.verifiedEmail }),\n\t\tsignal\n\t}).then(\n\t\tfunction ok(response: Response) {\n\t\t\treturn { ok: true, response } as const\n\t\t},\n\t\tfunction fail(err: Error) {\n\t\t\treturn { ok: false, error: err } as const\n\t\t}\n\t)\n\n\tif (!fetchResult.ok) {\n\t\tif (isAbortError(fetchResult.error)) {\n\t\t\tlogger.error(\"token request timeout\")\n\t\t\tthrow errors.wrap(ErrTimeout, fetchResult.error.message)\n\t\t}\n\t\tlogger.error(\"token request network error\", { error: fetchResult.error })\n\t\tthrow errors.wrap(ErrNetwork, fetchResult.error.message)\n\t}\n\n\treturn fetchResult.response\n}\n\nasync function parseToken(config: TokenConfig, res: Response): Promise<string> {\n\tconst logger = config.logger\n\tconst jsonResult = await res.json().then(\n\t\tfunction ok(data: unknown) {\n\t\t\treturn { ok: true, data } as const\n\t\t},\n\t\tfunction fail(err: Error) {\n\t\t\treturn { ok: false, error: err } as const\n\t\t}\n\t)\n\tif (!jsonResult.ok) {\n\t\tlogger.error(\"token response json parse failed\", { error: jsonResult.error })\n\t\tthrow errors.wrap(ErrJsonParse, jsonResult.error.message)\n\t}\n\n\tconst body = parseTokenSuccessBody(jsonResult.data)\n\tif (body === undefined) {\n\t\tlogger.error(\"token response had invalid shape\", { body: jsonResult.data })\n\t\tthrow errors.wrap(ErrJsonParse, \"token response had invalid shape\")\n\t}\n\n\tlogger.debug(\"token request success\")\n\treturn body.access_token\n}\n\nasync function getToken(config: TokenConfig, input: GetTokenInput): Promise<string> {\n\tconst logger = config.logger\n\tlogger.debug(\"token request\", {\n\t\torigin: config.origin,\n\t\tverifiedEmail: input.verifiedEmail,\n\t\thasCustomHeaders: config.headers !== undefined\n\t})\n\n\tconst res = await sendTokenRequest(config, input)\n\tif (!res.ok) {\n\t\tconst body = await readErrorBody(res)\n\t\tconst sentinel = httpSentinel(res.status)\n\t\tconst detail = body.error ? `${res.status} ${body.error}` : `${res.status}`\n\t\tlogger.error(\"token request http error\", {\n\t\t\tstatus: res.status,\n\t\t\tbody,\n\t\t\torigin: config.origin,\n\t\t\tverifiedEmail: input.verifiedEmail\n\t\t})\n\t\tthrow errors.wrap(sentinel, detail)\n\t}\n\n\treturn parseToken(config, res)\n}\n\nexport type { GetTokenInput, TokenConfig }\nexport { getToken }\n",
|
|
7
|
+
"import type { PrimerLogger } from \"@superbuilders/primer-tives/logger\"\nimport { type GetTokenInput, getToken } from \"@superbuilders/primer-tives/server/exchange\"\n\ninterface PrimerServerConfig {\n\treadonly origin: string\n\treadonly secretKey: string\n\treadonly headers?: HeadersInit\n\treadonly fetch?: typeof globalThis.fetch\n\treadonly abort?: AbortController\n\treadonly logger: PrimerLogger\n}\n\ninterface PrimerServer {\n\tgetToken(input: GetTokenInput): Promise<string>\n}\n\nfunction createPrimerServer(config: PrimerServerConfig): PrimerServer {\n\treturn {\n\t\tgetToken(input): Promise<string> {\n\t\t\treturn getToken(config, input)\n\t\t}\n\t}\n}\n\nexport type { GetTokenInput, PrimerServer, PrimerServerConfig }\nexport { createPrimerServer }\n"
|
|
8
8
|
],
|
|
9
|
-
"mappings": ";AAAA;AAEA,IAAM,aAAoB,WAAI,SAAS;AACvC,IAAM,eAAsB,WAAI,YAAY;AAC5C,IAAM,oBAA2B,WAAI,iBAAiB;AACtD,IAAM,wBAA+B,WAAI,sBAAsB;AAC/D,IAAM,wBAA+B,WAAI,sBAAsB;AAC/D,IAAM,0BAAiC,WAAI,wBAAwB;AACnE,IAAM,kBAAyB,WAAI,sBAAsB;AACzD,IAAM,gBAAuB,WAAI,aAAa;AAC9C,IAAM,iBAAwB,WAAI,cAAc;AAChD,IAAM,aAAoB,WAAI,SAAS;AACvC,IAAM,eAAsB,WAAI,WAAW;AAC3C,IAAM,cAAqB,WAAI,WAAW;AAC1C,IAAM,cAAqB,WAAI,UAAU;AACzC,IAAM,iBAAwB,WAAI,cAAc;AAChD,IAAM,wBAA+B,WAAI,qBAAqB;AAC9D,IAAM,qBAA4B,WACjC,0EACD;AACA,IAAM,uBAA8B,WAAI,oBAAoB;AAE5D,IAAM,sBAA6B,WAAI,oBAAoB;AAC3D,IAAM,wBAA+B,WAAI,sBAAsB;;ACvB/D;AAWA,IAAM,aAAa;
|
|
10
|
-
"debugId": "
|
|
9
|
+
"mappings": "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",
|
|
10
|
+
"debugId": "33FD60F3187C394264756E2164756E21",
|
|
11
11
|
"names": []
|
|
12
12
|
}
|
package/dist/version.d.ts
CHANGED