@stage5/lumine 0.2.66 → 0.2.68
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 +26 -1
- package/lib/admin-featured.js +559 -0
- package/lib/admin-runtime-logs.js +786 -0
- package/lib/admin-workflows.js +121 -46
- package/lib/admin.js +474 -40
- package/lib/commands.js +52 -8
- package/lib/sponsor-duty.js +479 -28
- package/package.json +1 -1
- package/sdk/BUILD_SDK_INDEX.md +2 -2
- package/sdk/LUMINE_ADMIN.md +515 -83
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
|
]);
|
|
@@ -2365,6 +2379,7 @@ export function parseArgs(args) {
|
|
|
2365
2379
|
adminCursor: raw.cursor ? String(raw.cursor) : "",
|
|
2366
2380
|
adminAfter: raw.after ? String(raw.after) : "",
|
|
2367
2381
|
adminPostedAfter: raw.postedAfter ? String(raw.postedAfter) : "",
|
|
2382
|
+
adminApprove: raw.approve ? String(raw.approve) : "",
|
|
2368
2383
|
adminSinceRun: Boolean(raw.sinceRun),
|
|
2369
2384
|
adminIncludeLegacy: Boolean(raw.includeLegacy),
|
|
2370
2385
|
adminIncludePrivateEvidence: parseBoolean(
|
|
@@ -2381,6 +2396,8 @@ export function parseArgs(args) {
|
|
|
2381
2396
|
adminTargetFile: raw.targetFile ? String(raw.targetFile) : "",
|
|
2382
2397
|
adminReviewReceipt: raw.reviewReceipt ? String(raw.reviewReceipt) : "",
|
|
2383
2398
|
adminReviewContext: raw.reviewContext ? String(raw.reviewContext) : "",
|
|
2399
|
+
adminReviewSession: raw.reviewSession ? String(raw.reviewSession) : "",
|
|
2400
|
+
adminReviewed: Boolean(raw.reviewed),
|
|
2384
2401
|
adminSeverity: raw.severity ? String(raw.severity) : "",
|
|
2385
2402
|
adminStatus: raw.status ? String(raw.status) : "",
|
|
2386
2403
|
adminDecision: raw.decision ? String(raw.decision) : "",
|
|
@@ -2411,8 +2428,11 @@ export function parseArgs(args) {
|
|
|
2411
2428
|
sponsorAgentOrdinal: raw.ordinal,
|
|
2412
2429
|
sponsorOutcome: raw.outcome ? String(raw.outcome) : "",
|
|
2413
2430
|
sponsorFailureReason: raw.reason ? String(raw.reason) : "",
|
|
2431
|
+
sponsorNoLeaseKeeper: Boolean(raw.noLeaseKeeper),
|
|
2432
|
+
sponsorHoldEverySeconds: raw.holdEverySeconds,
|
|
2414
2433
|
sponsorUpdateFile: raw.file ? String(raw.file) : "",
|
|
2415
2434
|
sponsorUpdatePhase: raw.phase ? String(raw.phase) : "",
|
|
2435
|
+
sponsorUpdateKind: raw.kind ? String(raw.kind) : "",
|
|
2416
2436
|
sponsorResolvedModel: raw.resolvedModel ? String(raw.resolvedModel) : "",
|
|
2417
2437
|
sponsorResolvedEffort: raw.resolvedEffort ? String(raw.resolvedEffort) : "",
|
|
2418
2438
|
sponsorResolvedServiceTier: raw.resolvedServiceTier
|
|
@@ -2765,6 +2785,13 @@ export function printHelp() {
|
|
|
2765
2785
|
lumine sponsor job update <job-id> --file <path> [--phase <name>]
|
|
2766
2786
|
lumine sponsor job relay-applied <job-id> <relay-id...>
|
|
2767
2787
|
lumine sponsor job helper-start|helper-complete <job-id> [options]
|
|
2788
|
+
lumine sponsor job sync-main <job-id>
|
|
2789
|
+
lumine sponsor job assets <job-id> upload <file...>
|
|
2790
|
+
lumine sponsor job suggest <job-id> branch --note <message> | thumbnail
|
|
2791
|
+
lumine sponsor job thumbnail <job-id> set <file>
|
|
2792
|
+
lumine sponsor job rename <job-id> <title>
|
|
2793
|
+
lumine sponsor job describe <job-id> <text>
|
|
2794
|
+
lumine sponsor job update <job-id> --file <path> --kind question
|
|
2768
2795
|
lumine sponsor job complete <job-id> --summary <text>
|
|
2769
2796
|
lumine sponsor job fail <job-id> --reason <text>
|
|
2770
2797
|
lumine sponsor jobs
|
|
@@ -2820,8 +2847,8 @@ export function printHelp() {
|
|
|
2820
2847
|
lumine admin ai-bucket note set --bucket-id <id> --note <text> [--json]
|
|
2821
2848
|
lumine admin ai-email-policy get --email <address> [--json]
|
|
2822
2849
|
lumine admin ai-email-policy set --email <address> --mode <automatic|separate_accounts> --note <text> [--json]
|
|
2823
|
-
lumine admin daily-run start [--scope full|featured] [--identity zero|ciel|auto] [--comment-mode off|draft|post] [--run-key <key>] [--json]
|
|
2824
|
-
lumine admin daily-run status|report|complete|fail [--reason <text>] [--json]
|
|
2850
|
+
lumine admin daily-run start [--scope full|featured|newspaper] [--identity zero|ciel|auto] [--comment-mode off|draft|post] [--run-key <key>] [--json]
|
|
2851
|
+
lumine admin daily-run status|report|complete|fail [--run <completed-run-id>] [--reason <text>] [--json]
|
|
2825
2852
|
lumine admin daily-run escalation add --target <target> --note <summary> [--severity attention|urgent] [--json]
|
|
2826
2853
|
lumine admin escalation list [--status open|acknowledged|resolved|all] [--limit <number>] [--json]
|
|
2827
2854
|
lumine admin escalation set <audit-id> --status open|acknowledged|resolved --note <decision> [--json]
|
|
@@ -2838,7 +2865,7 @@ export function printHelp() {
|
|
|
2838
2865
|
lumine admin recommendations list [--since-run|--after <date>|--include-legacy] [--all --checkpoint <file> [--resume]] [--content-types comment,dailyReflection] [--unviewed|--viewed] [--cursor <cursor>] [--json]
|
|
2839
2866
|
lumine admin builds candidates [--all --checkpoint <file> [--resume]] [--cursor <cursor>] [--limit <number>] [--json]
|
|
2840
2867
|
lumine admin builds review <build-url-or-id> [--output-dir <dir>] [--wait-ms <ms>] [--browser-path <path>] [--json]
|
|
2841
|
-
lumine admin subjects candidates [--after <date
|
|
2868
|
+
lumine admin subjects candidates [--since-run|--after <date>|--include-legacy] [--effort unassigned] [--unviewed|--viewed] [--all --checkpoint <file> [--resume]] [--cursor <cursor>] [--json]
|
|
2842
2869
|
lumine admin subject get|reveal <subject-url-or-id> [--json]
|
|
2843
2870
|
lumine admin subject comments <subject-url-or-id> [--unviewed|--viewed] [--all --checkpoint <file> [--resume]] [--cursor <cursor>] [--json]
|
|
2844
2871
|
lumine admin subject effort set <subject-id> --level <1|2|3> [--json]
|
|
@@ -2848,9 +2875,15 @@ export function printHelp() {
|
|
|
2848
2875
|
lumine admin featured history --subject-ids <id,id,...> [--all --checkpoint <file> [--resume]] [--cursor <cursor>] [--json]
|
|
2849
2876
|
lumine admin featured add --subject-ids <id,id,...> --posted-after <ISO-8601-or-Unix-time> [--json]
|
|
2850
2877
|
lumine admin featured reorder --subject-ids <id,id,...> [--json]
|
|
2851
|
-
lumine admin featured rotate --remove-subject-ids <id,id,...> --add-subject-ids <id,id,...> [--json]
|
|
2878
|
+
lumine admin featured rotate --remove-subject-ids <id,id,...> --add-subject-ids <id,id,...> [--posted-after <timestamp>] [--json]
|
|
2879
|
+
lumine admin featured plan --remove-subject-ids <ids> --add-subject-ids <ids> [--subject-ids <final-order>] --posted-after <timestamp> --output <plan.json> [--json]
|
|
2880
|
+
lumine admin featured apply --file <plan.json> --approve <exact-plan-hash> [--json]
|
|
2881
|
+
lumine admin featured comments scan --checkpoint <file> [--resume] [--json]
|
|
2882
|
+
lumine admin featured comments acknowledge --checkpoint <scan-file> --reviewed [--json]
|
|
2883
|
+
lumine admin featured comments recommend --file <decisions.json> --checkpoint <batch-file> [--resume] [--json]
|
|
2884
|
+
lumine admin featured comments report --checkpoint <scan-file> [--json]
|
|
2852
2885
|
lumine admin post get <target> [--type subject|comment|aiStory|dailyReflection] [--json]
|
|
2853
|
-
lumine admin post comments <target> [--type subject|aiStory|dailyReflection] [--unviewed|--viewed] [--all --checkpoint <file> [--resume]] [--cursor <cursor>] [--json]
|
|
2886
|
+
lumine admin post comments <target> [--type subject|build|aiStory|dailyReflection] [--unviewed|--viewed] [--all --checkpoint <file> [--resume]] [--cursor <cursor>] [--json]
|
|
2854
2887
|
lumine admin post recommend <target> [--type subject|comment|aiStory|dailyReflection] [--anyone-can-reward] [--reward-twinkles 3] [--json]
|
|
2855
2888
|
lumine admin post skip <target> [--type comment|aiStory|dailyReflection] [--reason <text>] [--json]
|
|
2856
2889
|
lumine admin post skip-batch --target-file <json-or-lines> [--reason <text>] [--checkpoint <file> [--resume]] [--json]
|
|
@@ -2860,14 +2893,22 @@ export function printHelp() {
|
|
|
2860
2893
|
lumine admin comment post --draft-id <id> [--json]
|
|
2861
2894
|
lumine admin comment edit <comment-id> --file <comment.md> [--json]
|
|
2862
2895
|
lumine admin brief [--days <1..30>] [--json]
|
|
2863
|
-
lumine admin ai-costs monthly [--json]
|
|
2896
|
+
lumine admin ai-costs monthly [--output <file.json>] [--json] (no active run required)
|
|
2897
|
+
lumine admin ai-costs day <YYYY-MM-DD> [--json]
|
|
2864
2898
|
lumine admin media-costs monthly [--json]
|
|
2899
|
+
lumine admin energy-budget [--days <1..31>] [--json]
|
|
2900
|
+
lumine admin runtime-logs start [--output-dir <dir>] [--review-session <file>] [--json]
|
|
2901
|
+
lumine admin runtime-logs status|read --review-session <file> [--json]
|
|
2902
|
+
lumine admin runtime-logs finish --review-session <file> --reviewed [--json]
|
|
2903
|
+
lumine admin runtime-logs resume [--output-dir <dir>] [--review-session <file>] [--json]
|
|
2904
|
+
lumine admin runtime-logs abandon [--review-session <file>] [--json]
|
|
2865
2905
|
lumine admin bot-output [--days <1..30>|--cursor <cursor>] [--json]
|
|
2866
2906
|
lumine admin announcement post --file <announcement.md> [--json]
|
|
2867
2907
|
lumine admin chat send <user-id|username> --file <message.md> [--json]
|
|
2868
2908
|
lumine admin news claim [--date YYYY-MM-DD] [--output <claim.json>] [--scaffold <editorial.json>] [--json]
|
|
2869
2909
|
lumine admin news validate --claim <claim.json> --file <editorial.json> [--json]
|
|
2870
2910
|
lumine admin news submit --claim <claim.json> --file <editorial.json> [--model <name>] [--json]
|
|
2911
|
+
lumine admin notable status <user-id|username> [--json]
|
|
2871
2912
|
lumine admin notable add <user-id|username> --note <text> [--json]
|
|
2872
2913
|
lumine admin audit [list] [--run current|last|<run-id>] [--target <target>] [--actions <a,b>] [--full] [--all --checkpoint <file> [--resume]] [--cursor <cursor>] [--json]
|
|
2873
2914
|
|
|
@@ -2946,7 +2987,7 @@ Options:
|
|
|
2946
2987
|
--poll-ms <ms> Forum listener interval (1000-60000; default 3000)
|
|
2947
2988
|
--after <date> Admin listing: inclusive Unix/ISO creation boundary
|
|
2948
2989
|
--since-run Recommendations since the previous completed run (default)
|
|
2949
|
-
--include-legacy Explicitly include
|
|
2990
|
+
--include-legacy Explicitly include full historical recommendation/Subject rows
|
|
2950
2991
|
--all Automatically read every page in the canonical snapshot
|
|
2951
2992
|
--checkpoint <file> Persist bounded pagination metadata or batch progress
|
|
2952
2993
|
--resume Resume the exact request recorded by --checkpoint
|
|
@@ -2957,6 +2998,8 @@ Options:
|
|
|
2957
2998
|
--target-file <file> JSON array or newline list for audited batch skips
|
|
2958
2999
|
--review-receipt <f> Confirmed managed Build runtime review receipt
|
|
2959
3000
|
--review-context <f> Private JSON understanding from the reviewed Build
|
|
3001
|
+
--review-session <f> Private production-log review lease/checkpoint
|
|
3002
|
+
--reviewed Explicitly acknowledge downloaded logs or Featured comment pages as read
|
|
2960
3003
|
--severity <level> Run escalation severity: attention or urgent
|
|
2961
3004
|
--status <state> Private escalation or todo lifecycle filter/state
|
|
2962
3005
|
--wait-ms <ms> Managed Build observation or sponsor watch duration
|
|
@@ -2972,6 +3015,7 @@ Options:
|
|
|
2972
3015
|
--subject-ids <ids> Complete ordered Featured subject IDs
|
|
2973
3016
|
--remove-subject-ids <ids> Featured subjects approved for rotation removal
|
|
2974
3017
|
--add-subject-ids <ids> Ordered replacement subjects for Featured rotation
|
|
3018
|
+
--approve <hash> Exact Featured plan hash, only after Mikey's go-ahead
|
|
2975
3019
|
--bucket-id <id> Unbanned AI identity bucket for account consolidation
|
|
2976
3020
|
--label <name> Name for a new unbanned AI identity bucket
|
|
2977
3021
|
--user-ids <ids> Explicit user IDs for an AI bucket batch (up to 500)
|