@superbuilders/primer-tives 0.0.6 → 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +16 -9
- package/dist/client.d.ts +2 -3
- package/dist/client.d.ts.map +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -5
- package/dist/index.js.map +4 -4
- package/dist/transport.d.ts +1 -1
- package/dist/transport.d.ts.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -20,7 +20,9 @@ import * as errors from "@superbuilders/errors"
|
|
|
20
20
|
|
|
21
21
|
const client = create({
|
|
22
22
|
publishableKey: "pk_live_abc123",
|
|
23
|
+
origin: "https://sb-primer.vercel.app",
|
|
23
24
|
supportedPcis: ["urn:primer:pci:division-remainder"],
|
|
25
|
+
formFactor: "drill:vocabulary",
|
|
24
26
|
})
|
|
25
27
|
|
|
26
28
|
let state = await client.start("student-uuid")
|
|
@@ -76,16 +78,17 @@ Every request is a POST to `https://${origin}/api/v0/advance`:
|
|
|
76
78
|
|
|
77
79
|
```
|
|
78
80
|
POST /api/v0/advance
|
|
79
|
-
Header:
|
|
80
|
-
Body: { studentId, supportedPcis, intent }
|
|
81
|
+
Header: Authorization: Bearer pk_...
|
|
82
|
+
Body: { studentId, supportedPcis, formFactor?, intent }
|
|
81
83
|
```
|
|
82
84
|
|
|
83
|
-
|
|
85
|
+
The `origin` field is required and must be the full Primer API base URL (e.g., `https://sb-primer.vercel.app`). All requests are made as absolute URLs so the browser sends the `Origin` header for server-side origin validation. The path constant `ADVANCE_PATH` is exported for reference.
|
|
84
86
|
|
|
85
|
-
The server identifies the student, determines which content to serve, evaluates submissions, and returns the next frame. The client
|
|
87
|
+
The server identifies the student, determines which content to serve, evaluates submissions, and returns the next frame. The client sends:
|
|
86
88
|
|
|
87
89
|
- `studentId` — who is being advanced
|
|
88
90
|
- `supportedPcis` — which custom interaction types the renderer can handle
|
|
91
|
+
- `formFactor` — optional form factor tag to filter sequence selection (e.g., `"drill:vocabulary"`)
|
|
89
92
|
- `intent` — `{ kind: "observation" }`, `{ kind: "interaction", submission: ... }`, or `{ kind: "timeout" }`
|
|
90
93
|
|
|
91
94
|
## Configuration
|
|
@@ -94,7 +97,8 @@ The server identifies the student, determines which content to serve, evaluates
|
|
|
94
97
|
interface Config<Pcis extends PciId = PciId> {
|
|
95
98
|
readonly publishableKey: string
|
|
96
99
|
readonly supportedPcis: readonly Pcis[]
|
|
97
|
-
readonly
|
|
100
|
+
readonly formFactor?: string
|
|
101
|
+
readonly origin: string
|
|
98
102
|
readonly fetch?: typeof globalThis.fetch
|
|
99
103
|
readonly abort?: AbortController
|
|
100
104
|
readonly logger?: PrimerLogger
|
|
@@ -103,9 +107,10 @@ interface Config<Pcis extends PciId = PciId> {
|
|
|
103
107
|
|
|
104
108
|
| Field | Required | Description |
|
|
105
109
|
|---|---|---|
|
|
106
|
-
| `publishableKey` | yes | Must start with `pk_`. Sent as `
|
|
110
|
+
| `publishableKey` | yes | Must start with `pk_`. Sent as `Authorization: Bearer pk_...` header |
|
|
107
111
|
| `supportedPcis` | yes | PCI URNs the renderer handles. `[]` if none |
|
|
108
|
-
| `
|
|
112
|
+
| `formFactor` | no | Form factor tag (e.g., `"drill:vocabulary"`, `"drill:math"`). When set, the server only selects sequences matching this tag. Returns fatal `ErrFormFactorNotFound` if no sequences match |
|
|
113
|
+
| `origin` | yes | Base URL for the Primer API (e.g., `https://sb-primer.vercel.app`). All requests are cross-origin to ensure the browser sends the Origin header for server-side validation |
|
|
109
114
|
| `fetch` | no | Custom fetch. Defaults to `globalThis.fetch` |
|
|
110
115
|
| `abort` | no | AbortController for cancelling in-flight requests |
|
|
111
116
|
| `logger` | no | Structured logger (`debug`, `info`, `warn`, `error`) |
|
|
@@ -230,6 +235,7 @@ Causes:
|
|
|
230
235
|
- Resource not found (404 — `ErrNotFound`)
|
|
231
236
|
- Malformed request (400 — `ErrBadRequest`)
|
|
232
237
|
- Unsupported PCI (422 or client-side detection — `ErrUnsupportedPci`)
|
|
238
|
+
- Form factor not found (422 — `ErrFormFactorNotFound`)
|
|
233
239
|
|
|
234
240
|
## Client-side validation
|
|
235
241
|
|
|
@@ -272,6 +278,7 @@ if (errors.is(state.error, ErrNetwork)) { /* handle */ }
|
|
|
272
278
|
| `ErrForbidden` | 403 — origin not allowed |
|
|
273
279
|
| `ErrNotFound` | 404 — resource not found |
|
|
274
280
|
| `ErrUnsupportedPci` | 422 — server sent a PCI the client can't handle |
|
|
281
|
+
| `ErrFormFactorNotFound` | 422 — requested form factor tag matches no sequences |
|
|
275
282
|
|
|
276
283
|
**Thrown directly** (not wrapped in errored/fatal):
|
|
277
284
|
|
|
@@ -344,8 +351,8 @@ type PciValue<K extends PciId> // submission value
|
|
|
344
351
|
Everything is exported from the package root:
|
|
345
352
|
|
|
346
353
|
```ts
|
|
347
|
-
import { create, ADVANCE_PATH
|
|
348
|
-
import { ErrNetwork, ErrTimeout } from "@superbuilders/primer-tives"
|
|
354
|
+
import { create, ADVANCE_PATH } from "@superbuilders/primer-tives"
|
|
355
|
+
import { ErrNetwork, ErrTimeout, ErrFormFactorNotFound } from "@superbuilders/primer-tives"
|
|
349
356
|
import { inlinesToPlainText, blocksToPlainText } from "@superbuilders/primer-tives"
|
|
350
357
|
import type { PrimerState, Config, Client, PrimerLogger } from "@superbuilders/primer-tives"
|
|
351
358
|
import type { ContentBlock, ContentInline } from "@superbuilders/primer-tives"
|
package/dist/client.d.ts
CHANGED
|
@@ -1,12 +1,11 @@
|
|
|
1
1
|
import type { PciId } from "./pci";
|
|
2
2
|
import type { PrimerLogger } from "./session-context";
|
|
3
3
|
import type { PrimerState } from "./types";
|
|
4
|
-
declare const DEFAULT_ORIGIN = "https://sb-primer.vercel.app";
|
|
5
4
|
interface Config<Pcis extends PciId = PciId> {
|
|
6
5
|
readonly publishableKey: string;
|
|
7
6
|
readonly supportedPcis: readonly Pcis[];
|
|
8
7
|
readonly formFactor?: string;
|
|
9
|
-
readonly origin
|
|
8
|
+
readonly origin: string;
|
|
10
9
|
readonly fetch?: typeof globalThis.fetch;
|
|
11
10
|
readonly abort?: AbortController;
|
|
12
11
|
readonly logger?: PrimerLogger;
|
|
@@ -15,6 +14,6 @@ interface Client<Pcis extends PciId = PciId> {
|
|
|
15
14
|
start(studentId: string): Promise<PrimerState<Pcis>>;
|
|
16
15
|
}
|
|
17
16
|
declare function create<const Pcis extends PciId>(config: Config<Pcis>): Client<Pcis>;
|
|
18
|
-
export {
|
|
17
|
+
export { create };
|
|
19
18
|
export type { Client, Config, PrimerLogger };
|
|
20
19
|
//# sourceMappingURL=client.d.ts.map
|
package/dist/client.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,iCAAiC,CAAA;AAC5D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6CAA6C,CAAA;AAC/E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mCAAmC,CAAA;
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,iCAAiC,CAAA;AAC5D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6CAA6C,CAAA;AAC/E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mCAAmC,CAAA;AAMpE,UAAU,MAAM,CAAC,IAAI,SAAS,KAAK,GAAG,KAAK;IAC1C,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAA;IAC/B,QAAQ,CAAC,aAAa,EAAE,SAAS,IAAI,EAAE,CAAA;IACvC,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAA;IAC5B,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,CAAC,EAAE,YAAY,CAAA;CAC9B;AAED,UAAU,MAAM,CAAC,IAAI,SAAS,KAAK,GAAG,KAAK;IAC1C,KAAK,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAA;CACpD;AAED,iBAAS,MAAM,CAAC,KAAK,CAAC,IAAI,SAAS,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,CA2C5E;AAED,OAAO,EAAE,MAAM,EAAE,CAAA;AACjB,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,CAAA"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
export { create
|
|
1
|
+
export { create } from "./client";
|
|
2
2
|
export type { Client, Config, PrimerLogger } from "./client";
|
|
3
3
|
export { ADVANCE_PATH } from "./transport";
|
|
4
|
-
export { ErrBadRequest, ErrConflict, ErrForbidden, ErrInvalidPublishableKey, ErrInvalidSubmission, ErrJsonParse, ErrMalformedPublishableKey, ErrNetwork, ErrNotFound, ErrNotSerializable, ErrRateLimited, ErrServerError, ErrServiceUnavailable, ErrTimeout, ErrUnsupportedPci } from "./errors";
|
|
4
|
+
export { ErrBadRequest, ErrConflict, ErrForbidden, ErrInvalidPublishableKey, ErrInvalidSubmission, ErrJsonParse, ErrMalformedPublishableKey, ErrNetwork, ErrNotFound, ErrNotSerializable, ErrRateLimited, ErrServerError, ErrServiceUnavailable, ErrTimeout, ErrFormFactorNotFound, ErrUnsupportedPci } from "./errors";
|
|
5
5
|
export type { BodyStimulus, ChoiceState, CompletedState, ErroredState, ExtendedTextMultipleState, ExtendedTextSingleState, ExtendedTextState, FatalState, FeedbackState, ImageStimulus, InteractionState, NonSerializable, ObservationState, PciInteraction, PciInteractionState, PciRenderProps, PciSubmission, PrimerState, RendererChoice, RendererCorrectAnswer, RendererCorrectScalarValue, RendererInteraction, RendererStimulus, RendererSubmission, TextEntryState } from "./types";
|
|
6
6
|
export type { ContentBlock, ContentInline } from "./content";
|
|
7
7
|
export { blocksToPlainText, inlinesToPlainText } from "./content";
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,oCAAoC,CAAA;AAC3D,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAA;AAEtF,OAAO,EAAE,YAAY,EAAE,MAAM,uCAAuC,CAAA;AAEpE,OAAO,EACN,aAAa,EACb,WAAW,EACX,YAAY,EACZ,wBAAwB,EACxB,oBAAoB,EACpB,YAAY,EACZ,0BAA0B,EAC1B,UAAU,EACV,WAAW,EACX,kBAAkB,EAClB,cAAc,EACd,cAAc,EACd,qBAAqB,EACrB,UAAU,EACV,qBAAqB,EACrB,iBAAiB,EACjB,MAAM,oCAAoC,CAAA;AAE3C,YAAY,EACX,YAAY,EACZ,WAAW,EACX,cAAc,EACd,YAAY,EACZ,yBAAyB,EACzB,uBAAuB,EACvB,iBAAiB,EACjB,UAAU,EACV,aAAa,EACb,aAAa,EACb,gBAAgB,EAChB,eAAe,EACf,gBAAgB,EAChB,cAAc,EACd,mBAAmB,EACnB,cAAc,EACd,aAAa,EACb,WAAW,EACX,cAAc,EACd,qBAAqB,EACrB,0BAA0B,EAC1B,mBAAmB,EACnB,gBAAgB,EAChB,kBAAkB,EAClB,cAAc,EACd,MAAM,mCAAmC,CAAA;AAE1C,YAAY,EACX,YAAY,EACZ,aAAa,EACb,MAAM,qCAAqC,CAAA;AAE5C,OAAO,EACN,iBAAiB,EACjB,kBAAkB,EAClB,MAAM,qCAAqC,CAAA;AAE5C,YAAY,EACX,sBAAsB,EACtB,2BAA2B,EAC3B,qBAAqB,EACrB,0BAA0B,EAC1B,KAAK,EACL,QAAQ,EACR,WAAW,EACX,MAAM,EACN,QAAQ,EACR,MAAM,iCAAiC,CAAA"}
|
package/dist/index.js
CHANGED
|
@@ -86,12 +86,12 @@ function createTransport(tc) {
|
|
|
86
86
|
studentId: body.studentId,
|
|
87
87
|
intentKind: body.intent.kind
|
|
88
88
|
});
|
|
89
|
-
const url =
|
|
89
|
+
const url = `${tc.origin}${ADVANCE_PATH}`;
|
|
90
90
|
const fetchResult = await fetchFn(url, {
|
|
91
91
|
method: "POST",
|
|
92
92
|
headers: {
|
|
93
93
|
"Content-Type": "application/json",
|
|
94
|
-
|
|
94
|
+
Authorization: `Bearer ${tc.publishableKey}`
|
|
95
95
|
},
|
|
96
96
|
body: JSON.stringify(body),
|
|
97
97
|
signal: transportSignal()
|
|
@@ -502,7 +502,6 @@ function makeSession(sc) {
|
|
|
502
502
|
}
|
|
503
503
|
|
|
504
504
|
// src/client.ts
|
|
505
|
-
var DEFAULT_ORIGIN = "https://sb-primer.vercel.app";
|
|
506
505
|
var PK_PREFIX = "pk_";
|
|
507
506
|
function create(config) {
|
|
508
507
|
const log = config.logger;
|
|
@@ -579,11 +578,11 @@ export {
|
|
|
579
578
|
ErrJsonParse,
|
|
580
579
|
ErrInvalidSubmission,
|
|
581
580
|
ErrInvalidPublishableKey,
|
|
581
|
+
ErrFormFactorNotFound,
|
|
582
582
|
ErrForbidden,
|
|
583
583
|
ErrConflict,
|
|
584
584
|
ErrBadRequest,
|
|
585
|
-
DEFAULT_ORIGIN,
|
|
586
585
|
ADVANCE_PATH
|
|
587
586
|
};
|
|
588
587
|
|
|
589
|
-
//# debugId=
|
|
588
|
+
//# debugId=C65360D8549BECC964756E2164756E21
|
package/dist/index.js.map
CHANGED
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../src/client.ts", "../src/errors.ts", "../src/transport.ts", "../src/session.ts", "../src/consumed.ts", "../src/choice-state.ts", "../src/extended-text-state.ts", "../src/feedback-state.ts", "../src/observation-state.ts", "../src/pci-state.ts", "../src/text-entry-state.ts", "../src/content.ts"],
|
|
4
4
|
"sourcesContent": [
|
|
5
|
-
"import * as errors from \"@superbuilders/errors\"\nimport { ErrMalformedPublishableKey } from \"@superbuilders/primer-tives/errors\"\nimport type { PciId } from \"@superbuilders/primer-tives/pci\"\nimport type { PrimerLogger } from \"@superbuilders/primer-tives/session-context\"\nimport type { PrimerState } from \"@superbuilders/primer-tives/types\"\nimport { createTransport } from \"@superbuilders/primer-tives/transport\"\nimport { makeSession } from \"@superbuilders/primer-tives/session\"\n\nconst
|
|
5
|
+
"import * as errors from \"@superbuilders/errors\"\nimport { ErrMalformedPublishableKey } from \"@superbuilders/primer-tives/errors\"\nimport type { PciId } from \"@superbuilders/primer-tives/pci\"\nimport type { PrimerLogger } from \"@superbuilders/primer-tives/session-context\"\nimport type { PrimerState } from \"@superbuilders/primer-tives/types\"\nimport { createTransport } from \"@superbuilders/primer-tives/transport\"\nimport { makeSession } from \"@superbuilders/primer-tives/session\"\n\nconst PK_PREFIX = \"pk_\"\n\ninterface Config<Pcis extends PciId = PciId> {\n\treadonly publishableKey: string\n\treadonly supportedPcis: readonly Pcis[]\n\treadonly formFactor?: string\n\treadonly origin: string\n\treadonly fetch?: typeof globalThis.fetch\n\treadonly abort?: AbortController\n\treadonly logger?: PrimerLogger\n}\n\ninterface Client<Pcis extends PciId = PciId> {\n\tstart(studentId: string): Promise<PrimerState<Pcis>>\n}\n\nfunction create<const Pcis extends PciId>(config: Config<Pcis>): Client<Pcis> {\n\tconst log = config.logger\n\n\tif (!config.publishableKey.startsWith(PK_PREFIX)) {\n\t\tlog?.error(\"malformed publishable key\", { prefix: PK_PREFIX })\n\t\t// biome-ignore lint/plugin: client SDK — log is optional config.logger, not slog\n\t\tthrow errors.wrap(ErrMalformedPublishableKey, `key must start with '${PK_PREFIX}'`)\n\t}\n\n\tconst transport = createTransport({\n\t\tpublishableKey: config.publishableKey,\n\t\tsupportedPcis: config.supportedPcis,\n\t\tformFactor: config.formFactor,\n\t\torigin: config.origin,\n\t\tfetch: config.fetch,\n\t\tabort: config.abort,\n\t\tlog\n\t})\n\n\tlet startPromise: Promise<PrimerState<Pcis>> | undefined\n\n\tasync function doStart(studentId: string): Promise<PrimerState<Pcis>> {\n\t\tlog?.debug(\"start\", { studentId })\n\t\tconst s = makeSession({\n\t\t\tstudentId,\n\t\t\tsupportedPcis: config.supportedPcis,\n\t\t\tformFactor: config.formFactor,\n\t\t\tlog,\n\t\t\ttransport\n\t\t})\n\t\treturn s.execute({ kind: \"observation\" }, \"observation\")\n\t}\n\n\treturn {\n\t\tstart(studentId: string): Promise<PrimerState<Pcis>> {\n\t\t\tif (startPromise) {\n\t\t\t\tlog?.debug(\"start already called\")\n\t\t\t\treturn startPromise\n\t\t\t}\n\t\t\tstartPromise = doStart(studentId)\n\t\t\treturn startPromise\n\t\t}\n\t}\n}\n\nexport { create }\nexport type { Client, Config, PrimerLogger }\n",
|
|
6
6
|
"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 ErrInvalidPublishableKey = errors.new(\"invalid publishable key\")\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 ErrFormFactorNotFound = errors.new(\"form factor not found\")\nconst ErrInvalidSubmission = errors.new(\"invalid submission\")\nconst ErrMalformedPublishableKey = errors.new(\"malformed publishable key\")\n\nexport {\n\tErrBadRequest,\n\tErrConflict,\n\tErrFormFactorNotFound,\n\tErrForbidden,\n\tErrInvalidPublishableKey,\n\tErrInvalidSubmission,\n\tErrMalformedPublishableKey,\n\tErrJsonParse,\n\tErrNetwork,\n\tErrNotFound,\n\tErrNotSerializable,\n\tErrRateLimited,\n\tErrServerError,\n\tErrServiceUnavailable,\n\tErrTimeout,\n\tErrUnsupportedPci\n}\n",
|
|
7
|
-
"import * as errors from \"@superbuilders/errors\"\nimport {\n\tErrBadRequest,\n\tErrConflict,\n\tErrForbidden,\n\tErrFormFactorNotFound,\n\tErrInvalidPublishableKey,\n\tErrJsonParse,\n\tErrNetwork,\n\tErrNotFound,\n\tErrRateLimited,\n\tErrServerError,\n\tErrServiceUnavailable,\n\tErrTimeout,\n\tErrUnsupportedPci\n} from \"@superbuilders/primer-tives/errors\"\nimport type { PciId } from \"@superbuilders/primer-tives/pci\"\nimport type { SessionContext, WireIntent } from \"@superbuilders/primer-tives/session-context\"\nimport type { ContentInline } from \"@superbuilders/primer-tives/content\"\nimport type {\n\tRendererCorrectAnswer,\n\tRendererInteraction,\n\tRendererStimulus,\n\tRendererSubmission\n} from \"@superbuilders/primer-tives/types\"\n\nconst ADVANCE_PATH = \"/api/v0/advance\"\n\ntype WireResult<Pcis extends PciId = PciId> =\n\t| {\n\t\t\toutcome: \"advanced\"\n\t\t\tstimulus: RendererStimulus | null\n\t\t\tinteraction: RendererInteraction<Pcis> | null\n\t }\n\t| {\n\t\t\toutcome: \"submitted\"\n\t\t\tstimulus: RendererStimulus | null\n\t\t\tinteraction: RendererInteraction<Pcis>\n\t\t\tsubmission: RendererSubmission<Pcis>\n\t\t\tisCorrect: boolean\n\t\t\tfeedbackContent: ContentInline[]\n\t\t\tcorrectAnswer: RendererCorrectAnswer | null\n\t }\n\t| { outcome: \"completed\" }\n\ninterface WireRequestBody<Pcis extends PciId = PciId> {\n\tstudentId: string\n\tsupportedPcis: readonly PciId[]\n\tformFactor?: string\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<Pcis extends PciId = PciId> {\n\treadonly publishableKey: string\n\treadonly supportedPcis: readonly Pcis[]\n\treadonly formFactor?: string\n\treadonly origin
|
|
7
|
+
"import * as errors from \"@superbuilders/errors\"\nimport {\n\tErrBadRequest,\n\tErrConflict,\n\tErrForbidden,\n\tErrFormFactorNotFound,\n\tErrInvalidPublishableKey,\n\tErrJsonParse,\n\tErrNetwork,\n\tErrNotFound,\n\tErrRateLimited,\n\tErrServerError,\n\tErrServiceUnavailable,\n\tErrTimeout,\n\tErrUnsupportedPci\n} from \"@superbuilders/primer-tives/errors\"\nimport type { PciId } from \"@superbuilders/primer-tives/pci\"\nimport type { SessionContext, WireIntent } from \"@superbuilders/primer-tives/session-context\"\nimport type { ContentInline } from \"@superbuilders/primer-tives/content\"\nimport type {\n\tRendererCorrectAnswer,\n\tRendererInteraction,\n\tRendererStimulus,\n\tRendererSubmission\n} from \"@superbuilders/primer-tives/types\"\n\nconst ADVANCE_PATH = \"/api/v0/advance\"\n\ntype WireResult<Pcis extends PciId = PciId> =\n\t| {\n\t\t\toutcome: \"advanced\"\n\t\t\tstimulus: RendererStimulus | null\n\t\t\tinteraction: RendererInteraction<Pcis> | null\n\t }\n\t| {\n\t\t\toutcome: \"submitted\"\n\t\t\tstimulus: RendererStimulus | null\n\t\t\tinteraction: RendererInteraction<Pcis>\n\t\t\tsubmission: RendererSubmission<Pcis>\n\t\t\tisCorrect: boolean\n\t\t\tfeedbackContent: ContentInline[]\n\t\t\tcorrectAnswer: RendererCorrectAnswer | null\n\t }\n\t| { outcome: \"completed\" }\n\ninterface WireRequestBody<Pcis extends PciId = PciId> {\n\tstudentId: string\n\tsupportedPcis: readonly PciId[]\n\tformFactor?: string\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<Pcis extends PciId = PciId> {\n\treadonly publishableKey: string\n\treadonly supportedPcis: readonly Pcis[]\n\treadonly formFactor?: string\n\treadonly origin: string\n\treadonly fetch?: typeof globalThis.fetch\n\treadonly abort?: AbortController\n\treadonly log: SessionContext[\"log\"]\n}\n\nfunction httpSentinel(status: number): Error {\n\tif (status === 400) {\n\t\treturn ErrBadRequest\n\t}\n\tif (status === 401) {\n\t\treturn ErrInvalidPublishableKey\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 jsonParseOrNull(text: string): Record<string, unknown> | null {\n\tconst result = errors.trySync(function parse(): Record<string, unknown> {\n\t\treturn JSON.parse(text)\n\t})\n\tif (result.error) {\n\t\treturn null\n\t}\n\treturn result.data\n}\n\nfunction resolve422(body: string): Error {\n\tconst parsed = jsonParseOrNull(body)\n\tif (parsed && typeof parsed.error === \"string\" && parsed.error === \"form factor not found\") {\n\t\treturn ErrFormFactorNotFound\n\t}\n\treturn ErrUnsupportedPci\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<Pcis>) {\n\tconst fetchFn = tc.fetch ? tc.fetch : globalThis.fetch\n\tconst log = tc.log\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\tlog?.debug(\"transport request\", {\n\t\t\tstudentId: body.studentId,\n\t\t\tintentKind: body.intent.kind\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.publishableKey}`\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\tlog?.error(\"transport timeout\", {\n\t\t\t\t\tstudentId: body.studentId,\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\tlog?.error(\"transport network error\", {\n\t\t\t\tstudentId: body.studentId,\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 = res.status === 422 ? resolve422(text) : httpSentinel(res.status)\n\t\t\tlog?.error(\"transport http error\", {\n\t\t\t\tstudentId: body.studentId,\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\tlog?.error(\"transport json parse failed\", {\n\t\t\t\tstudentId: body.studentId,\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\tlog?.debug(\"transport success\", {\n\t\t\tstudentId: body.studentId,\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 { ADVANCE_PATH, createTransport, httpSentinel, isAbortError }\nexport type { TransportConfig, TransportResult, WireRequestBody, WireResult }\n",
|
|
8
8
|
"import * as errors from \"@superbuilders/errors\"\nimport { poisonToJSON } from \"@superbuilders/primer-tives/consumed\"\nimport {\n\tErrBadRequest,\n\tErrForbidden,\n\tErrFormFactorNotFound,\n\tErrInvalidPublishableKey,\n\tErrNotFound,\n\tErrUnsupportedPci\n} from \"@superbuilders/primer-tives/errors\"\nimport type { PciId } from \"@superbuilders/primer-tives/pci\"\nimport type {\n\tPrimerLogger,\n\tSessionContext,\n\tTransitionPhase,\n\tWireIntent\n} from \"@superbuilders/primer-tives/session-context\"\nimport type {\n\tTransportResult,\n\tWireRequestBody,\n\tWireResult\n} from \"@superbuilders/primer-tives/transport\"\nimport type {\n\tErroredState,\n\tPrimerState,\n\tRendererInteraction,\n\tRendererStimulus\n} from \"@superbuilders/primer-tives/types\"\nimport { choiceState } from \"@superbuilders/primer-tives/choice-state\"\nimport { extendedTextState } from \"@superbuilders/primer-tives/extended-text-state\"\nimport { feedbackState } from \"@superbuilders/primer-tives/feedback-state\"\nimport { observationState } from \"@superbuilders/primer-tives/observation-state\"\nimport { pciInteractionState } from \"@superbuilders/primer-tives/pci-state\"\nimport { textEntryState } from \"@superbuilders/primer-tives/text-entry-state\"\n\ninterface SessionConfig<Pcis extends PciId = PciId> {\n\treadonly studentId: string\n\treadonly supportedPcis: readonly Pcis[]\n\treadonly formFactor?: string\n\treadonly log: PrimerLogger | undefined\n\treadonly transport: (body: WireRequestBody<Pcis>) => Promise<TransportResult<Pcis>>\n}\n\nconst FATAL_SENTINELS = [\n\tErrBadRequest,\n\tErrFormFactorNotFound,\n\tErrInvalidPublishableKey,\n\tErrForbidden,\n\tErrNotFound,\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 makeSession<Pcis extends PciId>(sc: SessionConfig<Pcis>) {\n\tconst log = sc.log\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.stimulus, result.interaction)\n\t\t\tcase \"submitted\":\n\t\t\t\treturn feedbackState(\n\t\t\t\t\tctx,\n\t\t\t\t\tresult.stimulus,\n\t\t\t\t\tresult.interaction,\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.correctAnswer\n\t\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\treturn {\n\t\t\tphase: \"errored\",\n\t\t\terror,\n\t\t\tfailedPhase,\n\t\t\tretry: function retry() {\n\t\t\t\tif (pending) {\n\t\t\t\t\treturn pending\n\t\t\t\t}\n\t\t\t\tlog?.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}\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\tstudentId: sc.studentId,\n\t\t\tsupportedPcis: sc.supportedPcis,\n\t\t\tformFactor: sc.formFactor,\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\tlog?.error(\"fatal transport error\", { error: result.error, phase })\n\t\t\t\treturn { phase: \"fatal\", error: result.error, toJSON: poisonToJSON }\n\t\t\t}\n\t\t\treturn errored(result.error, phase, intent)\n\t\t}\n\n\t\treturn resolve(result.data)\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\tstimulus: RendererStimulus | null,\n\t\tinteraction: RendererInteraction<Pcis> | null\n\t): PrimerState<Pcis> {\n\t\tif (interaction === null) {\n\t\t\treturn observationState(ctx, stimulus)\n\t\t}\n\t\tif (interaction.type === \"portable-custom\") {\n\t\t\tif (!isPciSupported(interaction.pciId)) {\n\t\t\t\tlog?.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\ttoJSON: poisonToJSON\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn pendingInteractionState(stimulus, interaction)\n\t}\n\n\tfunction pendingInteractionState(\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\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, stimulus, interaction)\n\t\t\tcase \"extended-text\":\n\t\t\t\treturn extendedTextState(ctx, stimulus, interaction)\n\t\t\tcase \"portable-custom\":\n\t\t\t\treturn pciInteractionState(ctx, stimulus, interaction)\n\t\t}\n\t}\n\n\tconst ctx: SessionContext<Pcis> = { log, execute, errored }\n\n\treturn { execute }\n}\n\nexport { makeSession }\nexport type { SessionConfig }\n",
|
|
9
9
|
"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",
|
|
10
10
|
"import { poisonToJSON } from \"@superbuilders/primer-tives/consumed\"\nimport { ErrInvalidSubmission } from \"@superbuilders/primer-tives/errors\"\nimport type { SessionContext } from \"@superbuilders/primer-tives/session-context\"\nimport type { PciId } from \"@superbuilders/primer-tives/pci\"\nimport type {\n\tPrimerState,\n\tRendererChoice,\n\tRendererInteraction,\n\tRendererStimulus\n} from \"@superbuilders/primer-tives/types\"\nimport * as errors from \"@superbuilders/errors\"\n\nfunction findUnknownKey(selectedKeys: string[], options: RendererChoice[]): string | null {\n\tconst optionIds = new Set(\n\t\toptions.map(function getId(o) {\n\t\t\treturn o.identifier\n\t\t})\n\t)\n\tfor (const key of selectedKeys) {\n\t\tif (!optionIds.has(key)) {\n\t\t\treturn key\n\t\t}\n\t}\n\treturn null\n}\n\nfunction validateChoiceSubmission(\n\tlog: SessionContext[\"log\"],\n\tselectedKeys: string[],\n\toptions: RendererChoice[],\n\tmaxChoices: number,\n\tminChoices: number\n): Error | null {\n\tif (selectedKeys.length < minChoices) {\n\t\tlog?.error(\"choice submit below minChoices\", { selectedKeys, minChoices })\n\t\treturn errors.wrap(ErrInvalidSubmission, `need at least ${minChoices} selections`)\n\t}\n\tif (selectedKeys.length > maxChoices) {\n\t\tlog?.error(\"choice submit above maxChoices\", { selectedKeys, maxChoices })\n\t\treturn errors.wrap(ErrInvalidSubmission, `at most ${maxChoices} selections`)\n\t}\n\tconst uniqueKeys = new Set(selectedKeys)\n\tif (uniqueKeys.size !== selectedKeys.length) {\n\t\tlog?.error(\"choice submit has duplicates\", { selectedKeys })\n\t\treturn errors.wrap(ErrInvalidSubmission, \"duplicate selections\")\n\t}\n\tconst unknownKey = findUnknownKey(selectedKeys, options)\n\tif (unknownKey) {\n\t\tlog?.error(\"choice submit has unknown key\", { key: unknownKey })\n\t\treturn errors.wrap(ErrInvalidSubmission, `unknown option '${unknownKey}'`)\n\t}\n\treturn null\n}\n\nfunction choiceState<Pcis extends PciId>(\n\tctx: SessionContext<Pcis>,\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 pending: Promise<PrimerState<Pcis>> | undefined\n\treturn {\n\t\tphase: \"interaction\",\n\t\tkind: \"choice\",\n\t\tstimulus,\n\t\tinteraction,\n\t\toptions,\n\t\tmaxChoices,\n\t\tminChoices,\n\t\tsubmitChoice: function submitChoice(selectedKeys: string[]) {\n\t\t\tif (pending) {\n\t\t\t\treturn pending\n\t\t\t}\n\t\t\tconst validationError = validateChoiceSubmission(\n\t\t\t\tctx.log,\n\t\t\t\tselectedKeys,\n\t\t\t\toptions,\n\t\t\t\tmaxChoices,\n\t\t\t\tminChoices\n\t\t\t)\n\t\t\tif (validationError) {\n\t\t\t\treturn Promise.resolve(\n\t\t\t\t\tctx.errored(validationError, \"interaction\", {\n\t\t\t\t\t\tkind: \"interaction\",\n\t\t\t\t\t\tsubmission: { type: \"choice\", selectedKeys }\n\t\t\t\t\t})\n\t\t\t\t)\n\t\t\t}\n\t\t\tpending = ctx.execute(\n\t\t\t\t{ kind: \"interaction\", submission: { type: \"choice\", selectedKeys } },\n\t\t\t\t\"interaction\"\n\t\t\t)\n\t\t\treturn pending\n\t\t},\n\t\ttimeout: function timeout() {\n\t\t\tif (pending) {\n\t\t\t\treturn pending\n\t\t\t}\n\t\t\tpending = ctx.execute({ kind: \"timeout\" }, \"timeout\")\n\t\t\treturn pending\n\t\t},\n\t\ttoJSON: poisonToJSON\n\t}\n}\n\nexport { choiceState }\n",
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
"import { poisonToJSON } from \"@superbuilders/primer-tives/consumed\"\nimport type { SessionContext } from \"@superbuilders/primer-tives/session-context\"\nimport type { PciId } from \"@superbuilders/primer-tives/pci\"\nimport type {\n\tPrimerState,\n\tRendererInteraction,\n\tRendererStimulus\n} from \"@superbuilders/primer-tives/types\"\n\nfunction textEntryState<Pcis extends PciId>(\n\tctx: SessionContext<Pcis>,\n\tstimulus: RendererStimulus | null,\n\tinteraction: Extract<RendererInteraction<Pcis>, { type: \"text-entry\" }>\n): PrimerState<Pcis> {\n\tlet pending: Promise<PrimerState<Pcis>> | undefined\n\treturn {\n\t\tphase: \"interaction\",\n\t\tkind: \"text-entry\",\n\t\tstimulus,\n\t\tinteraction,\n\t\tsubmitText: function submitText(value: string) {\n\t\t\tif (pending) {\n\t\t\t\treturn pending\n\t\t\t}\n\t\t\tpending = ctx.execute(\n\t\t\t\t{ kind: \"interaction\", submission: { type: \"text-entry\", value } },\n\t\t\t\t\"interaction\"\n\t\t\t)\n\t\t\treturn pending\n\t\t},\n\t\ttimeout: function timeout() {\n\t\t\tif (pending) {\n\t\t\t\treturn pending\n\t\t\t}\n\t\t\tpending = ctx.execute({ kind: \"timeout\" }, \"timeout\")\n\t\t\treturn pending\n\t\t},\n\t\ttoJSON: poisonToJSON\n\t}\n}\n\nexport { textEntryState }\n",
|
|
16
16
|
"type ContentInline = { type: \"text\"; value: string } | { type: \"italic\"; children: ContentInline[] }\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(inlinesToPlainText(node.children))\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 }\nexport { blocksToPlainText, inlinesToPlainText }\n"
|
|
17
17
|
],
|
|
18
|
-
"mappings": "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",
|
|
19
|
-
"debugId": "
|
|
18
|
+
"mappings": "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",
|
|
19
|
+
"debugId": "C65360D8549BECC964756E2164756E21",
|
|
20
20
|
"names": []
|
|
21
21
|
}
|
package/dist/transport.d.ts
CHANGED
|
@@ -35,7 +35,7 @@ interface TransportConfig<Pcis extends PciId = PciId> {
|
|
|
35
35
|
readonly publishableKey: string;
|
|
36
36
|
readonly supportedPcis: readonly Pcis[];
|
|
37
37
|
readonly formFactor?: string;
|
|
38
|
-
readonly origin
|
|
38
|
+
readonly origin: string;
|
|
39
39
|
readonly fetch?: typeof globalThis.fetch;
|
|
40
40
|
readonly abort?: AbortController;
|
|
41
41
|
readonly log: SessionContext["log"];
|
package/dist/transport.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transport.d.ts","sourceRoot":"","sources":["../src/transport.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,iCAAiC,CAAA;AAC5D,OAAO,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,6CAA6C,CAAA;AAC7F,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qCAAqC,CAAA;AACxE,OAAO,KAAK,EACX,qBAAqB,EACrB,mBAAmB,EACnB,gBAAgB,EAChB,kBAAkB,EAClB,MAAM,mCAAmC,CAAA;AAE1C,QAAA,MAAM,YAAY,oBAAoB,CAAA;AAEtC,KAAK,UAAU,CAAC,IAAI,SAAS,KAAK,GAAG,KAAK,IACvC;IACA,OAAO,EAAE,UAAU,CAAA;IACnB,QAAQ,EAAE,gBAAgB,GAAG,IAAI,CAAA;IACjC,WAAW,EAAE,mBAAmB,CAAC,IAAI,CAAC,GAAG,IAAI,CAAA;CAC5C,GACD;IACA,OAAO,EAAE,WAAW,CAAA;IACpB,QAAQ,EAAE,gBAAgB,GAAG,IAAI,CAAA;IACjC,WAAW,EAAE,mBAAmB,CAAC,IAAI,CAAC,CAAA;IACtC,UAAU,EAAE,kBAAkB,CAAC,IAAI,CAAC,CAAA;IACpC,SAAS,EAAE,OAAO,CAAA;IAClB,eAAe,EAAE,aAAa,EAAE,CAAA;IAChC,aAAa,EAAE,qBAAqB,GAAG,IAAI,CAAA;CAC1C,GACD;IAAE,OAAO,EAAE,WAAW,CAAA;CAAE,CAAA;AAE3B,UAAU,eAAe,CAAC,IAAI,SAAS,KAAK,GAAG,KAAK;IACnD,SAAS,EAAE,MAAM,CAAA;IACjB,aAAa,EAAE,SAAS,KAAK,EAAE,CAAA;IAC/B,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,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,CAAC,IAAI,SAAS,KAAK,GAAG,KAAK;IACnD,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAA;IAC/B,QAAQ,CAAC,aAAa,EAAE,SAAS,IAAI,EAAE,CAAA;IACvC,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAA;IAC5B,QAAQ,CAAC,MAAM,
|
|
1
|
+
{"version":3,"file":"transport.d.ts","sourceRoot":"","sources":["../src/transport.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,iCAAiC,CAAA;AAC5D,OAAO,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,6CAA6C,CAAA;AAC7F,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qCAAqC,CAAA;AACxE,OAAO,KAAK,EACX,qBAAqB,EACrB,mBAAmB,EACnB,gBAAgB,EAChB,kBAAkB,EAClB,MAAM,mCAAmC,CAAA;AAE1C,QAAA,MAAM,YAAY,oBAAoB,CAAA;AAEtC,KAAK,UAAU,CAAC,IAAI,SAAS,KAAK,GAAG,KAAK,IACvC;IACA,OAAO,EAAE,UAAU,CAAA;IACnB,QAAQ,EAAE,gBAAgB,GAAG,IAAI,CAAA;IACjC,WAAW,EAAE,mBAAmB,CAAC,IAAI,CAAC,GAAG,IAAI,CAAA;CAC5C,GACD;IACA,OAAO,EAAE,WAAW,CAAA;IACpB,QAAQ,EAAE,gBAAgB,GAAG,IAAI,CAAA;IACjC,WAAW,EAAE,mBAAmB,CAAC,IAAI,CAAC,CAAA;IACtC,UAAU,EAAE,kBAAkB,CAAC,IAAI,CAAC,CAAA;IACpC,SAAS,EAAE,OAAO,CAAA;IAClB,eAAe,EAAE,aAAa,EAAE,CAAA;IAChC,aAAa,EAAE,qBAAqB,GAAG,IAAI,CAAA;CAC1C,GACD;IAAE,OAAO,EAAE,WAAW,CAAA;CAAE,CAAA;AAE3B,UAAU,eAAe,CAAC,IAAI,SAAS,KAAK,GAAG,KAAK;IACnD,SAAS,EAAE,MAAM,CAAA;IACjB,aAAa,EAAE,SAAS,KAAK,EAAE,CAAA;IAC/B,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,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,CAAC,IAAI,SAAS,KAAK,GAAG,KAAK;IACnD,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAA;IAC/B,QAAQ,CAAC,aAAa,EAAE,SAAS,IAAI,EAAE,CAAA;IACvC,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAA;IAC5B,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,GAAG,EAAE,cAAc,CAAC,KAAK,CAAC,CAAA;CACnC;AAED,iBAAS,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,KAAK,CAuB3C;AAoBD,iBAAS,YAAY,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAQ3C;AAED,iBAAS,eAAe,CAAC,IAAI,SAAS,KAAK,EAAE,EAAE,EAAE,eAAe,CAAC,IAAI,CAAC,UAWtC,eAAe,CAAC,IAAI,CAAC,KAAG,OAAO,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CA+ErF;AAED,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,YAAY,EAAE,YAAY,EAAE,CAAA;AACpE,YAAY,EAAE,eAAe,EAAE,eAAe,EAAE,eAAe,EAAE,UAAU,EAAE,CAAA"}
|