playcademy 0.23.1-beta.2 → 0.23.1-beta.4
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/cli.js +2 -2
- package/dist/constants.js +1 -1
- package/dist/db.js +1 -1
- package/dist/index.js +2 -2
- package/dist/runtime/backend-runtime/index.js +61 -12
- package/dist/runtime/backend-runtime/manifest.json +4 -4
- package/dist/utils.js +2 -2
- package/dist/version.js +1 -1
- package/package.json +1 -1
package/dist/cli.js
CHANGED
|
@@ -1065,7 +1065,7 @@ var SAMPLE_BUCKET_FILENAME = "bucket.ts";
|
|
|
1065
1065
|
// ../better-auth/package.json
|
|
1066
1066
|
var package_default = {
|
|
1067
1067
|
name: "@playcademy/better-auth",
|
|
1068
|
-
version: "0.0.16-beta.
|
|
1068
|
+
version: "0.0.16-beta.5",
|
|
1069
1069
|
type: "module",
|
|
1070
1070
|
exports: {
|
|
1071
1071
|
"./server": {
|
|
@@ -2933,7 +2933,7 @@ import { existsSync as existsSync11, mkdirSync as mkdirSync5, readFileSync as re
|
|
|
2933
2933
|
import { join as join13 } from "node:path";
|
|
2934
2934
|
|
|
2935
2935
|
// src/version.ts
|
|
2936
|
-
var cliVersion = false ? "0.0.0-dev" : "0.23.1-beta.
|
|
2936
|
+
var cliVersion = false ? "0.0.0-dev" : "0.23.1-beta.4";
|
|
2937
2937
|
|
|
2938
2938
|
// src/lib/init/database.ts
|
|
2939
2939
|
var drizzleConfigTemplate = loadTemplateString("database/drizzle-config.ts");
|
package/dist/constants.js
CHANGED
package/dist/db.js
CHANGED
|
@@ -36,7 +36,7 @@ var DEFAULT_API_ROUTES_DIRECTORY = join2(SERVER_ROOT_DIRECTORY, "api");
|
|
|
36
36
|
// ../better-auth/package.json
|
|
37
37
|
var package_default = {
|
|
38
38
|
name: "@playcademy/better-auth",
|
|
39
|
-
version: "0.0.16-beta.
|
|
39
|
+
version: "0.0.16-beta.5",
|
|
40
40
|
type: "module",
|
|
41
41
|
exports: {
|
|
42
42
|
"./server": {
|
package/dist/index.js
CHANGED
|
@@ -326,7 +326,7 @@ var SAMPLE_BUCKET_FILENAME = "bucket.ts";
|
|
|
326
326
|
// ../better-auth/package.json
|
|
327
327
|
var package_default = {
|
|
328
328
|
name: "@playcademy/better-auth",
|
|
329
|
-
version: "0.0.16-beta.
|
|
329
|
+
version: "0.0.16-beta.5",
|
|
330
330
|
type: "module",
|
|
331
331
|
exports: {
|
|
332
332
|
"./server": {
|
|
@@ -4196,7 +4196,7 @@ import { existsSync as existsSync9, mkdirSync as mkdirSync2, readFileSync as rea
|
|
|
4196
4196
|
import { join as join13 } from "node:path";
|
|
4197
4197
|
|
|
4198
4198
|
// src/version.ts
|
|
4199
|
-
var cliVersion = false ? "0.0.0-dev" : "0.23.1-beta.
|
|
4199
|
+
var cliVersion = false ? "0.0.0-dev" : "0.23.1-beta.4";
|
|
4200
4200
|
|
|
4201
4201
|
// src/lib/init/database.ts
|
|
4202
4202
|
var drizzleConfigTemplate = loadTemplateString("database/drizzle-config.ts");
|
|
@@ -327,9 +327,9 @@ var init_routes = __esm({
|
|
|
327
327
|
// ../edge-play/src/entry/metadata.ts
|
|
328
328
|
function getRuntimeMetadata() {
|
|
329
329
|
return {
|
|
330
|
-
cliVersion: true ? "0.23.1-beta.
|
|
331
|
-
sdkVersion: true ? "0.11.1-beta.
|
|
332
|
-
buildId: true ? "
|
|
330
|
+
cliVersion: true ? "0.23.1-beta.4" : "0.0.0-dev",
|
|
331
|
+
sdkVersion: true ? "0.11.1-beta.5" : "0.0.0-dev",
|
|
332
|
+
buildId: true ? "7d5eaeb2b278" : "dev-source"
|
|
333
333
|
};
|
|
334
334
|
}
|
|
335
335
|
var init_metadata = __esm({
|
|
@@ -4320,12 +4320,23 @@ function statusCodeToErrorCode(status) {
|
|
|
4320
4320
|
}
|
|
4321
4321
|
}
|
|
4322
4322
|
|
|
4323
|
+
// ../sdk/src/version.ts
|
|
4324
|
+
var SDK_VERSION = typeof BUILD_SDK_VERSION === "undefined" ? "0.0.0-dev" : BUILD_SDK_VERSION;
|
|
4325
|
+
|
|
4323
4326
|
// ../sdk/src/server/request.ts
|
|
4324
|
-
async function makeApiRequest(
|
|
4327
|
+
async function makeApiRequest(opts) {
|
|
4328
|
+
const { baseUrl, apiToken, endpoint, method = "GET", body, gameOrigin, launchId } = opts;
|
|
4325
4329
|
const url = `${baseUrl}${endpoint}`;
|
|
4326
4330
|
const headers = new Headers();
|
|
4327
4331
|
headers.set("Content-Type", "application/json");
|
|
4328
4332
|
headers.set("x-api-key", apiToken);
|
|
4333
|
+
headers.set("x-playcademy-sdk-version", SDK_VERSION);
|
|
4334
|
+
if (gameOrigin) {
|
|
4335
|
+
headers.set("x-playcademy-game-origin", gameOrigin);
|
|
4336
|
+
}
|
|
4337
|
+
if (launchId) {
|
|
4338
|
+
headers.set("x-playcademy-launch-id", launchId);
|
|
4339
|
+
}
|
|
4329
4340
|
const options = {
|
|
4330
4341
|
method,
|
|
4331
4342
|
headers
|
|
@@ -4355,11 +4366,13 @@ var PlaycademyClient = class _PlaycademyClient {
|
|
|
4355
4366
|
// Private Properties
|
|
4356
4367
|
// ─────────────────────────────────────────────────────────────────
|
|
4357
4368
|
state;
|
|
4369
|
+
requestCtx = {};
|
|
4358
4370
|
// ─────────────────────────────────────────────────────────────────
|
|
4359
4371
|
// Constructor
|
|
4360
4372
|
// ─────────────────────────────────────────────────────────────────
|
|
4361
|
-
constructor(state) {
|
|
4373
|
+
constructor(state, requestCtx) {
|
|
4362
4374
|
this.state = state;
|
|
4375
|
+
this.requestCtx = requestCtx ?? {};
|
|
4363
4376
|
}
|
|
4364
4377
|
// ─────────────────────────────────────────────────────────────────
|
|
4365
4378
|
// Static Methods
|
|
@@ -4404,6 +4417,17 @@ var PlaycademyClient = class _PlaycademyClient {
|
|
|
4404
4417
|
return client;
|
|
4405
4418
|
}
|
|
4406
4419
|
// ─────────────────────────────────────────────────────────────────
|
|
4420
|
+
// Per-Request Scoping
|
|
4421
|
+
// ─────────────────────────────────────────────────────────────────
|
|
4422
|
+
/**
|
|
4423
|
+
* Creates a request-scoped client that shares this client's config
|
|
4424
|
+
* but carries per-request context (launchId, gameOrigin) for outbound
|
|
4425
|
+
* API calls. Safe for concurrent use — each wrapper has its own context.
|
|
4426
|
+
*/
|
|
4427
|
+
forRequest(ctx) {
|
|
4428
|
+
return new _PlaycademyClient(this.state, ctx);
|
|
4429
|
+
}
|
|
4430
|
+
// ─────────────────────────────────────────────────────────────────
|
|
4407
4431
|
// Private Utilities
|
|
4408
4432
|
// ─────────────────────────────────────────────────────────────────
|
|
4409
4433
|
/**
|
|
@@ -4431,7 +4455,15 @@ var PlaycademyClient = class _PlaycademyClient {
|
|
|
4431
4455
|
* @protected
|
|
4432
4456
|
*/
|
|
4433
4457
|
async request(path, method = "GET", body) {
|
|
4434
|
-
return makeApiRequest(
|
|
4458
|
+
return makeApiRequest({
|
|
4459
|
+
baseUrl: this.state.baseUrl,
|
|
4460
|
+
apiToken: this.state.apiKey,
|
|
4461
|
+
endpoint: path,
|
|
4462
|
+
method,
|
|
4463
|
+
body,
|
|
4464
|
+
gameOrigin: this.requestCtx.gameOrigin,
|
|
4465
|
+
launchId: this.requestCtx.launchId
|
|
4466
|
+
});
|
|
4435
4467
|
}
|
|
4436
4468
|
// ─────────────────────────────────────────────────────────────────
|
|
4437
4469
|
// Public Getters
|
|
@@ -4474,11 +4506,19 @@ async function verifyGameToken(gameToken, options) {
|
|
|
4474
4506
|
);
|
|
4475
4507
|
}
|
|
4476
4508
|
try {
|
|
4509
|
+
const headers = {
|
|
4510
|
+
"Content-Type": "application/json",
|
|
4511
|
+
"x-playcademy-sdk-version": SDK_VERSION
|
|
4512
|
+
};
|
|
4513
|
+
if (options?.gameOrigin) {
|
|
4514
|
+
headers["x-playcademy-game-origin"] = options.gameOrigin;
|
|
4515
|
+
}
|
|
4516
|
+
if (options?.launchId) {
|
|
4517
|
+
headers["x-playcademy-launch-id"] = options.launchId;
|
|
4518
|
+
}
|
|
4477
4519
|
const response = await fetch(`${baseUrl}/api/games/verify`, {
|
|
4478
4520
|
method: "POST",
|
|
4479
|
-
headers
|
|
4480
|
-
"Content-Type": "application/json"
|
|
4481
|
-
},
|
|
4521
|
+
headers,
|
|
4482
4522
|
body: JSON.stringify({ token: gameToken })
|
|
4483
4523
|
});
|
|
4484
4524
|
if (!response.ok) {
|
|
@@ -4567,7 +4607,7 @@ function registerCors(app) {
|
|
|
4567
4607
|
credentials: true,
|
|
4568
4608
|
// Required for cookies/sessions (e.g., Better Auth)
|
|
4569
4609
|
allowMethods: ["GET", "POST", "PUT", "PATCH", "DELETE", "OPTIONS"],
|
|
4570
|
-
allowHeaders: ["Content-Type", "Authorization"]
|
|
4610
|
+
allowHeaders: ["Content-Type", "Authorization", "x-playcademy-launch-id"]
|
|
4571
4611
|
// exposeHeaders: ['set-auth-token'],
|
|
4572
4612
|
})
|
|
4573
4613
|
);
|
|
@@ -4591,7 +4631,12 @@ function registerSdkInit(app, config) {
|
|
|
4591
4631
|
config
|
|
4592
4632
|
});
|
|
4593
4633
|
}
|
|
4594
|
-
|
|
4634
|
+
const sharedClient = await sdkPromise;
|
|
4635
|
+
const sdk = sharedClient.forRequest({
|
|
4636
|
+
launchId: c.req.header("x-playcademy-launch-id"),
|
|
4637
|
+
gameOrigin: new URL(c.req.url).origin
|
|
4638
|
+
});
|
|
4639
|
+
c.set("sdk", sdk);
|
|
4595
4640
|
await next();
|
|
4596
4641
|
});
|
|
4597
4642
|
}
|
|
@@ -4601,7 +4646,11 @@ function registerPlaycademyUser(app) {
|
|
|
4601
4646
|
if (authHeader?.startsWith("Bearer ")) {
|
|
4602
4647
|
const token = authHeader.slice(7);
|
|
4603
4648
|
try {
|
|
4604
|
-
const result = await verifyGameToken(token
|
|
4649
|
+
const result = await verifyGameToken(token, {
|
|
4650
|
+
baseUrl: c.env.PLAYCADEMY_BASE_URL,
|
|
4651
|
+
gameOrigin: new URL(c.req.url).origin,
|
|
4652
|
+
launchId: c.req.header("x-playcademy-launch-id")
|
|
4653
|
+
});
|
|
4605
4654
|
c.set("playcademyUser", result.user);
|
|
4606
4655
|
} catch {
|
|
4607
4656
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
|
-
"cliVersion": "0.23.1-beta.
|
|
3
|
-
"sdkVersion": "0.11.1-beta.
|
|
4
|
-
"runtimeBuildId": "
|
|
5
|
-
"inputFingerprint": "
|
|
2
|
+
"cliVersion": "0.23.1-beta.4",
|
|
3
|
+
"sdkVersion": "0.11.1-beta.5",
|
|
4
|
+
"runtimeBuildId": "7d5eaeb2b278",
|
|
5
|
+
"inputFingerprint": "7d5eaeb2b278725682f1c68697c84cff88ed9044219b3ef6a66483d207d0029e",
|
|
6
6
|
"entry": "index.js"
|
|
7
7
|
}
|
package/dist/utils.js
CHANGED
|
@@ -359,7 +359,7 @@ var DEFAULT_API_ROUTES_DIRECTORY = join2(SERVER_ROOT_DIRECTORY, "api");
|
|
|
359
359
|
// ../better-auth/package.json
|
|
360
360
|
var package_default = {
|
|
361
361
|
name: "@playcademy/better-auth",
|
|
362
|
-
version: "0.0.16-beta.
|
|
362
|
+
version: "0.0.16-beta.5",
|
|
363
363
|
type: "module",
|
|
364
364
|
exports: {
|
|
365
365
|
"./server": {
|
|
@@ -2485,7 +2485,7 @@ import { existsSync as existsSync9, mkdirSync as mkdirSync2, writeFileSync as wr
|
|
|
2485
2485
|
import { dirname as dirname4, join as join14 } from "node:path";
|
|
2486
2486
|
|
|
2487
2487
|
// src/version.ts
|
|
2488
|
-
var cliVersion = false ? "0.0.0-dev" : "0.23.1-beta.
|
|
2488
|
+
var cliVersion = false ? "0.0.0-dev" : "0.23.1-beta.4";
|
|
2489
2489
|
|
|
2490
2490
|
// src/lib/build/binary-resource.ts
|
|
2491
2491
|
function writeFileTree(baseDir, files) {
|
package/dist/version.js
CHANGED