@htekdev/actions-debugger 1.0.25 → 1.0.27
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 +45 -4
- package/dist/cli/commands/categories.d.ts +6 -0
- package/dist/cli/commands/categories.d.ts.map +1 -0
- package/dist/cli/commands/categories.js +26 -0
- package/dist/cli/commands/categories.js.map +1 -0
- package/dist/cli/commands/diagnose.d.ts +6 -0
- package/dist/cli/commands/diagnose.d.ts.map +1 -0
- package/dist/cli/commands/diagnose.js +56 -0
- package/dist/cli/commands/diagnose.js.map +1 -0
- package/dist/cli/commands/lookup.d.ts +6 -0
- package/dist/cli/commands/lookup.d.ts.map +1 -0
- package/dist/cli/commands/lookup.js +27 -0
- package/dist/cli/commands/lookup.js.map +1 -0
- package/dist/cli/commands/search.d.ts +6 -0
- package/dist/cli/commands/search.d.ts.map +1 -0
- package/dist/cli/commands/search.js +33 -0
- package/dist/cli/commands/search.js.map +1 -0
- package/dist/cli/commands/suggest.d.ts +6 -0
- package/dist/cli/commands/suggest.d.ts.map +1 -0
- package/dist/cli/commands/suggest.js +27 -0
- package/dist/cli/commands/suggest.js.map +1 -0
- package/dist/cli/main.d.ts +5 -0
- package/dist/cli/main.d.ts.map +1 -0
- package/dist/cli/main.js +20 -0
- package/dist/cli/main.js.map +1 -0
- package/dist/cli/output.d.ts +17 -0
- package/dist/cli/output.d.ts.map +1 -0
- package/dist/cli/output.js +311 -0
- package/dist/cli/output.js.map +1 -0
- package/dist/entry.d.ts +12 -0
- package/dist/entry.d.ts.map +1 -0
- package/dist/entry.js +30 -0
- package/dist/entry.js.map +1 -0
- package/dist/index.d.ts +4 -5
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -30
- package/dist/index.js.map +1 -1
- package/dist/mcp.d.ts +11 -0
- package/dist/mcp.d.ts.map +1 -0
- package/dist/mcp.js +25 -0
- package/dist/mcp.js.map +1 -0
- package/errors/runner-environment/macos-dotnet-root-env-var-removed.yml +90 -0
- package/errors/runner-environment/powershell-76-dotnet10-httpclient-breaking-changes.yml +109 -0
- package/errors/runner-environment/ubuntu-24-04-chrome-148-webdriverio-hang.yml +91 -0
- package/errors/runner-environment/ubuntu-24-04-kernel-read-ahead-kb-io-thrashing.yml +94 -0
- package/package.json +11 -6
|
@@ -0,0 +1,311 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Output formatters for CLI commands.
|
|
3
|
+
* Supports text (human-friendly), json (machine-parseable), and md (markdown).
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* Detect the appropriate output format.
|
|
7
|
+
* TTY → text, piped → json, or explicit user choice.
|
|
8
|
+
*/
|
|
9
|
+
export function detectFormat(explicit) {
|
|
10
|
+
if (explicit && explicit !== "auto")
|
|
11
|
+
return explicit;
|
|
12
|
+
return process.stdout.isTTY ? "text" : "json";
|
|
13
|
+
}
|
|
14
|
+
// ─── Lookup ─────────────────────────────────────────────────────────────────
|
|
15
|
+
export function formatLookupOutput(results, format) {
|
|
16
|
+
if (format === "json") {
|
|
17
|
+
return JSON.stringify({ matches: results.map(entryToJson) }, null, 2);
|
|
18
|
+
}
|
|
19
|
+
if (format === "md") {
|
|
20
|
+
return formatLookupMd(results);
|
|
21
|
+
}
|
|
22
|
+
return formatLookupText(results);
|
|
23
|
+
}
|
|
24
|
+
function formatLookupText(results) {
|
|
25
|
+
if (results.length === 0) {
|
|
26
|
+
return "No matching errors found.\n\nTry `actions-debugger search <keyword>` for broader results.";
|
|
27
|
+
}
|
|
28
|
+
return results.map((entry) => {
|
|
29
|
+
const lines = [
|
|
30
|
+
`✓ Match: ${entry.title}`,
|
|
31
|
+
` Category: ${entry.category} | Severity: ${entry.severity}`,
|
|
32
|
+
"",
|
|
33
|
+
` Root Cause: ${entry.root_cause.trim()}`,
|
|
34
|
+
"",
|
|
35
|
+
` Fix: ${entry.fix.trim()}`,
|
|
36
|
+
];
|
|
37
|
+
if (entry.fix_code?.length) {
|
|
38
|
+
lines.push("");
|
|
39
|
+
for (const fc of entry.fix_code) {
|
|
40
|
+
lines.push(` ${fc.label || fc.language}:`);
|
|
41
|
+
for (const line of fc.code.trim().split("\n")) {
|
|
42
|
+
lines.push(` ${line}`);
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
if (entry.prevention?.length) {
|
|
47
|
+
lines.push("", " Prevention:");
|
|
48
|
+
for (const p of entry.prevention) {
|
|
49
|
+
lines.push(` - ${p}`);
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
if (entry.docs?.length) {
|
|
53
|
+
lines.push("", " Docs:");
|
|
54
|
+
for (const d of entry.docs) {
|
|
55
|
+
lines.push(` - ${d.label}: ${d.url}`);
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
return lines.join("\n");
|
|
59
|
+
}).join("\n\n---\n\n");
|
|
60
|
+
}
|
|
61
|
+
function formatLookupMd(results) {
|
|
62
|
+
if (results.length === 0) {
|
|
63
|
+
return "No matching errors found.";
|
|
64
|
+
}
|
|
65
|
+
return results.map((entry, i) => {
|
|
66
|
+
const lines = [
|
|
67
|
+
`## ${i > 0 ? `Match ${i + 1}: ` : ""}${entry.title}`,
|
|
68
|
+
"",
|
|
69
|
+
`**Category:** ${entry.category} | **Severity:** ${entry.severity}`,
|
|
70
|
+
"",
|
|
71
|
+
`**Root Cause:** ${entry.root_cause.trim()}`,
|
|
72
|
+
"",
|
|
73
|
+
`**Fix:** ${entry.fix.trim()}`,
|
|
74
|
+
];
|
|
75
|
+
if (entry.fix_code?.length) {
|
|
76
|
+
for (const fc of entry.fix_code) {
|
|
77
|
+
lines.push("", `\`\`\`${fc.language}`, fc.code.trim(), "```");
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
if (entry.prevention?.length) {
|
|
81
|
+
lines.push("", "**Prevention:**");
|
|
82
|
+
for (const p of entry.prevention) {
|
|
83
|
+
lines.push(`- ${p}`);
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
if (entry.docs?.length) {
|
|
87
|
+
lines.push("", "**Docs:**");
|
|
88
|
+
for (const d of entry.docs) {
|
|
89
|
+
lines.push(`- [${d.label}](${d.url})`);
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
return lines.join("\n");
|
|
93
|
+
}).join("\n\n---\n\n");
|
|
94
|
+
}
|
|
95
|
+
// ─── Search ─────────────────────────────────────────────────────────────────
|
|
96
|
+
export function formatSearchOutput(results, format) {
|
|
97
|
+
if (format === "json") {
|
|
98
|
+
return JSON.stringify({ matches: results.map(entryToJson) }, null, 2);
|
|
99
|
+
}
|
|
100
|
+
if (format === "md") {
|
|
101
|
+
return formatSearchMd(results);
|
|
102
|
+
}
|
|
103
|
+
return formatSearchText(results);
|
|
104
|
+
}
|
|
105
|
+
function formatSearchText(results) {
|
|
106
|
+
if (results.length === 0) {
|
|
107
|
+
return "No results found. Try different keywords or browse with `actions-debugger categories`.";
|
|
108
|
+
}
|
|
109
|
+
const lines = [`Found ${results.length} result(s):`, ""];
|
|
110
|
+
for (const entry of results) {
|
|
111
|
+
lines.push(` ${entry.title}`);
|
|
112
|
+
lines.push(` ${entry.category} | ${entry.severity} | ${entry.root_cause.trim().split("\n")[0]}`);
|
|
113
|
+
lines.push("");
|
|
114
|
+
}
|
|
115
|
+
return lines.join("\n");
|
|
116
|
+
}
|
|
117
|
+
function formatSearchMd(results) {
|
|
118
|
+
if (results.length === 0)
|
|
119
|
+
return "No results found.";
|
|
120
|
+
const lines = [`## Search Results (${results.length})`, ""];
|
|
121
|
+
for (const entry of results) {
|
|
122
|
+
lines.push(`### ${entry.title}`);
|
|
123
|
+
lines.push(`**Category:** ${entry.category} | **Severity:** ${entry.severity}`);
|
|
124
|
+
lines.push("", entry.root_cause.trim().split("\n")[0], "");
|
|
125
|
+
}
|
|
126
|
+
return lines.join("\n");
|
|
127
|
+
}
|
|
128
|
+
// ─── Diagnose ───────────────────────────────────────────────────────────────
|
|
129
|
+
export function formatDiagnoseOutput(findings, format) {
|
|
130
|
+
if (format === "json") {
|
|
131
|
+
return JSON.stringify({ findings }, null, 2);
|
|
132
|
+
}
|
|
133
|
+
if (format === "md") {
|
|
134
|
+
return formatDiagnoseMd(findings);
|
|
135
|
+
}
|
|
136
|
+
return formatDiagnoseText(findings);
|
|
137
|
+
}
|
|
138
|
+
function formatDiagnoseText(findings) {
|
|
139
|
+
if (findings.length === 0) {
|
|
140
|
+
return "✅ No issues found. Workflow looks good!";
|
|
141
|
+
}
|
|
142
|
+
const lines = [`Found ${findings.length} issue(s):`, ""];
|
|
143
|
+
const icons = { critical: "🔴", high: "🟠", medium: "🟡", low: "🔵" };
|
|
144
|
+
for (const f of findings) {
|
|
145
|
+
lines.push(` ${icons[f.severity] || "•"} [${f.severity}] ${f.message}`);
|
|
146
|
+
lines.push(` Fix: ${f.fix}`);
|
|
147
|
+
if (f.fix_code) {
|
|
148
|
+
for (const line of f.fix_code.split("\n")) {
|
|
149
|
+
lines.push(` ${line}`);
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
lines.push("");
|
|
153
|
+
}
|
|
154
|
+
return lines.join("\n");
|
|
155
|
+
}
|
|
156
|
+
function formatDiagnoseMd(findings) {
|
|
157
|
+
if (findings.length === 0)
|
|
158
|
+
return "✅ No issues found.";
|
|
159
|
+
const lines = [`## Workflow Analysis — ${findings.length} issue(s)`, ""];
|
|
160
|
+
for (const f of findings) {
|
|
161
|
+
lines.push(`- **[${f.severity}]** ${f.message}`);
|
|
162
|
+
lines.push(` - Fix: ${f.fix}`);
|
|
163
|
+
if (f.fix_code) {
|
|
164
|
+
lines.push(" ```", ` ${f.fix_code}`, " ```");
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
return lines.join("\n");
|
|
168
|
+
}
|
|
169
|
+
// ─── Suggest ────────────────────────────────────────────────────────────────
|
|
170
|
+
export function formatSuggestOutput(results, format) {
|
|
171
|
+
if (format === "json") {
|
|
172
|
+
return JSON.stringify({ suggestions: results.map(entryToJson) }, null, 2);
|
|
173
|
+
}
|
|
174
|
+
if (format === "md") {
|
|
175
|
+
return formatSuggestMd(results);
|
|
176
|
+
}
|
|
177
|
+
return formatSuggestText(results);
|
|
178
|
+
}
|
|
179
|
+
function formatSuggestText(results) {
|
|
180
|
+
if (results.length === 0) {
|
|
181
|
+
return "No matching suggestions. Try `actions-debugger lookup <exact error message>` for better results.";
|
|
182
|
+
}
|
|
183
|
+
const best = results[0];
|
|
184
|
+
const lines = [
|
|
185
|
+
`✓ Suggested Fix: ${best.title}`,
|
|
186
|
+
` Category: ${best.category} | Severity: ${best.severity}`,
|
|
187
|
+
"",
|
|
188
|
+
` Root Cause: ${best.root_cause.trim()}`,
|
|
189
|
+
"",
|
|
190
|
+
` Fix: ${best.fix.trim()}`,
|
|
191
|
+
];
|
|
192
|
+
if (best.fix_code?.length) {
|
|
193
|
+
lines.push("");
|
|
194
|
+
for (const fc of best.fix_code) {
|
|
195
|
+
lines.push(` ${fc.label || fc.language}:`);
|
|
196
|
+
for (const line of fc.code.trim().split("\n")) {
|
|
197
|
+
lines.push(` ${line}`);
|
|
198
|
+
}
|
|
199
|
+
}
|
|
200
|
+
}
|
|
201
|
+
if (results.length > 1) {
|
|
202
|
+
lines.push("", " Other possible matches:");
|
|
203
|
+
for (const entry of results.slice(1)) {
|
|
204
|
+
lines.push(` - ${entry.title} (${entry.category})`);
|
|
205
|
+
}
|
|
206
|
+
}
|
|
207
|
+
return lines.join("\n");
|
|
208
|
+
}
|
|
209
|
+
function formatSuggestMd(results) {
|
|
210
|
+
if (results.length === 0)
|
|
211
|
+
return "No matching suggestions.";
|
|
212
|
+
const best = results[0];
|
|
213
|
+
const lines = [
|
|
214
|
+
`## Suggested Fix: ${best.title}`,
|
|
215
|
+
"",
|
|
216
|
+
`**Category:** ${best.category} | **Severity:** ${best.severity}`,
|
|
217
|
+
"",
|
|
218
|
+
`**Root Cause:** ${best.root_cause.trim()}`,
|
|
219
|
+
"",
|
|
220
|
+
`**Fix:** ${best.fix.trim()}`,
|
|
221
|
+
];
|
|
222
|
+
if (best.fix_code?.length) {
|
|
223
|
+
for (const fc of best.fix_code) {
|
|
224
|
+
lines.push("", `\`\`\`${fc.language}`, fc.code.trim(), "```");
|
|
225
|
+
}
|
|
226
|
+
}
|
|
227
|
+
if (results.length > 1) {
|
|
228
|
+
lines.push("", "**Other possible matches:**");
|
|
229
|
+
for (const entry of results.slice(1)) {
|
|
230
|
+
lines.push(`- ${entry.title} (${entry.category})`);
|
|
231
|
+
}
|
|
232
|
+
}
|
|
233
|
+
return lines.join("\n");
|
|
234
|
+
}
|
|
235
|
+
// ─── Categories ─────────────────────────────────────────────────────────────
|
|
236
|
+
export function formatCategoriesOutput(categories, format) {
|
|
237
|
+
if (format === "json") {
|
|
238
|
+
return JSON.stringify({
|
|
239
|
+
categories: categories.map((c) => ({
|
|
240
|
+
name: c.name,
|
|
241
|
+
count: c.count,
|
|
242
|
+
severities: c.severities,
|
|
243
|
+
})),
|
|
244
|
+
}, null, 2);
|
|
245
|
+
}
|
|
246
|
+
if (format === "md") {
|
|
247
|
+
return formatCategoriesMd(categories);
|
|
248
|
+
}
|
|
249
|
+
return formatCategoriesText(categories);
|
|
250
|
+
}
|
|
251
|
+
function formatCategoriesText(categories) {
|
|
252
|
+
const total = categories.reduce((sum, c) => sum + c.count, 0);
|
|
253
|
+
const nameWidth = Math.max(...categories.map((c) => c.name.length), 10);
|
|
254
|
+
const lines = [
|
|
255
|
+
`Error Categories (${total} total errors)`,
|
|
256
|
+
"",
|
|
257
|
+
`${"Category".padEnd(nameWidth)} Count Severities`,
|
|
258
|
+
"─".repeat(nameWidth + 40),
|
|
259
|
+
];
|
|
260
|
+
for (const cat of categories) {
|
|
261
|
+
const sevParts = [];
|
|
262
|
+
if (cat.severities.error)
|
|
263
|
+
sevParts.push(`${cat.severities.error} error`);
|
|
264
|
+
if (cat.severities.warning)
|
|
265
|
+
sevParts.push(`${cat.severities.warning} warning`);
|
|
266
|
+
if (cat.severities["silent-failure"])
|
|
267
|
+
sevParts.push(`${cat.severities["silent-failure"]} silent`);
|
|
268
|
+
if (cat.severities.limitation)
|
|
269
|
+
sevParts.push(`${cat.severities.limitation} limitation`);
|
|
270
|
+
lines.push(`${cat.name.padEnd(nameWidth)} ${String(cat.count).padStart(5)} ${sevParts.join(", ")}`);
|
|
271
|
+
}
|
|
272
|
+
return lines.join("\n");
|
|
273
|
+
}
|
|
274
|
+
function formatCategoriesMd(categories) {
|
|
275
|
+
const total = categories.reduce((sum, c) => sum + c.count, 0);
|
|
276
|
+
const lines = [
|
|
277
|
+
`## Error Categories (${total} total)`,
|
|
278
|
+
"",
|
|
279
|
+
"| Category | Count | Severities |",
|
|
280
|
+
"|----------|-------|------------|",
|
|
281
|
+
];
|
|
282
|
+
for (const cat of categories) {
|
|
283
|
+
const sevParts = [];
|
|
284
|
+
if (cat.severities.error)
|
|
285
|
+
sevParts.push(`${cat.severities.error} error`);
|
|
286
|
+
if (cat.severities.warning)
|
|
287
|
+
sevParts.push(`${cat.severities.warning} warning`);
|
|
288
|
+
if (cat.severities["silent-failure"])
|
|
289
|
+
sevParts.push(`${cat.severities["silent-failure"]} silent`);
|
|
290
|
+
if (cat.severities.limitation)
|
|
291
|
+
sevParts.push(`${cat.severities.limitation} limitation`);
|
|
292
|
+
lines.push(`| \`${cat.name}\` | ${cat.count} | ${sevParts.join(", ")} |`);
|
|
293
|
+
}
|
|
294
|
+
return lines.join("\n");
|
|
295
|
+
}
|
|
296
|
+
// ─── Helpers ────────────────────────────────────────────────────────────────
|
|
297
|
+
function entryToJson(entry) {
|
|
298
|
+
return {
|
|
299
|
+
id: entry.id,
|
|
300
|
+
title: entry.title,
|
|
301
|
+
category: entry.category,
|
|
302
|
+
severity: entry.severity,
|
|
303
|
+
root_cause: entry.root_cause.trim(),
|
|
304
|
+
fix: entry.fix.trim(),
|
|
305
|
+
fix_code: entry.fix_code?.map((fc) => ({ language: fc.language, code: fc.code.trim() })),
|
|
306
|
+
prevention: entry.prevention,
|
|
307
|
+
docs: entry.docs,
|
|
308
|
+
tags: entry.tags,
|
|
309
|
+
};
|
|
310
|
+
}
|
|
311
|
+
//# sourceMappingURL=output.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"output.js","sourceRoot":"","sources":["../../src/cli/output.ts"],"names":[],"mappings":"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"}
|
package/dist/entry.d.ts
ADDED
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
/**
|
|
3
|
+
* Unified entry point for @htekdev/actions-debugger.
|
|
4
|
+
*
|
|
5
|
+
* Detection logic:
|
|
6
|
+
* - Known subcommand (lookup, search, diagnose, suggest-fix, categories) → CLI mode
|
|
7
|
+
* - --help, --version, or flag starting with - → CLI mode (commander handles it)
|
|
8
|
+
* - No args or --mcp → MCP server mode (backward compatible)
|
|
9
|
+
* - Unknown arg → MCP server mode (fallback)
|
|
10
|
+
*/
|
|
11
|
+
export {};
|
|
12
|
+
//# sourceMappingURL=entry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"entry.d.ts","sourceRoot":"","sources":["../src/entry.ts"],"names":[],"mappings":";AAEA;;;;;;;;GAQG"}
|
package/dist/entry.js
ADDED
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
/**
|
|
3
|
+
* Unified entry point for @htekdev/actions-debugger.
|
|
4
|
+
*
|
|
5
|
+
* Detection logic:
|
|
6
|
+
* - Known subcommand (lookup, search, diagnose, suggest-fix, categories) → CLI mode
|
|
7
|
+
* - --help, --version, or flag starting with - → CLI mode (commander handles it)
|
|
8
|
+
* - No args or --mcp → MCP server mode (backward compatible)
|
|
9
|
+
* - Unknown arg → MCP server mode (fallback)
|
|
10
|
+
*/
|
|
11
|
+
const CLI_COMMANDS = ["lookup", "search", "diagnose", "suggest-fix", "categories"];
|
|
12
|
+
const firstArg = process.argv[2];
|
|
13
|
+
if (!firstArg || firstArg === "--mcp") {
|
|
14
|
+
// MCP server mode — dynamic import to keep startup fast for CLI
|
|
15
|
+
import("./mcp.js");
|
|
16
|
+
}
|
|
17
|
+
else if (CLI_COMMANDS.includes(firstArg) ||
|
|
18
|
+
firstArg === "--help" ||
|
|
19
|
+
firstArg === "-h" ||
|
|
20
|
+
firstArg === "--version" ||
|
|
21
|
+
firstArg === "-V") {
|
|
22
|
+
// CLI mode
|
|
23
|
+
import("./cli/main.js");
|
|
24
|
+
}
|
|
25
|
+
else {
|
|
26
|
+
// Unknown arg — fallback to MCP for backward compat
|
|
27
|
+
import("./mcp.js");
|
|
28
|
+
}
|
|
29
|
+
export {};
|
|
30
|
+
//# sourceMappingURL=entry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"entry.js","sourceRoot":"","sources":["../src/entry.ts"],"names":[],"mappings":";AAEA;;;;;;;;GAQG;AAEH,MAAM,YAAY,GAAG,CAAC,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,aAAa,EAAE,YAAY,CAAC,CAAC;AAEnF,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAEjC,IAAI,CAAC,QAAQ,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;IACtC,gEAAgE;IAChE,MAAM,CAAC,UAAU,CAAC,CAAC;AACrB,CAAC;KAAM,IACL,YAAY,CAAC,QAAQ,CAAC,QAAQ,CAAC;IAC/B,QAAQ,KAAK,QAAQ;IACrB,QAAQ,KAAK,IAAI;IACjB,QAAQ,KAAK,WAAW;IACxB,QAAQ,KAAK,IAAI,EACjB,CAAC;IACD,WAAW;IACX,MAAM,CAAC,eAAe,CAAC,CAAC;AAC1B,CAAC;KAAM,CAAC;IACN,oDAAoD;IACpD,MAAM,CAAC,UAAU,CAAC,CAAC;AACrB,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,12 +1,11 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
1
|
/**
|
|
3
|
-
* @htekdev/actions-debugger —
|
|
2
|
+
* @htekdev/actions-debugger — Programmatic API exports.
|
|
4
3
|
*
|
|
5
4
|
* 65+ real GitHub Actions errors, queryable by agents.
|
|
6
|
-
* Runs as a stdio MCP server for Claude Desktop, Copilot CLI, Cursor, etc.
|
|
7
5
|
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
6
|
+
* For MCP server: import from "@htekdev/actions-debugger/mcp"
|
|
7
|
+
* For CLI: npx @htekdev/actions-debugger <command>
|
|
8
|
+
* For library: import { lookupError, searchErrors } from "@htekdev/actions-debugger"
|
|
10
9
|
*
|
|
11
10
|
* Source: https://htek.dev/articles/github-actions-debugging-guide
|
|
12
11
|
*/
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAGH,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAGxD,YAAY,EACV,UAAU,EACV,aAAa,EACb,aAAa,EACb,aAAa,EACb,YAAY,EACZ,iBAAiB,EACjB,YAAY,GACb,MAAM,eAAe,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -1,44 +1,19 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
1
|
/**
|
|
3
|
-
* @htekdev/actions-debugger —
|
|
2
|
+
* @htekdev/actions-debugger — Programmatic API exports.
|
|
4
3
|
*
|
|
5
4
|
* 65+ real GitHub Actions errors, queryable by agents.
|
|
6
|
-
* Runs as a stdio MCP server for Claude Desktop, Copilot CLI, Cursor, etc.
|
|
7
5
|
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
6
|
+
* For MCP server: import from "@htekdev/actions-debugger/mcp"
|
|
7
|
+
* For CLI: npx @htekdev/actions-debugger <command>
|
|
8
|
+
* For library: import { lookupError, searchErrors } from "@htekdev/actions-debugger"
|
|
10
9
|
*
|
|
11
10
|
* Source: https://htek.dev/articles/github-actions-debugging-guide
|
|
12
11
|
*/
|
|
13
|
-
|
|
14
|
-
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
|
|
15
|
-
import { loadErrorDatabase } from "./db/loader.js";
|
|
16
|
-
import { registerTools } from "./server.js";
|
|
17
|
-
// Re-export programmatic API
|
|
12
|
+
// Core API exports
|
|
18
13
|
export { loadErrorDatabase } from "./db/loader.js";
|
|
19
14
|
export { lookupError } from "./tools/lookup-error.js";
|
|
20
15
|
export { diagnoseWorkflow } from "./tools/diagnose-workflow.js";
|
|
21
16
|
export { suggestFix } from "./tools/suggest-fix.js";
|
|
22
17
|
export { listCategories } from "./tools/list-categories.js";
|
|
23
18
|
export { searchErrors } from "./tools/search-errors.js";
|
|
24
|
-
/**
|
|
25
|
-
* Start the MCP server if running as CLI.
|
|
26
|
-
*/
|
|
27
|
-
async function main() {
|
|
28
|
-
const db = await loadErrorDatabase();
|
|
29
|
-
const server = new Server({ name: "actions-debugger", version: "1.0.0" }, { capabilities: { tools: {} } });
|
|
30
|
-
registerTools(server, db);
|
|
31
|
-
const transport = new StdioServerTransport();
|
|
32
|
-
await server.connect(transport);
|
|
33
|
-
}
|
|
34
|
-
// Only start server when running as CLI (not when imported as library)
|
|
35
|
-
const isMainModule = process.argv[1] &&
|
|
36
|
-
(process.argv[1].endsWith("index.js") ||
|
|
37
|
-
process.argv[1].endsWith("actions-debugger"));
|
|
38
|
-
if (isMainModule) {
|
|
39
|
-
main().catch((err) => {
|
|
40
|
-
console.error("Fatal error:", err);
|
|
41
|
-
process.exit(1);
|
|
42
|
-
});
|
|
43
|
-
}
|
|
44
19
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,mBAAmB;AACnB,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC"}
|
package/dist/mcp.d.ts
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
/**
|
|
3
|
+
* MCP server entry point.
|
|
4
|
+
* Starts the stdio MCP server for Claude Desktop, Copilot CLI, Cursor, etc.
|
|
5
|
+
*
|
|
6
|
+
* Usage:
|
|
7
|
+
* npx @htekdev/actions-debugger (no subcommand → MCP mode)
|
|
8
|
+
* node dist/mcp.js
|
|
9
|
+
*/
|
|
10
|
+
export {};
|
|
11
|
+
//# sourceMappingURL=mcp.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mcp.d.ts","sourceRoot":"","sources":["../src/mcp.ts"],"names":[],"mappings":";AAEA;;;;;;;GAOG"}
|
package/dist/mcp.js
ADDED
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
/**
|
|
3
|
+
* MCP server entry point.
|
|
4
|
+
* Starts the stdio MCP server for Claude Desktop, Copilot CLI, Cursor, etc.
|
|
5
|
+
*
|
|
6
|
+
* Usage:
|
|
7
|
+
* npx @htekdev/actions-debugger (no subcommand → MCP mode)
|
|
8
|
+
* node dist/mcp.js
|
|
9
|
+
*/
|
|
10
|
+
import { Server } from "@modelcontextprotocol/sdk/server/index.js";
|
|
11
|
+
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
|
|
12
|
+
import { loadErrorDatabase } from "./db/loader.js";
|
|
13
|
+
import { registerTools } from "./server.js";
|
|
14
|
+
async function main() {
|
|
15
|
+
const db = await loadErrorDatabase();
|
|
16
|
+
const server = new Server({ name: "actions-debugger", version: "1.1.0" }, { capabilities: { tools: {} } });
|
|
17
|
+
registerTools(server, db);
|
|
18
|
+
const transport = new StdioServerTransport();
|
|
19
|
+
await server.connect(transport);
|
|
20
|
+
}
|
|
21
|
+
main().catch((err) => {
|
|
22
|
+
console.error("Fatal error:", err);
|
|
23
|
+
process.exit(1);
|
|
24
|
+
});
|
|
25
|
+
//# sourceMappingURL=mcp.js.map
|
package/dist/mcp.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mcp.js","sourceRoot":"","sources":["../src/mcp.ts"],"names":[],"mappings":";AAEA;;;;;;;GAOG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AACnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE5C,KAAK,UAAU,IAAI;IACjB,MAAM,EAAE,GAAG,MAAM,iBAAiB,EAAE,CAAC;IAErC,MAAM,MAAM,GAAG,IAAI,MAAM,CACvB,EAAE,IAAI,EAAE,kBAAkB,EAAE,OAAO,EAAE,OAAO,EAAE,EAC9C,EAAE,YAAY,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,CAChC,CAAC;IAEF,aAAa,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IAE1B,MAAM,SAAS,GAAG,IAAI,oBAAoB,EAAE,CAAC;IAC7C,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;AAClC,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;IACnB,OAAO,CAAC,KAAK,CAAC,cAAc,EAAE,GAAG,CAAC,CAAC;IACnC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
id: runner-environment-078
|
|
2
|
+
title: "macOS Runner DOTNET_ROOT Environment Variable Removed — .NET SDK Path Discovery Fails"
|
|
3
|
+
category: runner-environment
|
|
4
|
+
severity: error
|
|
5
|
+
tags:
|
|
6
|
+
- macos
|
|
7
|
+
- dotnet
|
|
8
|
+
- dotnet-root
|
|
9
|
+
- environment-variable
|
|
10
|
+
- sdk-discovery
|
|
11
|
+
- breaking-change
|
|
12
|
+
- runner-images
|
|
13
|
+
patterns:
|
|
14
|
+
- regex: 'DOTNET_ROOT.*not set|DOTNET_ROOT.*undefined|DOTNET_ROOT.*empty'
|
|
15
|
+
flags: "i"
|
|
16
|
+
- regex: 'A compatible \.NET SDK was not found|It was not possible to find any installed \.NET'
|
|
17
|
+
flags: "i"
|
|
18
|
+
- regex: 'dotnet.*not found|No \.NET SDKs were found'
|
|
19
|
+
flags: "i"
|
|
20
|
+
error_messages:
|
|
21
|
+
- "A compatible .NET SDK was not found."
|
|
22
|
+
- "It was not possible to find any installed .NET Core SDKs."
|
|
23
|
+
- "No .NET SDKs were found."
|
|
24
|
+
- "DOTNET_ROOT is not set."
|
|
25
|
+
root_cause: |
|
|
26
|
+
Starting January 12, 2026, GitHub removed the DOTNET_ROOT environment variable from
|
|
27
|
+
all macOS runner images: macOS-14, macOS-14-arm64, macOS-15, macOS-15-arm64,
|
|
28
|
+
macOS-26, and macOS-26-arm64 (runner-images#13470, driven by #13365).
|
|
29
|
+
|
|
30
|
+
The variable was previously predefined in the runner image environment to help
|
|
31
|
+
.NET tooling locate installed SDKs. It was removed because modern .NET SDK versions
|
|
32
|
+
can discover installations without it, and keeping the hardcoded path caused
|
|
33
|
+
inconsistent behavior when multiple .NET versions were installed side-by-side.
|
|
34
|
+
|
|
35
|
+
Workflows affected:
|
|
36
|
+
1. Custom scripts that use $DOTNET_ROOT or $env:DOTNET_ROOT to invoke the dotnet CLI
|
|
37
|
+
without first running actions/setup-dotnet.
|
|
38
|
+
2. Docker containers started from the runner that inherit the host environment
|
|
39
|
+
and previously relied on DOTNET_ROOT being present.
|
|
40
|
+
3. Third-party .NET tools or build scripts that call into the .NET host resolver
|
|
41
|
+
and expect the environment to provide a root path.
|
|
42
|
+
|
|
43
|
+
Note: Windows and Ubuntu runner images are NOT affected by this change — only macOS.
|
|
44
|
+
Workflows using actions/setup-dotnet are unaffected as it sets DOTNET_ROOT itself.
|
|
45
|
+
fix: |
|
|
46
|
+
Set DOTNET_ROOT manually in the job env block, OR use actions/setup-dotnet which
|
|
47
|
+
sets it correctly as part of its own setup. For most GitHub Actions workflows that
|
|
48
|
+
install .NET via setup-dotnet, no change is needed. Custom scripts that reference
|
|
49
|
+
$DOTNET_ROOT directly must set it explicitly.
|
|
50
|
+
|
|
51
|
+
The canonical path for user-scoped .NET installs is $HOME/.dotnet (Unix) or
|
|
52
|
+
$env:USERPROFILE\.dotnet (Windows). actions/setup-dotnet uses $RUNNER_TOOL_CACHE.
|
|
53
|
+
fix_code:
|
|
54
|
+
- language: yaml
|
|
55
|
+
label: "Set DOTNET_ROOT manually in the job env block"
|
|
56
|
+
code: |
|
|
57
|
+
jobs:
|
|
58
|
+
build:
|
|
59
|
+
runs-on: macos-latest
|
|
60
|
+
env:
|
|
61
|
+
DOTNET_ROOT: ${{ runner.home }}/.dotnet
|
|
62
|
+
steps:
|
|
63
|
+
- uses: actions/checkout@v4
|
|
64
|
+
- name: Build
|
|
65
|
+
run: dotnet build src/MyApp.csproj
|
|
66
|
+
- language: yaml
|
|
67
|
+
label: "Use actions/setup-dotnet — sets DOTNET_ROOT automatically"
|
|
68
|
+
code: |
|
|
69
|
+
jobs:
|
|
70
|
+
build:
|
|
71
|
+
runs-on: macos-latest
|
|
72
|
+
steps:
|
|
73
|
+
- uses: actions/checkout@v4
|
|
74
|
+
- uses: actions/setup-dotnet@v4
|
|
75
|
+
with:
|
|
76
|
+
dotnet-version: '9.x'
|
|
77
|
+
# DOTNET_ROOT is now set by setup-dotnet automatically
|
|
78
|
+
- run: dotnet test --configuration Release
|
|
79
|
+
prevention:
|
|
80
|
+
- "Use actions/setup-dotnet in all .NET workflows on macOS — it sets DOTNET_ROOT and handles version management."
|
|
81
|
+
- "Audit scripts for direct $DOTNET_ROOT or $env:DOTNET_ROOT references and add explicit env: blocks for macOS jobs."
|
|
82
|
+
- "Test .NET workflows on macOS runner versions after image update cycles."
|
|
83
|
+
- "Subscribe to runner-images pinned announcements to stay ahead of environment variable removals."
|
|
84
|
+
docs:
|
|
85
|
+
- url: "https://github.com/actions/runner-images/issues/13470"
|
|
86
|
+
label: "runner-images#13470: DOTNET_ROOT environment variable will be removed from macOS on January 12th, 2026"
|
|
87
|
+
- url: "https://github.com/actions/setup-dotnet"
|
|
88
|
+
label: "actions/setup-dotnet: Installs .NET SDK and sets DOTNET_ROOT correctly"
|
|
89
|
+
- url: "https://learn.microsoft.com/en-us/dotnet/core/tools/dotnet-environment-variables#dotnet_root-dotnet_rootx86"
|
|
90
|
+
label: "Microsoft Docs: DOTNET_ROOT environment variable reference"
|