@arbidocs/tui 0.3.68 → 0.3.70
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/dist/index.js +28 -2
- package/dist/index.js.map +1 -1
- package/package.json +3 -3
package/dist/index.js
CHANGED
|
@@ -1413,10 +1413,27 @@ var miscCommands = [
|
|
|
1413
1413
|
},
|
|
1414
1414
|
{
|
|
1415
1415
|
name: "settings",
|
|
1416
|
-
description: "Show user settings",
|
|
1416
|
+
description: "Show or update user settings",
|
|
1417
|
+
argHint: "get | set <key> <value>",
|
|
1417
1418
|
requires: "auth",
|
|
1418
1419
|
run: async (ctx) => {
|
|
1419
|
-
const { arbi } = ctx;
|
|
1420
|
+
const { args, arbi } = ctx;
|
|
1421
|
+
const sub = args[0]?.toLowerCase();
|
|
1422
|
+
if (sub === "set") {
|
|
1423
|
+
const key = args[1];
|
|
1424
|
+
const rawValue = args.slice(2).join(" ").trim();
|
|
1425
|
+
if (!key || rawValue.length === 0) {
|
|
1426
|
+
return `${colors.error("Usage:")} /settings set <key> <value> (e.g. /settings set show_pa_mode true)`;
|
|
1427
|
+
}
|
|
1428
|
+
const value = coerceSettingValue(rawValue);
|
|
1429
|
+
await sdk.settings.updateSettings(arbi, {
|
|
1430
|
+
[key]: value
|
|
1431
|
+
});
|
|
1432
|
+
return `${colors.success("Updated")} ${colors.accent(key)} \u2192 ${String(value)}`;
|
|
1433
|
+
}
|
|
1434
|
+
if (sub && sub !== "get") {
|
|
1435
|
+
return `${colors.error("Unknown subcommand:")} /settings ${sub} \u2014 use /settings, /settings get, or /settings set <key> <value>`;
|
|
1436
|
+
}
|
|
1420
1437
|
const data = await sdk.settings.getSettings(arbi);
|
|
1421
1438
|
const entries = Object.entries(data);
|
|
1422
1439
|
if (entries.length === 0) return "No settings configured.";
|
|
@@ -1429,6 +1446,15 @@ var miscCommands = [
|
|
|
1429
1446
|
}
|
|
1430
1447
|
}
|
|
1431
1448
|
];
|
|
1449
|
+
function coerceSettingValue(raw) {
|
|
1450
|
+
const lower = raw.toLowerCase();
|
|
1451
|
+
if (lower === "true" || lower === "yes" || lower === "on") return true;
|
|
1452
|
+
if (lower === "false" || lower === "no" || lower === "off") return false;
|
|
1453
|
+
if (lower === "null") return null;
|
|
1454
|
+
if (/^-?\d+$/.test(raw)) return Number(raw);
|
|
1455
|
+
if (/^-?\d+\.\d+$/.test(raw)) return Number(raw);
|
|
1456
|
+
return raw;
|
|
1457
|
+
}
|
|
1432
1458
|
var MAX_PASSAGE_CHARS = 2e3;
|
|
1433
1459
|
var CitationPanel = class extends piTui.Box {
|
|
1434
1460
|
constructor(citation, passageIndex = 0) {
|