playcademy 0.28.0 → 0.28.1-beta.2
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 +13 -0
- package/dist/bin.js +2 -1
- package/dist/bucket.js +3 -2
- package/dist/cli.js +17 -15
- package/dist/constants.d.ts +4 -2
- package/dist/constants.js +6 -4
- package/dist/db.js +5 -3
- package/dist/index.d.ts +2 -6
- package/dist/index.js +4699 -374
- package/dist/runtime/dashboard-runtime/manifest.json +4 -4
- package/dist/runtime/game-runtime/index.js +6370 -397
- package/dist/runtime/game-runtime/manifest.json +4 -4
- package/dist/templates/playcademy-gitignore.template +1 -0
- package/dist/utils.js +4364 -193
- package/dist/version.js +1 -1
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -264,6 +264,19 @@ Remove TimeBack integration (keeps game metadata).
|
|
|
264
264
|
playcademy timeback cleanup
|
|
265
265
|
```
|
|
266
266
|
|
|
267
|
+
#### `timeback assessments import`
|
|
268
|
+
|
|
269
|
+
Import the ordered live assessment catalog and host-only QTI fixture data from the platform for
|
|
270
|
+
local game testing.
|
|
271
|
+
|
|
272
|
+
```bash
|
|
273
|
+
playcademy timeback assessments import
|
|
274
|
+
playcademy timeback assessments import --env production
|
|
275
|
+
```
|
|
276
|
+
|
|
277
|
+
Fixtures are written to `.playcademy/timeback/assessment-fixtures.json`. The local dev host serves
|
|
278
|
+
them through the normal game SDK assessment methods and resets local attempts when it restarts.
|
|
279
|
+
|
|
267
280
|
## Environment Variables
|
|
268
281
|
|
|
269
282
|
- `CI` - Set to `1` or `true` to disable interactive prompts
|
package/dist/bin.js
CHANGED
|
@@ -15,7 +15,8 @@ var CLI_DIRECTORIES = {
|
|
|
15
15
|
WORKSPACE: WORKSPACE_NAME,
|
|
16
16
|
DATABASE: join(WORKSPACE_NAME, "db"),
|
|
17
17
|
KV: join(WORKSPACE_NAME, "kv"),
|
|
18
|
-
BUCKET: join(WORKSPACE_NAME, "bucket")
|
|
18
|
+
BUCKET: join(WORKSPACE_NAME, "bucket"),
|
|
19
|
+
TIMEBACK: join(WORKSPACE_NAME, "timeback")
|
|
19
20
|
};
|
|
20
21
|
var PLAYCADEMY_HOME = join(homedir(), ".playcademy");
|
|
21
22
|
var CLI_USER_DIRECTORIES = {
|
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.
|
|
47
|
+
version: "0.0.21-beta.2",
|
|
48
48
|
type: "module",
|
|
49
49
|
exports: {
|
|
50
50
|
"./server": {
|
|
@@ -138,7 +138,8 @@ var CLI_DIRECTORIES = {
|
|
|
138
138
|
WORKSPACE: WORKSPACE_NAME,
|
|
139
139
|
DATABASE: join5(WORKSPACE_NAME, "db"),
|
|
140
140
|
KV: join5(WORKSPACE_NAME, "kv"),
|
|
141
|
-
BUCKET: join5(WORKSPACE_NAME, "bucket")
|
|
141
|
+
BUCKET: join5(WORKSPACE_NAME, "bucket"),
|
|
142
|
+
TIMEBACK: join5(WORKSPACE_NAME, "timeback")
|
|
142
143
|
};
|
|
143
144
|
var PLAYCADEMY_HOME = join5(homedir(), ".playcademy");
|
|
144
145
|
var CLI_USER_DIRECTORIES = {
|
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.
|
|
1210
|
+
version: "0.0.21-beta.2",
|
|
1211
1211
|
type: "module",
|
|
1212
1212
|
exports: {
|
|
1213
1213
|
"./server": {
|
|
@@ -1339,7 +1339,8 @@ var CLI_DIRECTORIES = {
|
|
|
1339
1339
|
WORKSPACE: WORKSPACE_NAME,
|
|
1340
1340
|
DATABASE: join6(WORKSPACE_NAME, "db"),
|
|
1341
1341
|
KV: join6(WORKSPACE_NAME, "kv"),
|
|
1342
|
-
BUCKET: join6(WORKSPACE_NAME, "bucket")
|
|
1342
|
+
BUCKET: join6(WORKSPACE_NAME, "bucket"),
|
|
1343
|
+
TIMEBACK: join6(WORKSPACE_NAME, "timeback")
|
|
1343
1344
|
};
|
|
1344
1345
|
var PLAYCADEMY_HOME = join6(homedir(), ".playcademy");
|
|
1345
1346
|
var CLI_USER_DIRECTORIES = {
|
|
@@ -1372,6 +1373,18 @@ var CONFIG_FILE_NAMES = [
|
|
|
1372
1373
|
];
|
|
1373
1374
|
|
|
1374
1375
|
// ../constants/src/timeback.ts
|
|
1376
|
+
var TIMEBACK_GRADES = [-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13];
|
|
1377
|
+
var TIMEBACK_SUBJECTS = [
|
|
1378
|
+
"Reading",
|
|
1379
|
+
"Language",
|
|
1380
|
+
"Vocabulary",
|
|
1381
|
+
"Social Studies",
|
|
1382
|
+
"Writing",
|
|
1383
|
+
"Science",
|
|
1384
|
+
"FastMath",
|
|
1385
|
+
"Math",
|
|
1386
|
+
"None"
|
|
1387
|
+
];
|
|
1375
1388
|
var TIMEBACK_ORG_NAME = "Playcademy Studios";
|
|
1376
1389
|
var TIMEBACK_ORG_TYPE = "department";
|
|
1377
1390
|
var TIMEBACK_COURSE_DEFAULTS = {
|
|
@@ -2048,17 +2061,6 @@ function processConfigVariables(config) {
|
|
|
2048
2061
|
}
|
|
2049
2062
|
|
|
2050
2063
|
// ../timeback/dist/constants.js
|
|
2051
|
-
var TIMEBACK_SUBJECTS = [
|
|
2052
|
-
"Math",
|
|
2053
|
-
"FastMath",
|
|
2054
|
-
"Science",
|
|
2055
|
-
"Social Studies",
|
|
2056
|
-
"Language",
|
|
2057
|
-
"Reading",
|
|
2058
|
-
"Vocabulary",
|
|
2059
|
-
"Writing"
|
|
2060
|
-
];
|
|
2061
|
-
var TIMEBACK_GRADE_LEVELS = [-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13];
|
|
2062
2064
|
var TIMEBACK_GRADE_LEVEL_LABELS = {
|
|
2063
2065
|
"-1": "pre-k",
|
|
2064
2066
|
"0": "kindergarten",
|
|
@@ -3007,7 +3009,7 @@ import { existsSync as existsSync11, mkdirSync as mkdirSync5, readFileSync as re
|
|
|
3007
3009
|
import { join as join13 } from "node:path";
|
|
3008
3010
|
|
|
3009
3011
|
// src/version.ts
|
|
3010
|
-
var cliVersion = false ? "0.0.0-dev" : "0.28.
|
|
3012
|
+
var cliVersion = false ? "0.0.0-dev" : "0.28.1-beta.2";
|
|
3011
3013
|
|
|
3012
3014
|
// src/lib/init/database.ts
|
|
3013
3015
|
var drizzleConfigTemplate = loadTemplateString("database/drizzle-config.ts");
|
|
@@ -3252,7 +3254,7 @@ async function promptForTimeBackIntegration(options) {
|
|
|
3252
3254
|
}
|
|
3253
3255
|
const grades = await checkbox({
|
|
3254
3256
|
message: "Select grade levels:",
|
|
3255
|
-
choices:
|
|
3257
|
+
choices: TIMEBACK_GRADES.map((grade) => ({
|
|
3256
3258
|
value: grade,
|
|
3257
3259
|
name: TIMEBACK_GRADE_LEVEL_LABELS[grade.toString()]
|
|
3258
3260
|
})),
|
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
|
|
@@ -289,6 +289,7 @@ declare const CLI_DIRECTORIES: {
|
|
|
289
289
|
readonly DATABASE: string;
|
|
290
290
|
readonly KV: string;
|
|
291
291
|
readonly BUCKET: string;
|
|
292
|
+
readonly TIMEBACK: string;
|
|
292
293
|
};
|
|
293
294
|
declare const CLI_USER_DIRECTORIES: {
|
|
294
295
|
readonly CONFIG: string;
|
|
@@ -310,6 +311,7 @@ declare const CLI_FILES: {
|
|
|
310
311
|
readonly AUTH_STORE: 'auth.json';
|
|
311
312
|
readonly GAMES_STORE: 'games.json';
|
|
312
313
|
readonly INITIAL_DATABASE: 'initial.sqlite';
|
|
314
|
+
readonly ASSESSMENT_FIXTURES: 'assessment-fixtures.json';
|
|
313
315
|
};
|
|
314
316
|
|
|
315
317
|
/**
|
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.
|
|
24
|
+
version: "0.0.21-beta.2",
|
|
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";
|
|
@@ -192,7 +192,8 @@ var CLI_DIRECTORIES = {
|
|
|
192
192
|
WORKSPACE: WORKSPACE_NAME,
|
|
193
193
|
DATABASE: join5(WORKSPACE_NAME, "db"),
|
|
194
194
|
KV: join5(WORKSPACE_NAME, "kv"),
|
|
195
|
-
BUCKET: join5(WORKSPACE_NAME, "bucket")
|
|
195
|
+
BUCKET: join5(WORKSPACE_NAME, "bucket"),
|
|
196
|
+
TIMEBACK: join5(WORKSPACE_NAME, "timeback")
|
|
196
197
|
};
|
|
197
198
|
var PLAYCADEMY_HOME = join5(homedir(), ".playcademy");
|
|
198
199
|
var CLI_USER_DIRECTORIES = {
|
|
@@ -216,7 +217,8 @@ var CLI_DEFAULT_OUTPUTS = {
|
|
|
216
217
|
var CLI_FILES = {
|
|
217
218
|
AUTH_STORE: "auth.json",
|
|
218
219
|
GAMES_STORE: "games.json",
|
|
219
|
-
INITIAL_DATABASE: "initial.sqlite"
|
|
220
|
+
INITIAL_DATABASE: "initial.sqlite",
|
|
221
|
+
ASSESSMENT_FIXTURES: "assessment-fixtures.json"
|
|
220
222
|
};
|
|
221
223
|
|
|
222
224
|
// src/constants/ports.ts
|
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.
|
|
2338
|
+
version: "0.0.21-beta.2",
|
|
2339
2339
|
type: "module",
|
|
2340
2340
|
exports: {
|
|
2341
2341
|
"./server": {
|
|
@@ -2451,7 +2451,8 @@ var CLI_DIRECTORIES = {
|
|
|
2451
2451
|
WORKSPACE: WORKSPACE_NAME,
|
|
2452
2452
|
DATABASE: join5(WORKSPACE_NAME, "db"),
|
|
2453
2453
|
KV: join5(WORKSPACE_NAME, "kv"),
|
|
2454
|
-
BUCKET: join5(WORKSPACE_NAME, "bucket")
|
|
2454
|
+
BUCKET: join5(WORKSPACE_NAME, "bucket"),
|
|
2455
|
+
TIMEBACK: join5(WORKSPACE_NAME, "timeback")
|
|
2455
2456
|
};
|
|
2456
2457
|
var PLAYCADEMY_HOME = join5(homedir(), ".playcademy");
|
|
2457
2458
|
var CLI_USER_DIRECTORIES = {
|
|
@@ -2468,7 +2469,8 @@ var CLI_DEFAULT_OUTPUTS = {
|
|
|
2468
2469
|
var CLI_FILES = {
|
|
2469
2470
|
AUTH_STORE: "auth.json",
|
|
2470
2471
|
GAMES_STORE: "games.json",
|
|
2471
|
-
INITIAL_DATABASE: "initial.sqlite"
|
|
2472
|
+
INITIAL_DATABASE: "initial.sqlite",
|
|
2473
|
+
ASSESSMENT_FIXTURES: "assessment-fixtures.json"
|
|
2472
2474
|
};
|
|
2473
2475
|
|
|
2474
2476
|
// src/constants/timeback.ts
|
package/dist/index.d.ts
CHANGED
|
@@ -1437,12 +1437,8 @@ interface ScaffoldResult {
|
|
|
1437
1437
|
* Callback data received from the Playcademy server after SSO authentication
|
|
1438
1438
|
*/
|
|
1439
1439
|
interface SsoCallbackData {
|
|
1440
|
-
/**
|
|
1441
|
-
|
|
1442
|
-
/** User's email address */
|
|
1443
|
-
email: string;
|
|
1444
|
-
/** User's ID */
|
|
1445
|
-
userId: string;
|
|
1440
|
+
/** One-time login code, exchanged at /auth/cli/exchange for an API key */
|
|
1441
|
+
code: string;
|
|
1446
1442
|
}
|
|
1447
1443
|
/**
|
|
1448
1444
|
* Result from starting and running the callback server
|