@crowdedkingdoms/crowdyjs 7.0.0 → 7.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/dist/crowdy-client.d.ts +8 -1
- package/dist/crowdy-client.d.ts.map +1 -1
- package/dist/crowdy-client.js +18 -6
- package/dist/index.d.ts +1 -1
- package/dist/index.js +1 -1
- package/package.json +1 -1
package/dist/crowdy-client.d.ts
CHANGED
|
@@ -29,7 +29,7 @@ import { WorldClient } from './world.js';
|
|
|
29
29
|
import { AuthAPI } from './domains/auth.js';
|
|
30
30
|
import { UsersAPI } from './domains/users.js';
|
|
31
31
|
import { AppsAPI } from './domains/apps.js';
|
|
32
|
-
import { PortalAPI } from './domains/portal.js';
|
|
32
|
+
import { PortalAPI, type PkceStore } from './domains/portal.js';
|
|
33
33
|
import { PlatformAPI } from './domains/platform.js';
|
|
34
34
|
import { OrganizationsAPI } from './domains/organizations.js';
|
|
35
35
|
import { AppAccessAPI } from './domains/appAccess.js';
|
|
@@ -83,6 +83,13 @@ export interface CrowdyClientConfig {
|
|
|
83
83
|
tokenStore?: TokenStore;
|
|
84
84
|
/** Optional logger for SDK diagnostics (request/realtime lifecycle). */
|
|
85
85
|
logger?: CrowdyLogger;
|
|
86
|
+
/**
|
|
87
|
+
* Optional storage for the PKCE verifier across the portal redirect round-trip
|
|
88
|
+
* (`client.portal.beginEntry` -> `completeEntry`). Defaults to a
|
|
89
|
+
* sessionStorage-backed store in the browser; supply your own for SSR, native,
|
|
90
|
+
* or tests where sessionStorage is unavailable.
|
|
91
|
+
*/
|
|
92
|
+
pkceStore?: PkceStore;
|
|
86
93
|
/** Realtime (WebSocket) tuning for reconnect backoff and `...AndWait` timeouts. */
|
|
87
94
|
realtime?: {
|
|
88
95
|
/** Max reconnect attempts before giving up (default tuned for browsers). */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"crowdy-client.d.ts","sourceRoot":"","sources":["../src/crowdy-client.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAEzC,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"crowdy-client.d.ts","sourceRoot":"","sources":["../src/crowdy-client.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAEzC,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,KAAK,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChE,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,oBAAoB,EAAE,MAAM,gCAAgC,CAAC;AACtE,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAEtD,MAAM,WAAW,kBAAkB;IAEjC,4EAA4E;IAC5E,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,wBAAwB;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,mEAAmE;IACnE,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,4DAA4D;IAC5D,UAAU,CAAC,EAAE,MAAM,CAAC;IAGpB;;;;;;OAMG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,+EAA+E;IAC/E,yBAAyB,CAAC,EAAE,MAAM,CAAC;IAGnC,4EAA4E;IAC5E,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;;OAIG;IACH,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,wEAAwE;IACxE,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB;;;;;OAKG;IACH,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,mFAAmF;IACnF,QAAQ,CAAC,EAAE;QACT,4EAA4E;QAC5E,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,iDAAiD;QACjD,mBAAmB,CAAC,EAAE,MAAM,CAAC;QAC7B,8EAA8E;QAC9E,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,+EAA+E;QAC/E,aAAa,CAAC,EAAE,MAAM,CAAC;KACxB,CAAC;CACH;AAED,qBAAa,YAAY;IACvB,wEAAwE;IACxE,QAAQ,CAAC,OAAO,EAAE,SAAS,CAAC;IAC5B,4BAA4B;IAC5B,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC;IAChC,+CAA+C;IAC/C,QAAQ,CAAC,QAAQ,EAAE,mBAAmB,CAAC;IACvC,iEAAiE;IACjE,QAAQ,CAAC,UAAU,EAAE,aAAa,CAAC;IAGnC,qEAAqE;IACrE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,+DAA+D;IAC/D,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC;IACzB,mEAAmE;IACnE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB;;;;OAIG;IACH,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC;IAC3B,uEAAuE;IACvE,QAAQ,CAAC,QAAQ,EAAE,WAAW,CAAC;IAC/B,6EAA6E;IAC7E,QAAQ,CAAC,aAAa,EAAE,gBAAgB,CAAC;IACzC,gEAAgE;IAChE,QAAQ,CAAC,SAAS,EAAE,YAAY,CAAC;IACjC,yDAAyD;IACzD,QAAQ,CAAC,OAAO,EAAE,UAAU,CAAC;IAC7B,wEAAwE;IACxE,QAAQ,CAAC,QAAQ,EAAE,WAAW,CAAC;IAC/B,wDAAwD;IACxD,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC;IAC3B,gFAAgF;IAChF,QAAQ,CAAC,YAAY,EAAE,eAAe,CAAC;IACvC,4DAA4D;IAC5D,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC;IACzB,kFAAkF;IAClF,QAAQ,CAAC,iBAAiB,EAAE,oBAAoB,CAAC;IACjD,iEAAiE;IACjE,QAAQ,CAAC,QAAQ,EAAE,eAAe,CAAC;IACnC;;;;OAIG;IACH,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC;IAGzB,wEAAwE;IACxE,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC;IAC3B,uEAAuE;IACvE,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC;IAC3B,yEAAyE;IACzE,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC;IAC3B,4DAA4D;IAC5D,QAAQ,CAAC,QAAQ,EAAE,WAAW,CAAC;IAC/B,8CAA8C;IAC9C,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC;IACzB,4EAA4E;IAC5E,QAAQ,CAAC,YAAY,EAAE,eAAe,CAAC;IACvC,+DAA+D;IAC/D,QAAQ,CAAC,QAAQ,EAAE,WAAW,CAAC;IAC/B,2EAA2E;IAC3E,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC;IACzB,gFAAgF;IAChF,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,wEAAwE;IACxE,QAAQ,CAAC,SAAS,EAAE,YAAY,CAAC;IACjC,kEAAkE;IAClE,QAAQ,CAAC,OAAO,EAAE,UAAU,CAAC;IAC7B,qDAAqD;IACrD,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,sEAAsE;IACtE,QAAQ,CAAC,QAAQ,EAAE,WAAW,CAAC;gBAEnB,MAAM,GAAE,kBAAuB;IAoF3C,4EAA4E;IAC5E,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI;IAIpC,0DAA0D;IAC1D,QAAQ,IAAI,MAAM,GAAG,IAAI;IAIzB;;;;;;;OAOG;IACH,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,WAAW;IAIjC,gEAAgE;IAChE,KAAK,IAAI,IAAI;CAId;AAED,wBAAgB,kBAAkB,CAChC,MAAM,GAAE,kBAAuB,GAC9B,YAAY,CAEd"}
|
package/dist/crowdy-client.js
CHANGED
|
@@ -57,20 +57,19 @@ export class CrowdyClient {
|
|
|
57
57
|
this.session = new AuthState(config.tokenStore);
|
|
58
58
|
this.graphql = new GraphQLClient({
|
|
59
59
|
httpUrl: config.httpUrl,
|
|
60
|
-
graphqlEndpoint: config.graphqlEndpoint,
|
|
60
|
+
graphqlEndpoint: config.graphqlEndpoint ?? toGraphqlEndpoint(config.httpUrl, 'graphql'),
|
|
61
61
|
timeout: config.timeout,
|
|
62
62
|
logger: config.logger,
|
|
63
63
|
}, this.session);
|
|
64
64
|
this.realtime = new SubscriptionManager({
|
|
65
65
|
wsUrl: config.wsUrl,
|
|
66
|
-
wsEndpoint: config.wsEndpoint,
|
|
66
|
+
wsEndpoint: config.wsEndpoint ?? toGraphqlEndpoint(config.wsUrl, 'graphql'),
|
|
67
67
|
logger: config.logger,
|
|
68
68
|
...config.realtime,
|
|
69
69
|
}, this.session);
|
|
70
70
|
const managementGraphqlEndpoint = config.managementGraphqlEndpoint ??
|
|
71
|
-
(config.managementUrl
|
|
72
|
-
|
|
73
|
-
: config.graphqlEndpoint);
|
|
71
|
+
toGraphqlEndpoint(config.managementUrl, 'graphql') ??
|
|
72
|
+
config.graphqlEndpoint;
|
|
74
73
|
// Management-api client. Falls back to game-api endpoint if the caller
|
|
75
74
|
// hasn't configured `managementUrl` yet (single-endpoint legacy mode).
|
|
76
75
|
this.management = new GraphQLClient({
|
|
@@ -82,7 +81,7 @@ export class CrowdyClient {
|
|
|
82
81
|
this.auth = new AuthAPI(this.management, this.session);
|
|
83
82
|
this.users = new UsersAPI(this.management);
|
|
84
83
|
this.apps = new AppsAPI(this.management);
|
|
85
|
-
this.portal = new PortalAPI(this.management, this.session);
|
|
84
|
+
this.portal = new PortalAPI(this.management, this.session, config.pkceStore);
|
|
86
85
|
this.platform = new PlatformAPI(this.management);
|
|
87
86
|
this.organizations = new OrganizationsAPI(this.management);
|
|
88
87
|
this.appAccess = new AppAccessAPI(this.management);
|
|
@@ -146,3 +145,16 @@ export class CrowdyClient {
|
|
|
146
145
|
export function createCrowdyClient(config = {}) {
|
|
147
146
|
return new CrowdyClient(config);
|
|
148
147
|
}
|
|
148
|
+
/**
|
|
149
|
+
* Normalize a base URL into a GraphQL endpoint. Accepts either a base origin
|
|
150
|
+
* (`https://game.example.com`) or a full endpoint already ending in `/graphql`
|
|
151
|
+
* (the historical form some callers pass as `httpUrl`/`wsUrl`), so the portal's
|
|
152
|
+
* `gameApiUrl` (a base URL) is usable directly. Returns undefined for empty input.
|
|
153
|
+
*/
|
|
154
|
+
function toGraphqlEndpoint(url, suffix) {
|
|
155
|
+
const trimmed = url?.trim();
|
|
156
|
+
if (!trimmed)
|
|
157
|
+
return undefined;
|
|
158
|
+
const noSlash = trimmed.replace(/\/$/, '');
|
|
159
|
+
return noSlash.endsWith(`/${suffix}`) ? noSlash : `${noSlash}/${suffix}`;
|
|
160
|
+
}
|
package/dist/index.d.ts
CHANGED
|
@@ -41,7 +41,7 @@
|
|
|
41
41
|
* or internal tooling, never an untrusted browser.
|
|
42
42
|
*/
|
|
43
43
|
/** The published package version. Mirrors `package.json`. */
|
|
44
|
-
export declare const VERSION = "7.
|
|
44
|
+
export declare const VERSION = "7.1.0";
|
|
45
45
|
export { CrowdyClient, createCrowdyClient, type CrowdyClientConfig, } from './crowdy-client.js';
|
|
46
46
|
export { BrowserLocalStorageTokenStore, SessionStore, type SessionListener, type TokenStore, } from './session.js';
|
|
47
47
|
export { GraphQLClient, GraphQLTransport, type GraphQLClientConfig, } from './client.js';
|
package/dist/index.js
CHANGED
|
@@ -41,7 +41,7 @@
|
|
|
41
41
|
* or internal tooling, never an untrusted browser.
|
|
42
42
|
*/
|
|
43
43
|
/** The published package version. Mirrors `package.json`. */
|
|
44
|
-
export const VERSION = '7.
|
|
44
|
+
export const VERSION = '7.1.0';
|
|
45
45
|
export { CrowdyClient, createCrowdyClient, } from './crowdy-client.js';
|
|
46
46
|
export { BrowserLocalStorageTokenStore, SessionStore, } from './session.js';
|
|
47
47
|
export { GraphQLClient, GraphQLTransport, } from './client.js';
|