@rage-against-the-pixel/unity-cli 1.8.3 → 3.0.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.
@@ -35,6 +35,10 @@ var __importStar = (this && this.__importStar) || (function () {
35
35
  Object.defineProperty(exports, "__esModule", { value: true });
36
36
  exports.ActionTableRenderer = void 0;
37
37
  exports.sanitizeTelemetryJson = sanitizeTelemetryJson;
38
+ exports.formatUtpUnrecognizedTopLevelPropertiesMessage = formatUtpUnrecognizedTopLevelPropertiesMessage;
39
+ exports.describeUtpForUtpLogLevel = describeUtpForUtpLogLevel;
40
+ exports.normalizeAnnotationPath = normalizeAnnotationPath;
41
+ exports.isFileUnderProjectPath = isFileUnderProjectPath;
38
42
  exports.stringDisplayWidth = stringDisplayWidth;
39
43
  exports.formatActionTimelineTable = formatActionTimelineTable;
40
44
  exports.TailLogFile = TailLogFile;
@@ -42,9 +46,9 @@ const fs = __importStar(require("fs"));
42
46
  const path = __importStar(require("path"));
43
47
  const logging_1 = require("./logging");
44
48
  const utilities_1 = require("./utilities");
45
- const utp_1 = require("./utp/utp");
46
- // Detects GitHub-style annotation markers to avoid emitting duplicates
47
- const githubAnnotationPrefixRegex = /\n::[a-z]+::/i;
49
+ const utp_1 = require("./utp");
50
+ // Detects workflow command markers to avoid emitting duplicate annotations
51
+ const annotationCommandPrefixRegex = /\n::[a-z]+::/i;
48
52
  // Matches ANSI escape sequences (CSI and single-character)
49
53
  const ansiEscapeSequenceRegex = /\u001b(?:[@-Z\\-_]|\[[0-?]*[ -/]*[@-~])/g;
50
54
  const TIMELINE_HEADING = '🔨 Unity Build Timeline';
@@ -63,12 +67,48 @@ function sanitizeTelemetryJson(raw) {
63
67
  }
64
68
  return sanitized;
65
69
  }
70
+ /** Builds the warning when a `##utp:` payload includes unrecognized root properties. Exported for tests. */
71
+ function formatUtpUnrecognizedTopLevelPropertiesMessage(unknownTopLevelKeys, fullTelemetryLine) {
72
+ return `UTP entry contains unrecognized top-level properties: ${unknownTopLevelKeys.join(', ')}\nFull line: ${fullTelemetryLine}`;
73
+ }
74
+ /**
75
+ * Single-line debug text for `--log-level UTP` for telemetry types that do not use the action / memory / player-build tables.
76
+ * Returns `undefined` when the type should fall back to unknown-type handling (warn + raw JSON).
77
+ */
78
+ function describeUtpForUtpLogLevel(utp) {
79
+ switch (utp.type) {
80
+ case 'Compiler':
81
+ case 'LogEntry': {
82
+ const u = utp;
83
+ const loc = u.file != null && u.line != null ? `${u.file}:${u.line}` : (u.file ?? '');
84
+ const sev = u.severity != null ? String(u.severity) : '';
85
+ const msg = (u.message ?? '');
86
+ return `[UTP] ${utp.type} ${sev} ${loc} ${msg}`.replace(/\s+/gu, ' ').trim();
87
+ }
88
+ case 'TestStatus': {
89
+ const u = utp;
90
+ const name = (u.name ?? u.description ?? '—').trim();
91
+ const dur = u.duration ?? (u.durationMicroseconds != null ? u.durationMicroseconds / 1000 : 0);
92
+ const msg = (u.message ?? '');
93
+ return `[UTP] TestStatus state=${u.state ?? '?'} durMs=${dur} ${name} ${msg}`.replace(/\s+/gu, ' ').trim();
94
+ }
95
+ case 'TestPlan':
96
+ case 'ScreenSettings':
97
+ case 'PlayerSettings':
98
+ case 'BuildSettings':
99
+ case 'PlayerSystemInfo':
100
+ case 'QualitySettings':
101
+ return `[UTP] ${utp.type} ${JSON.stringify(utp)}`;
102
+ default:
103
+ return undefined;
104
+ }
105
+ }
66
106
  function sanitizeStackTrace(raw) {
67
107
  if (!raw) {
68
108
  return undefined;
69
109
  }
70
110
  const sanitized = raw
71
- .replace(githubAnnotationPrefixRegex, '')
111
+ .replace(annotationCommandPrefixRegex, '')
72
112
  .replace(ansiEscapeSequenceRegex, '')
73
113
  .trim();
74
114
  if (sanitized === '') {
@@ -76,6 +116,126 @@ function sanitizeStackTrace(raw) {
76
116
  }
77
117
  return sanitized;
78
118
  }
119
+ const MAX_STACK_FRAME_ANNOTATIONS = 5;
120
+ const MAX_PLAIN_SCAN_ANNOTATIONS = 100;
121
+ function normalizePathSlashes(filePath) {
122
+ return path.normalize(filePath).replace(/\\/g, '/');
123
+ }
124
+ /**
125
+ * Normalizes a candidate issue file path for annotation and project-path checks.
126
+ * - absoluteFile: used for `isFileUnderProjectPath` gating.
127
+ * - annotationFile: project-relative path preferred for GitHub annotation rendering.
128
+ */
129
+ function normalizeAnnotationPath(filePath, projectPath) {
130
+ if (!filePath) {
131
+ return {};
132
+ }
133
+ const trimmed = filePath.trim();
134
+ if (!trimmed) {
135
+ return {};
136
+ }
137
+ const projectRootAbsolute = projectPath ? path.resolve(projectPath) : undefined;
138
+ const normalizedProject = projectRootAbsolute ? normalizePathSlashes(projectRootAbsolute) : undefined;
139
+ const isAbsolute = path.isAbsolute(trimmed);
140
+ const absoluteFile = normalizePathSlashes(isAbsolute
141
+ ? trimmed
142
+ : (projectRootAbsolute ? path.resolve(projectRootAbsolute, trimmed) : trimmed));
143
+ if (!normalizedProject) {
144
+ return { absoluteFile, annotationFile: normalizePathSlashes(trimmed) };
145
+ }
146
+ if (!isFileUnderProjectPath(absoluteFile, normalizedProject)) {
147
+ return { absoluteFile };
148
+ }
149
+ const relative = normalizePathSlashes(path.relative(normalizedProject, absoluteFile));
150
+ if (!relative || relative.startsWith('../')) {
151
+ return { absoluteFile };
152
+ }
153
+ return {
154
+ absoluteFile,
155
+ annotationFile: relative,
156
+ };
157
+ }
158
+ function parsePlainLogIssue(line) {
159
+ const paren = line.match(/^(.+?)\((\d+)(?:,\d+)?\):\s*(warning|error)\b[:\s-]*(.*)$/i);
160
+ if (paren && paren[1] && paren[2] && paren[3]) {
161
+ const severity = paren[3].toLowerCase() === 'warning' ? utp_1.Severity.Warning : utp_1.Severity.Error;
162
+ const file = paren[1].trim().replace(/\\/g, '/');
163
+ const lineNum = parseInt(paren[2], 10);
164
+ const remainder = (paren[4] ?? '').trim();
165
+ const message = remainder.length > 0 ? remainder : line.trim();
166
+ const issue = { severity, file, message };
167
+ if (Number.isFinite(lineNum)) {
168
+ issue.line = lineNum;
169
+ }
170
+ return issue;
171
+ }
172
+ const colon = line.match(/^(.+?):(\d+):\s*(warning|error)\b[:\s-]*(.*)$/i);
173
+ if (colon && colon[1] && colon[2] && colon[3]) {
174
+ const severity = colon[3].toLowerCase() === 'warning' ? utp_1.Severity.Warning : utp_1.Severity.Error;
175
+ const file = colon[1].trim().replace(/\\/g, '/');
176
+ const lineNum = parseInt(colon[2], 10);
177
+ const remainder = (colon[4] ?? '').trim();
178
+ const message = remainder.length > 0 ? remainder : line.trim();
179
+ const issue = { severity, file, message };
180
+ if (Number.isFinite(lineNum)) {
181
+ issue.line = lineNum;
182
+ }
183
+ return issue;
184
+ }
185
+ const generic = line.match(/\b(error|warning)\b[:\s-]+(.+)/i);
186
+ if (generic && generic[1] && generic[2]) {
187
+ const severity = generic[1].toLowerCase() === 'warning' ? utp_1.Severity.Warning : utp_1.Severity.Error;
188
+ return { severity, message: generic[2].trim() };
189
+ }
190
+ return undefined;
191
+ }
192
+ /**
193
+ * True if filePath is the project root or under it. Normalizes separators; on Windows compares case-insensitively.
194
+ * Exported for unit tests.
195
+ */
196
+ function isFileUnderProjectPath(filePath, projectRoot) {
197
+ const normFile = normalizePathSlashes(filePath);
198
+ const normRoot = normalizePathSlashes(projectRoot);
199
+ const base = normRoot.endsWith('/') ? normRoot : `${normRoot}/`;
200
+ if (process.platform === 'win32') {
201
+ const f = normFile.toLowerCase();
202
+ const r = normRoot.toLowerCase();
203
+ const b = base.toLowerCase();
204
+ return f === r || f.startsWith(b);
205
+ }
206
+ return normFile === normRoot || normFile.startsWith(base);
207
+ }
208
+ function parseStackFrames(stackTrace, projectPath) {
209
+ const frames = [];
210
+ const lines = stackTrace.split(/\r?\n/).map(l => l.trim()).filter(Boolean);
211
+ for (const stackLine of lines) {
212
+ const inMatch = stackLine.match(/\s+in\s+([^\s]+):(\d+)\s*$/);
213
+ const parenMatch = stackLine.match(/\(([^)]+):(\d+)\)\s*$/);
214
+ const plainMatch = stackLine.match(/^(.+):(\d+)\s*$/);
215
+ let file;
216
+ let lineNum;
217
+ if (inMatch && inMatch[1] != null && inMatch[2] != null) {
218
+ file = inMatch[1].replace(/\\/g, '/');
219
+ lineNum = parseInt(inMatch[2], 10);
220
+ }
221
+ else if (parenMatch && parenMatch[1] != null && parenMatch[2] != null) {
222
+ file = parenMatch[1].replace(/\\/g, '/');
223
+ lineNum = parseInt(parenMatch[2], 10);
224
+ }
225
+ else if (plainMatch && plainMatch[1] != null && plainMatch[2] != null) {
226
+ file = plainMatch[1].replace(/\\/g, '/');
227
+ lineNum = parseInt(plainMatch[2], 10);
228
+ }
229
+ const line = lineNum !== undefined && Number.isFinite(lineNum) ? lineNum : undefined;
230
+ if (file != null && line != null && line > 0) {
231
+ const normalized = normalizeAnnotationPath(file, projectPath);
232
+ if (projectPath != null && normalized.absoluteFile && normalized.annotationFile) {
233
+ frames.push({ file: normalized.annotationFile, line, title: stackLine });
234
+ }
235
+ }
236
+ }
237
+ return frames;
238
+ }
79
239
  const MIN_DESCRIPTION_COLUMN_WIDTH = 16;
80
240
  const DEFAULT_TERMINAL_WIDTH = 120;
81
241
  const TERMINAL_WIDTH_SAFETY_MARGIN = 2;
@@ -799,11 +959,24 @@ function TailLogFile(logPath, projectPath) {
799
959
  const logPollingInterval = 250;
800
960
  let pendingPartialLine = '';
801
961
  const telemetry = [];
962
+ const testResults = [];
963
+ const scannedLogEntries = [];
964
+ const seenIssueKeys = new Set();
965
+ const seenAnnotationKeys = new Set();
966
+ let plainScanAnnotations = 0;
967
+ /** Dedupe stdout test table rows when Unity emits duplicate TestStatus lines (key: name + state + description). */
968
+ const seenTestStatusKeys = new Set();
802
969
  const logger = logging_1.Logger.instance;
803
970
  const actionAccumulator = new ActionTelemetryAccumulator();
804
- const actionTableRenderer = new ActionTableRenderer(process.stdout.isTTY === true && process.env.CI !== 'true');
971
+ const actionTableRenderer = new ActionTableRenderer((0, utilities_1.isStdoutTTY)());
805
972
  const utpLogPath = buildUtpLogPath(logPath);
806
973
  let telemetryFlushed = false;
974
+ const buildIssueKey = (file, lineNo, message) => {
975
+ const normalized = normalizeAnnotationPath(file, projectPath);
976
+ const canonicalFile = (normalized.absoluteFile ?? normalizePathSlashes(file ?? '')).toLowerCase();
977
+ const canonicalLine = lineNo ?? 0;
978
+ return `${canonicalFile}\u0000${canonicalLine}\u0000${message}`;
979
+ };
807
980
  const renderActionTable = () => {
808
981
  const snapshot = actionAccumulator.snapshot();
809
982
  if (snapshot) {
@@ -816,6 +989,13 @@ function TailLogFile(logPath, projectPath) {
816
989
  }
817
990
  telemetryFlushed = true;
818
991
  await writeUtpTelemetryLog(utpLogPath, telemetry, logger);
992
+ const parsed = path.parse(logPath);
993
+ logging_1.Logger.instance.CI_appendWorkflowSummary(parsed.name, telemetry, projectPath != null && projectPath !== '' ? { projectPath, additionalLogEntries: scannedLogEntries } : { additionalLogEntries: scannedLogEntries });
994
+ if (testResults.length > 0) {
995
+ const limit = logger.getMarkdownByteLimit('stdout');
996
+ const summary = (0, logging_1.buildUnitTestJobSummaryMarkdown)(testResults, limit, '\n');
997
+ process.stdout.write(summary);
998
+ }
819
999
  };
820
1000
  const writeStdoutThenTableContent = (content, restoreTable = true) => {
821
1001
  actionTableRenderer.prepareForContent();
@@ -838,8 +1018,36 @@ function TailLogFile(logPath, projectPath) {
838
1018
  return;
839
1019
  }
840
1020
  const utpJson = JSON.parse(sanitizedJson);
841
- const utp = (0, utp_1.normalizeTelemetryEntry)(utpJson);
1021
+ const { utp, unknownTopLevelKeys } = (0, utp_1.normalizeTelemetryEntry)(utpJson);
1022
+ if (unknownTopLevelKeys.length > 0) {
1023
+ logger.warn(formatUtpUnrecognizedTopLevelPropertiesMessage(unknownTopLevelKeys, line));
1024
+ }
842
1025
  telemetry.push(utp);
1026
+ const utpMsg = (utp.message ?? '').trim();
1027
+ if ((utp.type === 'LogEntry' || utp.type === 'Compiler') && utpMsg !== '') {
1028
+ seenIssueKeys.add(buildIssueKey(utp.file, utp.line, utpMsg));
1029
+ }
1030
+ if (utp.type === 'TestStatus') {
1031
+ const ts = utp;
1032
+ const dedupeKey = `${ts.name ?? ''}\u0000${ts.state ?? ''}\u0000${ts.description ?? ''}`;
1033
+ if (!seenTestStatusKeys.has(dedupeKey)) {
1034
+ seenTestStatusKeys.add(dedupeKey);
1035
+ const result = (0, logging_1.utpToTestResultSummary)(utp);
1036
+ testResults.push(result);
1037
+ }
1038
+ if ((ts.state === 2 || ts.state === 0) && ts.message && !annotationCommandPrefixRegex.test(ts.message)) {
1039
+ const normalizedPath = normalizeAnnotationPath(utp.file, projectPath);
1040
+ const lineNumber = utp.line;
1041
+ const title = (ts.name ?? ts.description ?? 'Test failure').trim();
1042
+ if (normalizedPath.annotationFile && lineNumber) {
1043
+ const key = buildIssueKey(normalizedPath.annotationFile, lineNumber, ts.message);
1044
+ if (!seenAnnotationKeys.has(key)) {
1045
+ seenAnnotationKeys.add(key);
1046
+ logger.annotate(ts.state === 2 ? logging_1.LogLevel.ERROR : logging_1.LogLevel.WARN, ts.message, normalizedPath.annotationFile, lineNumber, undefined, undefined, undefined, title);
1047
+ }
1048
+ }
1049
+ }
1050
+ }
843
1051
  if (utp.message && 'severity' in utp &&
844
1052
  (utp.severity === utp_1.Severity.Error || utp.severity === utp_1.Severity.Exception || utp.severity === utp_1.Severity.Assert)) {
845
1053
  let messageLevel = logging_1.LogLevel.ERROR;
@@ -847,13 +1055,21 @@ function TailLogFile(logPath, projectPath) {
847
1055
  if (remappedLevel !== undefined) {
848
1056
  messageLevel = remappedLevel;
849
1057
  }
850
- const file = utp.file ? utp.file.replace(/\\/g, '/') : undefined;
1058
+ const normalizedPath = normalizeAnnotationPath(utp.file, projectPath);
851
1059
  const stacktrace = sanitizeStackTrace(utp.stackTrace);
852
1060
  const message = stacktrace == undefined ? utp.message : `${utp.message}\n${stacktrace}`;
853
- if (!githubAnnotationPrefixRegex.test(message)) {
1061
+ if (!annotationCommandPrefixRegex.test(message)) {
854
1062
  // only annotate if the file is within the current project
855
- if (projectPath && file && file.startsWith(projectPath)) {
856
- logger.annotate(logging_1.LogLevel.ERROR, message, file, utp.line);
1063
+ if (normalizedPath.annotationFile) {
1064
+ logger.annotate(logging_1.LogLevel.ERROR, message, normalizedPath.annotationFile, utp.line);
1065
+ // Link stack trace to annotations: emit one annotation per frame (capped) for clickable stack in Checks
1066
+ if (stacktrace && projectPath) {
1067
+ const frames = parseStackFrames(stacktrace, projectPath);
1068
+ const toEmit = frames.slice(0, MAX_STACK_FRAME_ANNOTATIONS);
1069
+ for (const frame of toEmit) {
1070
+ logger.annotate(logging_1.LogLevel.ERROR, frame.title, frame.file, frame.line, undefined, undefined, undefined, 'Stack frame');
1071
+ }
1072
+ }
857
1073
  }
858
1074
  else {
859
1075
  switch (messageLevel) {
@@ -880,6 +1096,31 @@ function TailLogFile(logPath, projectPath) {
880
1096
  }
881
1097
  }
882
1098
  else {
1099
+ const scan = parsePlainLogIssue(line);
1100
+ if (scan) {
1101
+ const key = buildIssueKey(scan.file, scan.line, scan.message);
1102
+ if (!seenIssueKeys.has(key)) {
1103
+ seenIssueKeys.add(key);
1104
+ scannedLogEntries.push({
1105
+ type: 'Compiler',
1106
+ severity: scan.severity,
1107
+ message: scan.message,
1108
+ file: scan.file,
1109
+ line: scan.line,
1110
+ });
1111
+ }
1112
+ if (!annotationCommandPrefixRegex.test(scan.message) && plainScanAnnotations < MAX_PLAIN_SCAN_ANNOTATIONS) {
1113
+ const normalizedPath = normalizeAnnotationPath(scan.file, projectPath);
1114
+ const annotationKey = buildIssueKey(normalizedPath.annotationFile ?? scan.file, scan.line, scan.message);
1115
+ if (!seenAnnotationKeys.has(annotationKey)) {
1116
+ if (normalizedPath.annotationFile && scan.line) {
1117
+ seenAnnotationKeys.add(annotationKey);
1118
+ plainScanAnnotations++;
1119
+ logger.annotate(scan.severity === utp_1.Severity.Warning ? logging_1.LogLevel.WARN : logging_1.LogLevel.ERROR, scan.message, normalizedPath.annotationFile, scan.line);
1120
+ }
1121
+ }
1122
+ }
1123
+ }
883
1124
  if (logging_1.Logger.instance.logLevel !== logging_1.LogLevel.UTP) {
884
1125
  process.stdout.write(`${line}\n`);
885
1126
  }
@@ -897,6 +1138,7 @@ function TailLogFile(logPath, projectPath) {
897
1138
  break;
898
1139
  }
899
1140
  case 'MemoryLeaks':
1141
+ case 'MemoryLeak':
900
1142
  logger.debug(formatMemoryLeakTable(utp));
901
1143
  break;
902
1144
  case 'PlayerBuildInfo': {
@@ -907,11 +1149,16 @@ function TailLogFile(logPath, projectPath) {
907
1149
  }
908
1150
  break;
909
1151
  }
910
- default:
1152
+ default: {
1153
+ const desc = describeUtpForUtpLogLevel(utp);
1154
+ if (desc !== undefined) {
1155
+ logger.debug(desc);
1156
+ break;
1157
+ }
911
1158
  logger.warn(`UTP entry has unknown type: ${utp.type ?? 'undefined'}`);
912
- // Print raw JSON for unhandled UTP types
913
1159
  writeStdoutThenTableContent(`${JSON.stringify(utp)}\n`);
914
1160
  break;
1161
+ }
915
1162
  }
916
1163
  }
917
1164
  async function readNewLogContent() {
@@ -1 +1 @@
1
- {"version":3,"file":"unity-logging.js","sourceRoot":"","sources":["../src/unity-logging.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"unity-logging.js","sourceRoot":"","sources":["../src/unity-logging.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,86 @@
1
+ import { SemVer } from 'semver';
2
+ import { ExecOptions } from './utilities';
3
+ export interface EnsureUpmInstalledOptions {
4
+ version?: string;
5
+ skipIfInstalled?: boolean;
6
+ }
7
+ /** Arguments for {@link UpmCli.Pack} (mapped to `UnityPackageManager pack …`). */
8
+ export interface UpmPackOptions {
9
+ /** Unity Cloud organization id. */
10
+ organizationId: string;
11
+ /** Output path for the packed artifact. */
12
+ destination?: string;
13
+ /** Folder containing `package.json` to pack; when omitted the child process cwd applies. */
14
+ packageDirectory?: string;
15
+ }
16
+ /**
17
+ * Managed Unity Package Manager CLI (unity-cli–installed `UnityPackageManager`), modeled after {@link UnityHub}:
18
+ * parameterless constructor resolves roots and executable preference, {@link Install} manages downloads, {@link Exec} runs the binary.
19
+ */
20
+ export declare class UpmCli {
21
+ /** Root directory for managed installs (~/.unity-cli/upm), analogous to {@link UnityHub.rootDirectory}. */
22
+ readonly managedRoot: string;
23
+ private readonly logger;
24
+ constructor();
25
+ private static getCdnBaseUrl;
26
+ /**
27
+ * HTTPS URL under the UPM CLI CDN for a release file. Caller must validate `tag` (e.g. {@link UpmCli.validateVersionFormat});
28
+ * path segments are encoded to avoid tainted file-derived strings reaching the network unchecked (CodeQL js/file-access-to-http).
29
+ */
30
+ private static buildUpmReleaseAssetUrl;
31
+ private static buildUpmLatestTxtUrl;
32
+ private static normalizeSemver;
33
+ private static parseVerifiedSemVerFromLine;
34
+ private static parseCliVersionStdout;
35
+ private getVersionInstallDir;
36
+ private getCurrentVersionFilePath;
37
+ private getPlatformId;
38
+ private validateVersionFormat;
39
+ private findPrimaryExecutable;
40
+ /** Optional executable override (mirrors `UNITY_HUB_PATH` for {@link UnityHub}). */
41
+ private getExecutablePathOverride;
42
+ private executableOverrideIsUsable;
43
+ /**
44
+ * Release tag of the managed install from `current-version.txt`, if present and valid.
45
+ */
46
+ GetInstalledReleaseTag(): string | undefined;
47
+ /**
48
+ * Path to the primary `UnityPackageManager` binary for a managed release, or `undefined` if missing.
49
+ */
50
+ ResolveManagedPrimaryPath(version?: string): string | undefined;
51
+ /**
52
+ * Resolved path used to spawn the UPM CLI: `UPM_CLI_PATH` override when set, otherwise the managed primary binary.
53
+ * @throws If nothing usable is installed (mirrors Hub/Editor behavior when the executable cannot be used).
54
+ */
55
+ GetExecutablePath(): string;
56
+ /** Same role as {@link UnityHub.executable}: path used to spawn the UPM CLI (may reflect `UPM_CLI_PATH` or the managed install). */
57
+ get executable(): string;
58
+ GetLatestReleaseTag(): Promise<string>;
59
+ /** True if `latestTag` is newer than the installed managed release, or nothing is installed yet. */
60
+ IsUpdateAvailable(latestTag: string): boolean;
61
+ /**
62
+ * Installs or updates the managed UPM CLI (mirrors {@link UnityHub.Install} for the Hub itself).
63
+ * @returns Installed release tag (e.g. v9.27.0).
64
+ */
65
+ Install(options?: EnsureUpmInstalledOptions): Promise<string>;
66
+ /**
67
+ * When running in an interactive terminal, may prompt to install a missing UPM CLI or update to the latest CDN release.
68
+ * When not interactive, logs a warning if the running binary is older than the CDN latest (no install).
69
+ * Compares the running binary ({@link Version}) to {@link GetLatestReleaseTag} (including when {@code UPM_CLI_PATH} overrides the managed install).
70
+ * Call before {@link GetExecutablePath} / {@link Exec} for Hub-style optional install/update (e.g. pack).
71
+ */
72
+ PromptInstallOrUpdateWhenInteractive(): Promise<void>;
73
+ /**
74
+ * Executes the UPM CLI with the given arguments (mirrors {@link UnityHub.Exec}).
75
+ */
76
+ Exec(args: string[], options?: ExecOptions): Promise<string>;
77
+ /**
78
+ * Runs `--version` and returns the verified semver from the binary.
79
+ * @param expectedReleaseTag When set (e.g. from {@link Install}), ensures the reported semver matches this CDN release tag.
80
+ */
81
+ Version(expectedReleaseTag?: string): Promise<SemVer>;
82
+ /**
83
+ * Runs the UPM CLI `pack` subcommand (builds argv from {@link UpmPackOptions}, then {@link Exec}).
84
+ */
85
+ Pack(options: UpmPackOptions, execOptions?: ExecOptions): Promise<string>;
86
+ }