playcademy 0.28.1-beta.1 → 0.28.1-beta.3
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/bucket.d.ts +8 -0
- package/dist/bucket.js +1 -1
- package/dist/cli.js +2 -2
- package/dist/constants.d.ts +2 -2
- package/dist/constants.js +2 -2
- package/dist/db.js +1 -1
- package/dist/index.d.ts +23 -6
- package/dist/index.js +382 -136
- package/dist/runtime/dashboard-runtime/manifest.json +4 -4
- package/dist/runtime/game-runtime/index.js +3 -3
- package/dist/runtime/game-runtime/manifest.json +4 -4
- package/dist/utils.d.ts +8 -1
- package/dist/utils.js +2 -2
- package/dist/version.js +1 -1
- package/package.json +2 -2
package/dist/bucket.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { GamePermission } from '@playcademy/constants';
|
|
1
2
|
import { TimebackCourseConfig, CourseConfig, OrganizationConfig, ComponentConfig, ResourceConfig, ComponentResourceConfig } from '@playcademy/types/timeback';
|
|
2
3
|
import { Miniflare } from 'miniflare';
|
|
3
4
|
|
|
@@ -148,6 +149,13 @@ interface PlaycademyConfig {
|
|
|
148
149
|
description?: string;
|
|
149
150
|
/** Game emoji icon */
|
|
150
151
|
emoji?: string;
|
|
152
|
+
/**
|
|
153
|
+
* Browser permissions to request for the game's iframe (e.g.
|
|
154
|
+
* `['microphone']`). Opt-in per game; only `microphone` and `camera` are
|
|
155
|
+
* delegated this way. Fullscreen, autoplay, and gamepad are granted to
|
|
156
|
+
* every game automatically.
|
|
157
|
+
*/
|
|
158
|
+
permissions?: GamePermission[];
|
|
151
159
|
/** Build command to run before deployment */
|
|
152
160
|
buildCommand?: string[];
|
|
153
161
|
/** Path to build output */
|
package/dist/bucket.js
CHANGED
|
@@ -44,7 +44,7 @@ var GAME_API_ROUTES_DIRECTORY = join2(GAME_SERVER_ROOT_DIRECTORY, "api");
|
|
|
44
44
|
// ../better-auth/package.json
|
|
45
45
|
var package_default = {
|
|
46
46
|
name: "@playcademy/better-auth",
|
|
47
|
-
version: "0.0.21-beta.
|
|
47
|
+
version: "0.0.21-beta.3",
|
|
48
48
|
type: "module",
|
|
49
49
|
exports: {
|
|
50
50
|
"./server": {
|
package/dist/cli.js
CHANGED
|
@@ -1207,7 +1207,7 @@ var SAMPLE_BUCKET_FILENAME = "bucket.ts";
|
|
|
1207
1207
|
// ../better-auth/package.json
|
|
1208
1208
|
var package_default = {
|
|
1209
1209
|
name: "@playcademy/better-auth",
|
|
1210
|
-
version: "0.0.21-beta.
|
|
1210
|
+
version: "0.0.21-beta.3",
|
|
1211
1211
|
type: "module",
|
|
1212
1212
|
exports: {
|
|
1213
1213
|
"./server": {
|
|
@@ -3009,7 +3009,7 @@ import { existsSync as existsSync11, mkdirSync as mkdirSync5, readFileSync as re
|
|
|
3009
3009
|
import { join as join13 } from "node:path";
|
|
3010
3010
|
|
|
3011
3011
|
// src/version.ts
|
|
3012
|
-
var cliVersion = false ? "0.0.0-dev" : "0.28.1-beta.
|
|
3012
|
+
var cliVersion = false ? "0.0.0-dev" : "0.28.1-beta.3";
|
|
3013
3013
|
|
|
3014
3014
|
// src/lib/init/database.ts
|
|
3015
3015
|
var drizzleConfigTemplate = loadTemplateString("database/drizzle-config.ts");
|
package/dist/constants.d.ts
CHANGED
|
@@ -277,8 +277,8 @@ declare const GODOT_EXECUTABLE_PATTERNS: {
|
|
|
277
277
|
declare const CALLBACK_PORT = 6175;
|
|
278
278
|
/** Path for the OAuth callback endpoint */
|
|
279
279
|
declare const CALLBACK_PATH = "/callback";
|
|
280
|
-
/** Timeout for
|
|
281
|
-
declare const SSO_AUTH_TIMEOUT_MS =
|
|
280
|
+
/** Timeout for the whole browser SSO flow (login page + provider auth + MFA) */
|
|
281
|
+
declare const SSO_AUTH_TIMEOUT_MS = 90000;
|
|
282
282
|
|
|
283
283
|
/**
|
|
284
284
|
* Path constants for CLI directories and files
|
package/dist/constants.js
CHANGED
|
@@ -21,7 +21,7 @@ var SAMPLE_BUCKET_FILENAME = "bucket.ts";
|
|
|
21
21
|
// ../better-auth/package.json
|
|
22
22
|
var package_default = {
|
|
23
23
|
name: "@playcademy/better-auth",
|
|
24
|
-
version: "0.0.21-beta.
|
|
24
|
+
version: "0.0.21-beta.3",
|
|
25
25
|
type: "module",
|
|
26
26
|
exports: {
|
|
27
27
|
"./server": {
|
|
@@ -182,7 +182,7 @@ var GODOT_EXECUTABLE_PATTERNS = {
|
|
|
182
182
|
// src/constants/http-server.ts
|
|
183
183
|
var CALLBACK_PORT = 6175;
|
|
184
184
|
var CALLBACK_PATH = "/callback";
|
|
185
|
-
var SSO_AUTH_TIMEOUT_MS =
|
|
185
|
+
var SSO_AUTH_TIMEOUT_MS = 9e4;
|
|
186
186
|
|
|
187
187
|
// src/constants/paths.ts
|
|
188
188
|
import { homedir } from "node:os";
|
package/dist/db.js
CHANGED
|
@@ -2335,7 +2335,7 @@ var GAME_API_ROUTES_DIRECTORY = join2(GAME_SERVER_ROOT_DIRECTORY, "api");
|
|
|
2335
2335
|
// ../better-auth/package.json
|
|
2336
2336
|
var package_default = {
|
|
2337
2337
|
name: "@playcademy/better-auth",
|
|
2338
|
-
version: "0.0.21-beta.
|
|
2338
|
+
version: "0.0.21-beta.3",
|
|
2339
2339
|
type: "module",
|
|
2340
2340
|
exports: {
|
|
2341
2341
|
"./server": {
|
package/dist/index.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { ApiKeyRow } from '@playcademy/data/types';
|
|
2
2
|
import { UserInfo } from '@playcademy/types/user';
|
|
3
3
|
import { SchemaInfo } from '@playcademy/cloudflare';
|
|
4
|
+
import { GamePermission } from '@playcademy/constants';
|
|
4
5
|
import { TimebackCourseConfig, CourseConfig, OrganizationConfig, ComponentConfig, ResourceConfig, ComponentResourceConfig } from '@playcademy/types/timeback';
|
|
5
6
|
export { ComponentConfig, ComponentResourceConfig, OrganizationConfig, ResourceConfig, TimebackCourseConfig, TimebackGrade, TimebackSourcedIds, TimebackSubject } from '@playcademy/types/timeback';
|
|
6
7
|
import { PlaycademyClient } from '@playcademy/sdk/internal';
|
|
@@ -434,6 +435,13 @@ interface PlaycademyConfig {
|
|
|
434
435
|
description?: string;
|
|
435
436
|
/** Game emoji icon */
|
|
436
437
|
emoji?: string;
|
|
438
|
+
/**
|
|
439
|
+
* Browser permissions to request for the game's iframe (e.g.
|
|
440
|
+
* `['microphone']`). Opt-in per game; only `microphone` and `camera` are
|
|
441
|
+
* delegated this way. Fullscreen, autoplay, and gamepad are granted to
|
|
442
|
+
* every game automatically.
|
|
443
|
+
*/
|
|
444
|
+
permissions?: GamePermission[];
|
|
437
445
|
/** Build command to run before deployment */
|
|
438
446
|
buildCommand?: string[];
|
|
439
447
|
/** Path to build output */
|
|
@@ -485,6 +493,8 @@ interface WorkerDeploymentBundle {
|
|
|
485
493
|
interface GameMetadata {
|
|
486
494
|
description?: string;
|
|
487
495
|
emoji?: string;
|
|
496
|
+
/** Browser permissions delegated to the game's iframe (opt-in per game). */
|
|
497
|
+
permissions?: GamePermission[];
|
|
488
498
|
[key: string]: unknown;
|
|
489
499
|
}
|
|
490
500
|
declare const games: drizzle_orm_pg_core.PgTableWithColumns<{
|
|
@@ -1079,6 +1089,13 @@ interface DeployConfig {
|
|
|
1079
1089
|
description?: string;
|
|
1080
1090
|
/** Emoji icon for the project */
|
|
1081
1091
|
emoji?: string;
|
|
1092
|
+
/**
|
|
1093
|
+
* Browser permissions the game's iframe should be granted (e.g.
|
|
1094
|
+
* `['microphone']`). Opt-in per game; only `microphone` and `camera` are
|
|
1095
|
+
* delegated this way. Fullscreen, autoplay, and gamepad are granted to
|
|
1096
|
+
* every game automatically.
|
|
1097
|
+
*/
|
|
1098
|
+
permissions?: GamePermission[];
|
|
1082
1099
|
/** Path to the build directory or zip file */
|
|
1083
1100
|
buildPath?: string;
|
|
1084
1101
|
/** Game platform (defaults to 'web') */
|
|
@@ -1291,6 +1308,10 @@ interface ConfigDiff {
|
|
|
1291
1308
|
old: string | undefined;
|
|
1292
1309
|
new: string | undefined;
|
|
1293
1310
|
};
|
|
1311
|
+
permissions?: {
|
|
1312
|
+
old: string[] | undefined;
|
|
1313
|
+
new: string[] | undefined;
|
|
1314
|
+
};
|
|
1294
1315
|
gameType?: {
|
|
1295
1316
|
old: string;
|
|
1296
1317
|
new: string;
|
|
@@ -1437,12 +1458,8 @@ interface ScaffoldResult {
|
|
|
1437
1458
|
* Callback data received from the Playcademy server after SSO authentication
|
|
1438
1459
|
*/
|
|
1439
1460
|
interface SsoCallbackData {
|
|
1440
|
-
/**
|
|
1441
|
-
|
|
1442
|
-
/** User's email address */
|
|
1443
|
-
email: string;
|
|
1444
|
-
/** User's ID */
|
|
1445
|
-
userId: string;
|
|
1461
|
+
/** One-time login code, exchanged at /auth/cli/exchange for an API key */
|
|
1462
|
+
code: string;
|
|
1446
1463
|
}
|
|
1447
1464
|
/**
|
|
1448
1465
|
* Result from starting and running the callback server
|