@stage5/lumine 0.2.65 → 0.2.67
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 +22 -3
- package/lib/admin-runtime-logs.js +786 -0
- package/lib/admin-workflows.js +350 -59
- package/lib/admin.js +586 -47
- package/lib/commands.js +46 -5
- package/lib/sponsor-duty.js +479 -28
- package/package.json +1 -1
- package/sdk/BUILD_SDK_INDEX.md +11 -7
- package/sdk/LUMINE_ADMIN.md +358 -88
package/lib/commands.js
CHANGED
|
@@ -48,7 +48,12 @@ import {
|
|
|
48
48
|
updateBuildMetadata,
|
|
49
49
|
upgradeBuildProjectLimits,
|
|
50
50
|
} from "./api.js";
|
|
51
|
-
import {
|
|
51
|
+
import {
|
|
52
|
+
assetsCommand,
|
|
53
|
+
assetsUpload,
|
|
54
|
+
confirmPrompt,
|
|
55
|
+
writeAssetsManifest,
|
|
56
|
+
} from "./assets.js";
|
|
52
57
|
import { thumbnailCommand } from "./thumbnail.js";
|
|
53
58
|
import {
|
|
54
59
|
assertAuthScope,
|
|
@@ -135,6 +140,13 @@ export async function main() {
|
|
|
135
140
|
await sponsorCommand(options, {
|
|
136
141
|
saveWorkspace: save,
|
|
137
142
|
pullWorkspace: pullBuildFiles,
|
|
143
|
+
updateFromMain: updateBranchFromMain,
|
|
144
|
+
uploadAssets: assetsUpload,
|
|
145
|
+
notifyOwner: notifyBuildOwnerOfContribution,
|
|
146
|
+
suggestThumbnail: suggestBuildThumbnailToOwner,
|
|
147
|
+
thumbnailCommand,
|
|
148
|
+
renameBuild,
|
|
149
|
+
describeBuild,
|
|
138
150
|
});
|
|
139
151
|
return;
|
|
140
152
|
}
|
|
@@ -2240,6 +2252,7 @@ export function parseArgs(args) {
|
|
|
2240
2252
|
const raw = {};
|
|
2241
2253
|
const positional = [];
|
|
2242
2254
|
const booleanFlags = new Set([
|
|
2255
|
+
"noLeaseKeeper",
|
|
2243
2256
|
"noOpen",
|
|
2244
2257
|
"open",
|
|
2245
2258
|
"noDescription",
|
|
@@ -2263,6 +2276,7 @@ export function parseArgs(args) {
|
|
|
2263
2276
|
"sinceRun",
|
|
2264
2277
|
"includeLegacy",
|
|
2265
2278
|
"includePrivateEvidence",
|
|
2279
|
+
"reviewed",
|
|
2266
2280
|
"noReviewLoop",
|
|
2267
2281
|
"acceptAgreement",
|
|
2268
2282
|
]);
|
|
@@ -2364,6 +2378,7 @@ export function parseArgs(args) {
|
|
|
2364
2378
|
cursor: Math.max(0, Math.floor(Number(raw.cursor) || 0)),
|
|
2365
2379
|
adminCursor: raw.cursor ? String(raw.cursor) : "",
|
|
2366
2380
|
adminAfter: raw.after ? String(raw.after) : "",
|
|
2381
|
+
adminPostedAfter: raw.postedAfter ? String(raw.postedAfter) : "",
|
|
2367
2382
|
adminSinceRun: Boolean(raw.sinceRun),
|
|
2368
2383
|
adminIncludeLegacy: Boolean(raw.includeLegacy),
|
|
2369
2384
|
adminIncludePrivateEvidence: parseBoolean(
|
|
@@ -2380,6 +2395,8 @@ export function parseArgs(args) {
|
|
|
2380
2395
|
adminTargetFile: raw.targetFile ? String(raw.targetFile) : "",
|
|
2381
2396
|
adminReviewReceipt: raw.reviewReceipt ? String(raw.reviewReceipt) : "",
|
|
2382
2397
|
adminReviewContext: raw.reviewContext ? String(raw.reviewContext) : "",
|
|
2398
|
+
adminReviewSession: raw.reviewSession ? String(raw.reviewSession) : "",
|
|
2399
|
+
adminReviewed: Boolean(raw.reviewed),
|
|
2383
2400
|
adminSeverity: raw.severity ? String(raw.severity) : "",
|
|
2384
2401
|
adminStatus: raw.status ? String(raw.status) : "",
|
|
2385
2402
|
adminDecision: raw.decision ? String(raw.decision) : "",
|
|
@@ -2410,8 +2427,11 @@ export function parseArgs(args) {
|
|
|
2410
2427
|
sponsorAgentOrdinal: raw.ordinal,
|
|
2411
2428
|
sponsorOutcome: raw.outcome ? String(raw.outcome) : "",
|
|
2412
2429
|
sponsorFailureReason: raw.reason ? String(raw.reason) : "",
|
|
2430
|
+
sponsorNoLeaseKeeper: Boolean(raw.noLeaseKeeper),
|
|
2431
|
+
sponsorHoldEverySeconds: raw.holdEverySeconds,
|
|
2413
2432
|
sponsorUpdateFile: raw.file ? String(raw.file) : "",
|
|
2414
2433
|
sponsorUpdatePhase: raw.phase ? String(raw.phase) : "",
|
|
2434
|
+
sponsorUpdateKind: raw.kind ? String(raw.kind) : "",
|
|
2415
2435
|
sponsorResolvedModel: raw.resolvedModel ? String(raw.resolvedModel) : "",
|
|
2416
2436
|
sponsorResolvedEffort: raw.resolvedEffort ? String(raw.resolvedEffort) : "",
|
|
2417
2437
|
sponsorResolvedServiceTier: raw.resolvedServiceTier
|
|
@@ -2457,6 +2477,7 @@ export function parseArgs(args) {
|
|
|
2457
2477
|
adminUnviewed: Boolean(raw.unviewed),
|
|
2458
2478
|
adminViewed: Boolean(raw.viewed),
|
|
2459
2479
|
adminIdentity: raw.identity ? String(raw.identity) : "",
|
|
2480
|
+
adminScope: raw.scope ? String(raw.scope) : "",
|
|
2460
2481
|
commentMode: raw.commentMode ? String(raw.commentMode) : "",
|
|
2461
2482
|
runKey: raw.runKey ? String(raw.runKey) : "",
|
|
2462
2483
|
idempotencyKey: raw.idempotencyKey ? String(raw.idempotencyKey) : "",
|
|
@@ -2763,6 +2784,13 @@ export function printHelp() {
|
|
|
2763
2784
|
lumine sponsor job update <job-id> --file <path> [--phase <name>]
|
|
2764
2785
|
lumine sponsor job relay-applied <job-id> <relay-id...>
|
|
2765
2786
|
lumine sponsor job helper-start|helper-complete <job-id> [options]
|
|
2787
|
+
lumine sponsor job sync-main <job-id>
|
|
2788
|
+
lumine sponsor job assets <job-id> upload <file...>
|
|
2789
|
+
lumine sponsor job suggest <job-id> branch --note <message> | thumbnail
|
|
2790
|
+
lumine sponsor job thumbnail <job-id> set <file>
|
|
2791
|
+
lumine sponsor job rename <job-id> <title>
|
|
2792
|
+
lumine sponsor job describe <job-id> <text>
|
|
2793
|
+
lumine sponsor job update <job-id> --file <path> --kind question
|
|
2766
2794
|
lumine sponsor job complete <job-id> --summary <text>
|
|
2767
2795
|
lumine sponsor job fail <job-id> --reason <text>
|
|
2768
2796
|
lumine sponsor jobs
|
|
@@ -2818,8 +2846,8 @@ export function printHelp() {
|
|
|
2818
2846
|
lumine admin ai-bucket note set --bucket-id <id> --note <text> [--json]
|
|
2819
2847
|
lumine admin ai-email-policy get --email <address> [--json]
|
|
2820
2848
|
lumine admin ai-email-policy set --email <address> --mode <automatic|separate_accounts> --note <text> [--json]
|
|
2821
|
-
lumine admin daily-run start [--identity zero|ciel|auto] [--comment-mode off|draft|post] [--run-key <key>] [--json]
|
|
2822
|
-
lumine admin daily-run status|report|complete|fail [--reason <text>] [--json]
|
|
2849
|
+
lumine admin daily-run start [--scope full|featured] [--identity zero|ciel|auto] [--comment-mode off|draft|post] [--run-key <key>] [--json]
|
|
2850
|
+
lumine admin daily-run status|report|complete|fail [--run <completed-run-id>] [--reason <text>] [--json]
|
|
2823
2851
|
lumine admin daily-run escalation add --target <target> --note <summary> [--severity attention|urgent] [--json]
|
|
2824
2852
|
lumine admin escalation list [--status open|acknowledged|resolved|all] [--limit <number>] [--json]
|
|
2825
2853
|
lumine admin escalation set <audit-id> --status open|acknowledged|resolved --note <decision> [--json]
|
|
@@ -2836,13 +2864,15 @@ export function printHelp() {
|
|
|
2836
2864
|
lumine admin recommendations list [--since-run|--after <date>|--include-legacy] [--all --checkpoint <file> [--resume]] [--content-types comment,dailyReflection] [--unviewed|--viewed] [--cursor <cursor>] [--json]
|
|
2837
2865
|
lumine admin builds candidates [--all --checkpoint <file> [--resume]] [--cursor <cursor>] [--limit <number>] [--json]
|
|
2838
2866
|
lumine admin builds review <build-url-or-id> [--output-dir <dir>] [--wait-ms <ms>] [--browser-path <path>] [--json]
|
|
2839
|
-
lumine admin subjects candidates [--after <date
|
|
2867
|
+
lumine admin subjects candidates [--since-run|--after <date>|--include-legacy] [--effort unassigned] [--unviewed|--viewed] [--all --checkpoint <file> [--resume]] [--cursor <cursor>] [--json]
|
|
2840
2868
|
lumine admin subject get|reveal <subject-url-or-id> [--json]
|
|
2841
2869
|
lumine admin subject comments <subject-url-or-id> [--unviewed|--viewed] [--all --checkpoint <file> [--resume]] [--cursor <cursor>] [--json]
|
|
2842
2870
|
lumine admin subject effort set <subject-id> --level <1|2|3> [--json]
|
|
2843
2871
|
lumine admin subject creator set-made-by-poster <subject-id> [--json]
|
|
2844
2872
|
lumine admin subject feature|unfeature <subject-id> [--json]
|
|
2845
2873
|
lumine admin featured list [--unviewed|--viewed] [--json]
|
|
2874
|
+
lumine admin featured history --subject-ids <id,id,...> [--all --checkpoint <file> [--resume]] [--cursor <cursor>] [--json]
|
|
2875
|
+
lumine admin featured add --subject-ids <id,id,...> --posted-after <ISO-8601-or-Unix-time> [--json]
|
|
2846
2876
|
lumine admin featured reorder --subject-ids <id,id,...> [--json]
|
|
2847
2877
|
lumine admin featured rotate --remove-subject-ids <id,id,...> --add-subject-ids <id,id,...> [--json]
|
|
2848
2878
|
lumine admin post get <target> [--type subject|comment|aiStory|dailyReflection] [--json]
|
|
@@ -2857,13 +2887,21 @@ export function printHelp() {
|
|
|
2857
2887
|
lumine admin comment edit <comment-id> --file <comment.md> [--json]
|
|
2858
2888
|
lumine admin brief [--days <1..30>] [--json]
|
|
2859
2889
|
lumine admin ai-costs monthly [--json]
|
|
2890
|
+
lumine admin ai-costs day <YYYY-MM-DD> [--json]
|
|
2860
2891
|
lumine admin media-costs monthly [--json]
|
|
2892
|
+
lumine admin energy-budget [--days <1..31>] [--json]
|
|
2893
|
+
lumine admin runtime-logs start [--output-dir <dir>] [--review-session <file>] [--json]
|
|
2894
|
+
lumine admin runtime-logs status|read --review-session <file> [--json]
|
|
2895
|
+
lumine admin runtime-logs finish --review-session <file> --reviewed [--json]
|
|
2896
|
+
lumine admin runtime-logs resume [--output-dir <dir>] [--review-session <file>] [--json]
|
|
2897
|
+
lumine admin runtime-logs abandon [--review-session <file>] [--json]
|
|
2861
2898
|
lumine admin bot-output [--days <1..30>|--cursor <cursor>] [--json]
|
|
2862
2899
|
lumine admin announcement post --file <announcement.md> [--json]
|
|
2863
2900
|
lumine admin chat send <user-id|username> --file <message.md> [--json]
|
|
2864
2901
|
lumine admin news claim [--date YYYY-MM-DD] [--output <claim.json>] [--scaffold <editorial.json>] [--json]
|
|
2865
2902
|
lumine admin news validate --claim <claim.json> --file <editorial.json> [--json]
|
|
2866
2903
|
lumine admin news submit --claim <claim.json> --file <editorial.json> [--model <name>] [--json]
|
|
2904
|
+
lumine admin notable status <user-id|username> [--json]
|
|
2867
2905
|
lumine admin notable add <user-id|username> --note <text> [--json]
|
|
2868
2906
|
lumine admin audit [list] [--run current|last|<run-id>] [--target <target>] [--actions <a,b>] [--full] [--all --checkpoint <file> [--resume]] [--cursor <cursor>] [--json]
|
|
2869
2907
|
|
|
@@ -2913,6 +2951,7 @@ Examples:
|
|
|
2913
2951
|
npx @stage5/lumine@latest thumbnail generate --model gpt-image-2 --yes
|
|
2914
2952
|
npx @stage5/lumine@latest doctor runtime-assets --build 917 --json
|
|
2915
2953
|
npx @stage5/lumine@latest admin daily-run start --identity auto --comment-mode off --json
|
|
2954
|
+
npx @stage5/lumine@latest admin daily-run start --scope featured --identity auto --json
|
|
2916
2955
|
npx @stage5/lumine@latest admin recommendations list --json
|
|
2917
2956
|
npx @stage5/lumine@latest admin subjects candidates --effort unassigned --json
|
|
2918
2957
|
npx @stage5/lumine@latest admin subject get 123 --include-comments --json
|
|
@@ -2941,7 +2980,7 @@ Options:
|
|
|
2941
2980
|
--poll-ms <ms> Forum listener interval (1000-60000; default 3000)
|
|
2942
2981
|
--after <date> Admin listing: inclusive Unix/ISO creation boundary
|
|
2943
2982
|
--since-run Recommendations since the previous completed run (default)
|
|
2944
|
-
--include-legacy Explicitly include
|
|
2983
|
+
--include-legacy Explicitly include full historical recommendation/Subject rows
|
|
2945
2984
|
--all Automatically read every page in the canonical snapshot
|
|
2946
2985
|
--checkpoint <file> Persist bounded pagination metadata or batch progress
|
|
2947
2986
|
--resume Resume the exact request recorded by --checkpoint
|
|
@@ -2952,6 +2991,8 @@ Options:
|
|
|
2952
2991
|
--target-file <file> JSON array or newline list for audited batch skips
|
|
2953
2992
|
--review-receipt <f> Confirmed managed Build runtime review receipt
|
|
2954
2993
|
--review-context <f> Private JSON understanding from the reviewed Build
|
|
2994
|
+
--review-session <f> Private production-log review lease/checkpoint
|
|
2995
|
+
--reviewed Confirm every downloaded production-log byte was reviewed
|
|
2955
2996
|
--severity <level> Run escalation severity: attention or urgent
|
|
2956
2997
|
--status <state> Private escalation or todo lifecycle filter/state
|
|
2957
2998
|
--wait-ms <ms> Managed Build observation or sponsor watch duration
|