@stage5/lumine 0.3.35 → 0.3.36
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/lib/admin.js +7 -0
- package/lib/api.js +1 -1
- package/lib/commands.js +9 -2
- package/package.json +1 -1
- package/sdk/BUILD_SDK_INDEX.md +2 -2
- package/sdk/LUMINE_ADMIN.md +9 -0
package/lib/admin.js
CHANGED
|
@@ -7124,6 +7124,13 @@ function printRewardBankReport(data) {
|
|
|
7124
7124
|
);
|
|
7125
7125
|
}
|
|
7126
7126
|
}
|
|
7127
|
+
if (data.numericAnswers) {
|
|
7128
|
+
const n = data.numericAnswers;
|
|
7129
|
+
console.log(`Numeric answers (${n.serverAnswerContract}): ${n.decimalQuestions} decimal questions / ${n.questions} total · ${n.decimalsCreatedInWindow} new decimals`);
|
|
7130
|
+
console.log(` Decimal follow-up: ${n.decimalClaims.served} served · ${n.decimalClaims.answered} answered · first-try ${pct(n.decimalClaims.firstTryRate)} · ${n.decimalClaims.coverage}`);
|
|
7131
|
+
} else {
|
|
7132
|
+
console.log("Numeric answer telemetry: unavailable on this server version.");
|
|
7133
|
+
}
|
|
7127
7134
|
console.log(`Learners: ${data.learners.total}`);
|
|
7128
7135
|
for (const row of data.learners.byRuleStep) {
|
|
7129
7136
|
console.log(
|
package/lib/api.js
CHANGED
|
@@ -372,7 +372,7 @@ export async function saveProjectFiles({
|
|
|
372
372
|
// Required when the workspace has no filesHash (old/stale checkout).
|
|
373
373
|
...(force ? { force: true } : {}),
|
|
374
374
|
},
|
|
375
|
-
timeoutMs: options.timeoutMs,
|
|
375
|
+
timeoutMs: options.validationTimeoutMs ?? options.timeoutMs,
|
|
376
376
|
});
|
|
377
377
|
}
|
|
378
378
|
|
package/lib/commands.js
CHANGED
|
@@ -1316,7 +1316,7 @@ export async function check(options) {
|
|
|
1316
1316
|
const result = await requestJson({
|
|
1317
1317
|
url: `${options.apiUrl}/cli/build/${buildId}/launch-check`,
|
|
1318
1318
|
authToken: auth.token,
|
|
1319
|
-
timeoutMs: options.timeoutMs,
|
|
1319
|
+
timeoutMs: options.validationTimeoutMs ?? options.timeoutMs,
|
|
1320
1320
|
});
|
|
1321
1321
|
printCheck(result);
|
|
1322
1322
|
if (!result.ok) process.exitCode = 1;
|
|
@@ -1373,7 +1373,7 @@ export async function launch(options) {
|
|
|
1373
1373
|
const checkResult = await requestJson({
|
|
1374
1374
|
url: `${options.apiUrl}/cli/build/${buildId}/launch-check`,
|
|
1375
1375
|
authToken: auth.token,
|
|
1376
|
-
timeoutMs: options.timeoutMs,
|
|
1376
|
+
timeoutMs: options.validationTimeoutMs ?? options.timeoutMs,
|
|
1377
1377
|
});
|
|
1378
1378
|
printCheck(checkResult);
|
|
1379
1379
|
const launchOk =
|
|
@@ -2939,6 +2939,13 @@ export function parseArgs(args) {
|
|
|
2939
2939
|
DEFAULT_TIMEOUT_MS,
|
|
2940
2940
|
1000,
|
|
2941
2941
|
),
|
|
2942
|
+
// Large saved projects can take longer than the ordinary 20s request
|
|
2943
|
+
// deadline. The server bounds compiler work at 120s; leave transport room.
|
|
2944
|
+
// An explicit --timeout-ms / environment setting still wins.
|
|
2945
|
+
validationTimeoutMs: Math.max(
|
|
2946
|
+
Number(raw.timeoutMs || process.env.TWINKLE_TIMEOUT_MS) || 150000,
|
|
2947
|
+
1000,
|
|
2948
|
+
),
|
|
2942
2949
|
help: !!raw.help || command === "help",
|
|
2943
2950
|
};
|
|
2944
2951
|
}
|
package/package.json
CHANGED
package/sdk/BUILD_SDK_INDEX.md
CHANGED
|
@@ -1029,9 +1029,9 @@ const result = await Twinkle.characters.chat({ character: 'zero', thinkingMode:
|
|
|
1029
1029
|
- Example: const { level } = await Twinkle.minecraft.getPlayArea({ id: 'twinkle-keep' });
|
|
1030
1030
|
- async getPlayAreaChunks({ id, chunks: [[cx, cz], ...] }) | scopes: content:read
|
|
1031
1031
|
- Returns: { scenes: [{ cx, cz, scene: { origin: [x,y,z], size: [w,h,d], palette, blocks, light, biomes, count, ... } | null }] }
|
|
1032
|
-
- Up to
|
|
1032
|
+
- Up to 24 chunk columns of a play area in the /snap scene format (packed visible blocks with per-face light), cropped to the area's box. Stream the ones around the player.
|
|
1033
1033
|
- Same scene format as getSnap; only blocks with a visible face inside the area are included. scene is null for a chunk that is not part of the area.
|
|
1034
|
-
- At most
|
|
1034
|
+
- At most 24 chunks per call; reads share the 180-per-minute build read limit, so cache chunks and load the nearest first.
|
|
1035
1035
|
- Example: const { scenes } = await Twinkle.minecraft.getPlayAreaChunks({ id: level.id, chunks: [[64, 29], [65, 29]] });
|
|
1036
1036
|
- async createPlayArea({ name, world, box, spawn, id }) | scopes: content:write
|
|
1037
1037
|
- Returns: { level }
|
package/sdk/LUMINE_ADMIN.md
CHANGED
|
@@ -2502,6 +2502,9 @@ Daily Reflection post reads and recommendation candidates include the stored
|
|
|
2502
2502
|
An absent grade is unknown. Verify `grade === "Masterpiece"` before placing one
|
|
2503
2503
|
of Mikey's reflections anywhere on the newspaper front page; lower or missing
|
|
2504
2504
|
grades can be considered for inside pages. The CLI does not infer a grade.
|
|
2505
|
+
Masterpiece is only an eligibility condition for his reflections: it does not
|
|
2506
|
+
award front-page placement, the lead, or editorial priority. Read the actual
|
|
2507
|
+
content and compare its significance to members with the day's other stories.
|
|
2505
2508
|
|
|
2506
2509
|
## Subject and Featured mutations
|
|
2507
2510
|
|
|
@@ -3019,6 +3022,12 @@ entertainment, likely comments and opportunities to join in are not the only
|
|
|
3019
3022
|
measures of importance. Explain the values being communicated; do not reduce
|
|
3020
3023
|
them to founder biography or an administrative announcement.
|
|
3021
3024
|
|
|
3025
|
+
**Editorial judgment (Mikey, 2026-10-15):** a Masterpiece grade never automatically
|
|
3026
|
+
earns a front-page slot or the lead. Use the project's canonical `CORE_VALUES.md`
|
|
3027
|
+
to assess the actual story's relevance to the community and its culture, alongside
|
|
3028
|
+
the other eligible stories. Give the substantive reason for the placement;
|
|
3029
|
+
neither the grade nor Mikey's authorship supplies that reason.
|
|
3030
|
+
|
|
3022
3031
|
Use clear, lively language that respects readers' intelligence. Give enough
|
|
3023
3032
|
context for someone who missed the original post, and make the interesting
|
|
3024
3033
|
part clear in the headline and opening. Avoid talking down to readers, forced
|