@blackasteroid/riu 0.2.0 → 0.4.0
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 +30 -3
- package/dist/agent-guide/manual.js +456 -0
- package/dist/agent-guide/manual.js.map +1 -0
- package/dist/cli.js +47 -2
- package/dist/cli.js.map +1 -1
- package/dist/commands/agent-guide.js +82 -0
- package/dist/commands/agent-guide.js.map +1 -0
- package/dist/commands/doctor.js +15 -8
- package/dist/commands/doctor.js.map +1 -1
- package/dist/commands/new.js +14 -1
- package/dist/commands/new.js.map +1 -1
- package/dist/commands/update.js +108 -13
- package/dist/commands/update.js.map +1 -1
- package/dist/commands/upload.js +41 -7
- package/dist/commands/upload.js.map +1 -1
- package/dist/config/store.js +17 -8
- package/dist/config/store.js.map +1 -1
- package/dist/manifest/sidecar.js +44 -0
- package/dist/manifest/sidecar.js.map +1 -0
- package/dist/sdk/installer.js +53 -11
- package/dist/sdk/installer.js.map +1 -1
- package/dist/sdk/locator.js +26 -3
- package/dist/sdk/locator.js.map +1 -1
- package/dist/steam/client.js +68 -12
- package/dist/steam/client.js.map +1 -1
- package/dist/steam/mock.js +8 -0
- package/dist/steam/mock.js.map +1 -1
- package/dist/steam/types.js.map +1 -1
- package/package.json +1 -1
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.tsx"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
import { readFileSync } from "node:fs";
|
|
2
|
+
import { fileURLToPath } from "node:url";
|
|
3
|
+
import { dirname, join } from "node:path";
|
|
4
|
+
import { buildGuide, renderMarkdown } from "../agent-guide/manual.js";
|
|
5
|
+
const VALID_SECTIONS = [
|
|
6
|
+
"purpose",
|
|
7
|
+
"mental-model",
|
|
8
|
+
"prerequisites",
|
|
9
|
+
"workflows",
|
|
10
|
+
"commands",
|
|
11
|
+
"errors",
|
|
12
|
+
"json-mode",
|
|
13
|
+
];
|
|
14
|
+
function loadPkg() {
|
|
15
|
+
const here = dirname(fileURLToPath(import.meta.url));
|
|
16
|
+
const pkgPath = join(here, "..", "..", "package.json");
|
|
17
|
+
return JSON.parse(readFileSync(pkgPath, "utf8"));
|
|
18
|
+
}
|
|
19
|
+
function pickSection(guide, section) {
|
|
20
|
+
switch (section) {
|
|
21
|
+
case "purpose":
|
|
22
|
+
return { purpose: guide.purpose };
|
|
23
|
+
case "mental-model":
|
|
24
|
+
return { mentalModel: guide.mentalModel };
|
|
25
|
+
case "prerequisites":
|
|
26
|
+
return { prerequisites: guide.prerequisites };
|
|
27
|
+
case "workflows":
|
|
28
|
+
return { workflows: guide.workflows };
|
|
29
|
+
case "commands":
|
|
30
|
+
return { commands: guide.commands };
|
|
31
|
+
case "errors":
|
|
32
|
+
return { errorEnvelope: guide.errorEnvelope };
|
|
33
|
+
case "json-mode":
|
|
34
|
+
return { jsonModeRules: guide.jsonModeRules };
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
function isValidSection(s) {
|
|
38
|
+
return VALID_SECTIONS.includes(s);
|
|
39
|
+
}
|
|
40
|
+
export function runAgentGuide(opts) {
|
|
41
|
+
const pkg = loadPkg();
|
|
42
|
+
const guide = buildGuide(pkg.name, pkg.version);
|
|
43
|
+
if (opts.section) {
|
|
44
|
+
if (!isValidSection(opts.section)) {
|
|
45
|
+
const msg = `unknown section "${opts.section}". Valid: ${VALID_SECTIONS.join(", ")}`;
|
|
46
|
+
if (opts.json) {
|
|
47
|
+
process.stdout.write(JSON.stringify({ status: "error", error: { message: msg } }) + "\n");
|
|
48
|
+
}
|
|
49
|
+
else {
|
|
50
|
+
process.stderr.write(`error: ${msg}\n`);
|
|
51
|
+
}
|
|
52
|
+
process.exit(2);
|
|
53
|
+
}
|
|
54
|
+
const sub = pickSection(guide, opts.section);
|
|
55
|
+
if (opts.json) {
|
|
56
|
+
process.stdout.write(JSON.stringify(sub) + "\n");
|
|
57
|
+
process.exit(0);
|
|
58
|
+
}
|
|
59
|
+
// Human-readable single section: render only the relevant slice of the
|
|
60
|
+
// markdown by building a slim guide and reusing the renderer.
|
|
61
|
+
const slim = {
|
|
62
|
+
name: guide.name,
|
|
63
|
+
version: guide.version,
|
|
64
|
+
purpose: opts.section === "purpose" ? guide.purpose : "",
|
|
65
|
+
mentalModel: opts.section === "mental-model" ? guide.mentalModel : "",
|
|
66
|
+
prerequisites: opts.section === "prerequisites" ? guide.prerequisites : "",
|
|
67
|
+
workflows: opts.section === "workflows" ? guide.workflows : [],
|
|
68
|
+
commands: opts.section === "commands" ? guide.commands : [],
|
|
69
|
+
errorEnvelope: opts.section === "errors" ? guide.errorEnvelope : "",
|
|
70
|
+
jsonModeRules: opts.section === "json-mode" ? guide.jsonModeRules : "",
|
|
71
|
+
};
|
|
72
|
+
process.stdout.write(renderMarkdown(slim));
|
|
73
|
+
process.exit(0);
|
|
74
|
+
}
|
|
75
|
+
if (opts.json) {
|
|
76
|
+
process.stdout.write(JSON.stringify(guide) + "\n");
|
|
77
|
+
process.exit(0);
|
|
78
|
+
}
|
|
79
|
+
process.stdout.write(renderMarkdown(guide));
|
|
80
|
+
process.exit(0);
|
|
81
|
+
}
|
|
82
|
+
//# sourceMappingURL=agent-guide.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agent-guide.js","sourceRoot":"","sources":["../../src/commands/agent-guide.tsx"],"names":[],"mappings":"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"}
|
package/dist/commands/doctor.js
CHANGED
|
@@ -2,15 +2,22 @@ import { execFileSync } from "node:child_process";
|
|
|
2
2
|
import { readConfig, CONFIG_PATH } from "../config/store.js";
|
|
3
3
|
import { probeDylib } from "../steam/client.js";
|
|
4
4
|
function detectSteamRunning() {
|
|
5
|
-
// Best-effort check
|
|
6
|
-
//
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
5
|
+
// Best-effort process check. The macOS Steam client process is named
|
|
6
|
+
// `steam_osx`, NOT `Steam` — original code matched on Steam and produced
|
|
7
|
+
// a false negative on every macOS user (#22 bug 1). Try the macOS name
|
|
8
|
+
// first, then the Linux name as a fallback. execFileSync (not execSync)
|
|
9
|
+
// so there's no shell interpretation and no injection risk.
|
|
10
|
+
const candidates = ["steam_osx", "Steam", "steam"];
|
|
11
|
+
for (const name of candidates) {
|
|
12
|
+
try {
|
|
13
|
+
execFileSync("pgrep", ["-x", name], { stdio: "ignore" });
|
|
14
|
+
return true;
|
|
15
|
+
}
|
|
16
|
+
catch {
|
|
17
|
+
// not found, try next
|
|
18
|
+
}
|
|
13
19
|
}
|
|
20
|
+
return false;
|
|
14
21
|
}
|
|
15
22
|
export function runDoctor(opts) {
|
|
16
23
|
const checks = [];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../src/commands/doctor.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAC7D,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAiBhD,SAAS,kBAAkB;IACzB,
|
|
1
|
+
{"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../src/commands/doctor.tsx"],"names":[],"mappings":"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"}
|
package/dist/commands/new.js
CHANGED
|
@@ -5,6 +5,7 @@ import { join, resolve } from "node:path";
|
|
|
5
5
|
import { z } from "zod";
|
|
6
6
|
import { buildManifest } from "../manifest/builder.js";
|
|
7
7
|
import { writeManifest, manifestPath } from "../manifest/writer.js";
|
|
8
|
+
import { writeSidecar, sidecarPath } from "../manifest/sidecar.js";
|
|
8
9
|
import { validateIcon } from "../utils/iconValidator.js";
|
|
9
10
|
import { slugify } from "../utils/slugify.js";
|
|
10
11
|
import { readConfig } from "../config/store.js";
|
|
@@ -83,6 +84,7 @@ async function generate(payload, opts) {
|
|
|
83
84
|
const warnings = [...buildResult.warnings, ...iconResult.warnings];
|
|
84
85
|
const targetIconPath = join(skinDir, "icon.png");
|
|
85
86
|
const targetManifestPath = manifestPath(skinDir);
|
|
87
|
+
const targetSidecarPath = sidecarPath(skinDir);
|
|
86
88
|
// Step 3: dry-run short-circuits before any filesystem mutation
|
|
87
89
|
if (opts.dryRun) {
|
|
88
90
|
emit(opts, {
|
|
@@ -91,6 +93,7 @@ async function generate(payload, opts) {
|
|
|
91
93
|
skinDir,
|
|
92
94
|
manifestPath: targetManifestPath,
|
|
93
95
|
iconPath: targetIconPath,
|
|
96
|
+
sidecarPath: targetSidecarPath,
|
|
94
97
|
manifest: buildResult.manifest,
|
|
95
98
|
warnings,
|
|
96
99
|
iconMeta: {
|
|
@@ -102,19 +105,29 @@ async function generate(payload, opts) {
|
|
|
102
105
|
},
|
|
103
106
|
}, 0);
|
|
104
107
|
}
|
|
105
|
-
// Step 4: write manifest + copy icon
|
|
108
|
+
// Step 4: write manifest + copy icon + write sidecar
|
|
106
109
|
if (existsSync(skinDir) && existsSync(targetManifestPath)) {
|
|
107
110
|
warnings.push(`overwriting existing manifest at ${targetManifestPath}`);
|
|
108
111
|
}
|
|
109
112
|
mkdirSync(skinDir, { recursive: true });
|
|
110
113
|
writeManifest(skinDir, buildResult.manifest, { originalAuthorId: cfg.authorId });
|
|
111
114
|
copyFileSync(iconAbs, targetIconPath);
|
|
115
|
+
// Persist title/description/tags so `riu upload` can pick them up without
|
|
116
|
+
// requiring the user to re-pass them. Battle-tested in #22 bug 5.
|
|
117
|
+
writeSidecar(skinDir, {
|
|
118
|
+
version: 1,
|
|
119
|
+
title: payload.title,
|
|
120
|
+
description: description,
|
|
121
|
+
tags: tags,
|
|
122
|
+
sourceIcon: iconAbs,
|
|
123
|
+
});
|
|
112
124
|
emit(opts, {
|
|
113
125
|
status: "ok",
|
|
114
126
|
mode: "written",
|
|
115
127
|
skinDir,
|
|
116
128
|
manifestPath: targetManifestPath,
|
|
117
129
|
iconPath: targetIconPath,
|
|
130
|
+
sidecarPath: targetSidecarPath,
|
|
118
131
|
manifest: buildResult.manifest,
|
|
119
132
|
warnings,
|
|
120
133
|
iconMeta: {
|
package/dist/commands/new.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"new.js","sourceRoot":"","sources":["../../src/commands/new.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,MAAM,EAAE,MAAM,KAAK,CAAC;AAC7B,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAC9D,OAAO,EAAE,IAAI,EAAE,OAAO,EAAY,MAAM,WAAW,CAAC;AACpD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACpE,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAqB,MAAM,wBAAwB,CAAC;AAQ1E,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC;IACpC,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,sBAAsB,CAAC;IACnD,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,mBAAmB,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,0BAA0B,CAAC;IAClF,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;IAC9C,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IAC3C,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,sBAAsB,CAAC;IACnD,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAChC,mBAAmB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;CAC3D,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"new.js","sourceRoot":"","sources":["../../src/commands/new.tsx"],"names":[],"mappings":"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"}
|
package/dist/commands/update.js
CHANGED
|
@@ -2,31 +2,66 @@ import { existsSync } from "node:fs";
|
|
|
2
2
|
import { join, resolve } from "node:path";
|
|
3
3
|
import { z } from "zod";
|
|
4
4
|
import { readConfig } from "../config/store.js";
|
|
5
|
-
import { findUpload, updateUploadTimestamp } from "../cache/uploads.js";
|
|
6
|
-
import { createSteamClient } from "../steam/client.js";
|
|
5
|
+
import { findUpload, updateUploadTimestamp, readCache } from "../cache/uploads.js";
|
|
6
|
+
import { createSteamClient, SteamSdkMissingError } from "../steam/client.js";
|
|
7
7
|
import { validateIcon } from "../utils/iconValidator.js";
|
|
8
|
+
import { updateSidecar } from "../manifest/sidecar.js";
|
|
9
|
+
import { writeFileSync } from "node:fs";
|
|
10
|
+
import { join as pjoin } from "node:path";
|
|
8
11
|
const UpdatePayloadSchema = z.object({
|
|
9
12
|
publishedFileId: z.string().min(1).optional(),
|
|
10
13
|
skinDir: z.string().min(1).optional(),
|
|
11
14
|
note: z.string().optional(),
|
|
15
|
+
title: z.string().min(1).max(128).optional(),
|
|
16
|
+
description: z.string().optional(),
|
|
17
|
+
tags: z.array(z.string().min(1)).optional(),
|
|
12
18
|
});
|
|
13
19
|
function emit(opts, payload, exitCode) {
|
|
14
20
|
if (opts.jsonFlag) {
|
|
15
21
|
process.stdout.write(JSON.stringify(payload) + "\n");
|
|
16
22
|
}
|
|
17
23
|
else {
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
process.stderr.write(`error: ${p.error?.message ?? "update failed"}\n`);
|
|
24
|
+
if (payload.status === "error") {
|
|
25
|
+
process.stderr.write(`error: ${payload.error?.message ?? "update failed"}\n`);
|
|
21
26
|
}
|
|
22
27
|
else {
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
28
|
+
const prefix = payload.mode === "dry-run"
|
|
29
|
+
? "[DRY RUN] would update"
|
|
30
|
+
: payload.mode === "metadata-only"
|
|
31
|
+
? "updated metadata for"
|
|
32
|
+
: "updated";
|
|
33
|
+
process.stdout.write(`✓ ${prefix} ${payload.publishedFileId}\n`);
|
|
34
|
+
if (payload.url)
|
|
35
|
+
process.stdout.write(` ${payload.url}\n`);
|
|
36
|
+
if (payload.updatedFields) {
|
|
37
|
+
if (payload.updatedFields.title !== undefined)
|
|
38
|
+
process.stdout.write(` title: ${payload.updatedFields.title}\n`);
|
|
39
|
+
if (payload.updatedFields.description !== undefined)
|
|
40
|
+
process.stdout.write(` description: ${payload.updatedFields.description}\n`);
|
|
41
|
+
if (payload.updatedFields.tags !== undefined)
|
|
42
|
+
process.stdout.write(` tags: ${payload.updatedFields.tags.join(", ")}\n`);
|
|
43
|
+
}
|
|
26
44
|
}
|
|
27
45
|
}
|
|
28
46
|
process.exit(exitCode);
|
|
29
47
|
}
|
|
48
|
+
function patchCacheEntry(cacheDir, publishedFileId, patch) {
|
|
49
|
+
const cache = readCache(cacheDir);
|
|
50
|
+
const entry = cache.uploads.find((u) => u.publishedFileId === publishedFileId);
|
|
51
|
+
if (!entry)
|
|
52
|
+
return;
|
|
53
|
+
if (patch.title !== undefined)
|
|
54
|
+
entry.title = patch.title;
|
|
55
|
+
if (patch.description !== undefined)
|
|
56
|
+
entry.description = patch.description;
|
|
57
|
+
if (patch.tags !== undefined)
|
|
58
|
+
entry.tags = patch.tags;
|
|
59
|
+
entry.uploadedAt = new Date().toISOString();
|
|
60
|
+
// Re-write the cache file with the patched entry. Same code path as
|
|
61
|
+
// appendUpload — keep the format identical.
|
|
62
|
+
const cacheFile = pjoin(cacheDir, "uploads.json");
|
|
63
|
+
writeFileSync(cacheFile, JSON.stringify(cache, null, 2) + "\n", "utf8");
|
|
64
|
+
}
|
|
30
65
|
export async function runUpdate(opts) {
|
|
31
66
|
const cfg = readConfig();
|
|
32
67
|
if (!cfg) {
|
|
@@ -36,18 +71,67 @@ export async function runUpdate(opts) {
|
|
|
36
71
|
let publishedFileId = opts.publishedFileId;
|
|
37
72
|
let skinDirRaw = opts.skinDir;
|
|
38
73
|
let note = opts.note;
|
|
74
|
+
let title = opts.title;
|
|
75
|
+
let description = opts.description;
|
|
76
|
+
let tags = opts.tags;
|
|
39
77
|
if (opts.jsonPayload && typeof opts.jsonPayload === "object") {
|
|
40
78
|
const parsed = UpdatePayloadSchema.safeParse(opts.jsonPayload);
|
|
41
79
|
if (parsed.success) {
|
|
42
80
|
publishedFileId = publishedFileId || parsed.data.publishedFileId || "";
|
|
43
81
|
skinDirRaw = skinDirRaw || parsed.data.skinDir;
|
|
44
82
|
note = note || parsed.data.note || "icon update";
|
|
83
|
+
title = title ?? parsed.data.title;
|
|
84
|
+
description = description ?? parsed.data.description;
|
|
85
|
+
tags = tags ?? parsed.data.tags;
|
|
45
86
|
}
|
|
46
87
|
}
|
|
47
88
|
if (!publishedFileId) {
|
|
48
89
|
emit(opts, { status: "error", error: { message: "publishedFileId is required" } }, 2);
|
|
49
90
|
}
|
|
50
|
-
//
|
|
91
|
+
// Branch A: metadata-only update (no skin folder needed). Triggered when
|
|
92
|
+
// any of --title/--description/--tags is set AND --skin-dir is NOT set.
|
|
93
|
+
// Doesn't touch the icon, just patches the workshop item's metadata.
|
|
94
|
+
const isMetadataOnly = (title !== undefined || description !== undefined || tags !== undefined) && !skinDirRaw;
|
|
95
|
+
if (isMetadataOnly) {
|
|
96
|
+
let client;
|
|
97
|
+
try {
|
|
98
|
+
client = await createSteamClient({
|
|
99
|
+
sdkPath: cfg.steamSdkPath,
|
|
100
|
+
appId: cfg.steamAppId,
|
|
101
|
+
mock: opts.dryRun,
|
|
102
|
+
});
|
|
103
|
+
}
|
|
104
|
+
catch (e) {
|
|
105
|
+
const field = e instanceof SteamSdkMissingError ? "steamSdkPath" : undefined;
|
|
106
|
+
emit(opts, { status: "error", error: { message: e instanceof Error ? e.message : String(e) } }, 1);
|
|
107
|
+
}
|
|
108
|
+
try {
|
|
109
|
+
const result = await client.updateSkinMetadata(publishedFileId, { title, description, tags }, note);
|
|
110
|
+
if (!opts.dryRun) {
|
|
111
|
+
patchCacheEntry(cfg.cacheDir, publishedFileId, { title, description, tags });
|
|
112
|
+
// If we have the skin folder cached, also patch the sidecar
|
|
113
|
+
const cached = findUpload(cfg.cacheDir, publishedFileId);
|
|
114
|
+
if (cached?.skinDir && existsSync(cached.skinDir)) {
|
|
115
|
+
updateSidecar(cached.skinDir, { title, description, tags });
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
client.shutdown();
|
|
119
|
+
emit(opts, {
|
|
120
|
+
status: "ok",
|
|
121
|
+
mode: opts.dryRun ? "dry-run" : "metadata-only",
|
|
122
|
+
publishedFileId: result.publishedFileId,
|
|
123
|
+
url: result.url,
|
|
124
|
+
updatedFields: { title, description, tags },
|
|
125
|
+
}, 0);
|
|
126
|
+
}
|
|
127
|
+
catch (e) {
|
|
128
|
+
client.shutdown();
|
|
129
|
+
emit(opts, { status: "error", error: { message: e instanceof Error ? e.message : String(e) } }, 1);
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
// Branch B: icon re-upload (the original update behavior). Resolves the
|
|
133
|
+
// skin folder from --skin-dir or local cache, then re-uploads preview +
|
|
134
|
+
// content. Optionally also patches metadata in the same submit.
|
|
51
135
|
let skinDir;
|
|
52
136
|
if (skinDirRaw) {
|
|
53
137
|
skinDir = resolve(skinDirRaw);
|
|
@@ -62,7 +146,7 @@ export async function runUpdate(opts) {
|
|
|
62
146
|
emit(opts, {
|
|
63
147
|
status: "error",
|
|
64
148
|
error: {
|
|
65
|
-
message: `no cached entry for ${publishedFileId} — pass --skin-dir to specify the folder explicitly`,
|
|
149
|
+
message: `no cached entry for ${publishedFileId} — pass --skin-dir to specify the folder explicitly, or pass --title/--description/--tags to do a metadata-only update`,
|
|
66
150
|
},
|
|
67
151
|
}, 2);
|
|
68
152
|
}
|
|
@@ -91,13 +175,21 @@ export async function runUpdate(opts) {
|
|
|
91
175
|
try {
|
|
92
176
|
const result = await client.updateSkinPreview(publishedFileId, {
|
|
93
177
|
skinDir,
|
|
94
|
-
title: "(unchanged)",
|
|
95
|
-
description: "(unchanged)",
|
|
96
|
-
tags: [],
|
|
178
|
+
title: title ?? "(unchanged)",
|
|
179
|
+
description: description ?? "(unchanged)",
|
|
180
|
+
tags: tags ?? [],
|
|
97
181
|
previewPng: iconPath,
|
|
98
182
|
}, note);
|
|
183
|
+
// If metadata flags were also passed, do a second submit to patch them
|
|
184
|
+
if (title !== undefined || description !== undefined || tags !== undefined) {
|
|
185
|
+
await client.updateSkinMetadata(publishedFileId, { title, description, tags }, note);
|
|
186
|
+
}
|
|
99
187
|
if (!opts.dryRun) {
|
|
100
188
|
updateUploadTimestamp(cfg.cacheDir, publishedFileId);
|
|
189
|
+
if (title !== undefined || description !== undefined || tags !== undefined) {
|
|
190
|
+
patchCacheEntry(cfg.cacheDir, publishedFileId, { title, description, tags });
|
|
191
|
+
}
|
|
192
|
+
updateSidecar(skinDir, { title, description, tags });
|
|
101
193
|
}
|
|
102
194
|
client.shutdown();
|
|
103
195
|
emit(opts, {
|
|
@@ -106,6 +198,9 @@ export async function runUpdate(opts) {
|
|
|
106
198
|
publishedFileId: result.publishedFileId,
|
|
107
199
|
url: result.url,
|
|
108
200
|
skinDir,
|
|
201
|
+
updatedFields: title !== undefined || description !== undefined || tags !== undefined
|
|
202
|
+
? { title, description, tags }
|
|
203
|
+
: undefined,
|
|
109
204
|
}, 0);
|
|
110
205
|
}
|
|
111
206
|
catch (e) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"update.js","sourceRoot":"","sources":["../../src/commands/update.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"update.js","sourceRoot":"","sources":["../../src/commands/update.tsx"],"names":[],"mappings":"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"}
|
package/dist/commands/upload.js
CHANGED
|
@@ -6,8 +6,9 @@ import { join, resolve } from "node:path";
|
|
|
6
6
|
import { z } from "zod";
|
|
7
7
|
import { readConfig } from "../config/store.js";
|
|
8
8
|
import { readManifest } from "../manifest/writer.js";
|
|
9
|
+
import { readSidecar, updateSidecar } from "../manifest/sidecar.js";
|
|
9
10
|
import { validateIcon } from "../utils/iconValidator.js";
|
|
10
|
-
import { createSteamClient } from "../steam/client.js";
|
|
11
|
+
import { createSteamClient, SteamSdkMissingError } from "../steam/client.js";
|
|
11
12
|
import { appendUpload } from "../cache/uploads.js";
|
|
12
13
|
import { UploadProgress } from "../ui/UploadProgress.js";
|
|
13
14
|
const UploadPayloadSchema = z.object({
|
|
@@ -74,13 +75,17 @@ async function resolveUpload(opts) {
|
|
|
74
75
|
if (!iconResult.ok) {
|
|
75
76
|
emitErr(opts, `icon validation failed: ${iconResult.errors.join("; ")}`, "iconPath");
|
|
76
77
|
}
|
|
78
|
+
// Read riu.json sidecar (written by `riu new`) for title/description/tags
|
|
79
|
+
// defaults. CLI flags override sidecar values, sidecar overrides config
|
|
80
|
+
// defaults, config defaults are the final fallback.
|
|
81
|
+
const sidecar = readSidecar(skinDir);
|
|
77
82
|
return {
|
|
78
83
|
skinDir,
|
|
79
84
|
iconPath,
|
|
80
85
|
itemType: manifest.ItemType,
|
|
81
|
-
title: titleOverride ?? manifest.ItemType + " skin",
|
|
82
|
-
description: descriptionOverride ?? cfg.defaultDescription,
|
|
83
|
-
tags: tagsOverride ?? cfg.defaultTags,
|
|
86
|
+
title: titleOverride ?? sidecar?.title ?? manifest.ItemType + " skin",
|
|
87
|
+
description: descriptionOverride ?? sidecar?.description ?? cfg.defaultDescription,
|
|
88
|
+
tags: tagsOverride ?? sidecar?.tags ?? cfg.defaultTags,
|
|
84
89
|
};
|
|
85
90
|
}
|
|
86
91
|
function UploadRunner({ resolved, client, dryRun, onDone }) {
|
|
@@ -136,7 +141,11 @@ export async function runUpload(opts) {
|
|
|
136
141
|
});
|
|
137
142
|
}
|
|
138
143
|
catch (e) {
|
|
139
|
-
|
|
144
|
+
// Only label the field as steamSdkPath if it actually was a missing-SDK
|
|
145
|
+
// problem. FFI loader / Steam init / network errors leave field unset
|
|
146
|
+
// so the user (or agent) doesn't go down the wrong rabbit hole.
|
|
147
|
+
const field = e instanceof SteamSdkMissingError ? "steamSdkPath" : undefined;
|
|
148
|
+
emitErr(opts, e instanceof Error ? e.message : String(e), field, 1);
|
|
140
149
|
}
|
|
141
150
|
// JSON mode: skip the Ink UI entirely, just run + emit a single result
|
|
142
151
|
if (opts.jsonFlag) {
|
|
@@ -149,17 +158,31 @@ export async function runUpload(opts) {
|
|
|
149
158
|
previewPng: resolved.iconPath,
|
|
150
159
|
});
|
|
151
160
|
// Persist to cache (dry-run entries get flagged so `riu list` can filter them)
|
|
161
|
+
const now = new Date().toISOString();
|
|
152
162
|
appendUpload(cfg.cacheDir, {
|
|
153
163
|
publishedFileId: result.publishedFileId,
|
|
154
164
|
title: resolved.title,
|
|
155
165
|
itemType: resolved.itemType,
|
|
156
166
|
skinDir: resolved.skinDir,
|
|
157
|
-
uploadedAt:
|
|
167
|
+
uploadedAt: now,
|
|
158
168
|
url: result.url,
|
|
159
169
|
tags: resolved.tags,
|
|
160
170
|
description: resolved.description,
|
|
161
171
|
dryRun: opts.dryRun || undefined,
|
|
162
172
|
});
|
|
173
|
+
// Persist back into the sidecar so the skin folder is self-describing
|
|
174
|
+
// (re-running riu upload on the same folder will see it's been uploaded).
|
|
175
|
+
// Skip in dry-run so the skin folder doesn't get polluted with mock IDs.
|
|
176
|
+
if (!opts.dryRun) {
|
|
177
|
+
updateSidecar(resolved.skinDir, {
|
|
178
|
+
publishedFileId: result.publishedFileId,
|
|
179
|
+
url: result.url,
|
|
180
|
+
uploadedAt: now,
|
|
181
|
+
title: resolved.title,
|
|
182
|
+
description: resolved.description,
|
|
183
|
+
tags: resolved.tags,
|
|
184
|
+
});
|
|
185
|
+
}
|
|
163
186
|
client.shutdown();
|
|
164
187
|
emitJson({
|
|
165
188
|
status: "ok",
|
|
@@ -180,17 +203,28 @@ export async function runUpload(opts) {
|
|
|
180
203
|
await new Promise((resolveOuter) => {
|
|
181
204
|
const app = render(_jsx(UploadRunner, { resolved: resolved, client: client, cfg: cfg, dryRun: opts.dryRun, onDone: (result, error) => {
|
|
182
205
|
if (!error) {
|
|
206
|
+
const now = new Date().toISOString();
|
|
183
207
|
appendUpload(cfg.cacheDir, {
|
|
184
208
|
publishedFileId: result.publishedFileId,
|
|
185
209
|
title: resolved.title,
|
|
186
210
|
itemType: resolved.itemType,
|
|
187
211
|
skinDir: resolved.skinDir,
|
|
188
|
-
uploadedAt:
|
|
212
|
+
uploadedAt: now,
|
|
189
213
|
url: result.url,
|
|
190
214
|
tags: resolved.tags,
|
|
191
215
|
description: resolved.description,
|
|
192
216
|
dryRun: opts.dryRun || undefined,
|
|
193
217
|
});
|
|
218
|
+
if (!opts.dryRun) {
|
|
219
|
+
updateSidecar(resolved.skinDir, {
|
|
220
|
+
publishedFileId: result.publishedFileId,
|
|
221
|
+
url: result.url,
|
|
222
|
+
uploadedAt: now,
|
|
223
|
+
title: resolved.title,
|
|
224
|
+
description: resolved.description,
|
|
225
|
+
tags: resolved.tags,
|
|
226
|
+
});
|
|
227
|
+
}
|
|
194
228
|
}
|
|
195
229
|
// Let the final frame render before tearing down
|
|
196
230
|
setTimeout(() => {
|