@cleocode/cleo 2026.5.73 → 2026.5.75
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/cli/index.js +365 -173
- package/dist/cli/index.js.map +3 -3
- package/package.json +10 -10
package/dist/cli/index.js
CHANGED
|
@@ -2779,6 +2779,171 @@ var init_src2 = __esm({
|
|
|
2779
2779
|
}
|
|
2780
2780
|
});
|
|
2781
2781
|
|
|
2782
|
+
// packages/cleo/src/cli/renderers/colors.ts
|
|
2783
|
+
function ansi(code) {
|
|
2784
|
+
return colorsEnabled ? code : "";
|
|
2785
|
+
}
|
|
2786
|
+
function statusSymbol(status) {
|
|
2787
|
+
const map2 = unicodeEnabled ? TASK_STATUS_SYMBOLS_UNICODE : TASK_STATUS_SYMBOLS_ASCII;
|
|
2788
|
+
return map2[status] ?? "?";
|
|
2789
|
+
}
|
|
2790
|
+
function statusColor(status) {
|
|
2791
|
+
switch (status) {
|
|
2792
|
+
case "pending":
|
|
2793
|
+
return CYAN;
|
|
2794
|
+
case "active":
|
|
2795
|
+
return GREEN;
|
|
2796
|
+
case "blocked":
|
|
2797
|
+
return RED;
|
|
2798
|
+
case "done":
|
|
2799
|
+
return DIM;
|
|
2800
|
+
case "cancelled":
|
|
2801
|
+
return DIM;
|
|
2802
|
+
case "archived":
|
|
2803
|
+
return DIM;
|
|
2804
|
+
default:
|
|
2805
|
+
return "";
|
|
2806
|
+
}
|
|
2807
|
+
}
|
|
2808
|
+
function prioritySymbol(priority) {
|
|
2809
|
+
if (unicodeEnabled) {
|
|
2810
|
+
switch (priority) {
|
|
2811
|
+
case "critical":
|
|
2812
|
+
return "\u{1F534}";
|
|
2813
|
+
// red circle emoji
|
|
2814
|
+
case "high":
|
|
2815
|
+
return "\u{1F7E1}";
|
|
2816
|
+
// yellow circle emoji
|
|
2817
|
+
case "medium":
|
|
2818
|
+
return "\u{1F535}";
|
|
2819
|
+
// blue circle emoji
|
|
2820
|
+
case "low":
|
|
2821
|
+
return "\u26AA";
|
|
2822
|
+
// white circle emoji
|
|
2823
|
+
default:
|
|
2824
|
+
return "";
|
|
2825
|
+
}
|
|
2826
|
+
}
|
|
2827
|
+
switch (priority) {
|
|
2828
|
+
case "critical":
|
|
2829
|
+
return "!";
|
|
2830
|
+
case "high":
|
|
2831
|
+
return "H";
|
|
2832
|
+
case "medium":
|
|
2833
|
+
return "M";
|
|
2834
|
+
case "low":
|
|
2835
|
+
return "L";
|
|
2836
|
+
default:
|
|
2837
|
+
return "";
|
|
2838
|
+
}
|
|
2839
|
+
}
|
|
2840
|
+
function priorityColor(priority) {
|
|
2841
|
+
switch (priority) {
|
|
2842
|
+
case "critical":
|
|
2843
|
+
return RED;
|
|
2844
|
+
case "high":
|
|
2845
|
+
return YELLOW;
|
|
2846
|
+
case "medium":
|
|
2847
|
+
return BLUE;
|
|
2848
|
+
case "low":
|
|
2849
|
+
return DIM;
|
|
2850
|
+
default:
|
|
2851
|
+
return "";
|
|
2852
|
+
}
|
|
2853
|
+
}
|
|
2854
|
+
function hRule(width = 65) {
|
|
2855
|
+
return BOX.h.repeat(width);
|
|
2856
|
+
}
|
|
2857
|
+
function shortDate(isoDate) {
|
|
2858
|
+
if (!isoDate) return "";
|
|
2859
|
+
return isoDate.split("T")[0] ?? isoDate;
|
|
2860
|
+
}
|
|
2861
|
+
var colorsEnabled, unicodeEnabled, BOLD, DIM, NC, RED, GREEN, YELLOW, BLUE, MAGENTA, CYAN, BOX;
|
|
2862
|
+
var init_colors = __esm({
|
|
2863
|
+
"packages/cleo/src/cli/renderers/colors.ts"() {
|
|
2864
|
+
"use strict";
|
|
2865
|
+
init_src2();
|
|
2866
|
+
colorsEnabled = (() => {
|
|
2867
|
+
if (process.env["NO_COLOR"] !== void 0) return false;
|
|
2868
|
+
if (process.env["FORCE_COLOR"] !== void 0) return true;
|
|
2869
|
+
return process.stdout.isTTY === true;
|
|
2870
|
+
})();
|
|
2871
|
+
unicodeEnabled = (() => {
|
|
2872
|
+
const lang = process.env["LANG"] ?? "";
|
|
2873
|
+
if (lang === "C" || lang === "POSIX") return false;
|
|
2874
|
+
return lang.includes("UTF") || process.platform === "darwin";
|
|
2875
|
+
})();
|
|
2876
|
+
BOLD = ansi("\x1B[1m");
|
|
2877
|
+
DIM = ansi("\x1B[2m");
|
|
2878
|
+
NC = ansi("\x1B[0m");
|
|
2879
|
+
RED = ansi("\x1B[0;31m");
|
|
2880
|
+
GREEN = ansi("\x1B[0;32m");
|
|
2881
|
+
YELLOW = ansi("\x1B[1;33m");
|
|
2882
|
+
BLUE = ansi("\x1B[0;34m");
|
|
2883
|
+
MAGENTA = ansi("\x1B[0;35m");
|
|
2884
|
+
CYAN = ansi("\x1B[0;36m");
|
|
2885
|
+
BOX = unicodeEnabled ? {
|
|
2886
|
+
tl: "\u256D",
|
|
2887
|
+
tr: "\u256E",
|
|
2888
|
+
bl: "\u2570",
|
|
2889
|
+
br: "\u256F",
|
|
2890
|
+
h: "\u2500",
|
|
2891
|
+
v: "\u2502",
|
|
2892
|
+
ml: "\u251C",
|
|
2893
|
+
mr: "\u2524"
|
|
2894
|
+
} : { tl: "+", tr: "+", bl: "+", br: "+", h: "-", v: "|", ml: "+", mr: "+" };
|
|
2895
|
+
}
|
|
2896
|
+
});
|
|
2897
|
+
|
|
2898
|
+
// packages/cleo/src/cli/renderers/format-helpers.ts
|
|
2899
|
+
function pagerFooter(input) {
|
|
2900
|
+
const { shown, page } = input;
|
|
2901
|
+
const total = page?.total ?? input.total ?? shown;
|
|
2902
|
+
const filtered = input.filtered;
|
|
2903
|
+
const hasMore = page?.hasMore === true || shown < total;
|
|
2904
|
+
const filterActive = typeof filtered === "number" && filtered !== total;
|
|
2905
|
+
if (!hasMore && !filterActive) return "";
|
|
2906
|
+
const parts = [`${shown} of ${total}`];
|
|
2907
|
+
if (filterActive) parts.push(`${filtered} after filter`);
|
|
2908
|
+
if (typeof page?.offset === "number") parts.push(`offset ${page.offset}`);
|
|
2909
|
+
if (typeof page?.limit === "number") parts.push(`--limit ${page.limit}`);
|
|
2910
|
+
if (hasMore) parts.push("--json for full set");
|
|
2911
|
+
return `${DIM}\u2500\u2500\u2500 ${parts.join(" \xB7 ")} \u2500\u2500\u2500${NC}`;
|
|
2912
|
+
}
|
|
2913
|
+
function metaFooter(meta) {
|
|
2914
|
+
if (!meta || typeof meta !== "object") return "";
|
|
2915
|
+
const lines = [];
|
|
2916
|
+
const deprecated = meta["deprecated"];
|
|
2917
|
+
if (deprecated && typeof deprecated === "object") {
|
|
2918
|
+
const since = deprecated.since ? ` since ${deprecated.since}` : "";
|
|
2919
|
+
const removeIn = deprecated.removeIn ? ` \xB7 removed in ${deprecated.removeIn}` : "";
|
|
2920
|
+
const replacement = deprecated.replacement ? ` \xB7 use \`${deprecated.replacement}\`` : "";
|
|
2921
|
+
lines.push(`${DIM}deprecated${since}${removeIn}${replacement}${NC}`);
|
|
2922
|
+
}
|
|
2923
|
+
const nexus = meta["_nexus"];
|
|
2924
|
+
const duration = meta["duration_ms"];
|
|
2925
|
+
const chips = [];
|
|
2926
|
+
if (nexus && typeof nexus === "object") {
|
|
2927
|
+
if (typeof nexus["scope"] === "string") chips.push(`scope=${nexus["scope"]}`);
|
|
2928
|
+
if (typeof nexus["projectName"] === "string") {
|
|
2929
|
+
chips.push(`project=${nexus["projectName"]}`);
|
|
2930
|
+
} else if (typeof nexus["projectId"] === "string") {
|
|
2931
|
+
const pid = String(nexus["projectId"]);
|
|
2932
|
+
chips.push(`project=${pid.length > 16 ? `${pid.slice(0, 13)}\u2026` : pid}`);
|
|
2933
|
+
}
|
|
2934
|
+
if (nexus["indexFreshness"] === "stale") chips.push(`${DIM}index=stale${NC}`);
|
|
2935
|
+
}
|
|
2936
|
+
if (typeof duration === "number" && duration > 0) chips.push(`${duration} ms`);
|
|
2937
|
+
if (chips.length > 0) lines.push(`${DIM}[${chips.join(" \xB7 ")}]${NC}`);
|
|
2938
|
+
return lines.join("\n");
|
|
2939
|
+
}
|
|
2940
|
+
var init_format_helpers = __esm({
|
|
2941
|
+
"packages/cleo/src/cli/renderers/format-helpers.ts"() {
|
|
2942
|
+
"use strict";
|
|
2943
|
+
init_colors();
|
|
2944
|
+
}
|
|
2945
|
+
});
|
|
2946
|
+
|
|
2782
2947
|
// packages/cleo/src/cli/renderers/lafs-validator.ts
|
|
2783
2948
|
function validateLafsShape(envelope) {
|
|
2784
2949
|
const report = {
|
|
@@ -2986,122 +3151,6 @@ var init_tree_context = __esm({
|
|
|
2986
3151
|
}
|
|
2987
3152
|
});
|
|
2988
3153
|
|
|
2989
|
-
// packages/cleo/src/cli/renderers/colors.ts
|
|
2990
|
-
function ansi(code) {
|
|
2991
|
-
return colorsEnabled ? code : "";
|
|
2992
|
-
}
|
|
2993
|
-
function statusSymbol(status) {
|
|
2994
|
-
const map2 = unicodeEnabled ? TASK_STATUS_SYMBOLS_UNICODE : TASK_STATUS_SYMBOLS_ASCII;
|
|
2995
|
-
return map2[status] ?? "?";
|
|
2996
|
-
}
|
|
2997
|
-
function statusColor(status) {
|
|
2998
|
-
switch (status) {
|
|
2999
|
-
case "pending":
|
|
3000
|
-
return CYAN;
|
|
3001
|
-
case "active":
|
|
3002
|
-
return GREEN;
|
|
3003
|
-
case "blocked":
|
|
3004
|
-
return RED;
|
|
3005
|
-
case "done":
|
|
3006
|
-
return DIM;
|
|
3007
|
-
case "cancelled":
|
|
3008
|
-
return DIM;
|
|
3009
|
-
case "archived":
|
|
3010
|
-
return DIM;
|
|
3011
|
-
default:
|
|
3012
|
-
return "";
|
|
3013
|
-
}
|
|
3014
|
-
}
|
|
3015
|
-
function prioritySymbol(priority) {
|
|
3016
|
-
if (unicodeEnabled) {
|
|
3017
|
-
switch (priority) {
|
|
3018
|
-
case "critical":
|
|
3019
|
-
return "\u{1F534}";
|
|
3020
|
-
// red circle emoji
|
|
3021
|
-
case "high":
|
|
3022
|
-
return "\u{1F7E1}";
|
|
3023
|
-
// yellow circle emoji
|
|
3024
|
-
case "medium":
|
|
3025
|
-
return "\u{1F535}";
|
|
3026
|
-
// blue circle emoji
|
|
3027
|
-
case "low":
|
|
3028
|
-
return "\u26AA";
|
|
3029
|
-
// white circle emoji
|
|
3030
|
-
default:
|
|
3031
|
-
return "";
|
|
3032
|
-
}
|
|
3033
|
-
}
|
|
3034
|
-
switch (priority) {
|
|
3035
|
-
case "critical":
|
|
3036
|
-
return "!";
|
|
3037
|
-
case "high":
|
|
3038
|
-
return "H";
|
|
3039
|
-
case "medium":
|
|
3040
|
-
return "M";
|
|
3041
|
-
case "low":
|
|
3042
|
-
return "L";
|
|
3043
|
-
default:
|
|
3044
|
-
return "";
|
|
3045
|
-
}
|
|
3046
|
-
}
|
|
3047
|
-
function priorityColor(priority) {
|
|
3048
|
-
switch (priority) {
|
|
3049
|
-
case "critical":
|
|
3050
|
-
return RED;
|
|
3051
|
-
case "high":
|
|
3052
|
-
return YELLOW;
|
|
3053
|
-
case "medium":
|
|
3054
|
-
return BLUE;
|
|
3055
|
-
case "low":
|
|
3056
|
-
return DIM;
|
|
3057
|
-
default:
|
|
3058
|
-
return "";
|
|
3059
|
-
}
|
|
3060
|
-
}
|
|
3061
|
-
function hRule(width = 65) {
|
|
3062
|
-
return BOX.h.repeat(width);
|
|
3063
|
-
}
|
|
3064
|
-
function shortDate(isoDate) {
|
|
3065
|
-
if (!isoDate) return "";
|
|
3066
|
-
return isoDate.split("T")[0] ?? isoDate;
|
|
3067
|
-
}
|
|
3068
|
-
var colorsEnabled, unicodeEnabled, BOLD, DIM, NC, RED, GREEN, YELLOW, BLUE, MAGENTA, CYAN, BOX;
|
|
3069
|
-
var init_colors = __esm({
|
|
3070
|
-
"packages/cleo/src/cli/renderers/colors.ts"() {
|
|
3071
|
-
"use strict";
|
|
3072
|
-
init_src2();
|
|
3073
|
-
colorsEnabled = (() => {
|
|
3074
|
-
if (process.env["NO_COLOR"] !== void 0) return false;
|
|
3075
|
-
if (process.env["FORCE_COLOR"] !== void 0) return true;
|
|
3076
|
-
return process.stdout.isTTY === true;
|
|
3077
|
-
})();
|
|
3078
|
-
unicodeEnabled = (() => {
|
|
3079
|
-
const lang = process.env["LANG"] ?? "";
|
|
3080
|
-
if (lang === "C" || lang === "POSIX") return false;
|
|
3081
|
-
return lang.includes("UTF") || process.platform === "darwin";
|
|
3082
|
-
})();
|
|
3083
|
-
BOLD = ansi("\x1B[1m");
|
|
3084
|
-
DIM = ansi("\x1B[2m");
|
|
3085
|
-
NC = ansi("\x1B[0m");
|
|
3086
|
-
RED = ansi("\x1B[0;31m");
|
|
3087
|
-
GREEN = ansi("\x1B[0;32m");
|
|
3088
|
-
YELLOW = ansi("\x1B[1;33m");
|
|
3089
|
-
BLUE = ansi("\x1B[0;34m");
|
|
3090
|
-
MAGENTA = ansi("\x1B[0;35m");
|
|
3091
|
-
CYAN = ansi("\x1B[0;36m");
|
|
3092
|
-
BOX = unicodeEnabled ? {
|
|
3093
|
-
tl: "\u256D",
|
|
3094
|
-
tr: "\u256E",
|
|
3095
|
-
bl: "\u2570",
|
|
3096
|
-
br: "\u256F",
|
|
3097
|
-
h: "\u2500",
|
|
3098
|
-
v: "\u2502",
|
|
3099
|
-
ml: "\u251C",
|
|
3100
|
-
mr: "\u2524"
|
|
3101
|
-
} : { tl: "+", tr: "+", bl: "+", br: "+", h: "-", v: "|", ml: "+", mr: "+" };
|
|
3102
|
-
}
|
|
3103
|
-
});
|
|
3104
|
-
|
|
3105
3154
|
// packages/cleo/src/cli/renderers/system.ts
|
|
3106
3155
|
import { formatTree, formatWaves } from "@cleocode/core/formatters";
|
|
3107
3156
|
function cliColorize(text, style) {
|
|
@@ -3129,25 +3178,39 @@ function cliColorize(text, style) {
|
|
|
3129
3178
|
}
|
|
3130
3179
|
}
|
|
3131
3180
|
function renderDoctor(data, quiet) {
|
|
3132
|
-
const
|
|
3133
|
-
const
|
|
3134
|
-
const
|
|
3181
|
+
const overall = data["overall"] ?? "unknown";
|
|
3182
|
+
const version = data["version"];
|
|
3183
|
+
const installation = data["installation"];
|
|
3135
3184
|
const checks = data["checks"];
|
|
3136
3185
|
if (quiet) {
|
|
3137
|
-
return
|
|
3186
|
+
return overall;
|
|
3138
3187
|
}
|
|
3139
3188
|
const lines = [];
|
|
3140
|
-
const
|
|
3141
|
-
lines.push(`System Status: ${
|
|
3142
|
-
if (
|
|
3143
|
-
if (
|
|
3144
|
-
|
|
3145
|
-
|
|
3189
|
+
const statusBadge = overall === "pass" ? `${GREEN}${BOLD}HEALTHY${NC}` : overall === "warning" ? `${YELLOW}${BOLD}DEGRADED${NC}` : overall === "fail" ? `${RED}${BOLD}UNHEALTHY${NC}` : `${DIM}${overall.toUpperCase()}${NC}`;
|
|
3190
|
+
lines.push(`System Status: ${statusBadge}`);
|
|
3191
|
+
if (version) lines.push(` ${DIM}Version:${NC} ${version}`);
|
|
3192
|
+
if (installation) lines.push(` ${DIM}Installation:${NC} ${installation}`);
|
|
3193
|
+
if (checks && checks.length > 0) {
|
|
3194
|
+
let passCount = 0;
|
|
3195
|
+
let warnCount = 0;
|
|
3196
|
+
let failCount = 0;
|
|
3197
|
+
for (const c of checks) {
|
|
3198
|
+
const s = c["status"];
|
|
3199
|
+
if (s === "pass") passCount++;
|
|
3200
|
+
else if (s === "warn" || s === "warning") warnCount++;
|
|
3201
|
+
else failCount++;
|
|
3202
|
+
}
|
|
3203
|
+
lines.push(
|
|
3204
|
+
` ${DIM}Checks:${NC} ${GREEN}${passCount} pass${NC} \xB7 ${YELLOW}${warnCount} warn${NC} \xB7 ${RED}${failCount} fail${NC}`
|
|
3205
|
+
);
|
|
3206
|
+
lines.push("");
|
|
3146
3207
|
for (const check of checks) {
|
|
3147
3208
|
const status = check["status"];
|
|
3209
|
+
const name = check["name"];
|
|
3148
3210
|
const message = check["message"];
|
|
3149
|
-
const icon = status === "
|
|
3150
|
-
|
|
3211
|
+
const icon = status === "pass" ? `${GREEN}\u2713${NC}` : status === "warn" || status === "warning" ? `${YELLOW}\u26A0${NC}` : `${RED}\u2717${NC}`;
|
|
3212
|
+
const label = name ? `${BOLD}${name}${NC}` : "";
|
|
3213
|
+
lines.push(` ${icon} ${label}${label && message ? ` \u2014 ${message}` : message}`);
|
|
3151
3214
|
}
|
|
3152
3215
|
}
|
|
3153
3216
|
return lines.join("\n");
|
|
@@ -3208,25 +3271,53 @@ function renderNext(data, quiet) {
|
|
|
3208
3271
|
return "No suggestions available.";
|
|
3209
3272
|
}
|
|
3210
3273
|
function renderBlockers(data, quiet) {
|
|
3211
|
-
const
|
|
3212
|
-
const
|
|
3213
|
-
const
|
|
3214
|
-
|
|
3215
|
-
|
|
3274
|
+
const blockedTasks = data["blockedTasks"] ?? data["blockers"] ?? data["tasks"];
|
|
3275
|
+
const criticalBlockers = data["criticalBlockers"];
|
|
3276
|
+
const summary = data["summary"];
|
|
3277
|
+
const total = data["total"];
|
|
3278
|
+
const limit = data["limit"];
|
|
3279
|
+
if (!blockedTasks || blockedTasks.length === 0) {
|
|
3280
|
+
return quiet ? "" : summary ?? "No blocked tasks.";
|
|
3216
3281
|
}
|
|
3217
3282
|
if (quiet) {
|
|
3218
|
-
return
|
|
3283
|
+
return blockedTasks.map((b) => String(b["id"])).join("\n");
|
|
3219
3284
|
}
|
|
3220
3285
|
const lines = [];
|
|
3221
|
-
|
|
3286
|
+
const shown = blockedTasks.length;
|
|
3287
|
+
const totalLabel = typeof total === "number" && total !== shown ? ` of ${total}` : "";
|
|
3288
|
+
lines.push(`${RED}${BOLD}Blocked Tasks (${shown}${totalLabel})${NC}`);
|
|
3289
|
+
if (summary && summary !== `${shown} blocked task(s)`) {
|
|
3290
|
+
lines.push(`${DIM}${summary}${NC}`);
|
|
3291
|
+
}
|
|
3222
3292
|
lines.push("");
|
|
3223
|
-
|
|
3224
|
-
|
|
3225
|
-
const
|
|
3226
|
-
|
|
3227
|
-
|
|
3228
|
-
|
|
3229
|
-
|
|
3293
|
+
if (criticalBlockers && criticalBlockers.length > 0) {
|
|
3294
|
+
lines.push(`${RED}${BOLD}Critical Blockers (${criticalBlockers.length})${NC}`);
|
|
3295
|
+
for (const cb of criticalBlockers) {
|
|
3296
|
+
const id = String(cb["id"] ?? cb["taskId"] ?? "");
|
|
3297
|
+
const title = String(cb["title"] ?? "");
|
|
3298
|
+
const blocks = cb["blocks"];
|
|
3299
|
+
lines.push(` ${RED}\u2297${NC} ${BOLD}${id}${NC} ${title}`);
|
|
3300
|
+
if (blocks && blocks.length > 0) {
|
|
3301
|
+
lines.push(` ${DIM}Blocks: ${blocks.join(", ")}${NC}`);
|
|
3302
|
+
}
|
|
3303
|
+
}
|
|
3304
|
+
lines.push("");
|
|
3305
|
+
}
|
|
3306
|
+
for (const item of blockedTasks) {
|
|
3307
|
+
const id = String(item["id"]);
|
|
3308
|
+
const title = String(item["title"] ?? "");
|
|
3309
|
+
const priority = item["priority"];
|
|
3310
|
+
const blockedBy = item["blockedBy"];
|
|
3311
|
+
const blockedByStr = Array.isArray(blockedBy) ? blockedBy.join(", ") : blockedBy ?? "";
|
|
3312
|
+
const pBadge = priority ? `${priorityColor(priority)}[${priority}]${NC} ` : "";
|
|
3313
|
+
lines.push(` ${RED}\u2297${NC} ${BOLD}${id}${NC} ${pBadge}${title}`);
|
|
3314
|
+
if (blockedByStr) lines.push(` ${DIM}Blocked by: ${blockedByStr}${NC}`);
|
|
3315
|
+
}
|
|
3316
|
+
if (typeof limit === "number" && typeof total === "number" && total > shown) {
|
|
3317
|
+
lines.push("");
|
|
3318
|
+
lines.push(
|
|
3319
|
+
`${DIM}\u2500\u2500\u2500 ${shown} of ${total} (--limit ${limit}, --json for full set) \u2500\u2500\u2500${NC}`
|
|
3320
|
+
);
|
|
3230
3321
|
}
|
|
3231
3322
|
return lines.join("\n");
|
|
3232
3323
|
}
|
|
@@ -4895,6 +4986,13 @@ import { applyFieldFilter, extractFieldFromResult } from "@cleocode/lafs";
|
|
|
4895
4986
|
function generateRequestId() {
|
|
4896
4987
|
return randomUUID();
|
|
4897
4988
|
}
|
|
4989
|
+
function pickDecoratorMetaExtensionsLocal(responseMeta) {
|
|
4990
|
+
if (!responseMeta) return {};
|
|
4991
|
+
const out = {};
|
|
4992
|
+
if (responseMeta["_nexus"] !== void 0) out["_nexus"] = responseMeta["_nexus"];
|
|
4993
|
+
if (responseMeta["deprecated"] !== void 0) out["deprecated"] = responseMeta["deprecated"];
|
|
4994
|
+
return out;
|
|
4995
|
+
}
|
|
4898
4996
|
function cliOutput(data, opts) {
|
|
4899
4997
|
const ctx = getFormatContext();
|
|
4900
4998
|
const fieldCtx = getFieldContext();
|
|
@@ -4927,6 +5025,28 @@ function cliOutput(data, opts) {
|
|
|
4927
5025
|
if (text) {
|
|
4928
5026
|
process.stdout.write(text + "\n");
|
|
4929
5027
|
}
|
|
5028
|
+
if (!ctx.quiet) {
|
|
5029
|
+
const pagerData = data;
|
|
5030
|
+
const pagerArrays = pagerData && typeof pagerData === "object" ? Object.values(pagerData).filter((v) => Array.isArray(v)) : [];
|
|
5031
|
+
const shown = pagerArrays.reduce((max, arr) => Math.max(max, arr.length), 0);
|
|
5032
|
+
if (shown > 0 && opts.page) {
|
|
5033
|
+
const pager = pagerFooter({
|
|
5034
|
+
shown,
|
|
5035
|
+
page: opts.page,
|
|
5036
|
+
total: pagerData?.["total"],
|
|
5037
|
+
filtered: pagerData?.["filtered"]
|
|
5038
|
+
});
|
|
5039
|
+
if (pager) process.stdout.write(`${pager}
|
|
5040
|
+
`);
|
|
5041
|
+
}
|
|
5042
|
+
const combinedMeta = {
|
|
5043
|
+
...opts.responseMeta ?? {},
|
|
5044
|
+
...opts.extensions ?? {}
|
|
5045
|
+
};
|
|
5046
|
+
const footer = metaFooter(combinedMeta);
|
|
5047
|
+
if (footer) process.stdout.write(`${footer}
|
|
5048
|
+
`);
|
|
5049
|
+
}
|
|
4930
5050
|
return;
|
|
4931
5051
|
}
|
|
4932
5052
|
if (fieldCtx.field) {
|
|
@@ -4972,7 +5092,9 @@ function cliOutput(data, opts) {
|
|
|
4972
5092
|
const formatOpts = {};
|
|
4973
5093
|
if (opts.operation) formatOpts.operation = opts.operation;
|
|
4974
5094
|
if (opts.page) formatOpts.page = opts.page;
|
|
4975
|
-
|
|
5095
|
+
const decoratorExt = pickDecoratorMetaExtensionsLocal(opts.responseMeta);
|
|
5096
|
+
const mergedExt = opts.extensions || Object.keys(decoratorExt).length > 0 ? { ...decoratorExt, ...opts.extensions ?? {} } : void 0;
|
|
5097
|
+
if (mergedExt) formatOpts.extensions = mergedExt;
|
|
4976
5098
|
if (fieldCtx.mvi) formatOpts.mvi = fieldCtx.mvi;
|
|
4977
5099
|
const envelopeString = formatSuccess(
|
|
4978
5100
|
filteredData,
|
|
@@ -5060,6 +5182,7 @@ var init_renderers = __esm({
|
|
|
5060
5182
|
"use strict";
|
|
5061
5183
|
init_field_context();
|
|
5062
5184
|
init_format_context();
|
|
5185
|
+
init_format_helpers();
|
|
5063
5186
|
init_lafs_validator();
|
|
5064
5187
|
init_normalizer();
|
|
5065
5188
|
init_system2();
|
|
@@ -18560,6 +18683,30 @@ function stampNexusMeta(response, operation, params, isTopLevel = true) {
|
|
|
18560
18683
|
}
|
|
18561
18684
|
};
|
|
18562
18685
|
}
|
|
18686
|
+
function pickDecoratorMetaExtensions(responseMeta) {
|
|
18687
|
+
if (!responseMeta) return {};
|
|
18688
|
+
const out = {};
|
|
18689
|
+
if (responseMeta["_nexus"] !== void 0) out["_nexus"] = responseMeta["_nexus"];
|
|
18690
|
+
if (responseMeta["deprecated"] !== void 0) out["deprecated"] = responseMeta["deprecated"];
|
|
18691
|
+
return out;
|
|
18692
|
+
}
|
|
18693
|
+
function buildNexusMetaExtensions(operation, params = {}) {
|
|
18694
|
+
const synthetic = {
|
|
18695
|
+
success: true,
|
|
18696
|
+
data: void 0,
|
|
18697
|
+
meta: {
|
|
18698
|
+
gateway: "query",
|
|
18699
|
+
domain: "nexus",
|
|
18700
|
+
operation,
|
|
18701
|
+
timestamp: (/* @__PURE__ */ new Date()).toISOString(),
|
|
18702
|
+
duration_ms: 0,
|
|
18703
|
+
source: "cli",
|
|
18704
|
+
requestId: ""
|
|
18705
|
+
}
|
|
18706
|
+
};
|
|
18707
|
+
const stamped = stampNexusMeta(synthetic, operation, params);
|
|
18708
|
+
return pickDecoratorMetaExtensions(stamped.meta);
|
|
18709
|
+
}
|
|
18563
18710
|
var init_nexus_decorator = __esm({
|
|
18564
18711
|
"packages/cleo/src/dispatch/nexus-decorator.ts"() {
|
|
18565
18712
|
"use strict";
|
|
@@ -29801,6 +29948,9 @@ async function dispatchFromCli(gateway, domain, operation, params, outputOpts) {
|
|
|
29801
29948
|
if (opts.page === void 0 && response.page !== void 0) {
|
|
29802
29949
|
opts.page = response.page;
|
|
29803
29950
|
}
|
|
29951
|
+
if (opts.responseMeta === void 0) {
|
|
29952
|
+
opts.responseMeta = response.meta;
|
|
29953
|
+
}
|
|
29804
29954
|
cliOutput(response.data, opts);
|
|
29805
29955
|
} else {
|
|
29806
29956
|
const errorCode = response.error?.code ?? "E_GENERAL";
|
|
@@ -47956,6 +48106,7 @@ var init_nexus4 = __esm({
|
|
|
47956
48106
|
"use strict";
|
|
47957
48107
|
init_dist();
|
|
47958
48108
|
init_cli();
|
|
48109
|
+
init_nexus_decorator();
|
|
47959
48110
|
init_format_context();
|
|
47960
48111
|
init_renderers();
|
|
47961
48112
|
initCommand3 = defineCommand({
|
|
@@ -48064,7 +48215,10 @@ var init_nexus4 = __esm({
|
|
|
48064
48215
|
{
|
|
48065
48216
|
command: "nexus-status",
|
|
48066
48217
|
operation: "nexus.status",
|
|
48067
|
-
extensions: {
|
|
48218
|
+
extensions: {
|
|
48219
|
+
duration_ms: durationMs,
|
|
48220
|
+
...buildNexusMetaExtensions("status", { projectId, path: repoPath })
|
|
48221
|
+
}
|
|
48068
48222
|
}
|
|
48069
48223
|
);
|
|
48070
48224
|
} catch (err) {
|
|
@@ -48574,7 +48728,8 @@ var init_nexus4 = __esm({
|
|
|
48574
48728
|
cliOutput(response.data, {
|
|
48575
48729
|
command: "nexus-clusters",
|
|
48576
48730
|
operation: "nexus.clusters",
|
|
48577
|
-
extensions: { duration_ms: durationMs }
|
|
48731
|
+
extensions: { duration_ms: durationMs },
|
|
48732
|
+
responseMeta: response.meta
|
|
48578
48733
|
});
|
|
48579
48734
|
}
|
|
48580
48735
|
});
|
|
@@ -48617,7 +48772,8 @@ var init_nexus4 = __esm({
|
|
|
48617
48772
|
cliOutput(response.data, {
|
|
48618
48773
|
command: "nexus-flows",
|
|
48619
48774
|
operation: "nexus.flows",
|
|
48620
|
-
extensions: { duration_ms: durationMs }
|
|
48775
|
+
extensions: { duration_ms: durationMs },
|
|
48776
|
+
responseMeta: response.meta
|
|
48621
48777
|
});
|
|
48622
48778
|
}
|
|
48623
48779
|
});
|
|
@@ -48679,7 +48835,8 @@ var init_nexus4 = __esm({
|
|
|
48679
48835
|
cliOutput({ ...result, _symbolName: symbolName }, {
|
|
48680
48836
|
command: "nexus-context",
|
|
48681
48837
|
operation: "nexus.context",
|
|
48682
|
-
extensions: { duration_ms: durationMs }
|
|
48838
|
+
extensions: { duration_ms: durationMs },
|
|
48839
|
+
responseMeta: response.meta
|
|
48683
48840
|
});
|
|
48684
48841
|
}
|
|
48685
48842
|
});
|
|
@@ -48716,7 +48873,10 @@ var init_nexus4 = __esm({
|
|
|
48716
48873
|
cliOutput({ ...result, _symbolName: symbolName, _why: whyFlag }, {
|
|
48717
48874
|
command: "nexus-impact",
|
|
48718
48875
|
operation: "nexus.impact",
|
|
48719
|
-
extensions: {
|
|
48876
|
+
extensions: {
|
|
48877
|
+
duration_ms: durationMs,
|
|
48878
|
+
...buildNexusMetaExtensions("impact", { symbol: symbolName, projectId })
|
|
48879
|
+
}
|
|
48720
48880
|
});
|
|
48721
48881
|
} catch (err) {
|
|
48722
48882
|
const code = err instanceof Error && "code" in err ? err.code : void 0;
|
|
@@ -48898,7 +49058,8 @@ var init_nexus4 = __esm({
|
|
|
48898
49058
|
cliOutput(response.data, {
|
|
48899
49059
|
command: "nexus-projects-list",
|
|
48900
49060
|
operation: "nexus.projects.list",
|
|
48901
|
-
extensions: { duration_ms: durationMs }
|
|
49061
|
+
extensions: { duration_ms: durationMs },
|
|
49062
|
+
responseMeta: response.meta
|
|
48902
49063
|
});
|
|
48903
49064
|
}
|
|
48904
49065
|
});
|
|
@@ -48946,7 +49107,8 @@ var init_nexus4 = __esm({
|
|
|
48946
49107
|
cliOutput(response.data, {
|
|
48947
49108
|
command: "nexus-projects-register",
|
|
48948
49109
|
operation: "nexus.projects.register",
|
|
48949
|
-
extensions: { duration_ms: durationMs }
|
|
49110
|
+
extensions: { duration_ms: durationMs },
|
|
49111
|
+
responseMeta: response.meta
|
|
48950
49112
|
});
|
|
48951
49113
|
}
|
|
48952
49114
|
});
|
|
@@ -48989,7 +49151,8 @@ var init_nexus4 = __esm({
|
|
|
48989
49151
|
{
|
|
48990
49152
|
command: "nexus-projects-remove",
|
|
48991
49153
|
operation: "nexus.projects.remove",
|
|
48992
|
-
extensions: { duration_ms: durationMs }
|
|
49154
|
+
extensions: { duration_ms: durationMs },
|
|
49155
|
+
responseMeta: response.meta
|
|
48993
49156
|
}
|
|
48994
49157
|
);
|
|
48995
49158
|
}
|
|
@@ -49054,7 +49217,8 @@ var init_nexus4 = __esm({
|
|
|
49054
49217
|
{
|
|
49055
49218
|
command: "nexus-projects-scan",
|
|
49056
49219
|
operation: "nexus.projects.scan",
|
|
49057
|
-
extensions: { duration_ms: durationMs }
|
|
49220
|
+
extensions: { duration_ms: durationMs },
|
|
49221
|
+
responseMeta: response.meta
|
|
49058
49222
|
}
|
|
49059
49223
|
);
|
|
49060
49224
|
}
|
|
@@ -49149,7 +49313,11 @@ var init_nexus4 = __esm({
|
|
|
49149
49313
|
if (ctx.format !== "json") {
|
|
49150
49314
|
cliOutput(
|
|
49151
49315
|
{ matched: matchCount, totalCount, sample: samplePaths },
|
|
49152
|
-
{
|
|
49316
|
+
{
|
|
49317
|
+
command: "nexus-projects-clean-preview",
|
|
49318
|
+
operation: "nexus.projects.clean",
|
|
49319
|
+
responseMeta: previewResp.meta
|
|
49320
|
+
}
|
|
49153
49321
|
);
|
|
49154
49322
|
}
|
|
49155
49323
|
if (matchCount === 0 || dryRun) {
|
|
@@ -49165,7 +49333,8 @@ var init_nexus4 = __esm({
|
|
|
49165
49333
|
{
|
|
49166
49334
|
command: "nexus-projects-clean",
|
|
49167
49335
|
operation: "nexus.projects.clean",
|
|
49168
|
-
extensions: { duration_ms: durationMs2 }
|
|
49336
|
+
extensions: { duration_ms: durationMs2 },
|
|
49337
|
+
responseMeta: previewResp.meta
|
|
49169
49338
|
}
|
|
49170
49339
|
);
|
|
49171
49340
|
return;
|
|
@@ -49224,7 +49393,8 @@ var init_nexus4 = __esm({
|
|
|
49224
49393
|
{
|
|
49225
49394
|
command: "nexus-projects-clean",
|
|
49226
49395
|
operation: "nexus.projects.clean",
|
|
49227
|
-
extensions: { duration_ms: durationMs }
|
|
49396
|
+
extensions: { duration_ms: durationMs },
|
|
49397
|
+
responseMeta: deleteResp.meta
|
|
49228
49398
|
}
|
|
49229
49399
|
);
|
|
49230
49400
|
} catch (err) {
|
|
@@ -49295,7 +49465,8 @@ var init_nexus4 = __esm({
|
|
|
49295
49465
|
cliOutput(response.data, {
|
|
49296
49466
|
command: "nexus-refresh-bridge",
|
|
49297
49467
|
operation: "nexus.refresh-bridge",
|
|
49298
|
-
extensions: { duration_ms: durationMs }
|
|
49468
|
+
extensions: { duration_ms: durationMs },
|
|
49469
|
+
responseMeta: response.meta
|
|
49299
49470
|
});
|
|
49300
49471
|
}
|
|
49301
49472
|
});
|
|
@@ -49448,7 +49619,8 @@ var init_nexus4 = __esm({
|
|
|
49448
49619
|
cliOutput(response.data, {
|
|
49449
49620
|
command: "nexus-diff",
|
|
49450
49621
|
operation: "nexus.diff",
|
|
49451
|
-
extensions: { duration_ms: durationMs }
|
|
49622
|
+
extensions: { duration_ms: durationMs },
|
|
49623
|
+
responseMeta: response.meta
|
|
49452
49624
|
});
|
|
49453
49625
|
}
|
|
49454
49626
|
});
|
|
@@ -49509,7 +49681,8 @@ var init_nexus4 = __esm({
|
|
|
49509
49681
|
{
|
|
49510
49682
|
command: "nexus-query",
|
|
49511
49683
|
operation: "nexus.query-cte",
|
|
49512
|
-
extensions: { duration_ms: durationMs }
|
|
49684
|
+
extensions: { duration_ms: durationMs },
|
|
49685
|
+
responseMeta: response.meta
|
|
49513
49686
|
}
|
|
49514
49687
|
);
|
|
49515
49688
|
}
|
|
@@ -49558,7 +49731,8 @@ var init_nexus4 = __esm({
|
|
|
49558
49731
|
{
|
|
49559
49732
|
command: "nexus-route-map",
|
|
49560
49733
|
operation: "nexus.route-map",
|
|
49561
|
-
extensions: { duration_ms: durationMs }
|
|
49734
|
+
extensions: { duration_ms: durationMs },
|
|
49735
|
+
responseMeta: response.meta
|
|
49562
49736
|
}
|
|
49563
49737
|
);
|
|
49564
49738
|
}
|
|
@@ -49613,7 +49787,8 @@ var init_nexus4 = __esm({
|
|
|
49613
49787
|
{
|
|
49614
49788
|
command: "nexus-shape-check",
|
|
49615
49789
|
operation: "nexus.shape-check",
|
|
49616
|
-
extensions: { duration_ms: durationMs }
|
|
49790
|
+
extensions: { duration_ms: durationMs },
|
|
49791
|
+
responseMeta: response.meta
|
|
49617
49792
|
}
|
|
49618
49793
|
);
|
|
49619
49794
|
}
|
|
@@ -49655,7 +49830,8 @@ var init_nexus4 = __esm({
|
|
|
49655
49830
|
{
|
|
49656
49831
|
command: "nexus-full-context",
|
|
49657
49832
|
operation: "nexus.full-context",
|
|
49658
|
-
extensions: { duration_ms: durationMs }
|
|
49833
|
+
extensions: { duration_ms: durationMs },
|
|
49834
|
+
responseMeta: response.meta
|
|
49659
49835
|
}
|
|
49660
49836
|
);
|
|
49661
49837
|
}
|
|
@@ -49697,7 +49873,8 @@ var init_nexus4 = __esm({
|
|
|
49697
49873
|
{
|
|
49698
49874
|
command: "nexus-task-footprint",
|
|
49699
49875
|
operation: "nexus.task-footprint",
|
|
49700
|
-
extensions: { duration_ms: durationMs }
|
|
49876
|
+
extensions: { duration_ms: durationMs },
|
|
49877
|
+
responseMeta: response.meta
|
|
49701
49878
|
}
|
|
49702
49879
|
);
|
|
49703
49880
|
}
|
|
@@ -49739,7 +49916,8 @@ var init_nexus4 = __esm({
|
|
|
49739
49916
|
{
|
|
49740
49917
|
command: "nexus-brain-anchors",
|
|
49741
49918
|
operation: "nexus.brain-anchors",
|
|
49742
|
-
extensions: { duration_ms: durationMs }
|
|
49919
|
+
extensions: { duration_ms: durationMs },
|
|
49920
|
+
responseMeta: response.meta
|
|
49743
49921
|
}
|
|
49744
49922
|
);
|
|
49745
49923
|
}
|
|
@@ -49778,7 +49956,12 @@ var init_nexus4 = __esm({
|
|
|
49778
49956
|
const durationMs = Date.now() - startTime;
|
|
49779
49957
|
cliOutput(
|
|
49780
49958
|
{ ...response.data ?? {}, _durationMs: durationMs },
|
|
49781
|
-
{
|
|
49959
|
+
{
|
|
49960
|
+
command: "nexus-why",
|
|
49961
|
+
operation: "nexus.why",
|
|
49962
|
+
extensions: { duration_ms: durationMs },
|
|
49963
|
+
responseMeta: response.meta
|
|
49964
|
+
}
|
|
49782
49965
|
);
|
|
49783
49966
|
}
|
|
49784
49967
|
});
|
|
@@ -49819,7 +50002,8 @@ var init_nexus4 = __esm({
|
|
|
49819
50002
|
{
|
|
49820
50003
|
command: "nexus-impact-full",
|
|
49821
50004
|
operation: "nexus.impact-full",
|
|
49822
|
-
extensions: { duration_ms: durationMs }
|
|
50005
|
+
extensions: { duration_ms: durationMs },
|
|
50006
|
+
responseMeta: response.meta
|
|
49823
50007
|
}
|
|
49824
50008
|
);
|
|
49825
50009
|
}
|
|
@@ -49856,7 +50040,8 @@ var init_nexus4 = __esm({
|
|
|
49856
50040
|
{
|
|
49857
50041
|
command: "nexus-conduit-scan",
|
|
49858
50042
|
operation: "nexus.conduit-scan",
|
|
49859
|
-
extensions: { duration_ms: durationMs }
|
|
50043
|
+
extensions: { duration_ms: durationMs },
|
|
50044
|
+
responseMeta: response.meta
|
|
49860
50045
|
}
|
|
49861
50046
|
);
|
|
49862
50047
|
}
|
|
@@ -49900,7 +50085,8 @@ var init_nexus4 = __esm({
|
|
|
49900
50085
|
{
|
|
49901
50086
|
command: "nexus-task-symbols",
|
|
49902
50087
|
operation: "nexus.task-symbols",
|
|
49903
|
-
extensions: { duration_ms: durationMs }
|
|
50088
|
+
extensions: { duration_ms: durationMs },
|
|
50089
|
+
responseMeta: response.meta
|
|
49904
50090
|
}
|
|
49905
50091
|
);
|
|
49906
50092
|
}
|
|
@@ -49995,7 +50181,8 @@ var init_nexus4 = __esm({
|
|
|
49995
50181
|
{
|
|
49996
50182
|
command: "nexus-contracts-sync",
|
|
49997
50183
|
operation: "nexus.contracts.sync",
|
|
49998
|
-
extensions: { duration_ms: durationMs }
|
|
50184
|
+
extensions: { duration_ms: durationMs },
|
|
50185
|
+
responseMeta: response.meta
|
|
49999
50186
|
}
|
|
50000
50187
|
);
|
|
50001
50188
|
}
|
|
@@ -50049,7 +50236,8 @@ var init_nexus4 = __esm({
|
|
|
50049
50236
|
{
|
|
50050
50237
|
command: "nexus-contracts-show",
|
|
50051
50238
|
operation: "nexus.contracts.show",
|
|
50052
|
-
extensions: { duration_ms: durationMs }
|
|
50239
|
+
extensions: { duration_ms: durationMs },
|
|
50240
|
+
responseMeta: response.meta
|
|
50053
50241
|
}
|
|
50054
50242
|
);
|
|
50055
50243
|
}
|
|
@@ -50096,7 +50284,8 @@ var init_nexus4 = __esm({
|
|
|
50096
50284
|
{
|
|
50097
50285
|
command: "nexus-contracts-link-tasks",
|
|
50098
50286
|
operation: "nexus.contracts.link-tasks",
|
|
50099
|
-
extensions: { duration_ms: durationMs }
|
|
50287
|
+
extensions: { duration_ms: durationMs },
|
|
50288
|
+
responseMeta: response.meta
|
|
50100
50289
|
}
|
|
50101
50290
|
);
|
|
50102
50291
|
}
|
|
@@ -50241,7 +50430,8 @@ var init_nexus4 = __esm({
|
|
|
50241
50430
|
cliOutput(response.data, {
|
|
50242
50431
|
command: "nexus-hot-paths",
|
|
50243
50432
|
operation: "nexus.hot-paths",
|
|
50244
|
-
extensions: { duration_ms: durationMs }
|
|
50433
|
+
extensions: { duration_ms: durationMs },
|
|
50434
|
+
responseMeta: response.meta
|
|
50245
50435
|
});
|
|
50246
50436
|
}
|
|
50247
50437
|
});
|
|
@@ -50281,7 +50471,8 @@ var init_nexus4 = __esm({
|
|
|
50281
50471
|
cliOutput(response.data, {
|
|
50282
50472
|
command: "nexus-hot-nodes",
|
|
50283
50473
|
operation: "nexus.hot-nodes",
|
|
50284
|
-
extensions: { duration_ms: durationMs }
|
|
50474
|
+
extensions: { duration_ms: durationMs },
|
|
50475
|
+
responseMeta: response.meta
|
|
50285
50476
|
});
|
|
50286
50477
|
}
|
|
50287
50478
|
});
|
|
@@ -50321,7 +50512,8 @@ var init_nexus4 = __esm({
|
|
|
50321
50512
|
cliOutput(response.data, {
|
|
50322
50513
|
command: "nexus-cold-symbols",
|
|
50323
50514
|
operation: "nexus.cold-symbols",
|
|
50324
|
-
extensions: { duration_ms: durationMs }
|
|
50515
|
+
extensions: { duration_ms: durationMs },
|
|
50516
|
+
responseMeta: response.meta
|
|
50325
50517
|
});
|
|
50326
50518
|
}
|
|
50327
50519
|
});
|