@crowdedkingdoms/crowdyjs 18.15.0-test.1 → 18.16.0-dev.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 +72 -3
- package/dist/crowdy-client.d.ts +3 -0
- package/dist/crowdy-client.d.ts.map +1 -1
- package/dist/crowdy-client.js +3 -0
- package/dist/default-origin.d.ts +6 -6
- package/dist/default-origin.d.ts.map +1 -1
- package/dist/default-origin.js +6 -6
- package/dist/domains/admin.d.ts +4 -0
- package/dist/domains/admin.d.ts.map +1 -1
- package/dist/domains/admin.js +1 -0
- package/dist/domains/managedPlayers.d.ts +99 -0
- package/dist/domains/managedPlayers.d.ts.map +1 -0
- package/dist/domains/managedPlayers.js +149 -0
- package/dist/domains/organizations.d.ts +12 -3
- package/dist/domains/organizations.d.ts.map +1 -1
- package/dist/domains/organizations.js +11 -3
- package/dist/domains/portal.d.ts +28 -0
- package/dist/domains/portal.d.ts.map +1 -1
- package/dist/domains/portal.js +45 -0
- package/dist/errors.d.ts +27 -0
- package/dist/errors.d.ts.map +1 -1
- package/dist/errors.js +33 -0
- package/dist/generated/graphql-schema.d.ts +247 -8
- package/dist/generated/graphql-schema.d.ts.map +1 -1
- package/dist/generated/graphql.d.ts +197 -0
- package/dist/generated/graphql.d.ts.map +1 -1
- package/dist/generated/graphql.js +18 -4
- package/dist/index.d.ts +3 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -2
- package/package.json +1 -1
package/dist/domains/portal.d.ts
CHANGED
|
@@ -275,6 +275,34 @@ export declare class PortalAPI {
|
|
|
275
275
|
* back through {@link signIn}, where `/authorize` asks for them.
|
|
276
276
|
*/
|
|
277
277
|
refresh(currentServer?: CurrentServer): Promise<AppTokenResponse>;
|
|
278
|
+
/**
|
|
279
|
+
* Store an app token the player's organization minted for it, so this client plays with
|
|
280
|
+
* it and {@link refresh} rotates it. For an org-managed player: the organization's server
|
|
281
|
+
* calls `mintManagedPlayerToken` with its org token and sends the response to the
|
|
282
|
+
* player's device, which passes it here. Returns the response unchanged; point the game
|
|
283
|
+
* client at its `gameApiUrl` / `gameApiWsUrl` as after any mint.
|
|
284
|
+
*
|
|
285
|
+
* The token refreshes until the sign-in's lifetime (the organization's setting) ends;
|
|
286
|
+
* after that `refresh()` is refused and the device gets a new token from its organization.
|
|
287
|
+
*
|
|
288
|
+
* Refuses an org token (`cko_…`). That is the organization's server credential: it signs
|
|
289
|
+
* in any of the organization's players, so a device must never hold one.
|
|
290
|
+
*/
|
|
291
|
+
adoptAppToken(response: AppTokenResponse): AppTokenResponse;
|
|
292
|
+
/**
|
|
293
|
+
* Trade an assertion the player's organization signed for the player's app token, and
|
|
294
|
+
* store it (as {@link adoptAppToken} does). For an org-managed player whose organization
|
|
295
|
+
* registered a signing key: its sign-in service signs a short JWS for the player and the
|
|
296
|
+
* device brings it here. Public: needs no session and no org token.
|
|
297
|
+
*
|
|
298
|
+
* Each assertion works once. A refusal is `ASSERTION_REJECTED`, with the failed check in
|
|
299
|
+
* `extensions.reason` ({@link assertionRejectedOf}); resending the same assertion cannot
|
|
300
|
+
* succeed, so ask the sign-in service for a new one.
|
|
301
|
+
*/
|
|
302
|
+
exchangeManagedPlayerAssertion(params: {
|
|
303
|
+
appId: string;
|
|
304
|
+
assertion: string;
|
|
305
|
+
}): Promise<AppTokenResponse>;
|
|
278
306
|
/** Whether portaling into an app needs a consent prompt (Overworld side). */
|
|
279
307
|
getConsent(appId: string): Promise<PortalConsentState>;
|
|
280
308
|
/** Record the user's consent for an app (call from the consent screen). */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"portal.d.ts","sourceRoot":"","sources":["../../src/domains/portal.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AAIH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAElD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAEnD;;;;;GAKG;AACH,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,QAAQ,GAAG,OAAO,GAAG,QAAQ,GAAG,WAAW,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;IACpE,qFAAqF;IACrF,MAAM,EAAE,cAAc,GAAG,IAAI,CAAC;CAC/B;AAED,MAAM,WAAW,gBAAgB;IAC/B,gFAAgF;IAChF,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,0DAA0D;IAC1D,KAAK,EAAE,MAAM,CAAC;IACd,wEAAwE;IACxE,SAAS,EAAE,MAAM,CAAC;IAClB,0EAA0E;IAC1E,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,sDAAsD;IACtD,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B;;;;;;;;;;;;;;;OAeG;IACH,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,sDAAsD;IACtD,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB;;;;;;;OAOG;IACH,gBAAgB,CAAC,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IAC9D;;;;OAIG;IACH,WAAW,CAAC,EAAE,cAAc,GAAG,IAAI,CAAC;CACrC;AAED,gIAAgI;AAChI,MAAM,WAAW,aAAa;IAC5B,GAAG,EAAE,MAAM,CAAC;IACZ,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,uBAAuB;IACtC,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,8EAA8E;AAC9E,MAAM,WAAW,SAAS;IACxB,GAAG,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAC3D,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3D,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC7C;AAED,iFAAiF;AACjF,qBAAa,uBAAwB,YAAW,SAAS;IAC3C,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAAN,MAAM,SAAmB;IACtD,OAAO,CAAC,EAAE;IAGV,GAAG,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAGjC,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI;IAG1C,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;CAG5B;
|
|
1
|
+
{"version":3,"file":"portal.d.ts","sourceRoot":"","sources":["../../src/domains/portal.ts"],"names":[],"mappings":"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"}
|
package/dist/domains/portal.js
CHANGED
|
@@ -65,6 +65,9 @@ const RefreshAppTokenDocument = parse(`mutation RefreshAppToken { refreshAppToke
|
|
|
65
65
|
// Asked for only when a server is named, so a client against a Game API older than
|
|
66
66
|
// v1.83.7 (no `currentServer` argument, no `authorizedServer` field) keeps refreshing.
|
|
67
67
|
const RefreshAppTokenOnServerDocument = parse(`mutation RefreshAppTokenOnServer($currentServer: CurrentServerInput) { refreshAppToken(currentServer: $currentServer) { ${APP_TOKEN_FIELDS} authorizedServer { ip4 clientPort } } }`);
|
|
68
|
+
const ExchangeManagedPlayerAssertionDocument = parse(`mutation ExchangeManagedPlayerAssertion($input: ExchangeManagedPlayerAssertionInput!) { exchangeManagedPlayerAssertion(input: $input) { ${APP_TOKEN_FIELDS} } }`);
|
|
69
|
+
/** What every org token starts with: an organization's server credential, never a device's. */
|
|
70
|
+
const ORG_TOKEN_PREFIX = 'cko_';
|
|
68
71
|
/** Thrown by {@link PortalAPI.handleAuthorizeRequest} when the user must consent. */
|
|
69
72
|
export class PortalConsentRequiredError extends Error {
|
|
70
73
|
constructor(appId, appName) {
|
|
@@ -213,6 +216,48 @@ export class PortalAPI {
|
|
|
213
216
|
this.session.setToken(data.refreshAppToken.token);
|
|
214
217
|
return data.refreshAppToken;
|
|
215
218
|
}
|
|
219
|
+
// ----- Org-managed players (dev only) --------------------------------------
|
|
220
|
+
/**
|
|
221
|
+
* Store an app token the player's organization minted for it, so this client plays with
|
|
222
|
+
* it and {@link refresh} rotates it. For an org-managed player: the organization's server
|
|
223
|
+
* calls `mintManagedPlayerToken` with its org token and sends the response to the
|
|
224
|
+
* player's device, which passes it here. Returns the response unchanged; point the game
|
|
225
|
+
* client at its `gameApiUrl` / `gameApiWsUrl` as after any mint.
|
|
226
|
+
*
|
|
227
|
+
* The token refreshes until the sign-in's lifetime (the organization's setting) ends;
|
|
228
|
+
* after that `refresh()` is refused and the device gets a new token from its organization.
|
|
229
|
+
*
|
|
230
|
+
* Refuses an org token (`cko_…`). That is the organization's server credential: it signs
|
|
231
|
+
* in any of the organization's players, so a device must never hold one.
|
|
232
|
+
*/
|
|
233
|
+
adoptAppToken(response) {
|
|
234
|
+
const token = response?.token;
|
|
235
|
+
if (typeof token !== 'string' || token.length === 0) {
|
|
236
|
+
throw new TypeError('adoptAppToken: the response has no token');
|
|
237
|
+
}
|
|
238
|
+
if (token.startsWith(ORG_TOKEN_PREFIX)) {
|
|
239
|
+
throw new TypeError("adoptAppToken: that is an org token, your organization's server credential. Give the device the app token mintManagedPlayerToken returns, never the org token.");
|
|
240
|
+
}
|
|
241
|
+
this.session.setToken(token);
|
|
242
|
+
return response;
|
|
243
|
+
}
|
|
244
|
+
/**
|
|
245
|
+
* Trade an assertion the player's organization signed for the player's app token, and
|
|
246
|
+
* store it (as {@link adoptAppToken} does). For an org-managed player whose organization
|
|
247
|
+
* registered a signing key: its sign-in service signs a short JWS for the player and the
|
|
248
|
+
* device brings it here. Public: needs no session and no org token.
|
|
249
|
+
*
|
|
250
|
+
* Each assertion works once. A refusal is `ASSERTION_REJECTED`, with the failed check in
|
|
251
|
+
* `extensions.reason` ({@link assertionRejectedOf}); resending the same assertion cannot
|
|
252
|
+
* succeed, so ask the sign-in service for a new one.
|
|
253
|
+
*/
|
|
254
|
+
async exchangeManagedPlayerAssertion(params) {
|
|
255
|
+
const data = await this.api.request(ExchangeManagedPlayerAssertionDocument, {
|
|
256
|
+
input: { appId: params.appId, assertion: params.assertion },
|
|
257
|
+
});
|
|
258
|
+
this.session.setToken(data.exchangeManagedPlayerAssertion.token);
|
|
259
|
+
return data.exchangeManagedPlayerAssertion;
|
|
260
|
+
}
|
|
216
261
|
// ----- Consent + connected apps ------------------------------------------
|
|
217
262
|
/** Whether portaling into an app needs a consent prompt (Overworld side). */
|
|
218
263
|
async getConsent(appId) {
|
package/dist/errors.d.ts
CHANGED
|
@@ -267,6 +267,17 @@ export declare const ACCOUNT_BLOCKED_CODE = "ACCOUNT_BLOCKED";
|
|
|
267
267
|
* request, an add or an invite; see {@link groupMemberBannedOf}.
|
|
268
268
|
*/
|
|
269
269
|
export declare const GROUP_MEMBER_BANNED_CODE = "GROUP_MEMBER_BANNED";
|
|
270
|
+
/**
|
|
271
|
+
* `extensions.code` for "an org-managed player cannot do this" (HTTP 403): it has no wallet,
|
|
272
|
+
* and its mods are refused where its organization has not switched them on for the app; see
|
|
273
|
+
* {@link managedPlayerNotAllowedOf}.
|
|
274
|
+
*/
|
|
275
|
+
export declare const MANAGED_PLAYER_NOT_ALLOWED_CODE = "MANAGED_PLAYER_NOT_ALLOWED";
|
|
276
|
+
/**
|
|
277
|
+
* `extensions.code` for "the organization's signed player assertion was refused" (HTTP 401),
|
|
278
|
+
* with the failed check in `extensions.reason`; see {@link assertionRejectedOf}.
|
|
279
|
+
*/
|
|
280
|
+
export declare const ASSERTION_REJECTED_CODE = "ASSERTION_REJECTED";
|
|
270
281
|
/**
|
|
271
282
|
* Why an app is paused, as `extensions.reason` on `APP_PAUSED` and
|
|
272
283
|
* `AppRuntimeGate.reason` carry it. Open union: the server may add one.
|
|
@@ -304,6 +315,22 @@ export declare function accountBlockedOf(value: unknown): {
|
|
|
304
315
|
} | null;
|
|
305
316
|
/** Whether an error is a `GROUP_MEMBER_BANNED` refusal (HTTP 403); only an unban lifts it. */
|
|
306
317
|
export declare function groupMemberBannedOf(value: unknown): boolean;
|
|
318
|
+
/**
|
|
319
|
+
* Whether an error is a `MANAGED_PLAYER_NOT_ALLOWED` refusal (HTTP 403): an org-managed
|
|
320
|
+
* player asked for a wallet, or for a mod, a Crowdy Studio write or the Studio agent in an app
|
|
321
|
+
* whose organization has not switched its managed players' mods on. Not fixed by retrying.
|
|
322
|
+
*/
|
|
323
|
+
export declare function managedPlayerNotAllowedOf(value: unknown): boolean;
|
|
324
|
+
/**
|
|
325
|
+
* An `ASSERTION_REJECTED` refusal (HTTP 401) from
|
|
326
|
+
* `portal.exchangeManagedPlayerAssertion`, or `null`. `reason` is `extensions.reason`, the
|
|
327
|
+
* check that failed: for example `expired`, `replayed`, `signature`, `audience` or
|
|
328
|
+
* `unknown_key`. Resending the same assertion cannot succeed; ask the organization's
|
|
329
|
+
* sign-in service for a new one.
|
|
330
|
+
*/
|
|
331
|
+
export declare function assertionRejectedOf(value: unknown): {
|
|
332
|
+
reason: string | null;
|
|
333
|
+
} | null;
|
|
307
334
|
/**
|
|
308
335
|
* An `APP_PAUSED` refusal (HTTP 403: the app's runtime gate is not ACTIVE), or
|
|
309
336
|
* `null`. `reason` is `extensions.reason`. Show the player that the world is
|
package/dist/errors.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"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"}
|
package/dist/errors.js
CHANGED
|
@@ -263,6 +263,17 @@ export const ACCOUNT_BLOCKED_CODE = 'ACCOUNT_BLOCKED';
|
|
|
263
263
|
* request, an add or an invite; see {@link groupMemberBannedOf}.
|
|
264
264
|
*/
|
|
265
265
|
export const GROUP_MEMBER_BANNED_CODE = 'GROUP_MEMBER_BANNED';
|
|
266
|
+
/**
|
|
267
|
+
* `extensions.code` for "an org-managed player cannot do this" (HTTP 403): it has no wallet,
|
|
268
|
+
* and its mods are refused where its organization has not switched them on for the app; see
|
|
269
|
+
* {@link managedPlayerNotAllowedOf}.
|
|
270
|
+
*/
|
|
271
|
+
export const MANAGED_PLAYER_NOT_ALLOWED_CODE = 'MANAGED_PLAYER_NOT_ALLOWED';
|
|
272
|
+
/**
|
|
273
|
+
* `extensions.code` for "the organization's signed player assertion was refused" (HTTP 401),
|
|
274
|
+
* with the failed check in `extensions.reason`; see {@link assertionRejectedOf}.
|
|
275
|
+
*/
|
|
276
|
+
export const ASSERTION_REJECTED_CODE = 'ASSERTION_REJECTED';
|
|
266
277
|
/** The first error entry carrying `code`, from an error or a raw payload. */
|
|
267
278
|
function errorWithCode(value, code) {
|
|
268
279
|
if (!value || typeof value !== 'object')
|
|
@@ -324,6 +335,28 @@ export function accountBlockedOf(value) {
|
|
|
324
335
|
export function groupMemberBannedOf(value) {
|
|
325
336
|
return errorWithCode(value, GROUP_MEMBER_BANNED_CODE) !== null;
|
|
326
337
|
}
|
|
338
|
+
/**
|
|
339
|
+
* Whether an error is a `MANAGED_PLAYER_NOT_ALLOWED` refusal (HTTP 403): an org-managed
|
|
340
|
+
* player asked for a wallet, or for a mod, a Crowdy Studio write or the Studio agent in an app
|
|
341
|
+
* whose organization has not switched its managed players' mods on. Not fixed by retrying.
|
|
342
|
+
*/
|
|
343
|
+
export function managedPlayerNotAllowedOf(value) {
|
|
344
|
+
return errorWithCode(value, MANAGED_PLAYER_NOT_ALLOWED_CODE) !== null;
|
|
345
|
+
}
|
|
346
|
+
/**
|
|
347
|
+
* An `ASSERTION_REJECTED` refusal (HTTP 401) from
|
|
348
|
+
* `portal.exchangeManagedPlayerAssertion`, or `null`. `reason` is `extensions.reason`, the
|
|
349
|
+
* check that failed: for example `expired`, `replayed`, `signature`, `audience` or
|
|
350
|
+
* `unknown_key`. Resending the same assertion cannot succeed; ask the organization's
|
|
351
|
+
* sign-in service for a new one.
|
|
352
|
+
*/
|
|
353
|
+
export function assertionRejectedOf(value) {
|
|
354
|
+
const entry = errorWithCode(value, ASSERTION_REJECTED_CODE);
|
|
355
|
+
if (!entry)
|
|
356
|
+
return null;
|
|
357
|
+
const reason = entry.extensions?.reason;
|
|
358
|
+
return { reason: typeof reason === 'string' && reason.length > 0 ? reason : null };
|
|
359
|
+
}
|
|
327
360
|
/**
|
|
328
361
|
* An `APP_PAUSED` refusal (HTTP 403: the app's runtime gate is not ACTIVE), or
|
|
329
362
|
* `null`. `reason` is `extensions.reason`. Show the player that the world is
|