diff --git a/.github/workflows/archie.lock.yml b/.github/workflows/archie.lock.yml index 03722a93bc..d43f2c22a5 100644 --- a/.github/workflows/archie.lock.yml +++ b/.github/workflows/archie.lock.yml @@ -3750,6 +3750,43 @@ jobs: runLogParser, }; } + function formatDuration(ms) { + if (!ms || ms <= 0) return ""; + const seconds = Math.round(ms / 1000); + if (seconds < 60) { + return `${seconds}s`; + } + const minutes = Math.floor(seconds / 60); + const remainingSeconds = seconds % 60; + if (remainingSeconds === 0) { + return `${minutes}m`; + } + return `${minutes}m ${remainingSeconds}s`; + } + function formatBashCommand(command) { + if (!command) return ""; + let formatted = command + .replace(/\n/g, " ") + .replace(/\r/g, " ") + .replace(/\t/g, " ") + .replace(/\s+/g, " ") + .trim(); + formatted = formatted.replace(/`/g, "\\`"); + const maxLength = 300; + if (formatted.length > maxLength) { + formatted = formatted.substring(0, maxLength) + "..."; + } + return formatted; + } + function truncateString(str, maxLength) { + if (!str) return ""; + if (str.length <= maxLength) return str; + return str.substring(0, maxLength) + "..."; + } + function estimateTokens(text) { + if (!text) return 0; + return Math.ceil(text.length / 4); + } function main() { runLogParser({ parseLog: parseCopilotLog, @@ -4408,23 +4445,6 @@ jobs: } return markdown; } - function estimateTokens(text) { - if (!text) return 0; - return Math.ceil(text.length / 4); - } - function formatDuration(ms) { - if (!ms || ms <= 0) return ""; - const seconds = Math.round(ms / 1000); - if (seconds < 60) { - return `${seconds}s`; - } - const minutes = Math.floor(seconds / 60); - const remainingSeconds = seconds % 60; - if (remainingSeconds === 0) { - return `${minutes}m`; - } - return `${minutes}m ${remainingSeconds}s`; - } function formatToolUseWithDetails(toolUse, toolResult) { const toolName = toolUse.name; const input = toolUse.input || {}; @@ -4552,21 +4572,6 @@ jobs: } return paramStrs.join(", "); } - function formatBashCommand(command) { - if (!command) return ""; - let formatted = command.replace(/\n/g, " ").replace(/\r/g, " ").replace(/\t/g, " ").replace(/\s+/g, " ").trim(); - formatted = formatted.replace(/`/g, "\\`"); - const maxLength = 300; - if (formatted.length > maxLength) { - formatted = formatted.substring(0, maxLength) + "..."; - } - return formatted; - } - function truncateString(str, maxLength) { - if (!str) return ""; - if (str.length <= maxLength) return str; - return str.substring(0, maxLength) + "..."; - } if (typeof module !== "undefined" && module.exports) { module.exports = { parseCopilotLog, diff --git a/.github/workflows/artifacts-summary.lock.yml b/.github/workflows/artifacts-summary.lock.yml index 289b361063..069fd385bc 100644 --- a/.github/workflows/artifacts-summary.lock.yml +++ b/.github/workflows/artifacts-summary.lock.yml @@ -2621,6 +2621,43 @@ jobs: runLogParser, }; } + function formatDuration(ms) { + if (!ms || ms <= 0) return ""; + const seconds = Math.round(ms / 1000); + if (seconds < 60) { + return `${seconds}s`; + } + const minutes = Math.floor(seconds / 60); + const remainingSeconds = seconds % 60; + if (remainingSeconds === 0) { + return `${minutes}m`; + } + return `${minutes}m ${remainingSeconds}s`; + } + function formatBashCommand(command) { + if (!command) return ""; + let formatted = command + .replace(/\n/g, " ") + .replace(/\r/g, " ") + .replace(/\t/g, " ") + .replace(/\s+/g, " ") + .trim(); + formatted = formatted.replace(/`/g, "\\`"); + const maxLength = 300; + if (formatted.length > maxLength) { + formatted = formatted.substring(0, maxLength) + "..."; + } + return formatted; + } + function truncateString(str, maxLength) { + if (!str) return ""; + if (str.length <= maxLength) return str; + return str.substring(0, maxLength) + "..."; + } + function estimateTokens(text) { + if (!text) return 0; + return Math.ceil(text.length / 4); + } function main() { runLogParser({ parseLog: parseCopilotLog, @@ -3279,23 +3316,6 @@ jobs: } return markdown; } - function estimateTokens(text) { - if (!text) return 0; - return Math.ceil(text.length / 4); - } - function formatDuration(ms) { - if (!ms || ms <= 0) return ""; - const seconds = Math.round(ms / 1000); - if (seconds < 60) { - return `${seconds}s`; - } - const minutes = Math.floor(seconds / 60); - const remainingSeconds = seconds % 60; - if (remainingSeconds === 0) { - return `${minutes}m`; - } - return `${minutes}m ${remainingSeconds}s`; - } function formatToolUseWithDetails(toolUse, toolResult) { const toolName = toolUse.name; const input = toolUse.input || {}; @@ -3423,21 +3443,6 @@ jobs: } return paramStrs.join(", "); } - function formatBashCommand(command) { - if (!command) return ""; - let formatted = command.replace(/\n/g, " ").replace(/\r/g, " ").replace(/\t/g, " ").replace(/\s+/g, " ").trim(); - formatted = formatted.replace(/`/g, "\\`"); - const maxLength = 300; - if (formatted.length > maxLength) { - formatted = formatted.substring(0, maxLength) + "..."; - } - return formatted; - } - function truncateString(str, maxLength) { - if (!str) return ""; - if (str.length <= maxLength) return str; - return str.substring(0, maxLength) + "..."; - } if (typeof module !== "undefined" && module.exports) { module.exports = { parseCopilotLog, diff --git a/.github/workflows/audit-workflows.lock.yml b/.github/workflows/audit-workflows.lock.yml index 51a7b055e1..051ebf0714 100644 --- a/.github/workflows/audit-workflows.lock.yml +++ b/.github/workflows/audit-workflows.lock.yml @@ -3656,6 +3656,43 @@ jobs: runLogParser, }; } + function formatDuration(ms) { + if (!ms || ms <= 0) return ""; + const seconds = Math.round(ms / 1000); + if (seconds < 60) { + return `${seconds}s`; + } + const minutes = Math.floor(seconds / 60); + const remainingSeconds = seconds % 60; + if (remainingSeconds === 0) { + return `${minutes}m`; + } + return `${minutes}m ${remainingSeconds}s`; + } + function formatBashCommand(command) { + if (!command) return ""; + let formatted = command + .replace(/\n/g, " ") + .replace(/\r/g, " ") + .replace(/\t/g, " ") + .replace(/\s+/g, " ") + .trim(); + formatted = formatted.replace(/`/g, "\\`"); + const maxLength = 300; + if (formatted.length > maxLength) { + formatted = formatted.substring(0, maxLength) + "..."; + } + return formatted; + } + function truncateString(str, maxLength) { + if (!str) return ""; + if (str.length <= maxLength) return str; + return str.substring(0, maxLength) + "..."; + } + function estimateTokens(text) { + if (!text) return 0; + return Math.ceil(text.length / 4); + } function main() { runLogParser({ parseLog: parseClaudeLog, @@ -3901,23 +3938,6 @@ jobs: } return { markdown, mcpFailures }; } - function estimateTokens(text) { - if (!text) return 0; - return Math.ceil(text.length / 4); - } - function formatDuration(ms) { - if (!ms || ms <= 0) return ""; - const seconds = Math.round(ms / 1000); - if (seconds < 60) { - return `${seconds}s`; - } - const minutes = Math.floor(seconds / 60); - const remainingSeconds = seconds % 60; - if (remainingSeconds === 0) { - return `${minutes}m`; - } - return `${minutes}m ${remainingSeconds}s`; - } function formatToolUse(toolUse, toolResult) { const toolName = toolUse.name; const input = toolUse.input || {}; @@ -4035,26 +4055,6 @@ jobs: } return paramStrs.join(", "); } - function formatBashCommand(command) { - if (!command) return ""; - let formatted = command - .replace(/\n/g, " ") - .replace(/\r/g, " ") - .replace(/\t/g, " ") - .replace(/\s+/g, " ") - .trim(); - formatted = formatted.replace(/`/g, "\\`"); - const maxLength = 300; - if (formatted.length > maxLength) { - formatted = formatted.substring(0, maxLength) + "..."; - } - return formatted; - } - function truncateString(str, maxLength) { - if (!str) return ""; - if (str.length <= maxLength) return str; - return str.substring(0, maxLength) + "..."; - } if (typeof module !== "undefined" && module.exports) { module.exports = { parseClaudeLog, diff --git a/.github/workflows/blog-auditor.lock.yml b/.github/workflows/blog-auditor.lock.yml index 69c465ae0f..02960c67f6 100644 --- a/.github/workflows/blog-auditor.lock.yml +++ b/.github/workflows/blog-auditor.lock.yml @@ -3002,6 +3002,43 @@ jobs: runLogParser, }; } + function formatDuration(ms) { + if (!ms || ms <= 0) return ""; + const seconds = Math.round(ms / 1000); + if (seconds < 60) { + return `${seconds}s`; + } + const minutes = Math.floor(seconds / 60); + const remainingSeconds = seconds % 60; + if (remainingSeconds === 0) { + return `${minutes}m`; + } + return `${minutes}m ${remainingSeconds}s`; + } + function formatBashCommand(command) { + if (!command) return ""; + let formatted = command + .replace(/\n/g, " ") + .replace(/\r/g, " ") + .replace(/\t/g, " ") + .replace(/\s+/g, " ") + .trim(); + formatted = formatted.replace(/`/g, "\\`"); + const maxLength = 300; + if (formatted.length > maxLength) { + formatted = formatted.substring(0, maxLength) + "..."; + } + return formatted; + } + function truncateString(str, maxLength) { + if (!str) return ""; + if (str.length <= maxLength) return str; + return str.substring(0, maxLength) + "..."; + } + function estimateTokens(text) { + if (!text) return 0; + return Math.ceil(text.length / 4); + } function main() { runLogParser({ parseLog: parseClaudeLog, @@ -3247,23 +3284,6 @@ jobs: } return { markdown, mcpFailures }; } - function estimateTokens(text) { - if (!text) return 0; - return Math.ceil(text.length / 4); - } - function formatDuration(ms) { - if (!ms || ms <= 0) return ""; - const seconds = Math.round(ms / 1000); - if (seconds < 60) { - return `${seconds}s`; - } - const minutes = Math.floor(seconds / 60); - const remainingSeconds = seconds % 60; - if (remainingSeconds === 0) { - return `${minutes}m`; - } - return `${minutes}m ${remainingSeconds}s`; - } function formatToolUse(toolUse, toolResult) { const toolName = toolUse.name; const input = toolUse.input || {}; @@ -3381,26 +3401,6 @@ jobs: } return paramStrs.join(", "); } - function formatBashCommand(command) { - if (!command) return ""; - let formatted = command - .replace(/\n/g, " ") - .replace(/\r/g, " ") - .replace(/\t/g, " ") - .replace(/\s+/g, " ") - .trim(); - formatted = formatted.replace(/`/g, "\\`"); - const maxLength = 300; - if (formatted.length > maxLength) { - formatted = formatted.substring(0, maxLength) + "..."; - } - return formatted; - } - function truncateString(str, maxLength) { - if (!str) return ""; - if (str.length <= maxLength) return str; - return str.substring(0, maxLength) + "..."; - } if (typeof module !== "undefined" && module.exports) { module.exports = { parseClaudeLog, diff --git a/.github/workflows/brave.lock.yml b/.github/workflows/brave.lock.yml index 948122e59b..96dac30a58 100644 --- a/.github/workflows/brave.lock.yml +++ b/.github/workflows/brave.lock.yml @@ -3597,6 +3597,43 @@ jobs: runLogParser, }; } + function formatDuration(ms) { + if (!ms || ms <= 0) return ""; + const seconds = Math.round(ms / 1000); + if (seconds < 60) { + return `${seconds}s`; + } + const minutes = Math.floor(seconds / 60); + const remainingSeconds = seconds % 60; + if (remainingSeconds === 0) { + return `${minutes}m`; + } + return `${minutes}m ${remainingSeconds}s`; + } + function formatBashCommand(command) { + if (!command) return ""; + let formatted = command + .replace(/\n/g, " ") + .replace(/\r/g, " ") + .replace(/\t/g, " ") + .replace(/\s+/g, " ") + .trim(); + formatted = formatted.replace(/`/g, "\\`"); + const maxLength = 300; + if (formatted.length > maxLength) { + formatted = formatted.substring(0, maxLength) + "..."; + } + return formatted; + } + function truncateString(str, maxLength) { + if (!str) return ""; + if (str.length <= maxLength) return str; + return str.substring(0, maxLength) + "..."; + } + function estimateTokens(text) { + if (!text) return 0; + return Math.ceil(text.length / 4); + } function main() { runLogParser({ parseLog: parseCopilotLog, @@ -4255,23 +4292,6 @@ jobs: } return markdown; } - function estimateTokens(text) { - if (!text) return 0; - return Math.ceil(text.length / 4); - } - function formatDuration(ms) { - if (!ms || ms <= 0) return ""; - const seconds = Math.round(ms / 1000); - if (seconds < 60) { - return `${seconds}s`; - } - const minutes = Math.floor(seconds / 60); - const remainingSeconds = seconds % 60; - if (remainingSeconds === 0) { - return `${minutes}m`; - } - return `${minutes}m ${remainingSeconds}s`; - } function formatToolUseWithDetails(toolUse, toolResult) { const toolName = toolUse.name; const input = toolUse.input || {}; @@ -4399,21 +4419,6 @@ jobs: } return paramStrs.join(", "); } - function formatBashCommand(command) { - if (!command) return ""; - let formatted = command.replace(/\n/g, " ").replace(/\r/g, " ").replace(/\t/g, " ").replace(/\s+/g, " ").trim(); - formatted = formatted.replace(/`/g, "\\`"); - const maxLength = 300; - if (formatted.length > maxLength) { - formatted = formatted.substring(0, maxLength) + "..."; - } - return formatted; - } - function truncateString(str, maxLength) { - if (!str) return ""; - if (str.length <= maxLength) return str; - return str.substring(0, maxLength) + "..."; - } if (typeof module !== "undefined" && module.exports) { module.exports = { parseCopilotLog, diff --git a/.github/workflows/changeset.lock.yml b/.github/workflows/changeset.lock.yml index 5fef5a46c6..5a8aaeeefb 100644 --- a/.github/workflows/changeset.lock.yml +++ b/.github/workflows/changeset.lock.yml @@ -3289,6 +3289,43 @@ jobs: runLogParser, }; } + function formatDuration(ms) { + if (!ms || ms <= 0) return ""; + const seconds = Math.round(ms / 1000); + if (seconds < 60) { + return `${seconds}s`; + } + const minutes = Math.floor(seconds / 60); + const remainingSeconds = seconds % 60; + if (remainingSeconds === 0) { + return `${minutes}m`; + } + return `${minutes}m ${remainingSeconds}s`; + } + function formatBashCommand(command) { + if (!command) return ""; + let formatted = command + .replace(/\n/g, " ") + .replace(/\r/g, " ") + .replace(/\t/g, " ") + .replace(/\s+/g, " ") + .trim(); + formatted = formatted.replace(/`/g, "\\`"); + const maxLength = 300; + if (formatted.length > maxLength) { + formatted = formatted.substring(0, maxLength) + "..."; + } + return formatted; + } + function truncateString(str, maxLength) { + if (!str) return ""; + if (str.length <= maxLength) return str; + return str.substring(0, maxLength) + "..."; + } + function estimateTokens(text) { + if (!text) return 0; + return Math.ceil(text.length / 4); + } function main() { runLogParser({ parseLog: parseCopilotLog, @@ -3947,23 +3984,6 @@ jobs: } return markdown; } - function estimateTokens(text) { - if (!text) return 0; - return Math.ceil(text.length / 4); - } - function formatDuration(ms) { - if (!ms || ms <= 0) return ""; - const seconds = Math.round(ms / 1000); - if (seconds < 60) { - return `${seconds}s`; - } - const minutes = Math.floor(seconds / 60); - const remainingSeconds = seconds % 60; - if (remainingSeconds === 0) { - return `${minutes}m`; - } - return `${minutes}m ${remainingSeconds}s`; - } function formatToolUseWithDetails(toolUse, toolResult) { const toolName = toolUse.name; const input = toolUse.input || {}; @@ -4091,21 +4111,6 @@ jobs: } return paramStrs.join(", "); } - function formatBashCommand(command) { - if (!command) return ""; - let formatted = command.replace(/\n/g, " ").replace(/\r/g, " ").replace(/\t/g, " ").replace(/\s+/g, " ").trim(); - formatted = formatted.replace(/`/g, "\\`"); - const maxLength = 300; - if (formatted.length > maxLength) { - formatted = formatted.substring(0, maxLength) + "..."; - } - return formatted; - } - function truncateString(str, maxLength) { - if (!str) return ""; - if (str.length <= maxLength) return str; - return str.substring(0, maxLength) + "..."; - } if (typeof module !== "undefined" && module.exports) { module.exports = { parseCopilotLog, diff --git a/.github/workflows/ci-doctor.lock.yml b/.github/workflows/ci-doctor.lock.yml index 09335ee89b..55567cef3c 100644 --- a/.github/workflows/ci-doctor.lock.yml +++ b/.github/workflows/ci-doctor.lock.yml @@ -3094,6 +3094,43 @@ jobs: runLogParser, }; } + function formatDuration(ms) { + if (!ms || ms <= 0) return ""; + const seconds = Math.round(ms / 1000); + if (seconds < 60) { + return `${seconds}s`; + } + const minutes = Math.floor(seconds / 60); + const remainingSeconds = seconds % 60; + if (remainingSeconds === 0) { + return `${minutes}m`; + } + return `${minutes}m ${remainingSeconds}s`; + } + function formatBashCommand(command) { + if (!command) return ""; + let formatted = command + .replace(/\n/g, " ") + .replace(/\r/g, " ") + .replace(/\t/g, " ") + .replace(/\s+/g, " ") + .trim(); + formatted = formatted.replace(/`/g, "\\`"); + const maxLength = 300; + if (formatted.length > maxLength) { + formatted = formatted.substring(0, maxLength) + "..."; + } + return formatted; + } + function truncateString(str, maxLength) { + if (!str) return ""; + if (str.length <= maxLength) return str; + return str.substring(0, maxLength) + "..."; + } + function estimateTokens(text) { + if (!text) return 0; + return Math.ceil(text.length / 4); + } function main() { runLogParser({ parseLog: parseCopilotLog, @@ -3752,23 +3789,6 @@ jobs: } return markdown; } - function estimateTokens(text) { - if (!text) return 0; - return Math.ceil(text.length / 4); - } - function formatDuration(ms) { - if (!ms || ms <= 0) return ""; - const seconds = Math.round(ms / 1000); - if (seconds < 60) { - return `${seconds}s`; - } - const minutes = Math.floor(seconds / 60); - const remainingSeconds = seconds % 60; - if (remainingSeconds === 0) { - return `${minutes}m`; - } - return `${minutes}m ${remainingSeconds}s`; - } function formatToolUseWithDetails(toolUse, toolResult) { const toolName = toolUse.name; const input = toolUse.input || {}; @@ -3896,21 +3916,6 @@ jobs: } return paramStrs.join(", "); } - function formatBashCommand(command) { - if (!command) return ""; - let formatted = command.replace(/\n/g, " ").replace(/\r/g, " ").replace(/\t/g, " ").replace(/\s+/g, " ").trim(); - formatted = formatted.replace(/`/g, "\\`"); - const maxLength = 300; - if (formatted.length > maxLength) { - formatted = formatted.substring(0, maxLength) + "..."; - } - return formatted; - } - function truncateString(str, maxLength) { - if (!str) return ""; - if (str.length <= maxLength) return str; - return str.substring(0, maxLength) + "..."; - } if (typeof module !== "undefined" && module.exports) { module.exports = { parseCopilotLog, diff --git a/.github/workflows/cli-consistency-checker.lock.yml b/.github/workflows/cli-consistency-checker.lock.yml index bf397bc9ba..14317b4a58 100644 --- a/.github/workflows/cli-consistency-checker.lock.yml +++ b/.github/workflows/cli-consistency-checker.lock.yml @@ -2659,6 +2659,43 @@ jobs: runLogParser, }; } + function formatDuration(ms) { + if (!ms || ms <= 0) return ""; + const seconds = Math.round(ms / 1000); + if (seconds < 60) { + return `${seconds}s`; + } + const minutes = Math.floor(seconds / 60); + const remainingSeconds = seconds % 60; + if (remainingSeconds === 0) { + return `${minutes}m`; + } + return `${minutes}m ${remainingSeconds}s`; + } + function formatBashCommand(command) { + if (!command) return ""; + let formatted = command + .replace(/\n/g, " ") + .replace(/\r/g, " ") + .replace(/\t/g, " ") + .replace(/\s+/g, " ") + .trim(); + formatted = formatted.replace(/`/g, "\\`"); + const maxLength = 300; + if (formatted.length > maxLength) { + formatted = formatted.substring(0, maxLength) + "..."; + } + return formatted; + } + function truncateString(str, maxLength) { + if (!str) return ""; + if (str.length <= maxLength) return str; + return str.substring(0, maxLength) + "..."; + } + function estimateTokens(text) { + if (!text) return 0; + return Math.ceil(text.length / 4); + } function main() { runLogParser({ parseLog: parseCopilotLog, @@ -3317,23 +3354,6 @@ jobs: } return markdown; } - function estimateTokens(text) { - if (!text) return 0; - return Math.ceil(text.length / 4); - } - function formatDuration(ms) { - if (!ms || ms <= 0) return ""; - const seconds = Math.round(ms / 1000); - if (seconds < 60) { - return `${seconds}s`; - } - const minutes = Math.floor(seconds / 60); - const remainingSeconds = seconds % 60; - if (remainingSeconds === 0) { - return `${minutes}m`; - } - return `${minutes}m ${remainingSeconds}s`; - } function formatToolUseWithDetails(toolUse, toolResult) { const toolName = toolUse.name; const input = toolUse.input || {}; @@ -3461,21 +3481,6 @@ jobs: } return paramStrs.join(", "); } - function formatBashCommand(command) { - if (!command) return ""; - let formatted = command.replace(/\n/g, " ").replace(/\r/g, " ").replace(/\t/g, " ").replace(/\s+/g, " ").trim(); - formatted = formatted.replace(/`/g, "\\`"); - const maxLength = 300; - if (formatted.length > maxLength) { - formatted = formatted.substring(0, maxLength) + "..."; - } - return formatted; - } - function truncateString(str, maxLength) { - if (!str) return ""; - if (str.length <= maxLength) return str; - return str.substring(0, maxLength) + "..."; - } if (typeof module !== "undefined" && module.exports) { module.exports = { parseCopilotLog, diff --git a/.github/workflows/cli-version-checker.lock.yml b/.github/workflows/cli-version-checker.lock.yml index 4ad0f60d58..d615782c84 100644 --- a/.github/workflows/cli-version-checker.lock.yml +++ b/.github/workflows/cli-version-checker.lock.yml @@ -2835,6 +2835,43 @@ jobs: runLogParser, }; } + function formatDuration(ms) { + if (!ms || ms <= 0) return ""; + const seconds = Math.round(ms / 1000); + if (seconds < 60) { + return `${seconds}s`; + } + const minutes = Math.floor(seconds / 60); + const remainingSeconds = seconds % 60; + if (remainingSeconds === 0) { + return `${minutes}m`; + } + return `${minutes}m ${remainingSeconds}s`; + } + function formatBashCommand(command) { + if (!command) return ""; + let formatted = command + .replace(/\n/g, " ") + .replace(/\r/g, " ") + .replace(/\t/g, " ") + .replace(/\s+/g, " ") + .trim(); + formatted = formatted.replace(/`/g, "\\`"); + const maxLength = 300; + if (formatted.length > maxLength) { + formatted = formatted.substring(0, maxLength) + "..."; + } + return formatted; + } + function truncateString(str, maxLength) { + if (!str) return ""; + if (str.length <= maxLength) return str; + return str.substring(0, maxLength) + "..."; + } + function estimateTokens(text) { + if (!text) return 0; + return Math.ceil(text.length / 4); + } function main() { runLogParser({ parseLog: parseCopilotLog, @@ -3493,23 +3530,6 @@ jobs: } return markdown; } - function estimateTokens(text) { - if (!text) return 0; - return Math.ceil(text.length / 4); - } - function formatDuration(ms) { - if (!ms || ms <= 0) return ""; - const seconds = Math.round(ms / 1000); - if (seconds < 60) { - return `${seconds}s`; - } - const minutes = Math.floor(seconds / 60); - const remainingSeconds = seconds % 60; - if (remainingSeconds === 0) { - return `${minutes}m`; - } - return `${minutes}m ${remainingSeconds}s`; - } function formatToolUseWithDetails(toolUse, toolResult) { const toolName = toolUse.name; const input = toolUse.input || {}; @@ -3637,21 +3657,6 @@ jobs: } return paramStrs.join(", "); } - function formatBashCommand(command) { - if (!command) return ""; - let formatted = command.replace(/\n/g, " ").replace(/\r/g, " ").replace(/\t/g, " ").replace(/\s+/g, " ").trim(); - formatted = formatted.replace(/`/g, "\\`"); - const maxLength = 300; - if (formatted.length > maxLength) { - formatted = formatted.substring(0, maxLength) + "..."; - } - return formatted; - } - function truncateString(str, maxLength) { - if (!str) return ""; - if (str.length <= maxLength) return str; - return str.substring(0, maxLength) + "..."; - } if (typeof module !== "undefined" && module.exports) { module.exports = { parseCopilotLog, diff --git a/.github/workflows/commit-changes-analyzer.lock.yml b/.github/workflows/commit-changes-analyzer.lock.yml index 070931e37d..6f89ca3229 100644 --- a/.github/workflows/commit-changes-analyzer.lock.yml +++ b/.github/workflows/commit-changes-analyzer.lock.yml @@ -2933,6 +2933,43 @@ jobs: runLogParser, }; } + function formatDuration(ms) { + if (!ms || ms <= 0) return ""; + const seconds = Math.round(ms / 1000); + if (seconds < 60) { + return `${seconds}s`; + } + const minutes = Math.floor(seconds / 60); + const remainingSeconds = seconds % 60; + if (remainingSeconds === 0) { + return `${minutes}m`; + } + return `${minutes}m ${remainingSeconds}s`; + } + function formatBashCommand(command) { + if (!command) return ""; + let formatted = command + .replace(/\n/g, " ") + .replace(/\r/g, " ") + .replace(/\t/g, " ") + .replace(/\s+/g, " ") + .trim(); + formatted = formatted.replace(/`/g, "\\`"); + const maxLength = 300; + if (formatted.length > maxLength) { + formatted = formatted.substring(0, maxLength) + "..."; + } + return formatted; + } + function truncateString(str, maxLength) { + if (!str) return ""; + if (str.length <= maxLength) return str; + return str.substring(0, maxLength) + "..."; + } + function estimateTokens(text) { + if (!text) return 0; + return Math.ceil(text.length / 4); + } function main() { runLogParser({ parseLog: parseClaudeLog, @@ -3178,23 +3215,6 @@ jobs: } return { markdown, mcpFailures }; } - function estimateTokens(text) { - if (!text) return 0; - return Math.ceil(text.length / 4); - } - function formatDuration(ms) { - if (!ms || ms <= 0) return ""; - const seconds = Math.round(ms / 1000); - if (seconds < 60) { - return `${seconds}s`; - } - const minutes = Math.floor(seconds / 60); - const remainingSeconds = seconds % 60; - if (remainingSeconds === 0) { - return `${minutes}m`; - } - return `${minutes}m ${remainingSeconds}s`; - } function formatToolUse(toolUse, toolResult) { const toolName = toolUse.name; const input = toolUse.input || {}; @@ -3312,26 +3332,6 @@ jobs: } return paramStrs.join(", "); } - function formatBashCommand(command) { - if (!command) return ""; - let formatted = command - .replace(/\n/g, " ") - .replace(/\r/g, " ") - .replace(/\t/g, " ") - .replace(/\s+/g, " ") - .trim(); - formatted = formatted.replace(/`/g, "\\`"); - const maxLength = 300; - if (formatted.length > maxLength) { - formatted = formatted.substring(0, maxLength) + "..."; - } - return formatted; - } - function truncateString(str, maxLength) { - if (!str) return ""; - if (str.length <= maxLength) return str; - return str.substring(0, maxLength) + "..."; - } if (typeof module !== "undefined" && module.exports) { module.exports = { parseClaudeLog, diff --git a/.github/workflows/copilot-agent-analysis.lock.yml b/.github/workflows/copilot-agent-analysis.lock.yml index 484110ac15..4206305d20 100644 --- a/.github/workflows/copilot-agent-analysis.lock.yml +++ b/.github/workflows/copilot-agent-analysis.lock.yml @@ -3286,6 +3286,43 @@ jobs: runLogParser, }; } + function formatDuration(ms) { + if (!ms || ms <= 0) return ""; + const seconds = Math.round(ms / 1000); + if (seconds < 60) { + return `${seconds}s`; + } + const minutes = Math.floor(seconds / 60); + const remainingSeconds = seconds % 60; + if (remainingSeconds === 0) { + return `${minutes}m`; + } + return `${minutes}m ${remainingSeconds}s`; + } + function formatBashCommand(command) { + if (!command) return ""; + let formatted = command + .replace(/\n/g, " ") + .replace(/\r/g, " ") + .replace(/\t/g, " ") + .replace(/\s+/g, " ") + .trim(); + formatted = formatted.replace(/`/g, "\\`"); + const maxLength = 300; + if (formatted.length > maxLength) { + formatted = formatted.substring(0, maxLength) + "..."; + } + return formatted; + } + function truncateString(str, maxLength) { + if (!str) return ""; + if (str.length <= maxLength) return str; + return str.substring(0, maxLength) + "..."; + } + function estimateTokens(text) { + if (!text) return 0; + return Math.ceil(text.length / 4); + } function main() { runLogParser({ parseLog: parseClaudeLog, @@ -3531,23 +3568,6 @@ jobs: } return { markdown, mcpFailures }; } - function estimateTokens(text) { - if (!text) return 0; - return Math.ceil(text.length / 4); - } - function formatDuration(ms) { - if (!ms || ms <= 0) return ""; - const seconds = Math.round(ms / 1000); - if (seconds < 60) { - return `${seconds}s`; - } - const minutes = Math.floor(seconds / 60); - const remainingSeconds = seconds % 60; - if (remainingSeconds === 0) { - return `${minutes}m`; - } - return `${minutes}m ${remainingSeconds}s`; - } function formatToolUse(toolUse, toolResult) { const toolName = toolUse.name; const input = toolUse.input || {}; @@ -3665,26 +3685,6 @@ jobs: } return paramStrs.join(", "); } - function formatBashCommand(command) { - if (!command) return ""; - let formatted = command - .replace(/\n/g, " ") - .replace(/\r/g, " ") - .replace(/\t/g, " ") - .replace(/\s+/g, " ") - .trim(); - formatted = formatted.replace(/`/g, "\\`"); - const maxLength = 300; - if (formatted.length > maxLength) { - formatted = formatted.substring(0, maxLength) + "..."; - } - return formatted; - } - function truncateString(str, maxLength) { - if (!str) return ""; - if (str.length <= maxLength) return str; - return str.substring(0, maxLength) + "..."; - } if (typeof module !== "undefined" && module.exports) { module.exports = { parseClaudeLog, diff --git a/.github/workflows/copilot-pr-nlp-analysis.lock.yml b/.github/workflows/copilot-pr-nlp-analysis.lock.yml index f8041e5eab..0f6804bf24 100644 --- a/.github/workflows/copilot-pr-nlp-analysis.lock.yml +++ b/.github/workflows/copilot-pr-nlp-analysis.lock.yml @@ -3378,6 +3378,43 @@ jobs: runLogParser, }; } + function formatDuration(ms) { + if (!ms || ms <= 0) return ""; + const seconds = Math.round(ms / 1000); + if (seconds < 60) { + return `${seconds}s`; + } + const minutes = Math.floor(seconds / 60); + const remainingSeconds = seconds % 60; + if (remainingSeconds === 0) { + return `${minutes}m`; + } + return `${minutes}m ${remainingSeconds}s`; + } + function formatBashCommand(command) { + if (!command) return ""; + let formatted = command + .replace(/\n/g, " ") + .replace(/\r/g, " ") + .replace(/\t/g, " ") + .replace(/\s+/g, " ") + .trim(); + formatted = formatted.replace(/`/g, "\\`"); + const maxLength = 300; + if (formatted.length > maxLength) { + formatted = formatted.substring(0, maxLength) + "..."; + } + return formatted; + } + function truncateString(str, maxLength) { + if (!str) return ""; + if (str.length <= maxLength) return str; + return str.substring(0, maxLength) + "..."; + } + function estimateTokens(text) { + if (!text) return 0; + return Math.ceil(text.length / 4); + } function main() { runLogParser({ parseLog: parseCopilotLog, @@ -4036,23 +4073,6 @@ jobs: } return markdown; } - function estimateTokens(text) { - if (!text) return 0; - return Math.ceil(text.length / 4); - } - function formatDuration(ms) { - if (!ms || ms <= 0) return ""; - const seconds = Math.round(ms / 1000); - if (seconds < 60) { - return `${seconds}s`; - } - const minutes = Math.floor(seconds / 60); - const remainingSeconds = seconds % 60; - if (remainingSeconds === 0) { - return `${minutes}m`; - } - return `${minutes}m ${remainingSeconds}s`; - } function formatToolUseWithDetails(toolUse, toolResult) { const toolName = toolUse.name; const input = toolUse.input || {}; @@ -4180,21 +4200,6 @@ jobs: } return paramStrs.join(", "); } - function formatBashCommand(command) { - if (!command) return ""; - let formatted = command.replace(/\n/g, " ").replace(/\r/g, " ").replace(/\t/g, " ").replace(/\s+/g, " ").trim(); - formatted = formatted.replace(/`/g, "\\`"); - const maxLength = 300; - if (formatted.length > maxLength) { - formatted = formatted.substring(0, maxLength) + "..."; - } - return formatted; - } - function truncateString(str, maxLength) { - if (!str) return ""; - if (str.length <= maxLength) return str; - return str.substring(0, maxLength) + "..."; - } if (typeof module !== "undefined" && module.exports) { module.exports = { parseCopilotLog, diff --git a/.github/workflows/copilot-pr-prompt-analysis.lock.yml b/.github/workflows/copilot-pr-prompt-analysis.lock.yml index 92443aad32..05e3dd77a8 100644 --- a/.github/workflows/copilot-pr-prompt-analysis.lock.yml +++ b/.github/workflows/copilot-pr-prompt-analysis.lock.yml @@ -2961,6 +2961,43 @@ jobs: runLogParser, }; } + function formatDuration(ms) { + if (!ms || ms <= 0) return ""; + const seconds = Math.round(ms / 1000); + if (seconds < 60) { + return `${seconds}s`; + } + const minutes = Math.floor(seconds / 60); + const remainingSeconds = seconds % 60; + if (remainingSeconds === 0) { + return `${minutes}m`; + } + return `${minutes}m ${remainingSeconds}s`; + } + function formatBashCommand(command) { + if (!command) return ""; + let formatted = command + .replace(/\n/g, " ") + .replace(/\r/g, " ") + .replace(/\t/g, " ") + .replace(/\s+/g, " ") + .trim(); + formatted = formatted.replace(/`/g, "\\`"); + const maxLength = 300; + if (formatted.length > maxLength) { + formatted = formatted.substring(0, maxLength) + "..."; + } + return formatted; + } + function truncateString(str, maxLength) { + if (!str) return ""; + if (str.length <= maxLength) return str; + return str.substring(0, maxLength) + "..."; + } + function estimateTokens(text) { + if (!text) return 0; + return Math.ceil(text.length / 4); + } function main() { runLogParser({ parseLog: parseCopilotLog, @@ -3619,23 +3656,6 @@ jobs: } return markdown; } - function estimateTokens(text) { - if (!text) return 0; - return Math.ceil(text.length / 4); - } - function formatDuration(ms) { - if (!ms || ms <= 0) return ""; - const seconds = Math.round(ms / 1000); - if (seconds < 60) { - return `${seconds}s`; - } - const minutes = Math.floor(seconds / 60); - const remainingSeconds = seconds % 60; - if (remainingSeconds === 0) { - return `${minutes}m`; - } - return `${minutes}m ${remainingSeconds}s`; - } function formatToolUseWithDetails(toolUse, toolResult) { const toolName = toolUse.name; const input = toolUse.input || {}; @@ -3763,21 +3783,6 @@ jobs: } return paramStrs.join(", "); } - function formatBashCommand(command) { - if (!command) return ""; - let formatted = command.replace(/\n/g, " ").replace(/\r/g, " ").replace(/\t/g, " ").replace(/\s+/g, " ").trim(); - formatted = formatted.replace(/`/g, "\\`"); - const maxLength = 300; - if (formatted.length > maxLength) { - formatted = formatted.substring(0, maxLength) + "..."; - } - return formatted; - } - function truncateString(str, maxLength) { - if (!str) return ""; - if (str.length <= maxLength) return str; - return str.substring(0, maxLength) + "..."; - } if (typeof module !== "undefined" && module.exports) { module.exports = { parseCopilotLog, diff --git a/.github/workflows/copilot-session-insights.lock.yml b/.github/workflows/copilot-session-insights.lock.yml index 2ab2b01212..4fa5cb234a 100644 --- a/.github/workflows/copilot-session-insights.lock.yml +++ b/.github/workflows/copilot-session-insights.lock.yml @@ -4204,6 +4204,43 @@ jobs: runLogParser, }; } + function formatDuration(ms) { + if (!ms || ms <= 0) return ""; + const seconds = Math.round(ms / 1000); + if (seconds < 60) { + return `${seconds}s`; + } + const minutes = Math.floor(seconds / 60); + const remainingSeconds = seconds % 60; + if (remainingSeconds === 0) { + return `${minutes}m`; + } + return `${minutes}m ${remainingSeconds}s`; + } + function formatBashCommand(command) { + if (!command) return ""; + let formatted = command + .replace(/\n/g, " ") + .replace(/\r/g, " ") + .replace(/\t/g, " ") + .replace(/\s+/g, " ") + .trim(); + formatted = formatted.replace(/`/g, "\\`"); + const maxLength = 300; + if (formatted.length > maxLength) { + formatted = formatted.substring(0, maxLength) + "..."; + } + return formatted; + } + function truncateString(str, maxLength) { + if (!str) return ""; + if (str.length <= maxLength) return str; + return str.substring(0, maxLength) + "..."; + } + function estimateTokens(text) { + if (!text) return 0; + return Math.ceil(text.length / 4); + } function main() { runLogParser({ parseLog: parseClaudeLog, @@ -4449,23 +4486,6 @@ jobs: } return { markdown, mcpFailures }; } - function estimateTokens(text) { - if (!text) return 0; - return Math.ceil(text.length / 4); - } - function formatDuration(ms) { - if (!ms || ms <= 0) return ""; - const seconds = Math.round(ms / 1000); - if (seconds < 60) { - return `${seconds}s`; - } - const minutes = Math.floor(seconds / 60); - const remainingSeconds = seconds % 60; - if (remainingSeconds === 0) { - return `${minutes}m`; - } - return `${minutes}m ${remainingSeconds}s`; - } function formatToolUse(toolUse, toolResult) { const toolName = toolUse.name; const input = toolUse.input || {}; @@ -4583,26 +4603,6 @@ jobs: } return paramStrs.join(", "); } - function formatBashCommand(command) { - if (!command) return ""; - let formatted = command - .replace(/\n/g, " ") - .replace(/\r/g, " ") - .replace(/\t/g, " ") - .replace(/\s+/g, " ") - .trim(); - formatted = formatted.replace(/`/g, "\\`"); - const maxLength = 300; - if (formatted.length > maxLength) { - formatted = formatted.substring(0, maxLength) + "..."; - } - return formatted; - } - function truncateString(str, maxLength) { - if (!str) return ""; - if (str.length <= maxLength) return str; - return str.substring(0, maxLength) + "..."; - } if (typeof module !== "undefined" && module.exports) { module.exports = { parseClaudeLog, diff --git a/.github/workflows/craft.lock.yml b/.github/workflows/craft.lock.yml index 2d334c6fe9..2e9d521421 100644 --- a/.github/workflows/craft.lock.yml +++ b/.github/workflows/craft.lock.yml @@ -3751,6 +3751,43 @@ jobs: runLogParser, }; } + function formatDuration(ms) { + if (!ms || ms <= 0) return ""; + const seconds = Math.round(ms / 1000); + if (seconds < 60) { + return `${seconds}s`; + } + const minutes = Math.floor(seconds / 60); + const remainingSeconds = seconds % 60; + if (remainingSeconds === 0) { + return `${minutes}m`; + } + return `${minutes}m ${remainingSeconds}s`; + } + function formatBashCommand(command) { + if (!command) return ""; + let formatted = command + .replace(/\n/g, " ") + .replace(/\r/g, " ") + .replace(/\t/g, " ") + .replace(/\s+/g, " ") + .trim(); + formatted = formatted.replace(/`/g, "\\`"); + const maxLength = 300; + if (formatted.length > maxLength) { + formatted = formatted.substring(0, maxLength) + "..."; + } + return formatted; + } + function truncateString(str, maxLength) { + if (!str) return ""; + if (str.length <= maxLength) return str; + return str.substring(0, maxLength) + "..."; + } + function estimateTokens(text) { + if (!text) return 0; + return Math.ceil(text.length / 4); + } function main() { runLogParser({ parseLog: parseCopilotLog, @@ -4409,23 +4446,6 @@ jobs: } return markdown; } - function estimateTokens(text) { - if (!text) return 0; - return Math.ceil(text.length / 4); - } - function formatDuration(ms) { - if (!ms || ms <= 0) return ""; - const seconds = Math.round(ms / 1000); - if (seconds < 60) { - return `${seconds}s`; - } - const minutes = Math.floor(seconds / 60); - const remainingSeconds = seconds % 60; - if (remainingSeconds === 0) { - return `${minutes}m`; - } - return `${minutes}m ${remainingSeconds}s`; - } function formatToolUseWithDetails(toolUse, toolResult) { const toolName = toolUse.name; const input = toolUse.input || {}; @@ -4553,21 +4573,6 @@ jobs: } return paramStrs.join(", "); } - function formatBashCommand(command) { - if (!command) return ""; - let formatted = command.replace(/\n/g, " ").replace(/\r/g, " ").replace(/\t/g, " ").replace(/\s+/g, " ").trim(); - formatted = formatted.replace(/`/g, "\\`"); - const maxLength = 300; - if (formatted.length > maxLength) { - formatted = formatted.substring(0, maxLength) + "..."; - } - return formatted; - } - function truncateString(str, maxLength) { - if (!str) return ""; - if (str.length <= maxLength) return str; - return str.substring(0, maxLength) + "..."; - } if (typeof module !== "undefined" && module.exports) { module.exports = { parseCopilotLog, diff --git a/.github/workflows/daily-code-metrics.lock.yml b/.github/workflows/daily-code-metrics.lock.yml index d6b0b662fb..4ae2d72549 100644 --- a/.github/workflows/daily-code-metrics.lock.yml +++ b/.github/workflows/daily-code-metrics.lock.yml @@ -3276,6 +3276,43 @@ jobs: runLogParser, }; } + function formatDuration(ms) { + if (!ms || ms <= 0) return ""; + const seconds = Math.round(ms / 1000); + if (seconds < 60) { + return `${seconds}s`; + } + const minutes = Math.floor(seconds / 60); + const remainingSeconds = seconds % 60; + if (remainingSeconds === 0) { + return `${minutes}m`; + } + return `${minutes}m ${remainingSeconds}s`; + } + function formatBashCommand(command) { + if (!command) return ""; + let formatted = command + .replace(/\n/g, " ") + .replace(/\r/g, " ") + .replace(/\t/g, " ") + .replace(/\s+/g, " ") + .trim(); + formatted = formatted.replace(/`/g, "\\`"); + const maxLength = 300; + if (formatted.length > maxLength) { + formatted = formatted.substring(0, maxLength) + "..."; + } + return formatted; + } + function truncateString(str, maxLength) { + if (!str) return ""; + if (str.length <= maxLength) return str; + return str.substring(0, maxLength) + "..."; + } + function estimateTokens(text) { + if (!text) return 0; + return Math.ceil(text.length / 4); + } function main() { runLogParser({ parseLog: parseClaudeLog, @@ -3521,23 +3558,6 @@ jobs: } return { markdown, mcpFailures }; } - function estimateTokens(text) { - if (!text) return 0; - return Math.ceil(text.length / 4); - } - function formatDuration(ms) { - if (!ms || ms <= 0) return ""; - const seconds = Math.round(ms / 1000); - if (seconds < 60) { - return `${seconds}s`; - } - const minutes = Math.floor(seconds / 60); - const remainingSeconds = seconds % 60; - if (remainingSeconds === 0) { - return `${minutes}m`; - } - return `${minutes}m ${remainingSeconds}s`; - } function formatToolUse(toolUse, toolResult) { const toolName = toolUse.name; const input = toolUse.input || {}; @@ -3655,26 +3675,6 @@ jobs: } return paramStrs.join(", "); } - function formatBashCommand(command) { - if (!command) return ""; - let formatted = command - .replace(/\n/g, " ") - .replace(/\r/g, " ") - .replace(/\t/g, " ") - .replace(/\s+/g, " ") - .trim(); - formatted = formatted.replace(/`/g, "\\`"); - const maxLength = 300; - if (formatted.length > maxLength) { - formatted = formatted.substring(0, maxLength) + "..."; - } - return formatted; - } - function truncateString(str, maxLength) { - if (!str) return ""; - if (str.length <= maxLength) return str; - return str.substring(0, maxLength) + "..."; - } if (typeof module !== "undefined" && module.exports) { module.exports = { parseClaudeLog, diff --git a/.github/workflows/daily-doc-updater.lock.yml b/.github/workflows/daily-doc-updater.lock.yml index 85a2a29592..7019977ac7 100644 --- a/.github/workflows/daily-doc-updater.lock.yml +++ b/.github/workflows/daily-doc-updater.lock.yml @@ -2862,6 +2862,43 @@ jobs: runLogParser, }; } + function formatDuration(ms) { + if (!ms || ms <= 0) return ""; + const seconds = Math.round(ms / 1000); + if (seconds < 60) { + return `${seconds}s`; + } + const minutes = Math.floor(seconds / 60); + const remainingSeconds = seconds % 60; + if (remainingSeconds === 0) { + return `${minutes}m`; + } + return `${minutes}m ${remainingSeconds}s`; + } + function formatBashCommand(command) { + if (!command) return ""; + let formatted = command + .replace(/\n/g, " ") + .replace(/\r/g, " ") + .replace(/\t/g, " ") + .replace(/\s+/g, " ") + .trim(); + formatted = formatted.replace(/`/g, "\\`"); + const maxLength = 300; + if (formatted.length > maxLength) { + formatted = formatted.substring(0, maxLength) + "..."; + } + return formatted; + } + function truncateString(str, maxLength) { + if (!str) return ""; + if (str.length <= maxLength) return str; + return str.substring(0, maxLength) + "..."; + } + function estimateTokens(text) { + if (!text) return 0; + return Math.ceil(text.length / 4); + } function main() { runLogParser({ parseLog: parseClaudeLog, @@ -3107,23 +3144,6 @@ jobs: } return { markdown, mcpFailures }; } - function estimateTokens(text) { - if (!text) return 0; - return Math.ceil(text.length / 4); - } - function formatDuration(ms) { - if (!ms || ms <= 0) return ""; - const seconds = Math.round(ms / 1000); - if (seconds < 60) { - return `${seconds}s`; - } - const minutes = Math.floor(seconds / 60); - const remainingSeconds = seconds % 60; - if (remainingSeconds === 0) { - return `${minutes}m`; - } - return `${minutes}m ${remainingSeconds}s`; - } function formatToolUse(toolUse, toolResult) { const toolName = toolUse.name; const input = toolUse.input || {}; @@ -3241,26 +3261,6 @@ jobs: } return paramStrs.join(", "); } - function formatBashCommand(command) { - if (!command) return ""; - let formatted = command - .replace(/\n/g, " ") - .replace(/\r/g, " ") - .replace(/\t/g, " ") - .replace(/\s+/g, " ") - .trim(); - formatted = formatted.replace(/`/g, "\\`"); - const maxLength = 300; - if (formatted.length > maxLength) { - formatted = formatted.substring(0, maxLength) + "..."; - } - return formatted; - } - function truncateString(str, maxLength) { - if (!str) return ""; - if (str.length <= maxLength) return str; - return str.substring(0, maxLength) + "..."; - } if (typeof module !== "undefined" && module.exports) { module.exports = { parseClaudeLog, diff --git a/.github/workflows/daily-firewall-report.lock.yml b/.github/workflows/daily-firewall-report.lock.yml index 7bb3109084..08deda0e18 100644 --- a/.github/workflows/daily-firewall-report.lock.yml +++ b/.github/workflows/daily-firewall-report.lock.yml @@ -3379,6 +3379,43 @@ jobs: runLogParser, }; } + function formatDuration(ms) { + if (!ms || ms <= 0) return ""; + const seconds = Math.round(ms / 1000); + if (seconds < 60) { + return `${seconds}s`; + } + const minutes = Math.floor(seconds / 60); + const remainingSeconds = seconds % 60; + if (remainingSeconds === 0) { + return `${minutes}m`; + } + return `${minutes}m ${remainingSeconds}s`; + } + function formatBashCommand(command) { + if (!command) return ""; + let formatted = command + .replace(/\n/g, " ") + .replace(/\r/g, " ") + .replace(/\t/g, " ") + .replace(/\s+/g, " ") + .trim(); + formatted = formatted.replace(/`/g, "\\`"); + const maxLength = 300; + if (formatted.length > maxLength) { + formatted = formatted.substring(0, maxLength) + "..."; + } + return formatted; + } + function truncateString(str, maxLength) { + if (!str) return ""; + if (str.length <= maxLength) return str; + return str.substring(0, maxLength) + "..."; + } + function estimateTokens(text) { + if (!text) return 0; + return Math.ceil(text.length / 4); + } function main() { runLogParser({ parseLog: parseCopilotLog, @@ -4037,23 +4074,6 @@ jobs: } return markdown; } - function estimateTokens(text) { - if (!text) return 0; - return Math.ceil(text.length / 4); - } - function formatDuration(ms) { - if (!ms || ms <= 0) return ""; - const seconds = Math.round(ms / 1000); - if (seconds < 60) { - return `${seconds}s`; - } - const minutes = Math.floor(seconds / 60); - const remainingSeconds = seconds % 60; - if (remainingSeconds === 0) { - return `${minutes}m`; - } - return `${minutes}m ${remainingSeconds}s`; - } function formatToolUseWithDetails(toolUse, toolResult) { const toolName = toolUse.name; const input = toolUse.input || {}; @@ -4181,21 +4201,6 @@ jobs: } return paramStrs.join(", "); } - function formatBashCommand(command) { - if (!command) return ""; - let formatted = command.replace(/\n/g, " ").replace(/\r/g, " ").replace(/\t/g, " ").replace(/\s+/g, " ").trim(); - formatted = formatted.replace(/`/g, "\\`"); - const maxLength = 300; - if (formatted.length > maxLength) { - formatted = formatted.substring(0, maxLength) + "..."; - } - return formatted; - } - function truncateString(str, maxLength) { - if (!str) return ""; - if (str.length <= maxLength) return str; - return str.substring(0, maxLength) + "..."; - } if (typeof module !== "undefined" && module.exports) { module.exports = { parseCopilotLog, diff --git a/.github/workflows/daily-multi-device-docs-tester.lock.yml b/.github/workflows/daily-multi-device-docs-tester.lock.yml index 1aa11eca54..7de8fb63bf 100644 --- a/.github/workflows/daily-multi-device-docs-tester.lock.yml +++ b/.github/workflows/daily-multi-device-docs-tester.lock.yml @@ -2784,6 +2784,43 @@ jobs: runLogParser, }; } + function formatDuration(ms) { + if (!ms || ms <= 0) return ""; + const seconds = Math.round(ms / 1000); + if (seconds < 60) { + return `${seconds}s`; + } + const minutes = Math.floor(seconds / 60); + const remainingSeconds = seconds % 60; + if (remainingSeconds === 0) { + return `${minutes}m`; + } + return `${minutes}m ${remainingSeconds}s`; + } + function formatBashCommand(command) { + if (!command) return ""; + let formatted = command + .replace(/\n/g, " ") + .replace(/\r/g, " ") + .replace(/\t/g, " ") + .replace(/\s+/g, " ") + .trim(); + formatted = formatted.replace(/`/g, "\\`"); + const maxLength = 300; + if (formatted.length > maxLength) { + formatted = formatted.substring(0, maxLength) + "..."; + } + return formatted; + } + function truncateString(str, maxLength) { + if (!str) return ""; + if (str.length <= maxLength) return str; + return str.substring(0, maxLength) + "..."; + } + function estimateTokens(text) { + if (!text) return 0; + return Math.ceil(text.length / 4); + } function main() { runLogParser({ parseLog: parseClaudeLog, @@ -3029,23 +3066,6 @@ jobs: } return { markdown, mcpFailures }; } - function estimateTokens(text) { - if (!text) return 0; - return Math.ceil(text.length / 4); - } - function formatDuration(ms) { - if (!ms || ms <= 0) return ""; - const seconds = Math.round(ms / 1000); - if (seconds < 60) { - return `${seconds}s`; - } - const minutes = Math.floor(seconds / 60); - const remainingSeconds = seconds % 60; - if (remainingSeconds === 0) { - return `${minutes}m`; - } - return `${minutes}m ${remainingSeconds}s`; - } function formatToolUse(toolUse, toolResult) { const toolName = toolUse.name; const input = toolUse.input || {}; @@ -3163,26 +3183,6 @@ jobs: } return paramStrs.join(", "); } - function formatBashCommand(command) { - if (!command) return ""; - let formatted = command - .replace(/\n/g, " ") - .replace(/\r/g, " ") - .replace(/\t/g, " ") - .replace(/\s+/g, " ") - .trim(); - formatted = formatted.replace(/`/g, "\\`"); - const maxLength = 300; - if (formatted.length > maxLength) { - formatted = formatted.substring(0, maxLength) + "..."; - } - return formatted; - } - function truncateString(str, maxLength) { - if (!str) return ""; - if (str.length <= maxLength) return str; - return str.substring(0, maxLength) + "..."; - } if (typeof module !== "undefined" && module.exports) { module.exports = { parseClaudeLog, diff --git a/.github/workflows/daily-news.lock.yml b/.github/workflows/daily-news.lock.yml index e889451fe9..18cc98b181 100644 --- a/.github/workflows/daily-news.lock.yml +++ b/.github/workflows/daily-news.lock.yml @@ -3388,6 +3388,43 @@ jobs: runLogParser, }; } + function formatDuration(ms) { + if (!ms || ms <= 0) return ""; + const seconds = Math.round(ms / 1000); + if (seconds < 60) { + return `${seconds}s`; + } + const minutes = Math.floor(seconds / 60); + const remainingSeconds = seconds % 60; + if (remainingSeconds === 0) { + return `${minutes}m`; + } + return `${minutes}m ${remainingSeconds}s`; + } + function formatBashCommand(command) { + if (!command) return ""; + let formatted = command + .replace(/\n/g, " ") + .replace(/\r/g, " ") + .replace(/\t/g, " ") + .replace(/\s+/g, " ") + .trim(); + formatted = formatted.replace(/`/g, "\\`"); + const maxLength = 300; + if (formatted.length > maxLength) { + formatted = formatted.substring(0, maxLength) + "..."; + } + return formatted; + } + function truncateString(str, maxLength) { + if (!str) return ""; + if (str.length <= maxLength) return str; + return str.substring(0, maxLength) + "..."; + } + function estimateTokens(text) { + if (!text) return 0; + return Math.ceil(text.length / 4); + } function main() { runLogParser({ parseLog: parseCopilotLog, @@ -4046,23 +4083,6 @@ jobs: } return markdown; } - function estimateTokens(text) { - if (!text) return 0; - return Math.ceil(text.length / 4); - } - function formatDuration(ms) { - if (!ms || ms <= 0) return ""; - const seconds = Math.round(ms / 1000); - if (seconds < 60) { - return `${seconds}s`; - } - const minutes = Math.floor(seconds / 60); - const remainingSeconds = seconds % 60; - if (remainingSeconds === 0) { - return `${minutes}m`; - } - return `${minutes}m ${remainingSeconds}s`; - } function formatToolUseWithDetails(toolUse, toolResult) { const toolName = toolUse.name; const input = toolUse.input || {}; @@ -4190,21 +4210,6 @@ jobs: } return paramStrs.join(", "); } - function formatBashCommand(command) { - if (!command) return ""; - let formatted = command.replace(/\n/g, " ").replace(/\r/g, " ").replace(/\t/g, " ").replace(/\s+/g, " ").trim(); - formatted = formatted.replace(/`/g, "\\`"); - const maxLength = 300; - if (formatted.length > maxLength) { - formatted = formatted.substring(0, maxLength) + "..."; - } - return formatted; - } - function truncateString(str, maxLength) { - if (!str) return ""; - if (str.length <= maxLength) return str; - return str.substring(0, maxLength) + "..."; - } if (typeof module !== "undefined" && module.exports) { module.exports = { parseCopilotLog, diff --git a/.github/workflows/daily-repo-chronicle.lock.yml b/.github/workflows/daily-repo-chronicle.lock.yml index 405352fca5..b60edfa35d 100644 --- a/.github/workflows/daily-repo-chronicle.lock.yml +++ b/.github/workflows/daily-repo-chronicle.lock.yml @@ -3232,6 +3232,43 @@ jobs: runLogParser, }; } + function formatDuration(ms) { + if (!ms || ms <= 0) return ""; + const seconds = Math.round(ms / 1000); + if (seconds < 60) { + return `${seconds}s`; + } + const minutes = Math.floor(seconds / 60); + const remainingSeconds = seconds % 60; + if (remainingSeconds === 0) { + return `${minutes}m`; + } + return `${minutes}m ${remainingSeconds}s`; + } + function formatBashCommand(command) { + if (!command) return ""; + let formatted = command + .replace(/\n/g, " ") + .replace(/\r/g, " ") + .replace(/\t/g, " ") + .replace(/\s+/g, " ") + .trim(); + formatted = formatted.replace(/`/g, "\\`"); + const maxLength = 300; + if (formatted.length > maxLength) { + formatted = formatted.substring(0, maxLength) + "..."; + } + return formatted; + } + function truncateString(str, maxLength) { + if (!str) return ""; + if (str.length <= maxLength) return str; + return str.substring(0, maxLength) + "..."; + } + function estimateTokens(text) { + if (!text) return 0; + return Math.ceil(text.length / 4); + } function main() { runLogParser({ parseLog: parseCopilotLog, @@ -3890,23 +3927,6 @@ jobs: } return markdown; } - function estimateTokens(text) { - if (!text) return 0; - return Math.ceil(text.length / 4); - } - function formatDuration(ms) { - if (!ms || ms <= 0) return ""; - const seconds = Math.round(ms / 1000); - if (seconds < 60) { - return `${seconds}s`; - } - const minutes = Math.floor(seconds / 60); - const remainingSeconds = seconds % 60; - if (remainingSeconds === 0) { - return `${minutes}m`; - } - return `${minutes}m ${remainingSeconds}s`; - } function formatToolUseWithDetails(toolUse, toolResult) { const toolName = toolUse.name; const input = toolUse.input || {}; @@ -4034,21 +4054,6 @@ jobs: } return paramStrs.join(", "); } - function formatBashCommand(command) { - if (!command) return ""; - let formatted = command.replace(/\n/g, " ").replace(/\r/g, " ").replace(/\t/g, " ").replace(/\s+/g, " ").trim(); - formatted = formatted.replace(/`/g, "\\`"); - const maxLength = 300; - if (formatted.length > maxLength) { - formatted = formatted.substring(0, maxLength) + "..."; - } - return formatted; - } - function truncateString(str, maxLength) { - if (!str) return ""; - if (str.length <= maxLength) return str; - return str.substring(0, maxLength) + "..."; - } if (typeof module !== "undefined" && module.exports) { module.exports = { parseCopilotLog, diff --git a/.github/workflows/daily-team-status.lock.yml b/.github/workflows/daily-team-status.lock.yml index d76b1e7e58..dc450464fd 100644 --- a/.github/workflows/daily-team-status.lock.yml +++ b/.github/workflows/daily-team-status.lock.yml @@ -2467,6 +2467,43 @@ jobs: runLogParser, }; } + function formatDuration(ms) { + if (!ms || ms <= 0) return ""; + const seconds = Math.round(ms / 1000); + if (seconds < 60) { + return `${seconds}s`; + } + const minutes = Math.floor(seconds / 60); + const remainingSeconds = seconds % 60; + if (remainingSeconds === 0) { + return `${minutes}m`; + } + return `${minutes}m ${remainingSeconds}s`; + } + function formatBashCommand(command) { + if (!command) return ""; + let formatted = command + .replace(/\n/g, " ") + .replace(/\r/g, " ") + .replace(/\t/g, " ") + .replace(/\s+/g, " ") + .trim(); + formatted = formatted.replace(/`/g, "\\`"); + const maxLength = 300; + if (formatted.length > maxLength) { + formatted = formatted.substring(0, maxLength) + "..."; + } + return formatted; + } + function truncateString(str, maxLength) { + if (!str) return ""; + if (str.length <= maxLength) return str; + return str.substring(0, maxLength) + "..."; + } + function estimateTokens(text) { + if (!text) return 0; + return Math.ceil(text.length / 4); + } function main() { runLogParser({ parseLog: parseCopilotLog, @@ -3125,23 +3162,6 @@ jobs: } return markdown; } - function estimateTokens(text) { - if (!text) return 0; - return Math.ceil(text.length / 4); - } - function formatDuration(ms) { - if (!ms || ms <= 0) return ""; - const seconds = Math.round(ms / 1000); - if (seconds < 60) { - return `${seconds}s`; - } - const minutes = Math.floor(seconds / 60); - const remainingSeconds = seconds % 60; - if (remainingSeconds === 0) { - return `${minutes}m`; - } - return `${minutes}m ${remainingSeconds}s`; - } function formatToolUseWithDetails(toolUse, toolResult) { const toolName = toolUse.name; const input = toolUse.input || {}; @@ -3269,21 +3289,6 @@ jobs: } return paramStrs.join(", "); } - function formatBashCommand(command) { - if (!command) return ""; - let formatted = command.replace(/\n/g, " ").replace(/\r/g, " ").replace(/\t/g, " ").replace(/\s+/g, " ").trim(); - formatted = formatted.replace(/`/g, "\\`"); - const maxLength = 300; - if (formatted.length > maxLength) { - formatted = formatted.substring(0, maxLength) + "..."; - } - return formatted; - } - function truncateString(str, maxLength) { - if (!str) return ""; - if (str.length <= maxLength) return str; - return str.substring(0, maxLength) + "..."; - } if (typeof module !== "undefined" && module.exports) { module.exports = { parseCopilotLog, diff --git a/.github/workflows/dependabot-go-checker.lock.yml b/.github/workflows/dependabot-go-checker.lock.yml index bf26269554..5b83a3f340 100644 --- a/.github/workflows/dependabot-go-checker.lock.yml +++ b/.github/workflows/dependabot-go-checker.lock.yml @@ -2632,6 +2632,43 @@ jobs: runLogParser, }; } + function formatDuration(ms) { + if (!ms || ms <= 0) return ""; + const seconds = Math.round(ms / 1000); + if (seconds < 60) { + return `${seconds}s`; + } + const minutes = Math.floor(seconds / 60); + const remainingSeconds = seconds % 60; + if (remainingSeconds === 0) { + return `${minutes}m`; + } + return `${minutes}m ${remainingSeconds}s`; + } + function formatBashCommand(command) { + if (!command) return ""; + let formatted = command + .replace(/\n/g, " ") + .replace(/\r/g, " ") + .replace(/\t/g, " ") + .replace(/\s+/g, " ") + .trim(); + formatted = formatted.replace(/`/g, "\\`"); + const maxLength = 300; + if (formatted.length > maxLength) { + formatted = formatted.substring(0, maxLength) + "..."; + } + return formatted; + } + function truncateString(str, maxLength) { + if (!str) return ""; + if (str.length <= maxLength) return str; + return str.substring(0, maxLength) + "..."; + } + function estimateTokens(text) { + if (!text) return 0; + return Math.ceil(text.length / 4); + } function main() { runLogParser({ parseLog: parseCopilotLog, @@ -3290,23 +3327,6 @@ jobs: } return markdown; } - function estimateTokens(text) { - if (!text) return 0; - return Math.ceil(text.length / 4); - } - function formatDuration(ms) { - if (!ms || ms <= 0) return ""; - const seconds = Math.round(ms / 1000); - if (seconds < 60) { - return `${seconds}s`; - } - const minutes = Math.floor(seconds / 60); - const remainingSeconds = seconds % 60; - if (remainingSeconds === 0) { - return `${minutes}m`; - } - return `${minutes}m ${remainingSeconds}s`; - } function formatToolUseWithDetails(toolUse, toolResult) { const toolName = toolUse.name; const input = toolUse.input || {}; @@ -3434,21 +3454,6 @@ jobs: } return paramStrs.join(", "); } - function formatBashCommand(command) { - if (!command) return ""; - let formatted = command.replace(/\n/g, " ").replace(/\r/g, " ").replace(/\t/g, " ").replace(/\s+/g, " ").trim(); - formatted = formatted.replace(/`/g, "\\`"); - const maxLength = 300; - if (formatted.length > maxLength) { - formatted = formatted.substring(0, maxLength) + "..."; - } - return formatted; - } - function truncateString(str, maxLength) { - if (!str) return ""; - if (str.length <= maxLength) return str; - return str.substring(0, maxLength) + "..."; - } if (typeof module !== "undefined" && module.exports) { module.exports = { parseCopilotLog, diff --git a/.github/workflows/dev-hawk.lock.yml b/.github/workflows/dev-hawk.lock.yml index 225dd2bd25..7a455d0d0e 100644 --- a/.github/workflows/dev-hawk.lock.yml +++ b/.github/workflows/dev-hawk.lock.yml @@ -2990,6 +2990,43 @@ jobs: runLogParser, }; } + function formatDuration(ms) { + if (!ms || ms <= 0) return ""; + const seconds = Math.round(ms / 1000); + if (seconds < 60) { + return `${seconds}s`; + } + const minutes = Math.floor(seconds / 60); + const remainingSeconds = seconds % 60; + if (remainingSeconds === 0) { + return `${minutes}m`; + } + return `${minutes}m ${remainingSeconds}s`; + } + function formatBashCommand(command) { + if (!command) return ""; + let formatted = command + .replace(/\n/g, " ") + .replace(/\r/g, " ") + .replace(/\t/g, " ") + .replace(/\s+/g, " ") + .trim(); + formatted = formatted.replace(/`/g, "\\`"); + const maxLength = 300; + if (formatted.length > maxLength) { + formatted = formatted.substring(0, maxLength) + "..."; + } + return formatted; + } + function truncateString(str, maxLength) { + if (!str) return ""; + if (str.length <= maxLength) return str; + return str.substring(0, maxLength) + "..."; + } + function estimateTokens(text) { + if (!text) return 0; + return Math.ceil(text.length / 4); + } function main() { runLogParser({ parseLog: parseCopilotLog, @@ -3648,23 +3685,6 @@ jobs: } return markdown; } - function estimateTokens(text) { - if (!text) return 0; - return Math.ceil(text.length / 4); - } - function formatDuration(ms) { - if (!ms || ms <= 0) return ""; - const seconds = Math.round(ms / 1000); - if (seconds < 60) { - return `${seconds}s`; - } - const minutes = Math.floor(seconds / 60); - const remainingSeconds = seconds % 60; - if (remainingSeconds === 0) { - return `${minutes}m`; - } - return `${minutes}m ${remainingSeconds}s`; - } function formatToolUseWithDetails(toolUse, toolResult) { const toolName = toolUse.name; const input = toolUse.input || {}; @@ -3792,21 +3812,6 @@ jobs: } return paramStrs.join(", "); } - function formatBashCommand(command) { - if (!command) return ""; - let formatted = command.replace(/\n/g, " ").replace(/\r/g, " ").replace(/\t/g, " ").replace(/\s+/g, " ").trim(); - formatted = formatted.replace(/`/g, "\\`"); - const maxLength = 300; - if (formatted.length > maxLength) { - formatted = formatted.substring(0, maxLength) + "..."; - } - return formatted; - } - function truncateString(str, maxLength) { - if (!str) return ""; - if (str.length <= maxLength) return str; - return str.substring(0, maxLength) + "..."; - } if (typeof module !== "undefined" && module.exports) { module.exports = { parseCopilotLog, diff --git a/.github/workflows/dev.lock.yml b/.github/workflows/dev.lock.yml index 464c1b19b6..f2a92aef53 100644 --- a/.github/workflows/dev.lock.yml +++ b/.github/workflows/dev.lock.yml @@ -2518,6 +2518,43 @@ jobs: runLogParser, }; } + function formatDuration(ms) { + if (!ms || ms <= 0) return ""; + const seconds = Math.round(ms / 1000); + if (seconds < 60) { + return `${seconds}s`; + } + const minutes = Math.floor(seconds / 60); + const remainingSeconds = seconds % 60; + if (remainingSeconds === 0) { + return `${minutes}m`; + } + return `${minutes}m ${remainingSeconds}s`; + } + function formatBashCommand(command) { + if (!command) return ""; + let formatted = command + .replace(/\n/g, " ") + .replace(/\r/g, " ") + .replace(/\t/g, " ") + .replace(/\s+/g, " ") + .trim(); + formatted = formatted.replace(/`/g, "\\`"); + const maxLength = 300; + if (formatted.length > maxLength) { + formatted = formatted.substring(0, maxLength) + "..."; + } + return formatted; + } + function truncateString(str, maxLength) { + if (!str) return ""; + if (str.length <= maxLength) return str; + return str.substring(0, maxLength) + "..."; + } + function estimateTokens(text) { + if (!text) return 0; + return Math.ceil(text.length / 4); + } function main() { runLogParser({ parseLog: parseCopilotLog, @@ -3176,23 +3213,6 @@ jobs: } return markdown; } - function estimateTokens(text) { - if (!text) return 0; - return Math.ceil(text.length / 4); - } - function formatDuration(ms) { - if (!ms || ms <= 0) return ""; - const seconds = Math.round(ms / 1000); - if (seconds < 60) { - return `${seconds}s`; - } - const minutes = Math.floor(seconds / 60); - const remainingSeconds = seconds % 60; - if (remainingSeconds === 0) { - return `${minutes}m`; - } - return `${minutes}m ${remainingSeconds}s`; - } function formatToolUseWithDetails(toolUse, toolResult) { const toolName = toolUse.name; const input = toolUse.input || {}; @@ -3320,21 +3340,6 @@ jobs: } return paramStrs.join(", "); } - function formatBashCommand(command) { - if (!command) return ""; - let formatted = command.replace(/\n/g, " ").replace(/\r/g, " ").replace(/\t/g, " ").replace(/\s+/g, " ").trim(); - formatted = formatted.replace(/`/g, "\\`"); - const maxLength = 300; - if (formatted.length > maxLength) { - formatted = formatted.substring(0, maxLength) + "..."; - } - return formatted; - } - function truncateString(str, maxLength) { - if (!str) return ""; - if (str.length <= maxLength) return str; - return str.substring(0, maxLength) + "..."; - } if (typeof module !== "undefined" && module.exports) { module.exports = { parseCopilotLog, diff --git a/.github/workflows/developer-docs-consolidator.lock.yml b/.github/workflows/developer-docs-consolidator.lock.yml index ae25288d39..191ccc5dbd 100644 --- a/.github/workflows/developer-docs-consolidator.lock.yml +++ b/.github/workflows/developer-docs-consolidator.lock.yml @@ -3413,6 +3413,43 @@ jobs: runLogParser, }; } + function formatDuration(ms) { + if (!ms || ms <= 0) return ""; + const seconds = Math.round(ms / 1000); + if (seconds < 60) { + return `${seconds}s`; + } + const minutes = Math.floor(seconds / 60); + const remainingSeconds = seconds % 60; + if (remainingSeconds === 0) { + return `${minutes}m`; + } + return `${minutes}m ${remainingSeconds}s`; + } + function formatBashCommand(command) { + if (!command) return ""; + let formatted = command + .replace(/\n/g, " ") + .replace(/\r/g, " ") + .replace(/\t/g, " ") + .replace(/\s+/g, " ") + .trim(); + formatted = formatted.replace(/`/g, "\\`"); + const maxLength = 300; + if (formatted.length > maxLength) { + formatted = formatted.substring(0, maxLength) + "..."; + } + return formatted; + } + function truncateString(str, maxLength) { + if (!str) return ""; + if (str.length <= maxLength) return str; + return str.substring(0, maxLength) + "..."; + } + function estimateTokens(text) { + if (!text) return 0; + return Math.ceil(text.length / 4); + } function main() { runLogParser({ parseLog: parseClaudeLog, @@ -3658,23 +3695,6 @@ jobs: } return { markdown, mcpFailures }; } - function estimateTokens(text) { - if (!text) return 0; - return Math.ceil(text.length / 4); - } - function formatDuration(ms) { - if (!ms || ms <= 0) return ""; - const seconds = Math.round(ms / 1000); - if (seconds < 60) { - return `${seconds}s`; - } - const minutes = Math.floor(seconds / 60); - const remainingSeconds = seconds % 60; - if (remainingSeconds === 0) { - return `${minutes}m`; - } - return `${minutes}m ${remainingSeconds}s`; - } function formatToolUse(toolUse, toolResult) { const toolName = toolUse.name; const input = toolUse.input || {}; @@ -3792,26 +3812,6 @@ jobs: } return paramStrs.join(", "); } - function formatBashCommand(command) { - if (!command) return ""; - let formatted = command - .replace(/\n/g, " ") - .replace(/\r/g, " ") - .replace(/\t/g, " ") - .replace(/\s+/g, " ") - .trim(); - formatted = formatted.replace(/`/g, "\\`"); - const maxLength = 300; - if (formatted.length > maxLength) { - formatted = formatted.substring(0, maxLength) + "..."; - } - return formatted; - } - function truncateString(str, maxLength) { - if (!str) return ""; - if (str.length <= maxLength) return str; - return str.substring(0, maxLength) + "..."; - } if (typeof module !== "undefined" && module.exports) { module.exports = { parseClaudeLog, diff --git a/.github/workflows/dictation-prompt.lock.yml b/.github/workflows/dictation-prompt.lock.yml index 48cb12d7f3..317f934973 100644 --- a/.github/workflows/dictation-prompt.lock.yml +++ b/.github/workflows/dictation-prompt.lock.yml @@ -2616,6 +2616,43 @@ jobs: runLogParser, }; } + function formatDuration(ms) { + if (!ms || ms <= 0) return ""; + const seconds = Math.round(ms / 1000); + if (seconds < 60) { + return `${seconds}s`; + } + const minutes = Math.floor(seconds / 60); + const remainingSeconds = seconds % 60; + if (remainingSeconds === 0) { + return `${minutes}m`; + } + return `${minutes}m ${remainingSeconds}s`; + } + function formatBashCommand(command) { + if (!command) return ""; + let formatted = command + .replace(/\n/g, " ") + .replace(/\r/g, " ") + .replace(/\t/g, " ") + .replace(/\s+/g, " ") + .trim(); + formatted = formatted.replace(/`/g, "\\`"); + const maxLength = 300; + if (formatted.length > maxLength) { + formatted = formatted.substring(0, maxLength) + "..."; + } + return formatted; + } + function truncateString(str, maxLength) { + if (!str) return ""; + if (str.length <= maxLength) return str; + return str.substring(0, maxLength) + "..."; + } + function estimateTokens(text) { + if (!text) return 0; + return Math.ceil(text.length / 4); + } function main() { runLogParser({ parseLog: parseCopilotLog, @@ -3274,23 +3311,6 @@ jobs: } return markdown; } - function estimateTokens(text) { - if (!text) return 0; - return Math.ceil(text.length / 4); - } - function formatDuration(ms) { - if (!ms || ms <= 0) return ""; - const seconds = Math.round(ms / 1000); - if (seconds < 60) { - return `${seconds}s`; - } - const minutes = Math.floor(seconds / 60); - const remainingSeconds = seconds % 60; - if (remainingSeconds === 0) { - return `${minutes}m`; - } - return `${minutes}m ${remainingSeconds}s`; - } function formatToolUseWithDetails(toolUse, toolResult) { const toolName = toolUse.name; const input = toolUse.input || {}; @@ -3418,21 +3438,6 @@ jobs: } return paramStrs.join(", "); } - function formatBashCommand(command) { - if (!command) return ""; - let formatted = command.replace(/\n/g, " ").replace(/\r/g, " ").replace(/\t/g, " ").replace(/\s+/g, " ").trim(); - formatted = formatted.replace(/`/g, "\\`"); - const maxLength = 300; - if (formatted.length > maxLength) { - formatted = formatted.substring(0, maxLength) + "..."; - } - return formatted; - } - function truncateString(str, maxLength) { - if (!str) return ""; - if (str.length <= maxLength) return str; - return str.substring(0, maxLength) + "..."; - } if (typeof module !== "undefined" && module.exports) { module.exports = { parseCopilotLog, diff --git a/.github/workflows/example-permissions-warning.lock.yml b/.github/workflows/example-permissions-warning.lock.yml index 8226b1bf6b..6ecb94c689 100644 --- a/.github/workflows/example-permissions-warning.lock.yml +++ b/.github/workflows/example-permissions-warning.lock.yml @@ -717,6 +717,43 @@ jobs: runLogParser, }; } + function formatDuration(ms) { + if (!ms || ms <= 0) return ""; + const seconds = Math.round(ms / 1000); + if (seconds < 60) { + return `${seconds}s`; + } + const minutes = Math.floor(seconds / 60); + const remainingSeconds = seconds % 60; + if (remainingSeconds === 0) { + return `${minutes}m`; + } + return `${minutes}m ${remainingSeconds}s`; + } + function formatBashCommand(command) { + if (!command) return ""; + let formatted = command + .replace(/\n/g, " ") + .replace(/\r/g, " ") + .replace(/\t/g, " ") + .replace(/\s+/g, " ") + .trim(); + formatted = formatted.replace(/`/g, "\\`"); + const maxLength = 300; + if (formatted.length > maxLength) { + formatted = formatted.substring(0, maxLength) + "..."; + } + return formatted; + } + function truncateString(str, maxLength) { + if (!str) return ""; + if (str.length <= maxLength) return str; + return str.substring(0, maxLength) + "..."; + } + function estimateTokens(text) { + if (!text) return 0; + return Math.ceil(text.length / 4); + } function main() { runLogParser({ parseLog: parseCopilotLog, @@ -1375,23 +1412,6 @@ jobs: } return markdown; } - function estimateTokens(text) { - if (!text) return 0; - return Math.ceil(text.length / 4); - } - function formatDuration(ms) { - if (!ms || ms <= 0) return ""; - const seconds = Math.round(ms / 1000); - if (seconds < 60) { - return `${seconds}s`; - } - const minutes = Math.floor(seconds / 60); - const remainingSeconds = seconds % 60; - if (remainingSeconds === 0) { - return `${minutes}m`; - } - return `${minutes}m ${remainingSeconds}s`; - } function formatToolUseWithDetails(toolUse, toolResult) { const toolName = toolUse.name; const input = toolUse.input || {}; @@ -1519,21 +1539,6 @@ jobs: } return paramStrs.join(", "); } - function formatBashCommand(command) { - if (!command) return ""; - let formatted = command.replace(/\n/g, " ").replace(/\r/g, " ").replace(/\t/g, " ").replace(/\s+/g, " ").trim(); - formatted = formatted.replace(/`/g, "\\`"); - const maxLength = 300; - if (formatted.length > maxLength) { - formatted = formatted.substring(0, maxLength) + "..."; - } - return formatted; - } - function truncateString(str, maxLength) { - if (!str) return ""; - if (str.length <= maxLength) return str; - return str.substring(0, maxLength) + "..."; - } if (typeof module !== "undefined" && module.exports) { module.exports = { parseCopilotLog, diff --git a/.github/workflows/example-workflow-analyzer.lock.yml b/.github/workflows/example-workflow-analyzer.lock.yml index c32854a8ae..e78fc5033d 100644 --- a/.github/workflows/example-workflow-analyzer.lock.yml +++ b/.github/workflows/example-workflow-analyzer.lock.yml @@ -2715,6 +2715,43 @@ jobs: runLogParser, }; } + function formatDuration(ms) { + if (!ms || ms <= 0) return ""; + const seconds = Math.round(ms / 1000); + if (seconds < 60) { + return `${seconds}s`; + } + const minutes = Math.floor(seconds / 60); + const remainingSeconds = seconds % 60; + if (remainingSeconds === 0) { + return `${minutes}m`; + } + return `${minutes}m ${remainingSeconds}s`; + } + function formatBashCommand(command) { + if (!command) return ""; + let formatted = command + .replace(/\n/g, " ") + .replace(/\r/g, " ") + .replace(/\t/g, " ") + .replace(/\s+/g, " ") + .trim(); + formatted = formatted.replace(/`/g, "\\`"); + const maxLength = 300; + if (formatted.length > maxLength) { + formatted = formatted.substring(0, maxLength) + "..."; + } + return formatted; + } + function truncateString(str, maxLength) { + if (!str) return ""; + if (str.length <= maxLength) return str; + return str.substring(0, maxLength) + "..."; + } + function estimateTokens(text) { + if (!text) return 0; + return Math.ceil(text.length / 4); + } function main() { runLogParser({ parseLog: parseClaudeLog, @@ -2960,23 +2997,6 @@ jobs: } return { markdown, mcpFailures }; } - function estimateTokens(text) { - if (!text) return 0; - return Math.ceil(text.length / 4); - } - function formatDuration(ms) { - if (!ms || ms <= 0) return ""; - const seconds = Math.round(ms / 1000); - if (seconds < 60) { - return `${seconds}s`; - } - const minutes = Math.floor(seconds / 60); - const remainingSeconds = seconds % 60; - if (remainingSeconds === 0) { - return `${minutes}m`; - } - return `${minutes}m ${remainingSeconds}s`; - } function formatToolUse(toolUse, toolResult) { const toolName = toolUse.name; const input = toolUse.input || {}; @@ -3094,26 +3114,6 @@ jobs: } return paramStrs.join(", "); } - function formatBashCommand(command) { - if (!command) return ""; - let formatted = command - .replace(/\n/g, " ") - .replace(/\r/g, " ") - .replace(/\t/g, " ") - .replace(/\s+/g, " ") - .trim(); - formatted = formatted.replace(/`/g, "\\`"); - const maxLength = 300; - if (formatted.length > maxLength) { - formatted = formatted.substring(0, maxLength) + "..."; - } - return formatted; - } - function truncateString(str, maxLength) { - if (!str) return ""; - if (str.length <= maxLength) return str; - return str.substring(0, maxLength) + "..."; - } if (typeof module !== "undefined" && module.exports) { module.exports = { parseClaudeLog, diff --git a/.github/workflows/firewall.lock.yml b/.github/workflows/firewall.lock.yml index 386449a6b3..1d8eac433a 100644 --- a/.github/workflows/firewall.lock.yml +++ b/.github/workflows/firewall.lock.yml @@ -757,6 +757,43 @@ jobs: runLogParser, }; } + function formatDuration(ms) { + if (!ms || ms <= 0) return ""; + const seconds = Math.round(ms / 1000); + if (seconds < 60) { + return `${seconds}s`; + } + const minutes = Math.floor(seconds / 60); + const remainingSeconds = seconds % 60; + if (remainingSeconds === 0) { + return `${minutes}m`; + } + return `${minutes}m ${remainingSeconds}s`; + } + function formatBashCommand(command) { + if (!command) return ""; + let formatted = command + .replace(/\n/g, " ") + .replace(/\r/g, " ") + .replace(/\t/g, " ") + .replace(/\s+/g, " ") + .trim(); + formatted = formatted.replace(/`/g, "\\`"); + const maxLength = 300; + if (formatted.length > maxLength) { + formatted = formatted.substring(0, maxLength) + "..."; + } + return formatted; + } + function truncateString(str, maxLength) { + if (!str) return ""; + if (str.length <= maxLength) return str; + return str.substring(0, maxLength) + "..."; + } + function estimateTokens(text) { + if (!text) return 0; + return Math.ceil(text.length / 4); + } function main() { runLogParser({ parseLog: parseCopilotLog, @@ -1415,23 +1452,6 @@ jobs: } return markdown; } - function estimateTokens(text) { - if (!text) return 0; - return Math.ceil(text.length / 4); - } - function formatDuration(ms) { - if (!ms || ms <= 0) return ""; - const seconds = Math.round(ms / 1000); - if (seconds < 60) { - return `${seconds}s`; - } - const minutes = Math.floor(seconds / 60); - const remainingSeconds = seconds % 60; - if (remainingSeconds === 0) { - return `${minutes}m`; - } - return `${minutes}m ${remainingSeconds}s`; - } function formatToolUseWithDetails(toolUse, toolResult) { const toolName = toolUse.name; const input = toolUse.input || {}; @@ -1559,21 +1579,6 @@ jobs: } return paramStrs.join(", "); } - function formatBashCommand(command) { - if (!command) return ""; - let formatted = command.replace(/\n/g, " ").replace(/\r/g, " ").replace(/\t/g, " ").replace(/\s+/g, " ").trim(); - formatted = formatted.replace(/`/g, "\\`"); - const maxLength = 300; - if (formatted.length > maxLength) { - formatted = formatted.substring(0, maxLength) + "..."; - } - return formatted; - } - function truncateString(str, maxLength) { - if (!str) return ""; - if (str.length <= maxLength) return str; - return str.substring(0, maxLength) + "..."; - } if (typeof module !== "undefined" && module.exports) { module.exports = { parseCopilotLog, diff --git a/.github/workflows/github-mcp-tools-report.lock.yml b/.github/workflows/github-mcp-tools-report.lock.yml index f63e2303fc..1ffb545f18 100644 --- a/.github/workflows/github-mcp-tools-report.lock.yml +++ b/.github/workflows/github-mcp-tools-report.lock.yml @@ -3235,6 +3235,43 @@ jobs: runLogParser, }; } + function formatDuration(ms) { + if (!ms || ms <= 0) return ""; + const seconds = Math.round(ms / 1000); + if (seconds < 60) { + return `${seconds}s`; + } + const minutes = Math.floor(seconds / 60); + const remainingSeconds = seconds % 60; + if (remainingSeconds === 0) { + return `${minutes}m`; + } + return `${minutes}m ${remainingSeconds}s`; + } + function formatBashCommand(command) { + if (!command) return ""; + let formatted = command + .replace(/\n/g, " ") + .replace(/\r/g, " ") + .replace(/\t/g, " ") + .replace(/\s+/g, " ") + .trim(); + formatted = formatted.replace(/`/g, "\\`"); + const maxLength = 300; + if (formatted.length > maxLength) { + formatted = formatted.substring(0, maxLength) + "..."; + } + return formatted; + } + function truncateString(str, maxLength) { + if (!str) return ""; + if (str.length <= maxLength) return str; + return str.substring(0, maxLength) + "..."; + } + function estimateTokens(text) { + if (!text) return 0; + return Math.ceil(text.length / 4); + } function main() { runLogParser({ parseLog: parseClaudeLog, @@ -3480,23 +3517,6 @@ jobs: } return { markdown, mcpFailures }; } - function estimateTokens(text) { - if (!text) return 0; - return Math.ceil(text.length / 4); - } - function formatDuration(ms) { - if (!ms || ms <= 0) return ""; - const seconds = Math.round(ms / 1000); - if (seconds < 60) { - return `${seconds}s`; - } - const minutes = Math.floor(seconds / 60); - const remainingSeconds = seconds % 60; - if (remainingSeconds === 0) { - return `${minutes}m`; - } - return `${minutes}m ${remainingSeconds}s`; - } function formatToolUse(toolUse, toolResult) { const toolName = toolUse.name; const input = toolUse.input || {}; @@ -3614,26 +3634,6 @@ jobs: } return paramStrs.join(", "); } - function formatBashCommand(command) { - if (!command) return ""; - let formatted = command - .replace(/\n/g, " ") - .replace(/\r/g, " ") - .replace(/\t/g, " ") - .replace(/\s+/g, " ") - .trim(); - formatted = formatted.replace(/`/g, "\\`"); - const maxLength = 300; - if (formatted.length > maxLength) { - formatted = formatted.substring(0, maxLength) + "..."; - } - return formatted; - } - function truncateString(str, maxLength) { - if (!str) return ""; - if (str.length <= maxLength) return str; - return str.substring(0, maxLength) + "..."; - } if (typeof module !== "undefined" && module.exports) { module.exports = { parseClaudeLog, diff --git a/.github/workflows/go-logger.lock.yml b/.github/workflows/go-logger.lock.yml index 532aa1d039..ae2faecbfe 100644 --- a/.github/workflows/go-logger.lock.yml +++ b/.github/workflows/go-logger.lock.yml @@ -2981,6 +2981,43 @@ jobs: runLogParser, }; } + function formatDuration(ms) { + if (!ms || ms <= 0) return ""; + const seconds = Math.round(ms / 1000); + if (seconds < 60) { + return `${seconds}s`; + } + const minutes = Math.floor(seconds / 60); + const remainingSeconds = seconds % 60; + if (remainingSeconds === 0) { + return `${minutes}m`; + } + return `${minutes}m ${remainingSeconds}s`; + } + function formatBashCommand(command) { + if (!command) return ""; + let formatted = command + .replace(/\n/g, " ") + .replace(/\r/g, " ") + .replace(/\t/g, " ") + .replace(/\s+/g, " ") + .trim(); + formatted = formatted.replace(/`/g, "\\`"); + const maxLength = 300; + if (formatted.length > maxLength) { + formatted = formatted.substring(0, maxLength) + "..."; + } + return formatted; + } + function truncateString(str, maxLength) { + if (!str) return ""; + if (str.length <= maxLength) return str; + return str.substring(0, maxLength) + "..."; + } + function estimateTokens(text) { + if (!text) return 0; + return Math.ceil(text.length / 4); + } function main() { runLogParser({ parseLog: parseClaudeLog, @@ -3226,23 +3263,6 @@ jobs: } return { markdown, mcpFailures }; } - function estimateTokens(text) { - if (!text) return 0; - return Math.ceil(text.length / 4); - } - function formatDuration(ms) { - if (!ms || ms <= 0) return ""; - const seconds = Math.round(ms / 1000); - if (seconds < 60) { - return `${seconds}s`; - } - const minutes = Math.floor(seconds / 60); - const remainingSeconds = seconds % 60; - if (remainingSeconds === 0) { - return `${minutes}m`; - } - return `${minutes}m ${remainingSeconds}s`; - } function formatToolUse(toolUse, toolResult) { const toolName = toolUse.name; const input = toolUse.input || {}; @@ -3360,26 +3380,6 @@ jobs: } return paramStrs.join(", "); } - function formatBashCommand(command) { - if (!command) return ""; - let formatted = command - .replace(/\n/g, " ") - .replace(/\r/g, " ") - .replace(/\t/g, " ") - .replace(/\s+/g, " ") - .trim(); - formatted = formatted.replace(/`/g, "\\`"); - const maxLength = 300; - if (formatted.length > maxLength) { - formatted = formatted.substring(0, maxLength) + "..."; - } - return formatted; - } - function truncateString(str, maxLength) { - if (!str) return ""; - if (str.length <= maxLength) return str; - return str.substring(0, maxLength) + "..."; - } if (typeof module !== "undefined" && module.exports) { module.exports = { parseClaudeLog, diff --git a/.github/workflows/go-pattern-detector.lock.yml b/.github/workflows/go-pattern-detector.lock.yml index fc8a3d4f63..0b53c9d6d4 100644 --- a/.github/workflows/go-pattern-detector.lock.yml +++ b/.github/workflows/go-pattern-detector.lock.yml @@ -2755,6 +2755,43 @@ jobs: runLogParser, }; } + function formatDuration(ms) { + if (!ms || ms <= 0) return ""; + const seconds = Math.round(ms / 1000); + if (seconds < 60) { + return `${seconds}s`; + } + const minutes = Math.floor(seconds / 60); + const remainingSeconds = seconds % 60; + if (remainingSeconds === 0) { + return `${minutes}m`; + } + return `${minutes}m ${remainingSeconds}s`; + } + function formatBashCommand(command) { + if (!command) return ""; + let formatted = command + .replace(/\n/g, " ") + .replace(/\r/g, " ") + .replace(/\t/g, " ") + .replace(/\s+/g, " ") + .trim(); + formatted = formatted.replace(/`/g, "\\`"); + const maxLength = 300; + if (formatted.length > maxLength) { + formatted = formatted.substring(0, maxLength) + "..."; + } + return formatted; + } + function truncateString(str, maxLength) { + if (!str) return ""; + if (str.length <= maxLength) return str; + return str.substring(0, maxLength) + "..."; + } + function estimateTokens(text) { + if (!text) return 0; + return Math.ceil(text.length / 4); + } function main() { runLogParser({ parseLog: parseClaudeLog, @@ -3000,23 +3037,6 @@ jobs: } return { markdown, mcpFailures }; } - function estimateTokens(text) { - if (!text) return 0; - return Math.ceil(text.length / 4); - } - function formatDuration(ms) { - if (!ms || ms <= 0) return ""; - const seconds = Math.round(ms / 1000); - if (seconds < 60) { - return `${seconds}s`; - } - const minutes = Math.floor(seconds / 60); - const remainingSeconds = seconds % 60; - if (remainingSeconds === 0) { - return `${minutes}m`; - } - return `${minutes}m ${remainingSeconds}s`; - } function formatToolUse(toolUse, toolResult) { const toolName = toolUse.name; const input = toolUse.input || {}; @@ -3134,26 +3154,6 @@ jobs: } return paramStrs.join(", "); } - function formatBashCommand(command) { - if (!command) return ""; - let formatted = command - .replace(/\n/g, " ") - .replace(/\r/g, " ") - .replace(/\t/g, " ") - .replace(/\s+/g, " ") - .trim(); - formatted = formatted.replace(/`/g, "\\`"); - const maxLength = 300; - if (formatted.length > maxLength) { - formatted = formatted.substring(0, maxLength) + "..."; - } - return formatted; - } - function truncateString(str, maxLength) { - if (!str) return ""; - if (str.length <= maxLength) return str; - return str.substring(0, maxLength) + "..."; - } if (typeof module !== "undefined" && module.exports) { module.exports = { parseClaudeLog, diff --git a/.github/workflows/grumpy-reviewer.lock.yml b/.github/workflows/grumpy-reviewer.lock.yml index 5099757cb5..cfc19d1827 100644 --- a/.github/workflows/grumpy-reviewer.lock.yml +++ b/.github/workflows/grumpy-reviewer.lock.yml @@ -3652,6 +3652,43 @@ jobs: runLogParser, }; } + function formatDuration(ms) { + if (!ms || ms <= 0) return ""; + const seconds = Math.round(ms / 1000); + if (seconds < 60) { + return `${seconds}s`; + } + const minutes = Math.floor(seconds / 60); + const remainingSeconds = seconds % 60; + if (remainingSeconds === 0) { + return `${minutes}m`; + } + return `${minutes}m ${remainingSeconds}s`; + } + function formatBashCommand(command) { + if (!command) return ""; + let formatted = command + .replace(/\n/g, " ") + .replace(/\r/g, " ") + .replace(/\t/g, " ") + .replace(/\s+/g, " ") + .trim(); + formatted = formatted.replace(/`/g, "\\`"); + const maxLength = 300; + if (formatted.length > maxLength) { + formatted = formatted.substring(0, maxLength) + "..."; + } + return formatted; + } + function truncateString(str, maxLength) { + if (!str) return ""; + if (str.length <= maxLength) return str; + return str.substring(0, maxLength) + "..."; + } + function estimateTokens(text) { + if (!text) return 0; + return Math.ceil(text.length / 4); + } function main() { runLogParser({ parseLog: parseCopilotLog, @@ -4310,23 +4347,6 @@ jobs: } return markdown; } - function estimateTokens(text) { - if (!text) return 0; - return Math.ceil(text.length / 4); - } - function formatDuration(ms) { - if (!ms || ms <= 0) return ""; - const seconds = Math.round(ms / 1000); - if (seconds < 60) { - return `${seconds}s`; - } - const minutes = Math.floor(seconds / 60); - const remainingSeconds = seconds % 60; - if (remainingSeconds === 0) { - return `${minutes}m`; - } - return `${minutes}m ${remainingSeconds}s`; - } function formatToolUseWithDetails(toolUse, toolResult) { const toolName = toolUse.name; const input = toolUse.input || {}; @@ -4454,21 +4474,6 @@ jobs: } return paramStrs.join(", "); } - function formatBashCommand(command) { - if (!command) return ""; - let formatted = command.replace(/\n/g, " ").replace(/\r/g, " ").replace(/\t/g, " ").replace(/\s+/g, " ").trim(); - formatted = formatted.replace(/`/g, "\\`"); - const maxLength = 300; - if (formatted.length > maxLength) { - formatted = formatted.substring(0, maxLength) + "..."; - } - return formatted; - } - function truncateString(str, maxLength) { - if (!str) return ""; - if (str.length <= maxLength) return str; - return str.substring(0, maxLength) + "..."; - } if (typeof module !== "undefined" && module.exports) { module.exports = { parseCopilotLog, diff --git a/.github/workflows/instructions-janitor.lock.yml b/.github/workflows/instructions-janitor.lock.yml index de87e53578..b15de59785 100644 --- a/.github/workflows/instructions-janitor.lock.yml +++ b/.github/workflows/instructions-janitor.lock.yml @@ -2860,6 +2860,43 @@ jobs: runLogParser, }; } + function formatDuration(ms) { + if (!ms || ms <= 0) return ""; + const seconds = Math.round(ms / 1000); + if (seconds < 60) { + return `${seconds}s`; + } + const minutes = Math.floor(seconds / 60); + const remainingSeconds = seconds % 60; + if (remainingSeconds === 0) { + return `${minutes}m`; + } + return `${minutes}m ${remainingSeconds}s`; + } + function formatBashCommand(command) { + if (!command) return ""; + let formatted = command + .replace(/\n/g, " ") + .replace(/\r/g, " ") + .replace(/\t/g, " ") + .replace(/\s+/g, " ") + .trim(); + formatted = formatted.replace(/`/g, "\\`"); + const maxLength = 300; + if (formatted.length > maxLength) { + formatted = formatted.substring(0, maxLength) + "..."; + } + return formatted; + } + function truncateString(str, maxLength) { + if (!str) return ""; + if (str.length <= maxLength) return str; + return str.substring(0, maxLength) + "..."; + } + function estimateTokens(text) { + if (!text) return 0; + return Math.ceil(text.length / 4); + } function main() { runLogParser({ parseLog: parseClaudeLog, @@ -3105,23 +3142,6 @@ jobs: } return { markdown, mcpFailures }; } - function estimateTokens(text) { - if (!text) return 0; - return Math.ceil(text.length / 4); - } - function formatDuration(ms) { - if (!ms || ms <= 0) return ""; - const seconds = Math.round(ms / 1000); - if (seconds < 60) { - return `${seconds}s`; - } - const minutes = Math.floor(seconds / 60); - const remainingSeconds = seconds % 60; - if (remainingSeconds === 0) { - return `${minutes}m`; - } - return `${minutes}m ${remainingSeconds}s`; - } function formatToolUse(toolUse, toolResult) { const toolName = toolUse.name; const input = toolUse.input || {}; @@ -3239,26 +3259,6 @@ jobs: } return paramStrs.join(", "); } - function formatBashCommand(command) { - if (!command) return ""; - let formatted = command - .replace(/\n/g, " ") - .replace(/\r/g, " ") - .replace(/\t/g, " ") - .replace(/\s+/g, " ") - .trim(); - formatted = formatted.replace(/`/g, "\\`"); - const maxLength = 300; - if (formatted.length > maxLength) { - formatted = formatted.substring(0, maxLength) + "..."; - } - return formatted; - } - function truncateString(str, maxLength) { - if (!str) return ""; - if (str.length <= maxLength) return str; - return str.substring(0, maxLength) + "..."; - } if (typeof module !== "undefined" && module.exports) { module.exports = { parseClaudeLog, diff --git a/.github/workflows/lockfile-stats.lock.yml b/.github/workflows/lockfile-stats.lock.yml index d0618fd511..95fcf496a4 100644 --- a/.github/workflows/lockfile-stats.lock.yml +++ b/.github/workflows/lockfile-stats.lock.yml @@ -3070,6 +3070,43 @@ jobs: runLogParser, }; } + function formatDuration(ms) { + if (!ms || ms <= 0) return ""; + const seconds = Math.round(ms / 1000); + if (seconds < 60) { + return `${seconds}s`; + } + const minutes = Math.floor(seconds / 60); + const remainingSeconds = seconds % 60; + if (remainingSeconds === 0) { + return `${minutes}m`; + } + return `${minutes}m ${remainingSeconds}s`; + } + function formatBashCommand(command) { + if (!command) return ""; + let formatted = command + .replace(/\n/g, " ") + .replace(/\r/g, " ") + .replace(/\t/g, " ") + .replace(/\s+/g, " ") + .trim(); + formatted = formatted.replace(/`/g, "\\`"); + const maxLength = 300; + if (formatted.length > maxLength) { + formatted = formatted.substring(0, maxLength) + "..."; + } + return formatted; + } + function truncateString(str, maxLength) { + if (!str) return ""; + if (str.length <= maxLength) return str; + return str.substring(0, maxLength) + "..."; + } + function estimateTokens(text) { + if (!text) return 0; + return Math.ceil(text.length / 4); + } function main() { runLogParser({ parseLog: parseClaudeLog, @@ -3315,23 +3352,6 @@ jobs: } return { markdown, mcpFailures }; } - function estimateTokens(text) { - if (!text) return 0; - return Math.ceil(text.length / 4); - } - function formatDuration(ms) { - if (!ms || ms <= 0) return ""; - const seconds = Math.round(ms / 1000); - if (seconds < 60) { - return `${seconds}s`; - } - const minutes = Math.floor(seconds / 60); - const remainingSeconds = seconds % 60; - if (remainingSeconds === 0) { - return `${minutes}m`; - } - return `${minutes}m ${remainingSeconds}s`; - } function formatToolUse(toolUse, toolResult) { const toolName = toolUse.name; const input = toolUse.input || {}; @@ -3449,26 +3469,6 @@ jobs: } return paramStrs.join(", "); } - function formatBashCommand(command) { - if (!command) return ""; - let formatted = command - .replace(/\n/g, " ") - .replace(/\r/g, " ") - .replace(/\t/g, " ") - .replace(/\s+/g, " ") - .trim(); - formatted = formatted.replace(/`/g, "\\`"); - const maxLength = 300; - if (formatted.length > maxLength) { - formatted = formatted.substring(0, maxLength) + "..."; - } - return formatted; - } - function truncateString(str, maxLength) { - if (!str) return ""; - if (str.length <= maxLength) return str; - return str.substring(0, maxLength) + "..."; - } if (typeof module !== "undefined" && module.exports) { module.exports = { parseClaudeLog, diff --git a/.github/workflows/mcp-inspector.lock.yml b/.github/workflows/mcp-inspector.lock.yml index 7747c2eaf8..7ef993b001 100644 --- a/.github/workflows/mcp-inspector.lock.yml +++ b/.github/workflows/mcp-inspector.lock.yml @@ -3194,6 +3194,43 @@ jobs: runLogParser, }; } + function formatDuration(ms) { + if (!ms || ms <= 0) return ""; + const seconds = Math.round(ms / 1000); + if (seconds < 60) { + return `${seconds}s`; + } + const minutes = Math.floor(seconds / 60); + const remainingSeconds = seconds % 60; + if (remainingSeconds === 0) { + return `${minutes}m`; + } + return `${minutes}m ${remainingSeconds}s`; + } + function formatBashCommand(command) { + if (!command) return ""; + let formatted = command + .replace(/\n/g, " ") + .replace(/\r/g, " ") + .replace(/\t/g, " ") + .replace(/\s+/g, " ") + .trim(); + formatted = formatted.replace(/`/g, "\\`"); + const maxLength = 300; + if (formatted.length > maxLength) { + formatted = formatted.substring(0, maxLength) + "..."; + } + return formatted; + } + function truncateString(str, maxLength) { + if (!str) return ""; + if (str.length <= maxLength) return str; + return str.substring(0, maxLength) + "..."; + } + function estimateTokens(text) { + if (!text) return 0; + return Math.ceil(text.length / 4); + } function main() { runLogParser({ parseLog: parseCopilotLog, @@ -3852,23 +3889,6 @@ jobs: } return markdown; } - function estimateTokens(text) { - if (!text) return 0; - return Math.ceil(text.length / 4); - } - function formatDuration(ms) { - if (!ms || ms <= 0) return ""; - const seconds = Math.round(ms / 1000); - if (seconds < 60) { - return `${seconds}s`; - } - const minutes = Math.floor(seconds / 60); - const remainingSeconds = seconds % 60; - if (remainingSeconds === 0) { - return `${minutes}m`; - } - return `${minutes}m ${remainingSeconds}s`; - } function formatToolUseWithDetails(toolUse, toolResult) { const toolName = toolUse.name; const input = toolUse.input || {}; @@ -3996,21 +4016,6 @@ jobs: } return paramStrs.join(", "); } - function formatBashCommand(command) { - if (!command) return ""; - let formatted = command.replace(/\n/g, " ").replace(/\r/g, " ").replace(/\t/g, " ").replace(/\s+/g, " ").trim(); - formatted = formatted.replace(/`/g, "\\`"); - const maxLength = 300; - if (formatted.length > maxLength) { - formatted = formatted.substring(0, maxLength) + "..."; - } - return formatted; - } - function truncateString(str, maxLength) { - if (!str) return ""; - if (str.length <= maxLength) return str; - return str.substring(0, maxLength) + "..."; - } if (typeof module !== "undefined" && module.exports) { module.exports = { parseCopilotLog, diff --git a/.github/workflows/mergefest.lock.yml b/.github/workflows/mergefest.lock.yml index b2a9b3b5d7..3315687bb3 100644 --- a/.github/workflows/mergefest.lock.yml +++ b/.github/workflows/mergefest.lock.yml @@ -3175,6 +3175,43 @@ jobs: runLogParser, }; } + function formatDuration(ms) { + if (!ms || ms <= 0) return ""; + const seconds = Math.round(ms / 1000); + if (seconds < 60) { + return `${seconds}s`; + } + const minutes = Math.floor(seconds / 60); + const remainingSeconds = seconds % 60; + if (remainingSeconds === 0) { + return `${minutes}m`; + } + return `${minutes}m ${remainingSeconds}s`; + } + function formatBashCommand(command) { + if (!command) return ""; + let formatted = command + .replace(/\n/g, " ") + .replace(/\r/g, " ") + .replace(/\t/g, " ") + .replace(/\s+/g, " ") + .trim(); + formatted = formatted.replace(/`/g, "\\`"); + const maxLength = 300; + if (formatted.length > maxLength) { + formatted = formatted.substring(0, maxLength) + "..."; + } + return formatted; + } + function truncateString(str, maxLength) { + if (!str) return ""; + if (str.length <= maxLength) return str; + return str.substring(0, maxLength) + "..."; + } + function estimateTokens(text) { + if (!text) return 0; + return Math.ceil(text.length / 4); + } function main() { runLogParser({ parseLog: parseCopilotLog, @@ -3833,23 +3870,6 @@ jobs: } return markdown; } - function estimateTokens(text) { - if (!text) return 0; - return Math.ceil(text.length / 4); - } - function formatDuration(ms) { - if (!ms || ms <= 0) return ""; - const seconds = Math.round(ms / 1000); - if (seconds < 60) { - return `${seconds}s`; - } - const minutes = Math.floor(seconds / 60); - const remainingSeconds = seconds % 60; - if (remainingSeconds === 0) { - return `${minutes}m`; - } - return `${minutes}m ${remainingSeconds}s`; - } function formatToolUseWithDetails(toolUse, toolResult) { const toolName = toolUse.name; const input = toolUse.input || {}; @@ -3977,21 +3997,6 @@ jobs: } return paramStrs.join(", "); } - function formatBashCommand(command) { - if (!command) return ""; - let formatted = command.replace(/\n/g, " ").replace(/\r/g, " ").replace(/\t/g, " ").replace(/\s+/g, " ").trim(); - formatted = formatted.replace(/`/g, "\\`"); - const maxLength = 300; - if (formatted.length > maxLength) { - formatted = formatted.substring(0, maxLength) + "..."; - } - return formatted; - } - function truncateString(str, maxLength) { - if (!str) return ""; - if (str.length <= maxLength) return str; - return str.substring(0, maxLength) + "..."; - } if (typeof module !== "undefined" && module.exports) { module.exports = { parseCopilotLog, diff --git a/.github/workflows/notion-issue-summary.lock.yml b/.github/workflows/notion-issue-summary.lock.yml index 596fa62a22..4cd5e382b7 100644 --- a/.github/workflows/notion-issue-summary.lock.yml +++ b/.github/workflows/notion-issue-summary.lock.yml @@ -2475,6 +2475,43 @@ jobs: runLogParser, }; } + function formatDuration(ms) { + if (!ms || ms <= 0) return ""; + const seconds = Math.round(ms / 1000); + if (seconds < 60) { + return `${seconds}s`; + } + const minutes = Math.floor(seconds / 60); + const remainingSeconds = seconds % 60; + if (remainingSeconds === 0) { + return `${minutes}m`; + } + return `${minutes}m ${remainingSeconds}s`; + } + function formatBashCommand(command) { + if (!command) return ""; + let formatted = command + .replace(/\n/g, " ") + .replace(/\r/g, " ") + .replace(/\t/g, " ") + .replace(/\s+/g, " ") + .trim(); + formatted = formatted.replace(/`/g, "\\`"); + const maxLength = 300; + if (formatted.length > maxLength) { + formatted = formatted.substring(0, maxLength) + "..."; + } + return formatted; + } + function truncateString(str, maxLength) { + if (!str) return ""; + if (str.length <= maxLength) return str; + return str.substring(0, maxLength) + "..."; + } + function estimateTokens(text) { + if (!text) return 0; + return Math.ceil(text.length / 4); + } function main() { runLogParser({ parseLog: parseCopilotLog, @@ -3133,23 +3170,6 @@ jobs: } return markdown; } - function estimateTokens(text) { - if (!text) return 0; - return Math.ceil(text.length / 4); - } - function formatDuration(ms) { - if (!ms || ms <= 0) return ""; - const seconds = Math.round(ms / 1000); - if (seconds < 60) { - return `${seconds}s`; - } - const minutes = Math.floor(seconds / 60); - const remainingSeconds = seconds % 60; - if (remainingSeconds === 0) { - return `${minutes}m`; - } - return `${minutes}m ${remainingSeconds}s`; - } function formatToolUseWithDetails(toolUse, toolResult) { const toolName = toolUse.name; const input = toolUse.input || {}; @@ -3277,21 +3297,6 @@ jobs: } return paramStrs.join(", "); } - function formatBashCommand(command) { - if (!command) return ""; - let formatted = command.replace(/\n/g, " ").replace(/\r/g, " ").replace(/\t/g, " ").replace(/\s+/g, " ").trim(); - formatted = formatted.replace(/`/g, "\\`"); - const maxLength = 300; - if (formatted.length > maxLength) { - formatted = formatted.substring(0, maxLength) + "..."; - } - return formatted; - } - function truncateString(str, maxLength) { - if (!str) return ""; - if (str.length <= maxLength) return str; - return str.substring(0, maxLength) + "..."; - } if (typeof module !== "undefined" && module.exports) { module.exports = { parseCopilotLog, diff --git a/.github/workflows/pdf-summary.lock.yml b/.github/workflows/pdf-summary.lock.yml index 4418a3488d..723ef5da0d 100644 --- a/.github/workflows/pdf-summary.lock.yml +++ b/.github/workflows/pdf-summary.lock.yml @@ -3703,6 +3703,43 @@ jobs: runLogParser, }; } + function formatDuration(ms) { + if (!ms || ms <= 0) return ""; + const seconds = Math.round(ms / 1000); + if (seconds < 60) { + return `${seconds}s`; + } + const minutes = Math.floor(seconds / 60); + const remainingSeconds = seconds % 60; + if (remainingSeconds === 0) { + return `${minutes}m`; + } + return `${minutes}m ${remainingSeconds}s`; + } + function formatBashCommand(command) { + if (!command) return ""; + let formatted = command + .replace(/\n/g, " ") + .replace(/\r/g, " ") + .replace(/\t/g, " ") + .replace(/\s+/g, " ") + .trim(); + formatted = formatted.replace(/`/g, "\\`"); + const maxLength = 300; + if (formatted.length > maxLength) { + formatted = formatted.substring(0, maxLength) + "..."; + } + return formatted; + } + function truncateString(str, maxLength) { + if (!str) return ""; + if (str.length <= maxLength) return str; + return str.substring(0, maxLength) + "..."; + } + function estimateTokens(text) { + if (!text) return 0; + return Math.ceil(text.length / 4); + } function main() { runLogParser({ parseLog: parseCopilotLog, @@ -4361,23 +4398,6 @@ jobs: } return markdown; } - function estimateTokens(text) { - if (!text) return 0; - return Math.ceil(text.length / 4); - } - function formatDuration(ms) { - if (!ms || ms <= 0) return ""; - const seconds = Math.round(ms / 1000); - if (seconds < 60) { - return `${seconds}s`; - } - const minutes = Math.floor(seconds / 60); - const remainingSeconds = seconds % 60; - if (remainingSeconds === 0) { - return `${minutes}m`; - } - return `${minutes}m ${remainingSeconds}s`; - } function formatToolUseWithDetails(toolUse, toolResult) { const toolName = toolUse.name; const input = toolUse.input || {}; @@ -4505,21 +4525,6 @@ jobs: } return paramStrs.join(", "); } - function formatBashCommand(command) { - if (!command) return ""; - let formatted = command.replace(/\n/g, " ").replace(/\r/g, " ").replace(/\t/g, " ").replace(/\s+/g, " ").trim(); - formatted = formatted.replace(/`/g, "\\`"); - const maxLength = 300; - if (formatted.length > maxLength) { - formatted = formatted.substring(0, maxLength) + "..."; - } - return formatted; - } - function truncateString(str, maxLength) { - if (!str) return ""; - if (str.length <= maxLength) return str; - return str.substring(0, maxLength) + "..."; - } if (typeof module !== "undefined" && module.exports) { module.exports = { parseCopilotLog, diff --git a/.github/workflows/plan.lock.yml b/.github/workflows/plan.lock.yml index 803a7daa10..83c2aca8e5 100644 --- a/.github/workflows/plan.lock.yml +++ b/.github/workflows/plan.lock.yml @@ -3178,6 +3178,43 @@ jobs: runLogParser, }; } + function formatDuration(ms) { + if (!ms || ms <= 0) return ""; + const seconds = Math.round(ms / 1000); + if (seconds < 60) { + return `${seconds}s`; + } + const minutes = Math.floor(seconds / 60); + const remainingSeconds = seconds % 60; + if (remainingSeconds === 0) { + return `${minutes}m`; + } + return `${minutes}m ${remainingSeconds}s`; + } + function formatBashCommand(command) { + if (!command) return ""; + let formatted = command + .replace(/\n/g, " ") + .replace(/\r/g, " ") + .replace(/\t/g, " ") + .replace(/\s+/g, " ") + .trim(); + formatted = formatted.replace(/`/g, "\\`"); + const maxLength = 300; + if (formatted.length > maxLength) { + formatted = formatted.substring(0, maxLength) + "..."; + } + return formatted; + } + function truncateString(str, maxLength) { + if (!str) return ""; + if (str.length <= maxLength) return str; + return str.substring(0, maxLength) + "..."; + } + function estimateTokens(text) { + if (!text) return 0; + return Math.ceil(text.length / 4); + } function main() { runLogParser({ parseLog: parseCopilotLog, @@ -3836,23 +3873,6 @@ jobs: } return markdown; } - function estimateTokens(text) { - if (!text) return 0; - return Math.ceil(text.length / 4); - } - function formatDuration(ms) { - if (!ms || ms <= 0) return ""; - const seconds = Math.round(ms / 1000); - if (seconds < 60) { - return `${seconds}s`; - } - const minutes = Math.floor(seconds / 60); - const remainingSeconds = seconds % 60; - if (remainingSeconds === 0) { - return `${minutes}m`; - } - return `${minutes}m ${remainingSeconds}s`; - } function formatToolUseWithDetails(toolUse, toolResult) { const toolName = toolUse.name; const input = toolUse.input || {}; @@ -3980,21 +4000,6 @@ jobs: } return paramStrs.join(", "); } - function formatBashCommand(command) { - if (!command) return ""; - let formatted = command.replace(/\n/g, " ").replace(/\r/g, " ").replace(/\t/g, " ").replace(/\s+/g, " ").trim(); - formatted = formatted.replace(/`/g, "\\`"); - const maxLength = 300; - if (formatted.length > maxLength) { - formatted = formatted.substring(0, maxLength) + "..."; - } - return formatted; - } - function truncateString(str, maxLength) { - if (!str) return ""; - if (str.length <= maxLength) return str; - return str.substring(0, maxLength) + "..."; - } if (typeof module !== "undefined" && module.exports) { module.exports = { parseCopilotLog, diff --git a/.github/workflows/poem-bot.lock.yml b/.github/workflows/poem-bot.lock.yml index 4ec0505544..0ceff8cc26 100644 --- a/.github/workflows/poem-bot.lock.yml +++ b/.github/workflows/poem-bot.lock.yml @@ -3974,6 +3974,43 @@ jobs: runLogParser, }; } + function formatDuration(ms) { + if (!ms || ms <= 0) return ""; + const seconds = Math.round(ms / 1000); + if (seconds < 60) { + return `${seconds}s`; + } + const minutes = Math.floor(seconds / 60); + const remainingSeconds = seconds % 60; + if (remainingSeconds === 0) { + return `${minutes}m`; + } + return `${minutes}m ${remainingSeconds}s`; + } + function formatBashCommand(command) { + if (!command) return ""; + let formatted = command + .replace(/\n/g, " ") + .replace(/\r/g, " ") + .replace(/\t/g, " ") + .replace(/\s+/g, " ") + .trim(); + formatted = formatted.replace(/`/g, "\\`"); + const maxLength = 300; + if (formatted.length > maxLength) { + formatted = formatted.substring(0, maxLength) + "..."; + } + return formatted; + } + function truncateString(str, maxLength) { + if (!str) return ""; + if (str.length <= maxLength) return str; + return str.substring(0, maxLength) + "..."; + } + function estimateTokens(text) { + if (!text) return 0; + return Math.ceil(text.length / 4); + } function main() { runLogParser({ parseLog: parseCopilotLog, @@ -4632,23 +4669,6 @@ jobs: } return markdown; } - function estimateTokens(text) { - if (!text) return 0; - return Math.ceil(text.length / 4); - } - function formatDuration(ms) { - if (!ms || ms <= 0) return ""; - const seconds = Math.round(ms / 1000); - if (seconds < 60) { - return `${seconds}s`; - } - const minutes = Math.floor(seconds / 60); - const remainingSeconds = seconds % 60; - if (remainingSeconds === 0) { - return `${minutes}m`; - } - return `${minutes}m ${remainingSeconds}s`; - } function formatToolUseWithDetails(toolUse, toolResult) { const toolName = toolUse.name; const input = toolUse.input || {}; @@ -4776,21 +4796,6 @@ jobs: } return paramStrs.join(", "); } - function formatBashCommand(command) { - if (!command) return ""; - let formatted = command.replace(/\n/g, " ").replace(/\r/g, " ").replace(/\t/g, " ").replace(/\s+/g, " ").trim(); - formatted = formatted.replace(/`/g, "\\`"); - const maxLength = 300; - if (formatted.length > maxLength) { - formatted = formatted.substring(0, maxLength) + "..."; - } - return formatted; - } - function truncateString(str, maxLength) { - if (!str) return ""; - if (str.length <= maxLength) return str; - return str.substring(0, maxLength) + "..."; - } if (typeof module !== "undefined" && module.exports) { module.exports = { parseCopilotLog, diff --git a/.github/workflows/pr-nitpick-reviewer.lock.yml b/.github/workflows/pr-nitpick-reviewer.lock.yml index 07e3016266..1fae05f216 100644 --- a/.github/workflows/pr-nitpick-reviewer.lock.yml +++ b/.github/workflows/pr-nitpick-reviewer.lock.yml @@ -3755,6 +3755,43 @@ jobs: runLogParser, }; } + function formatDuration(ms) { + if (!ms || ms <= 0) return ""; + const seconds = Math.round(ms / 1000); + if (seconds < 60) { + return `${seconds}s`; + } + const minutes = Math.floor(seconds / 60); + const remainingSeconds = seconds % 60; + if (remainingSeconds === 0) { + return `${minutes}m`; + } + return `${minutes}m ${remainingSeconds}s`; + } + function formatBashCommand(command) { + if (!command) return ""; + let formatted = command + .replace(/\n/g, " ") + .replace(/\r/g, " ") + .replace(/\t/g, " ") + .replace(/\s+/g, " ") + .trim(); + formatted = formatted.replace(/`/g, "\\`"); + const maxLength = 300; + if (formatted.length > maxLength) { + formatted = formatted.substring(0, maxLength) + "..."; + } + return formatted; + } + function truncateString(str, maxLength) { + if (!str) return ""; + if (str.length <= maxLength) return str; + return str.substring(0, maxLength) + "..."; + } + function estimateTokens(text) { + if (!text) return 0; + return Math.ceil(text.length / 4); + } function main() { runLogParser({ parseLog: parseCopilotLog, @@ -4413,23 +4450,6 @@ jobs: } return markdown; } - function estimateTokens(text) { - if (!text) return 0; - return Math.ceil(text.length / 4); - } - function formatDuration(ms) { - if (!ms || ms <= 0) return ""; - const seconds = Math.round(ms / 1000); - if (seconds < 60) { - return `${seconds}s`; - } - const minutes = Math.floor(seconds / 60); - const remainingSeconds = seconds % 60; - if (remainingSeconds === 0) { - return `${minutes}m`; - } - return `${minutes}m ${remainingSeconds}s`; - } function formatToolUseWithDetails(toolUse, toolResult) { const toolName = toolUse.name; const input = toolUse.input || {}; @@ -4557,21 +4577,6 @@ jobs: } return paramStrs.join(", "); } - function formatBashCommand(command) { - if (!command) return ""; - let formatted = command.replace(/\n/g, " ").replace(/\r/g, " ").replace(/\t/g, " ").replace(/\s+/g, " ").trim(); - formatted = formatted.replace(/`/g, "\\`"); - const maxLength = 300; - if (formatted.length > maxLength) { - formatted = formatted.substring(0, maxLength) + "..."; - } - return formatted; - } - function truncateString(str, maxLength) { - if (!str) return ""; - if (str.length <= maxLength) return str; - return str.substring(0, maxLength) + "..."; - } if (typeof module !== "undefined" && module.exports) { module.exports = { parseCopilotLog, diff --git a/.github/workflows/prompt-clustering-analysis.lock.yml b/.github/workflows/prompt-clustering-analysis.lock.yml index bd5cac6b2a..7cbdd62f3b 100644 --- a/.github/workflows/prompt-clustering-analysis.lock.yml +++ b/.github/workflows/prompt-clustering-analysis.lock.yml @@ -3406,6 +3406,43 @@ jobs: runLogParser, }; } + function formatDuration(ms) { + if (!ms || ms <= 0) return ""; + const seconds = Math.round(ms / 1000); + if (seconds < 60) { + return `${seconds}s`; + } + const minutes = Math.floor(seconds / 60); + const remainingSeconds = seconds % 60; + if (remainingSeconds === 0) { + return `${minutes}m`; + } + return `${minutes}m ${remainingSeconds}s`; + } + function formatBashCommand(command) { + if (!command) return ""; + let formatted = command + .replace(/\n/g, " ") + .replace(/\r/g, " ") + .replace(/\t/g, " ") + .replace(/\s+/g, " ") + .trim(); + formatted = formatted.replace(/`/g, "\\`"); + const maxLength = 300; + if (formatted.length > maxLength) { + formatted = formatted.substring(0, maxLength) + "..."; + } + return formatted; + } + function truncateString(str, maxLength) { + if (!str) return ""; + if (str.length <= maxLength) return str; + return str.substring(0, maxLength) + "..."; + } + function estimateTokens(text) { + if (!text) return 0; + return Math.ceil(text.length / 4); + } function main() { runLogParser({ parseLog: parseClaudeLog, @@ -3651,23 +3688,6 @@ jobs: } return { markdown, mcpFailures }; } - function estimateTokens(text) { - if (!text) return 0; - return Math.ceil(text.length / 4); - } - function formatDuration(ms) { - if (!ms || ms <= 0) return ""; - const seconds = Math.round(ms / 1000); - if (seconds < 60) { - return `${seconds}s`; - } - const minutes = Math.floor(seconds / 60); - const remainingSeconds = seconds % 60; - if (remainingSeconds === 0) { - return `${minutes}m`; - } - return `${minutes}m ${remainingSeconds}s`; - } function formatToolUse(toolUse, toolResult) { const toolName = toolUse.name; const input = toolUse.input || {}; @@ -3785,26 +3805,6 @@ jobs: } return paramStrs.join(", "); } - function formatBashCommand(command) { - if (!command) return ""; - let formatted = command - .replace(/\n/g, " ") - .replace(/\r/g, " ") - .replace(/\t/g, " ") - .replace(/\s+/g, " ") - .trim(); - formatted = formatted.replace(/`/g, "\\`"); - const maxLength = 300; - if (formatted.length > maxLength) { - formatted = formatted.substring(0, maxLength) + "..."; - } - return formatted; - } - function truncateString(str, maxLength) { - if (!str) return ""; - if (str.length <= maxLength) return str; - return str.substring(0, maxLength) + "..."; - } if (typeof module !== "undefined" && module.exports) { module.exports = { parseClaudeLog, diff --git a/.github/workflows/python-data-charts.lock.yml b/.github/workflows/python-data-charts.lock.yml index 573c7c65f8..5bc721776c 100644 --- a/.github/workflows/python-data-charts.lock.yml +++ b/.github/workflows/python-data-charts.lock.yml @@ -3552,6 +3552,43 @@ jobs: runLogParser, }; } + function formatDuration(ms) { + if (!ms || ms <= 0) return ""; + const seconds = Math.round(ms / 1000); + if (seconds < 60) { + return `${seconds}s`; + } + const minutes = Math.floor(seconds / 60); + const remainingSeconds = seconds % 60; + if (remainingSeconds === 0) { + return `${minutes}m`; + } + return `${minutes}m ${remainingSeconds}s`; + } + function formatBashCommand(command) { + if (!command) return ""; + let formatted = command + .replace(/\n/g, " ") + .replace(/\r/g, " ") + .replace(/\t/g, " ") + .replace(/\s+/g, " ") + .trim(); + formatted = formatted.replace(/`/g, "\\`"); + const maxLength = 300; + if (formatted.length > maxLength) { + formatted = formatted.substring(0, maxLength) + "..."; + } + return formatted; + } + function truncateString(str, maxLength) { + if (!str) return ""; + if (str.length <= maxLength) return str; + return str.substring(0, maxLength) + "..."; + } + function estimateTokens(text) { + if (!text) return 0; + return Math.ceil(text.length / 4); + } function main() { runLogParser({ parseLog: parseCopilotLog, @@ -4210,23 +4247,6 @@ jobs: } return markdown; } - function estimateTokens(text) { - if (!text) return 0; - return Math.ceil(text.length / 4); - } - function formatDuration(ms) { - if (!ms || ms <= 0) return ""; - const seconds = Math.round(ms / 1000); - if (seconds < 60) { - return `${seconds}s`; - } - const minutes = Math.floor(seconds / 60); - const remainingSeconds = seconds % 60; - if (remainingSeconds === 0) { - return `${minutes}m`; - } - return `${minutes}m ${remainingSeconds}s`; - } function formatToolUseWithDetails(toolUse, toolResult) { const toolName = toolUse.name; const input = toolUse.input || {}; @@ -4354,21 +4374,6 @@ jobs: } return paramStrs.join(", "); } - function formatBashCommand(command) { - if (!command) return ""; - let formatted = command.replace(/\n/g, " ").replace(/\r/g, " ").replace(/\t/g, " ").replace(/\s+/g, " ").trim(); - formatted = formatted.replace(/`/g, "\\`"); - const maxLength = 300; - if (formatted.length > maxLength) { - formatted = formatted.substring(0, maxLength) + "..."; - } - return formatted; - } - function truncateString(str, maxLength) { - if (!str) return ""; - if (str.length <= maxLength) return str; - return str.substring(0, maxLength) + "..."; - } if (typeof module !== "undefined" && module.exports) { module.exports = { parseCopilotLog, diff --git a/.github/workflows/q.lock.yml b/.github/workflows/q.lock.yml index a0c32e25dd..e70af3ec5e 100644 --- a/.github/workflows/q.lock.yml +++ b/.github/workflows/q.lock.yml @@ -4036,6 +4036,43 @@ jobs: runLogParser, }; } + function formatDuration(ms) { + if (!ms || ms <= 0) return ""; + const seconds = Math.round(ms / 1000); + if (seconds < 60) { + return `${seconds}s`; + } + const minutes = Math.floor(seconds / 60); + const remainingSeconds = seconds % 60; + if (remainingSeconds === 0) { + return `${minutes}m`; + } + return `${minutes}m ${remainingSeconds}s`; + } + function formatBashCommand(command) { + if (!command) return ""; + let formatted = command + .replace(/\n/g, " ") + .replace(/\r/g, " ") + .replace(/\t/g, " ") + .replace(/\s+/g, " ") + .trim(); + formatted = formatted.replace(/`/g, "\\`"); + const maxLength = 300; + if (formatted.length > maxLength) { + formatted = formatted.substring(0, maxLength) + "..."; + } + return formatted; + } + function truncateString(str, maxLength) { + if (!str) return ""; + if (str.length <= maxLength) return str; + return str.substring(0, maxLength) + "..."; + } + function estimateTokens(text) { + if (!text) return 0; + return Math.ceil(text.length / 4); + } function main() { runLogParser({ parseLog: parseCopilotLog, @@ -4694,23 +4731,6 @@ jobs: } return markdown; } - function estimateTokens(text) { - if (!text) return 0; - return Math.ceil(text.length / 4); - } - function formatDuration(ms) { - if (!ms || ms <= 0) return ""; - const seconds = Math.round(ms / 1000); - if (seconds < 60) { - return `${seconds}s`; - } - const minutes = Math.floor(seconds / 60); - const remainingSeconds = seconds % 60; - if (remainingSeconds === 0) { - return `${minutes}m`; - } - return `${minutes}m ${remainingSeconds}s`; - } function formatToolUseWithDetails(toolUse, toolResult) { const toolName = toolUse.name; const input = toolUse.input || {}; @@ -4838,21 +4858,6 @@ jobs: } return paramStrs.join(", "); } - function formatBashCommand(command) { - if (!command) return ""; - let formatted = command.replace(/\n/g, " ").replace(/\r/g, " ").replace(/\t/g, " ").replace(/\s+/g, " ").trim(); - formatted = formatted.replace(/`/g, "\\`"); - const maxLength = 300; - if (formatted.length > maxLength) { - formatted = formatted.substring(0, maxLength) + "..."; - } - return formatted; - } - function truncateString(str, maxLength) { - if (!str) return ""; - if (str.length <= maxLength) return str; - return str.substring(0, maxLength) + "..."; - } if (typeof module !== "undefined" && module.exports) { module.exports = { parseCopilotLog, diff --git a/.github/workflows/repo-tree-map.lock.yml b/.github/workflows/repo-tree-map.lock.yml index 173e14e33f..0d9a72d3cf 100644 --- a/.github/workflows/repo-tree-map.lock.yml +++ b/.github/workflows/repo-tree-map.lock.yml @@ -2651,6 +2651,43 @@ jobs: runLogParser, }; } + function formatDuration(ms) { + if (!ms || ms <= 0) return ""; + const seconds = Math.round(ms / 1000); + if (seconds < 60) { + return `${seconds}s`; + } + const minutes = Math.floor(seconds / 60); + const remainingSeconds = seconds % 60; + if (remainingSeconds === 0) { + return `${minutes}m`; + } + return `${minutes}m ${remainingSeconds}s`; + } + function formatBashCommand(command) { + if (!command) return ""; + let formatted = command + .replace(/\n/g, " ") + .replace(/\r/g, " ") + .replace(/\t/g, " ") + .replace(/\s+/g, " ") + .trim(); + formatted = formatted.replace(/`/g, "\\`"); + const maxLength = 300; + if (formatted.length > maxLength) { + formatted = formatted.substring(0, maxLength) + "..."; + } + return formatted; + } + function truncateString(str, maxLength) { + if (!str) return ""; + if (str.length <= maxLength) return str; + return str.substring(0, maxLength) + "..."; + } + function estimateTokens(text) { + if (!text) return 0; + return Math.ceil(text.length / 4); + } function main() { runLogParser({ parseLog: parseCopilotLog, @@ -3309,23 +3346,6 @@ jobs: } return markdown; } - function estimateTokens(text) { - if (!text) return 0; - return Math.ceil(text.length / 4); - } - function formatDuration(ms) { - if (!ms || ms <= 0) return ""; - const seconds = Math.round(ms / 1000); - if (seconds < 60) { - return `${seconds}s`; - } - const minutes = Math.floor(seconds / 60); - const remainingSeconds = seconds % 60; - if (remainingSeconds === 0) { - return `${minutes}m`; - } - return `${minutes}m ${remainingSeconds}s`; - } function formatToolUseWithDetails(toolUse, toolResult) { const toolName = toolUse.name; const input = toolUse.input || {}; @@ -3453,21 +3473,6 @@ jobs: } return paramStrs.join(", "); } - function formatBashCommand(command) { - if (!command) return ""; - let formatted = command.replace(/\n/g, " ").replace(/\r/g, " ").replace(/\t/g, " ").replace(/\s+/g, " ").trim(); - formatted = formatted.replace(/`/g, "\\`"); - const maxLength = 300; - if (formatted.length > maxLength) { - formatted = formatted.substring(0, maxLength) + "..."; - } - return formatted; - } - function truncateString(str, maxLength) { - if (!str) return ""; - if (str.length <= maxLength) return str; - return str.substring(0, maxLength) + "..."; - } if (typeof module !== "undefined" && module.exports) { module.exports = { parseCopilotLog, diff --git a/.github/workflows/repository-quality-improver.lock.yml b/.github/workflows/repository-quality-improver.lock.yml index 9072769ceb..4d40d8de24 100644 --- a/.github/workflows/repository-quality-improver.lock.yml +++ b/.github/workflows/repository-quality-improver.lock.yml @@ -3177,6 +3177,43 @@ jobs: runLogParser, }; } + function formatDuration(ms) { + if (!ms || ms <= 0) return ""; + const seconds = Math.round(ms / 1000); + if (seconds < 60) { + return `${seconds}s`; + } + const minutes = Math.floor(seconds / 60); + const remainingSeconds = seconds % 60; + if (remainingSeconds === 0) { + return `${minutes}m`; + } + return `${minutes}m ${remainingSeconds}s`; + } + function formatBashCommand(command) { + if (!command) return ""; + let formatted = command + .replace(/\n/g, " ") + .replace(/\r/g, " ") + .replace(/\t/g, " ") + .replace(/\s+/g, " ") + .trim(); + formatted = formatted.replace(/`/g, "\\`"); + const maxLength = 300; + if (formatted.length > maxLength) { + formatted = formatted.substring(0, maxLength) + "..."; + } + return formatted; + } + function truncateString(str, maxLength) { + if (!str) return ""; + if (str.length <= maxLength) return str; + return str.substring(0, maxLength) + "..."; + } + function estimateTokens(text) { + if (!text) return 0; + return Math.ceil(text.length / 4); + } function main() { runLogParser({ parseLog: parseCopilotLog, @@ -3835,23 +3872,6 @@ jobs: } return markdown; } - function estimateTokens(text) { - if (!text) return 0; - return Math.ceil(text.length / 4); - } - function formatDuration(ms) { - if (!ms || ms <= 0) return ""; - const seconds = Math.round(ms / 1000); - if (seconds < 60) { - return `${seconds}s`; - } - const minutes = Math.floor(seconds / 60); - const remainingSeconds = seconds % 60; - if (remainingSeconds === 0) { - return `${minutes}m`; - } - return `${minutes}m ${remainingSeconds}s`; - } function formatToolUseWithDetails(toolUse, toolResult) { const toolName = toolUse.name; const input = toolUse.input || {}; @@ -3979,21 +3999,6 @@ jobs: } return paramStrs.join(", "); } - function formatBashCommand(command) { - if (!command) return ""; - let formatted = command.replace(/\n/g, " ").replace(/\r/g, " ").replace(/\t/g, " ").replace(/\s+/g, " ").trim(); - formatted = formatted.replace(/`/g, "\\`"); - const maxLength = 300; - if (formatted.length > maxLength) { - formatted = formatted.substring(0, maxLength) + "..."; - } - return formatted; - } - function truncateString(str, maxLength) { - if (!str) return ""; - if (str.length <= maxLength) return str; - return str.substring(0, maxLength) + "..."; - } if (typeof module !== "undefined" && module.exports) { module.exports = { parseCopilotLog, diff --git a/.github/workflows/research.lock.yml b/.github/workflows/research.lock.yml index 5564dab169..33aa774bab 100644 --- a/.github/workflows/research.lock.yml +++ b/.github/workflows/research.lock.yml @@ -2585,6 +2585,43 @@ jobs: runLogParser, }; } + function formatDuration(ms) { + if (!ms || ms <= 0) return ""; + const seconds = Math.round(ms / 1000); + if (seconds < 60) { + return `${seconds}s`; + } + const minutes = Math.floor(seconds / 60); + const remainingSeconds = seconds % 60; + if (remainingSeconds === 0) { + return `${minutes}m`; + } + return `${minutes}m ${remainingSeconds}s`; + } + function formatBashCommand(command) { + if (!command) return ""; + let formatted = command + .replace(/\n/g, " ") + .replace(/\r/g, " ") + .replace(/\t/g, " ") + .replace(/\s+/g, " ") + .trim(); + formatted = formatted.replace(/`/g, "\\`"); + const maxLength = 300; + if (formatted.length > maxLength) { + formatted = formatted.substring(0, maxLength) + "..."; + } + return formatted; + } + function truncateString(str, maxLength) { + if (!str) return ""; + if (str.length <= maxLength) return str; + return str.substring(0, maxLength) + "..."; + } + function estimateTokens(text) { + if (!text) return 0; + return Math.ceil(text.length / 4); + } function main() { runLogParser({ parseLog: parseCopilotLog, @@ -3243,23 +3280,6 @@ jobs: } return markdown; } - function estimateTokens(text) { - if (!text) return 0; - return Math.ceil(text.length / 4); - } - function formatDuration(ms) { - if (!ms || ms <= 0) return ""; - const seconds = Math.round(ms / 1000); - if (seconds < 60) { - return `${seconds}s`; - } - const minutes = Math.floor(seconds / 60); - const remainingSeconds = seconds % 60; - if (remainingSeconds === 0) { - return `${minutes}m`; - } - return `${minutes}m ${remainingSeconds}s`; - } function formatToolUseWithDetails(toolUse, toolResult) { const toolName = toolUse.name; const input = toolUse.input || {}; @@ -3387,21 +3407,6 @@ jobs: } return paramStrs.join(", "); } - function formatBashCommand(command) { - if (!command) return ""; - let formatted = command.replace(/\n/g, " ").replace(/\r/g, " ").replace(/\t/g, " ").replace(/\s+/g, " ").trim(); - formatted = formatted.replace(/`/g, "\\`"); - const maxLength = 300; - if (formatted.length > maxLength) { - formatted = formatted.substring(0, maxLength) + "..."; - } - return formatted; - } - function truncateString(str, maxLength) { - if (!str) return ""; - if (str.length <= maxLength) return str; - return str.substring(0, maxLength) + "..."; - } if (typeof module !== "undefined" && module.exports) { module.exports = { parseCopilotLog, diff --git a/.github/workflows/safe-output-health.lock.yml b/.github/workflows/safe-output-health.lock.yml index 7aed8fc556..cdd4daa734 100644 --- a/.github/workflows/safe-output-health.lock.yml +++ b/.github/workflows/safe-output-health.lock.yml @@ -3203,6 +3203,43 @@ jobs: runLogParser, }; } + function formatDuration(ms) { + if (!ms || ms <= 0) return ""; + const seconds = Math.round(ms / 1000); + if (seconds < 60) { + return `${seconds}s`; + } + const minutes = Math.floor(seconds / 60); + const remainingSeconds = seconds % 60; + if (remainingSeconds === 0) { + return `${minutes}m`; + } + return `${minutes}m ${remainingSeconds}s`; + } + function formatBashCommand(command) { + if (!command) return ""; + let formatted = command + .replace(/\n/g, " ") + .replace(/\r/g, " ") + .replace(/\t/g, " ") + .replace(/\s+/g, " ") + .trim(); + formatted = formatted.replace(/`/g, "\\`"); + const maxLength = 300; + if (formatted.length > maxLength) { + formatted = formatted.substring(0, maxLength) + "..."; + } + return formatted; + } + function truncateString(str, maxLength) { + if (!str) return ""; + if (str.length <= maxLength) return str; + return str.substring(0, maxLength) + "..."; + } + function estimateTokens(text) { + if (!text) return 0; + return Math.ceil(text.length / 4); + } function main() { runLogParser({ parseLog: parseClaudeLog, @@ -3448,23 +3485,6 @@ jobs: } return { markdown, mcpFailures }; } - function estimateTokens(text) { - if (!text) return 0; - return Math.ceil(text.length / 4); - } - function formatDuration(ms) { - if (!ms || ms <= 0) return ""; - const seconds = Math.round(ms / 1000); - if (seconds < 60) { - return `${seconds}s`; - } - const minutes = Math.floor(seconds / 60); - const remainingSeconds = seconds % 60; - if (remainingSeconds === 0) { - return `${minutes}m`; - } - return `${minutes}m ${remainingSeconds}s`; - } function formatToolUse(toolUse, toolResult) { const toolName = toolUse.name; const input = toolUse.input || {}; @@ -3582,26 +3602,6 @@ jobs: } return paramStrs.join(", "); } - function formatBashCommand(command) { - if (!command) return ""; - let formatted = command - .replace(/\n/g, " ") - .replace(/\r/g, " ") - .replace(/\t/g, " ") - .replace(/\s+/g, " ") - .trim(); - formatted = formatted.replace(/`/g, "\\`"); - const maxLength = 300; - if (formatted.length > maxLength) { - formatted = formatted.substring(0, maxLength) + "..."; - } - return formatted; - } - function truncateString(str, maxLength) { - if (!str) return ""; - if (str.length <= maxLength) return str; - return str.substring(0, maxLength) + "..."; - } if (typeof module !== "undefined" && module.exports) { module.exports = { parseClaudeLog, diff --git a/.github/workflows/schema-consistency-checker.lock.yml b/.github/workflows/schema-consistency-checker.lock.yml index c9a4e7fb46..6142a2c580 100644 --- a/.github/workflows/schema-consistency-checker.lock.yml +++ b/.github/workflows/schema-consistency-checker.lock.yml @@ -3076,6 +3076,43 @@ jobs: runLogParser, }; } + function formatDuration(ms) { + if (!ms || ms <= 0) return ""; + const seconds = Math.round(ms / 1000); + if (seconds < 60) { + return `${seconds}s`; + } + const minutes = Math.floor(seconds / 60); + const remainingSeconds = seconds % 60; + if (remainingSeconds === 0) { + return `${minutes}m`; + } + return `${minutes}m ${remainingSeconds}s`; + } + function formatBashCommand(command) { + if (!command) return ""; + let formatted = command + .replace(/\n/g, " ") + .replace(/\r/g, " ") + .replace(/\t/g, " ") + .replace(/\s+/g, " ") + .trim(); + formatted = formatted.replace(/`/g, "\\`"); + const maxLength = 300; + if (formatted.length > maxLength) { + formatted = formatted.substring(0, maxLength) + "..."; + } + return formatted; + } + function truncateString(str, maxLength) { + if (!str) return ""; + if (str.length <= maxLength) return str; + return str.substring(0, maxLength) + "..."; + } + function estimateTokens(text) { + if (!text) return 0; + return Math.ceil(text.length / 4); + } function main() { runLogParser({ parseLog: parseClaudeLog, @@ -3321,23 +3358,6 @@ jobs: } return { markdown, mcpFailures }; } - function estimateTokens(text) { - if (!text) return 0; - return Math.ceil(text.length / 4); - } - function formatDuration(ms) { - if (!ms || ms <= 0) return ""; - const seconds = Math.round(ms / 1000); - if (seconds < 60) { - return `${seconds}s`; - } - const minutes = Math.floor(seconds / 60); - const remainingSeconds = seconds % 60; - if (remainingSeconds === 0) { - return `${minutes}m`; - } - return `${minutes}m ${remainingSeconds}s`; - } function formatToolUse(toolUse, toolResult) { const toolName = toolUse.name; const input = toolUse.input || {}; @@ -3455,26 +3475,6 @@ jobs: } return paramStrs.join(", "); } - function formatBashCommand(command) { - if (!command) return ""; - let formatted = command - .replace(/\n/g, " ") - .replace(/\r/g, " ") - .replace(/\t/g, " ") - .replace(/\s+/g, " ") - .trim(); - formatted = formatted.replace(/`/g, "\\`"); - const maxLength = 300; - if (formatted.length > maxLength) { - formatted = formatted.substring(0, maxLength) + "..."; - } - return formatted; - } - function truncateString(str, maxLength) { - if (!str) return ""; - if (str.length <= maxLength) return str; - return str.substring(0, maxLength) + "..."; - } if (typeof module !== "undefined" && module.exports) { module.exports = { parseClaudeLog, diff --git a/.github/workflows/scout.lock.yml b/.github/workflows/scout.lock.yml index ace9bf2827..d0feae0619 100644 --- a/.github/workflows/scout.lock.yml +++ b/.github/workflows/scout.lock.yml @@ -4151,6 +4151,43 @@ jobs: runLogParser, }; } + function formatDuration(ms) { + if (!ms || ms <= 0) return ""; + const seconds = Math.round(ms / 1000); + if (seconds < 60) { + return `${seconds}s`; + } + const minutes = Math.floor(seconds / 60); + const remainingSeconds = seconds % 60; + if (remainingSeconds === 0) { + return `${minutes}m`; + } + return `${minutes}m ${remainingSeconds}s`; + } + function formatBashCommand(command) { + if (!command) return ""; + let formatted = command + .replace(/\n/g, " ") + .replace(/\r/g, " ") + .replace(/\t/g, " ") + .replace(/\s+/g, " ") + .trim(); + formatted = formatted.replace(/`/g, "\\`"); + const maxLength = 300; + if (formatted.length > maxLength) { + formatted = formatted.substring(0, maxLength) + "..."; + } + return formatted; + } + function truncateString(str, maxLength) { + if (!str) return ""; + if (str.length <= maxLength) return str; + return str.substring(0, maxLength) + "..."; + } + function estimateTokens(text) { + if (!text) return 0; + return Math.ceil(text.length / 4); + } function main() { runLogParser({ parseLog: parseClaudeLog, @@ -4396,23 +4433,6 @@ jobs: } return { markdown, mcpFailures }; } - function estimateTokens(text) { - if (!text) return 0; - return Math.ceil(text.length / 4); - } - function formatDuration(ms) { - if (!ms || ms <= 0) return ""; - const seconds = Math.round(ms / 1000); - if (seconds < 60) { - return `${seconds}s`; - } - const minutes = Math.floor(seconds / 60); - const remainingSeconds = seconds % 60; - if (remainingSeconds === 0) { - return `${minutes}m`; - } - return `${minutes}m ${remainingSeconds}s`; - } function formatToolUse(toolUse, toolResult) { const toolName = toolUse.name; const input = toolUse.input || {}; @@ -4530,26 +4550,6 @@ jobs: } return paramStrs.join(", "); } - function formatBashCommand(command) { - if (!command) return ""; - let formatted = command - .replace(/\n/g, " ") - .replace(/\r/g, " ") - .replace(/\t/g, " ") - .replace(/\s+/g, " ") - .trim(); - formatted = formatted.replace(/`/g, "\\`"); - const maxLength = 300; - if (formatted.length > maxLength) { - formatted = formatted.substring(0, maxLength) + "..."; - } - return formatted; - } - function truncateString(str, maxLength) { - if (!str) return ""; - if (str.length <= maxLength) return str; - return str.substring(0, maxLength) + "..."; - } if (typeof module !== "undefined" && module.exports) { module.exports = { parseClaudeLog, diff --git a/.github/workflows/security-fix-pr.lock.yml b/.github/workflows/security-fix-pr.lock.yml index ecfe0d70c9..4164f9b73b 100644 --- a/.github/workflows/security-fix-pr.lock.yml +++ b/.github/workflows/security-fix-pr.lock.yml @@ -2808,6 +2808,43 @@ jobs: runLogParser, }; } + function formatDuration(ms) { + if (!ms || ms <= 0) return ""; + const seconds = Math.round(ms / 1000); + if (seconds < 60) { + return `${seconds}s`; + } + const minutes = Math.floor(seconds / 60); + const remainingSeconds = seconds % 60; + if (remainingSeconds === 0) { + return `${minutes}m`; + } + return `${minutes}m ${remainingSeconds}s`; + } + function formatBashCommand(command) { + if (!command) return ""; + let formatted = command + .replace(/\n/g, " ") + .replace(/\r/g, " ") + .replace(/\t/g, " ") + .replace(/\s+/g, " ") + .trim(); + formatted = formatted.replace(/`/g, "\\`"); + const maxLength = 300; + if (formatted.length > maxLength) { + formatted = formatted.substring(0, maxLength) + "..."; + } + return formatted; + } + function truncateString(str, maxLength) { + if (!str) return ""; + if (str.length <= maxLength) return str; + return str.substring(0, maxLength) + "..."; + } + function estimateTokens(text) { + if (!text) return 0; + return Math.ceil(text.length / 4); + } function main() { runLogParser({ parseLog: parseClaudeLog, @@ -3053,23 +3090,6 @@ jobs: } return { markdown, mcpFailures }; } - function estimateTokens(text) { - if (!text) return 0; - return Math.ceil(text.length / 4); - } - function formatDuration(ms) { - if (!ms || ms <= 0) return ""; - const seconds = Math.round(ms / 1000); - if (seconds < 60) { - return `${seconds}s`; - } - const minutes = Math.floor(seconds / 60); - const remainingSeconds = seconds % 60; - if (remainingSeconds === 0) { - return `${minutes}m`; - } - return `${minutes}m ${remainingSeconds}s`; - } function formatToolUse(toolUse, toolResult) { const toolName = toolUse.name; const input = toolUse.input || {}; @@ -3187,26 +3207,6 @@ jobs: } return paramStrs.join(", "); } - function formatBashCommand(command) { - if (!command) return ""; - let formatted = command - .replace(/\n/g, " ") - .replace(/\r/g, " ") - .replace(/\t/g, " ") - .replace(/\s+/g, " ") - .trim(); - formatted = formatted.replace(/`/g, "\\`"); - const maxLength = 300; - if (formatted.length > maxLength) { - formatted = formatted.substring(0, maxLength) + "..."; - } - return formatted; - } - function truncateString(str, maxLength) { - if (!str) return ""; - if (str.length <= maxLength) return str; - return str.substring(0, maxLength) + "..."; - } if (typeof module !== "undefined" && module.exports) { module.exports = { parseClaudeLog, diff --git a/.github/workflows/semantic-function-refactor.lock.yml b/.github/workflows/semantic-function-refactor.lock.yml index e06449f135..abad47ff30 100644 --- a/.github/workflows/semantic-function-refactor.lock.yml +++ b/.github/workflows/semantic-function-refactor.lock.yml @@ -3164,6 +3164,43 @@ jobs: runLogParser, }; } + function formatDuration(ms) { + if (!ms || ms <= 0) return ""; + const seconds = Math.round(ms / 1000); + if (seconds < 60) { + return `${seconds}s`; + } + const minutes = Math.floor(seconds / 60); + const remainingSeconds = seconds % 60; + if (remainingSeconds === 0) { + return `${minutes}m`; + } + return `${minutes}m ${remainingSeconds}s`; + } + function formatBashCommand(command) { + if (!command) return ""; + let formatted = command + .replace(/\n/g, " ") + .replace(/\r/g, " ") + .replace(/\t/g, " ") + .replace(/\s+/g, " ") + .trim(); + formatted = formatted.replace(/`/g, "\\`"); + const maxLength = 300; + if (formatted.length > maxLength) { + formatted = formatted.substring(0, maxLength) + "..."; + } + return formatted; + } + function truncateString(str, maxLength) { + if (!str) return ""; + if (str.length <= maxLength) return str; + return str.substring(0, maxLength) + "..."; + } + function estimateTokens(text) { + if (!text) return 0; + return Math.ceil(text.length / 4); + } function main() { runLogParser({ parseLog: parseClaudeLog, @@ -3409,23 +3446,6 @@ jobs: } return { markdown, mcpFailures }; } - function estimateTokens(text) { - if (!text) return 0; - return Math.ceil(text.length / 4); - } - function formatDuration(ms) { - if (!ms || ms <= 0) return ""; - const seconds = Math.round(ms / 1000); - if (seconds < 60) { - return `${seconds}s`; - } - const minutes = Math.floor(seconds / 60); - const remainingSeconds = seconds % 60; - if (remainingSeconds === 0) { - return `${minutes}m`; - } - return `${minutes}m ${remainingSeconds}s`; - } function formatToolUse(toolUse, toolResult) { const toolName = toolUse.name; const input = toolUse.input || {}; @@ -3543,26 +3563,6 @@ jobs: } return paramStrs.join(", "); } - function formatBashCommand(command) { - if (!command) return ""; - let formatted = command - .replace(/\n/g, " ") - .replace(/\r/g, " ") - .replace(/\t/g, " ") - .replace(/\s+/g, " ") - .trim(); - formatted = formatted.replace(/`/g, "\\`"); - const maxLength = 300; - if (formatted.length > maxLength) { - formatted = formatted.substring(0, maxLength) + "..."; - } - return formatted; - } - function truncateString(str, maxLength) { - if (!str) return ""; - if (str.length <= maxLength) return str; - return str.substring(0, maxLength) + "..."; - } if (typeof module !== "undefined" && module.exports) { module.exports = { parseClaudeLog, diff --git a/.github/workflows/smoke-claude.lock.yml b/.github/workflows/smoke-claude.lock.yml index 5865e1898e..8395f83463 100644 --- a/.github/workflows/smoke-claude.lock.yml +++ b/.github/workflows/smoke-claude.lock.yml @@ -2723,6 +2723,43 @@ jobs: runLogParser, }; } + function formatDuration(ms) { + if (!ms || ms <= 0) return ""; + const seconds = Math.round(ms / 1000); + if (seconds < 60) { + return `${seconds}s`; + } + const minutes = Math.floor(seconds / 60); + const remainingSeconds = seconds % 60; + if (remainingSeconds === 0) { + return `${minutes}m`; + } + return `${minutes}m ${remainingSeconds}s`; + } + function formatBashCommand(command) { + if (!command) return ""; + let formatted = command + .replace(/\n/g, " ") + .replace(/\r/g, " ") + .replace(/\t/g, " ") + .replace(/\s+/g, " ") + .trim(); + formatted = formatted.replace(/`/g, "\\`"); + const maxLength = 300; + if (formatted.length > maxLength) { + formatted = formatted.substring(0, maxLength) + "..."; + } + return formatted; + } + function truncateString(str, maxLength) { + if (!str) return ""; + if (str.length <= maxLength) return str; + return str.substring(0, maxLength) + "..."; + } + function estimateTokens(text) { + if (!text) return 0; + return Math.ceil(text.length / 4); + } function main() { runLogParser({ parseLog: parseClaudeLog, @@ -2968,23 +3005,6 @@ jobs: } return { markdown, mcpFailures }; } - function estimateTokens(text) { - if (!text) return 0; - return Math.ceil(text.length / 4); - } - function formatDuration(ms) { - if (!ms || ms <= 0) return ""; - const seconds = Math.round(ms / 1000); - if (seconds < 60) { - return `${seconds}s`; - } - const minutes = Math.floor(seconds / 60); - const remainingSeconds = seconds % 60; - if (remainingSeconds === 0) { - return `${minutes}m`; - } - return `${minutes}m ${remainingSeconds}s`; - } function formatToolUse(toolUse, toolResult) { const toolName = toolUse.name; const input = toolUse.input || {}; @@ -3102,26 +3122,6 @@ jobs: } return paramStrs.join(", "); } - function formatBashCommand(command) { - if (!command) return ""; - let formatted = command - .replace(/\n/g, " ") - .replace(/\r/g, " ") - .replace(/\t/g, " ") - .replace(/\s+/g, " ") - .trim(); - formatted = formatted.replace(/`/g, "\\`"); - const maxLength = 300; - if (formatted.length > maxLength) { - formatted = formatted.substring(0, maxLength) + "..."; - } - return formatted; - } - function truncateString(str, maxLength) { - if (!str) return ""; - if (str.length <= maxLength) return str; - return str.substring(0, maxLength) + "..."; - } if (typeof module !== "undefined" && module.exports) { module.exports = { parseClaudeLog, diff --git a/.github/workflows/smoke-copilot.lock.yml b/.github/workflows/smoke-copilot.lock.yml index 0b3143b31d..912cbdc7b6 100644 --- a/.github/workflows/smoke-copilot.lock.yml +++ b/.github/workflows/smoke-copilot.lock.yml @@ -2502,6 +2502,43 @@ jobs: runLogParser, }; } + function formatDuration(ms) { + if (!ms || ms <= 0) return ""; + const seconds = Math.round(ms / 1000); + if (seconds < 60) { + return `${seconds}s`; + } + const minutes = Math.floor(seconds / 60); + const remainingSeconds = seconds % 60; + if (remainingSeconds === 0) { + return `${minutes}m`; + } + return `${minutes}m ${remainingSeconds}s`; + } + function formatBashCommand(command) { + if (!command) return ""; + let formatted = command + .replace(/\n/g, " ") + .replace(/\r/g, " ") + .replace(/\t/g, " ") + .replace(/\s+/g, " ") + .trim(); + formatted = formatted.replace(/`/g, "\\`"); + const maxLength = 300; + if (formatted.length > maxLength) { + formatted = formatted.substring(0, maxLength) + "..."; + } + return formatted; + } + function truncateString(str, maxLength) { + if (!str) return ""; + if (str.length <= maxLength) return str; + return str.substring(0, maxLength) + "..."; + } + function estimateTokens(text) { + if (!text) return 0; + return Math.ceil(text.length / 4); + } function main() { runLogParser({ parseLog: parseCopilotLog, @@ -3160,23 +3197,6 @@ jobs: } return markdown; } - function estimateTokens(text) { - if (!text) return 0; - return Math.ceil(text.length / 4); - } - function formatDuration(ms) { - if (!ms || ms <= 0) return ""; - const seconds = Math.round(ms / 1000); - if (seconds < 60) { - return `${seconds}s`; - } - const minutes = Math.floor(seconds / 60); - const remainingSeconds = seconds % 60; - if (remainingSeconds === 0) { - return `${minutes}m`; - } - return `${minutes}m ${remainingSeconds}s`; - } function formatToolUseWithDetails(toolUse, toolResult) { const toolName = toolUse.name; const input = toolUse.input || {}; @@ -3304,21 +3324,6 @@ jobs: } return paramStrs.join(", "); } - function formatBashCommand(command) { - if (!command) return ""; - let formatted = command.replace(/\n/g, " ").replace(/\r/g, " ").replace(/\t/g, " ").replace(/\s+/g, " ").trim(); - formatted = formatted.replace(/`/g, "\\`"); - const maxLength = 300; - if (formatted.length > maxLength) { - formatted = formatted.substring(0, maxLength) + "..."; - } - return formatted; - } - function truncateString(str, maxLength) { - if (!str) return ""; - if (str.length <= maxLength) return str; - return str.substring(0, maxLength) + "..."; - } if (typeof module !== "undefined" && module.exports) { module.exports = { parseCopilotLog, diff --git a/.github/workflows/smoke-detector.lock.yml b/.github/workflows/smoke-detector.lock.yml index dade6f0d16..8a857c4a08 100644 --- a/.github/workflows/smoke-detector.lock.yml +++ b/.github/workflows/smoke-detector.lock.yml @@ -3794,6 +3794,43 @@ jobs: runLogParser, }; } + function formatDuration(ms) { + if (!ms || ms <= 0) return ""; + const seconds = Math.round(ms / 1000); + if (seconds < 60) { + return `${seconds}s`; + } + const minutes = Math.floor(seconds / 60); + const remainingSeconds = seconds % 60; + if (remainingSeconds === 0) { + return `${minutes}m`; + } + return `${minutes}m ${remainingSeconds}s`; + } + function formatBashCommand(command) { + if (!command) return ""; + let formatted = command + .replace(/\n/g, " ") + .replace(/\r/g, " ") + .replace(/\t/g, " ") + .replace(/\s+/g, " ") + .trim(); + formatted = formatted.replace(/`/g, "\\`"); + const maxLength = 300; + if (formatted.length > maxLength) { + formatted = formatted.substring(0, maxLength) + "..."; + } + return formatted; + } + function truncateString(str, maxLength) { + if (!str) return ""; + if (str.length <= maxLength) return str; + return str.substring(0, maxLength) + "..."; + } + function estimateTokens(text) { + if (!text) return 0; + return Math.ceil(text.length / 4); + } function main() { runLogParser({ parseLog: parseClaudeLog, @@ -4039,23 +4076,6 @@ jobs: } return { markdown, mcpFailures }; } - function estimateTokens(text) { - if (!text) return 0; - return Math.ceil(text.length / 4); - } - function formatDuration(ms) { - if (!ms || ms <= 0) return ""; - const seconds = Math.round(ms / 1000); - if (seconds < 60) { - return `${seconds}s`; - } - const minutes = Math.floor(seconds / 60); - const remainingSeconds = seconds % 60; - if (remainingSeconds === 0) { - return `${minutes}m`; - } - return `${minutes}m ${remainingSeconds}s`; - } function formatToolUse(toolUse, toolResult) { const toolName = toolUse.name; const input = toolUse.input || {}; @@ -4173,26 +4193,6 @@ jobs: } return paramStrs.join(", "); } - function formatBashCommand(command) { - if (!command) return ""; - let formatted = command - .replace(/\n/g, " ") - .replace(/\r/g, " ") - .replace(/\t/g, " ") - .replace(/\s+/g, " ") - .trim(); - formatted = formatted.replace(/`/g, "\\`"); - const maxLength = 300; - if (formatted.length > maxLength) { - formatted = formatted.substring(0, maxLength) + "..."; - } - return formatted; - } - function truncateString(str, maxLength) { - if (!str) return ""; - if (str.length <= maxLength) return str; - return str.substring(0, maxLength) + "..."; - } if (typeof module !== "undefined" && module.exports) { module.exports = { parseClaudeLog, diff --git a/.github/workflows/static-analysis-report.lock.yml b/.github/workflows/static-analysis-report.lock.yml index 613a35ccb9..3059f2ef10 100644 --- a/.github/workflows/static-analysis-report.lock.yml +++ b/.github/workflows/static-analysis-report.lock.yml @@ -3091,6 +3091,43 @@ jobs: runLogParser, }; } + function formatDuration(ms) { + if (!ms || ms <= 0) return ""; + const seconds = Math.round(ms / 1000); + if (seconds < 60) { + return `${seconds}s`; + } + const minutes = Math.floor(seconds / 60); + const remainingSeconds = seconds % 60; + if (remainingSeconds === 0) { + return `${minutes}m`; + } + return `${minutes}m ${remainingSeconds}s`; + } + function formatBashCommand(command) { + if (!command) return ""; + let formatted = command + .replace(/\n/g, " ") + .replace(/\r/g, " ") + .replace(/\t/g, " ") + .replace(/\s+/g, " ") + .trim(); + formatted = formatted.replace(/`/g, "\\`"); + const maxLength = 300; + if (formatted.length > maxLength) { + formatted = formatted.substring(0, maxLength) + "..."; + } + return formatted; + } + function truncateString(str, maxLength) { + if (!str) return ""; + if (str.length <= maxLength) return str; + return str.substring(0, maxLength) + "..."; + } + function estimateTokens(text) { + if (!text) return 0; + return Math.ceil(text.length / 4); + } function main() { runLogParser({ parseLog: parseClaudeLog, @@ -3336,23 +3373,6 @@ jobs: } return { markdown, mcpFailures }; } - function estimateTokens(text) { - if (!text) return 0; - return Math.ceil(text.length / 4); - } - function formatDuration(ms) { - if (!ms || ms <= 0) return ""; - const seconds = Math.round(ms / 1000); - if (seconds < 60) { - return `${seconds}s`; - } - const minutes = Math.floor(seconds / 60); - const remainingSeconds = seconds % 60; - if (remainingSeconds === 0) { - return `${minutes}m`; - } - return `${minutes}m ${remainingSeconds}s`; - } function formatToolUse(toolUse, toolResult) { const toolName = toolUse.name; const input = toolUse.input || {}; @@ -3470,26 +3490,6 @@ jobs: } return paramStrs.join(", "); } - function formatBashCommand(command) { - if (!command) return ""; - let formatted = command - .replace(/\n/g, " ") - .replace(/\r/g, " ") - .replace(/\t/g, " ") - .replace(/\s+/g, " ") - .trim(); - formatted = formatted.replace(/`/g, "\\`"); - const maxLength = 300; - if (formatted.length > maxLength) { - formatted = formatted.substring(0, maxLength) + "..."; - } - return formatted; - } - function truncateString(str, maxLength) { - if (!str) return ""; - if (str.length <= maxLength) return str; - return str.substring(0, maxLength) + "..."; - } if (typeof module !== "undefined" && module.exports) { module.exports = { parseClaudeLog, diff --git a/.github/workflows/super-linter.lock.yml b/.github/workflows/super-linter.lock.yml index 2f0186aee7..4fe97f2325 100644 --- a/.github/workflows/super-linter.lock.yml +++ b/.github/workflows/super-linter.lock.yml @@ -2724,6 +2724,43 @@ jobs: runLogParser, }; } + function formatDuration(ms) { + if (!ms || ms <= 0) return ""; + const seconds = Math.round(ms / 1000); + if (seconds < 60) { + return `${seconds}s`; + } + const minutes = Math.floor(seconds / 60); + const remainingSeconds = seconds % 60; + if (remainingSeconds === 0) { + return `${minutes}m`; + } + return `${minutes}m ${remainingSeconds}s`; + } + function formatBashCommand(command) { + if (!command) return ""; + let formatted = command + .replace(/\n/g, " ") + .replace(/\r/g, " ") + .replace(/\t/g, " ") + .replace(/\s+/g, " ") + .trim(); + formatted = formatted.replace(/`/g, "\\`"); + const maxLength = 300; + if (formatted.length > maxLength) { + formatted = formatted.substring(0, maxLength) + "..."; + } + return formatted; + } + function truncateString(str, maxLength) { + if (!str) return ""; + if (str.length <= maxLength) return str; + return str.substring(0, maxLength) + "..."; + } + function estimateTokens(text) { + if (!text) return 0; + return Math.ceil(text.length / 4); + } function main() { runLogParser({ parseLog: parseCopilotLog, @@ -3382,23 +3419,6 @@ jobs: } return markdown; } - function estimateTokens(text) { - if (!text) return 0; - return Math.ceil(text.length / 4); - } - function formatDuration(ms) { - if (!ms || ms <= 0) return ""; - const seconds = Math.round(ms / 1000); - if (seconds < 60) { - return `${seconds}s`; - } - const minutes = Math.floor(seconds / 60); - const remainingSeconds = seconds % 60; - if (remainingSeconds === 0) { - return `${minutes}m`; - } - return `${minutes}m ${remainingSeconds}s`; - } function formatToolUseWithDetails(toolUse, toolResult) { const toolName = toolUse.name; const input = toolUse.input || {}; @@ -3526,21 +3546,6 @@ jobs: } return paramStrs.join(", "); } - function formatBashCommand(command) { - if (!command) return ""; - let formatted = command.replace(/\n/g, " ").replace(/\r/g, " ").replace(/\t/g, " ").replace(/\s+/g, " ").trim(); - formatted = formatted.replace(/`/g, "\\`"); - const maxLength = 300; - if (formatted.length > maxLength) { - formatted = formatted.substring(0, maxLength) + "..."; - } - return formatted; - } - function truncateString(str, maxLength) { - if (!str) return ""; - if (str.length <= maxLength) return str; - return str.substring(0, maxLength) + "..."; - } if (typeof module !== "undefined" && module.exports) { module.exports = { parseCopilotLog, diff --git a/.github/workflows/technical-doc-writer.lock.yml b/.github/workflows/technical-doc-writer.lock.yml index 9d3f68a6d2..fe506c7aa8 100644 --- a/.github/workflows/technical-doc-writer.lock.yml +++ b/.github/workflows/technical-doc-writer.lock.yml @@ -3395,6 +3395,43 @@ jobs: runLogParser, }; } + function formatDuration(ms) { + if (!ms || ms <= 0) return ""; + const seconds = Math.round(ms / 1000); + if (seconds < 60) { + return `${seconds}s`; + } + const minutes = Math.floor(seconds / 60); + const remainingSeconds = seconds % 60; + if (remainingSeconds === 0) { + return `${minutes}m`; + } + return `${minutes}m ${remainingSeconds}s`; + } + function formatBashCommand(command) { + if (!command) return ""; + let formatted = command + .replace(/\n/g, " ") + .replace(/\r/g, " ") + .replace(/\t/g, " ") + .replace(/\s+/g, " ") + .trim(); + formatted = formatted.replace(/`/g, "\\`"); + const maxLength = 300; + if (formatted.length > maxLength) { + formatted = formatted.substring(0, maxLength) + "..."; + } + return formatted; + } + function truncateString(str, maxLength) { + if (!str) return ""; + if (str.length <= maxLength) return str; + return str.substring(0, maxLength) + "..."; + } + function estimateTokens(text) { + if (!text) return 0; + return Math.ceil(text.length / 4); + } function main() { runLogParser({ parseLog: parseCopilotLog, @@ -4053,23 +4090,6 @@ jobs: } return markdown; } - function estimateTokens(text) { - if (!text) return 0; - return Math.ceil(text.length / 4); - } - function formatDuration(ms) { - if (!ms || ms <= 0) return ""; - const seconds = Math.round(ms / 1000); - if (seconds < 60) { - return `${seconds}s`; - } - const minutes = Math.floor(seconds / 60); - const remainingSeconds = seconds % 60; - if (remainingSeconds === 0) { - return `${minutes}m`; - } - return `${minutes}m ${remainingSeconds}s`; - } function formatToolUseWithDetails(toolUse, toolResult) { const toolName = toolUse.name; const input = toolUse.input || {}; @@ -4197,21 +4217,6 @@ jobs: } return paramStrs.join(", "); } - function formatBashCommand(command) { - if (!command) return ""; - let formatted = command.replace(/\n/g, " ").replace(/\r/g, " ").replace(/\t/g, " ").replace(/\s+/g, " ").trim(); - formatted = formatted.replace(/`/g, "\\`"); - const maxLength = 300; - if (formatted.length > maxLength) { - formatted = formatted.substring(0, maxLength) + "..."; - } - return formatted; - } - function truncateString(str, maxLength) { - if (!str) return ""; - if (str.length <= maxLength) return str; - return str.substring(0, maxLength) + "..."; - } if (typeof module !== "undefined" && module.exports) { module.exports = { parseCopilotLog, diff --git a/.github/workflows/test-claude-oauth-workflow.lock.yml b/.github/workflows/test-claude-oauth-workflow.lock.yml index b0586fb49a..d756d34bdb 100644 --- a/.github/workflows/test-claude-oauth-workflow.lock.yml +++ b/.github/workflows/test-claude-oauth-workflow.lock.yml @@ -868,6 +868,43 @@ jobs: runLogParser, }; } + function formatDuration(ms) { + if (!ms || ms <= 0) return ""; + const seconds = Math.round(ms / 1000); + if (seconds < 60) { + return `${seconds}s`; + } + const minutes = Math.floor(seconds / 60); + const remainingSeconds = seconds % 60; + if (remainingSeconds === 0) { + return `${minutes}m`; + } + return `${minutes}m ${remainingSeconds}s`; + } + function formatBashCommand(command) { + if (!command) return ""; + let formatted = command + .replace(/\n/g, " ") + .replace(/\r/g, " ") + .replace(/\t/g, " ") + .replace(/\s+/g, " ") + .trim(); + formatted = formatted.replace(/`/g, "\\`"); + const maxLength = 300; + if (formatted.length > maxLength) { + formatted = formatted.substring(0, maxLength) + "..."; + } + return formatted; + } + function truncateString(str, maxLength) { + if (!str) return ""; + if (str.length <= maxLength) return str; + return str.substring(0, maxLength) + "..."; + } + function estimateTokens(text) { + if (!text) return 0; + return Math.ceil(text.length / 4); + } function main() { runLogParser({ parseLog: parseClaudeLog, @@ -1113,23 +1150,6 @@ jobs: } return { markdown, mcpFailures }; } - function estimateTokens(text) { - if (!text) return 0; - return Math.ceil(text.length / 4); - } - function formatDuration(ms) { - if (!ms || ms <= 0) return ""; - const seconds = Math.round(ms / 1000); - if (seconds < 60) { - return `${seconds}s`; - } - const minutes = Math.floor(seconds / 60); - const remainingSeconds = seconds % 60; - if (remainingSeconds === 0) { - return `${minutes}m`; - } - return `${minutes}m ${remainingSeconds}s`; - } function formatToolUse(toolUse, toolResult) { const toolName = toolUse.name; const input = toolUse.input || {}; @@ -1247,26 +1267,6 @@ jobs: } return paramStrs.join(", "); } - function formatBashCommand(command) { - if (!command) return ""; - let formatted = command - .replace(/\n/g, " ") - .replace(/\r/g, " ") - .replace(/\t/g, " ") - .replace(/\s+/g, " ") - .trim(); - formatted = formatted.replace(/`/g, "\\`"); - const maxLength = 300; - if (formatted.length > maxLength) { - formatted = formatted.substring(0, maxLength) + "..."; - } - return formatted; - } - function truncateString(str, maxLength) { - if (!str) return ""; - if (str.length <= maxLength) return str; - return str.substring(0, maxLength) + "..."; - } if (typeof module !== "undefined" && module.exports) { module.exports = { parseClaudeLog, diff --git a/.github/workflows/test-jqschema.lock.yml b/.github/workflows/test-jqschema.lock.yml index 841812c15f..39a50e8131 100644 --- a/.github/workflows/test-jqschema.lock.yml +++ b/.github/workflows/test-jqschema.lock.yml @@ -818,6 +818,43 @@ jobs: runLogParser, }; } + function formatDuration(ms) { + if (!ms || ms <= 0) return ""; + const seconds = Math.round(ms / 1000); + if (seconds < 60) { + return `${seconds}s`; + } + const minutes = Math.floor(seconds / 60); + const remainingSeconds = seconds % 60; + if (remainingSeconds === 0) { + return `${minutes}m`; + } + return `${minutes}m ${remainingSeconds}s`; + } + function formatBashCommand(command) { + if (!command) return ""; + let formatted = command + .replace(/\n/g, " ") + .replace(/\r/g, " ") + .replace(/\t/g, " ") + .replace(/\s+/g, " ") + .trim(); + formatted = formatted.replace(/`/g, "\\`"); + const maxLength = 300; + if (formatted.length > maxLength) { + formatted = formatted.substring(0, maxLength) + "..."; + } + return formatted; + } + function truncateString(str, maxLength) { + if (!str) return ""; + if (str.length <= maxLength) return str; + return str.substring(0, maxLength) + "..."; + } + function estimateTokens(text) { + if (!text) return 0; + return Math.ceil(text.length / 4); + } function main() { runLogParser({ parseLog: parseCopilotLog, @@ -1476,23 +1513,6 @@ jobs: } return markdown; } - function estimateTokens(text) { - if (!text) return 0; - return Math.ceil(text.length / 4); - } - function formatDuration(ms) { - if (!ms || ms <= 0) return ""; - const seconds = Math.round(ms / 1000); - if (seconds < 60) { - return `${seconds}s`; - } - const minutes = Math.floor(seconds / 60); - const remainingSeconds = seconds % 60; - if (remainingSeconds === 0) { - return `${minutes}m`; - } - return `${minutes}m ${remainingSeconds}s`; - } function formatToolUseWithDetails(toolUse, toolResult) { const toolName = toolUse.name; const input = toolUse.input || {}; @@ -1620,21 +1640,6 @@ jobs: } return paramStrs.join(", "); } - function formatBashCommand(command) { - if (!command) return ""; - let formatted = command.replace(/\n/g, " ").replace(/\r/g, " ").replace(/\t/g, " ").replace(/\s+/g, " ").trim(); - formatted = formatted.replace(/`/g, "\\`"); - const maxLength = 300; - if (formatted.length > maxLength) { - formatted = formatted.substring(0, maxLength) + "..."; - } - return formatted; - } - function truncateString(str, maxLength) { - if (!str) return ""; - if (str.length <= maxLength) return str; - return str.substring(0, maxLength) + "..."; - } if (typeof module !== "undefined" && module.exports) { module.exports = { parseCopilotLog, diff --git a/.github/workflows/test-manual-approval.lock.yml b/.github/workflows/test-manual-approval.lock.yml index 22d8950dce..c5a3401b40 100644 --- a/.github/workflows/test-manual-approval.lock.yml +++ b/.github/workflows/test-manual-approval.lock.yml @@ -718,6 +718,43 @@ jobs: runLogParser, }; } + function formatDuration(ms) { + if (!ms || ms <= 0) return ""; + const seconds = Math.round(ms / 1000); + if (seconds < 60) { + return `${seconds}s`; + } + const minutes = Math.floor(seconds / 60); + const remainingSeconds = seconds % 60; + if (remainingSeconds === 0) { + return `${minutes}m`; + } + return `${minutes}m ${remainingSeconds}s`; + } + function formatBashCommand(command) { + if (!command) return ""; + let formatted = command + .replace(/\n/g, " ") + .replace(/\r/g, " ") + .replace(/\t/g, " ") + .replace(/\s+/g, " ") + .trim(); + formatted = formatted.replace(/`/g, "\\`"); + const maxLength = 300; + if (formatted.length > maxLength) { + formatted = formatted.substring(0, maxLength) + "..."; + } + return formatted; + } + function truncateString(str, maxLength) { + if (!str) return ""; + if (str.length <= maxLength) return str; + return str.substring(0, maxLength) + "..."; + } + function estimateTokens(text) { + if (!text) return 0; + return Math.ceil(text.length / 4); + } function main() { runLogParser({ parseLog: parseCopilotLog, @@ -1376,23 +1413,6 @@ jobs: } return markdown; } - function estimateTokens(text) { - if (!text) return 0; - return Math.ceil(text.length / 4); - } - function formatDuration(ms) { - if (!ms || ms <= 0) return ""; - const seconds = Math.round(ms / 1000); - if (seconds < 60) { - return `${seconds}s`; - } - const minutes = Math.floor(seconds / 60); - const remainingSeconds = seconds % 60; - if (remainingSeconds === 0) { - return `${minutes}m`; - } - return `${minutes}m ${remainingSeconds}s`; - } function formatToolUseWithDetails(toolUse, toolResult) { const toolName = toolUse.name; const input = toolUse.input || {}; @@ -1520,21 +1540,6 @@ jobs: } return paramStrs.join(", "); } - function formatBashCommand(command) { - if (!command) return ""; - let formatted = command.replace(/\n/g, " ").replace(/\r/g, " ").replace(/\t/g, " ").replace(/\s+/g, " ").trim(); - formatted = formatted.replace(/`/g, "\\`"); - const maxLength = 300; - if (formatted.length > maxLength) { - formatted = formatted.substring(0, maxLength) + "..."; - } - return formatted; - } - function truncateString(str, maxLength) { - if (!str) return ""; - if (str.length <= maxLength) return str; - return str.substring(0, maxLength) + "..."; - } if (typeof module !== "undefined" && module.exports) { module.exports = { parseCopilotLog, diff --git a/.github/workflows/test-ollama-threat-detection.lock.yml b/.github/workflows/test-ollama-threat-detection.lock.yml index ef03f14ba8..4c9ff0cc46 100644 --- a/.github/workflows/test-ollama-threat-detection.lock.yml +++ b/.github/workflows/test-ollama-threat-detection.lock.yml @@ -2447,6 +2447,43 @@ jobs: runLogParser, }; } + function formatDuration(ms) { + if (!ms || ms <= 0) return ""; + const seconds = Math.round(ms / 1000); + if (seconds < 60) { + return `${seconds}s`; + } + const minutes = Math.floor(seconds / 60); + const remainingSeconds = seconds % 60; + if (remainingSeconds === 0) { + return `${minutes}m`; + } + return `${minutes}m ${remainingSeconds}s`; + } + function formatBashCommand(command) { + if (!command) return ""; + let formatted = command + .replace(/\n/g, " ") + .replace(/\r/g, " ") + .replace(/\t/g, " ") + .replace(/\s+/g, " ") + .trim(); + formatted = formatted.replace(/`/g, "\\`"); + const maxLength = 300; + if (formatted.length > maxLength) { + formatted = formatted.substring(0, maxLength) + "..."; + } + return formatted; + } + function truncateString(str, maxLength) { + if (!str) return ""; + if (str.length <= maxLength) return str; + return str.substring(0, maxLength) + "..."; + } + function estimateTokens(text) { + if (!text) return 0; + return Math.ceil(text.length / 4); + } function main() { runLogParser({ parseLog: parseCopilotLog, @@ -3105,23 +3142,6 @@ jobs: } return markdown; } - function estimateTokens(text) { - if (!text) return 0; - return Math.ceil(text.length / 4); - } - function formatDuration(ms) { - if (!ms || ms <= 0) return ""; - const seconds = Math.round(ms / 1000); - if (seconds < 60) { - return `${seconds}s`; - } - const minutes = Math.floor(seconds / 60); - const remainingSeconds = seconds % 60; - if (remainingSeconds === 0) { - return `${minutes}m`; - } - return `${minutes}m ${remainingSeconds}s`; - } function formatToolUseWithDetails(toolUse, toolResult) { const toolName = toolUse.name; const input = toolUse.input || {}; @@ -3249,21 +3269,6 @@ jobs: } return paramStrs.join(", "); } - function formatBashCommand(command) { - if (!command) return ""; - let formatted = command.replace(/\n/g, " ").replace(/\r/g, " ").replace(/\t/g, " ").replace(/\s+/g, " ").trim(); - formatted = formatted.replace(/`/g, "\\`"); - const maxLength = 300; - if (formatted.length > maxLength) { - formatted = formatted.substring(0, maxLength) + "..."; - } - return formatted; - } - function truncateString(str, maxLength) { - if (!str) return ""; - if (str.length <= maxLength) return str; - return str.substring(0, maxLength) + "..."; - } if (typeof module !== "undefined" && module.exports) { module.exports = { parseCopilotLog, diff --git a/.github/workflows/test-post-steps.lock.yml b/.github/workflows/test-post-steps.lock.yml index 013d9daaae..db1fa86427 100644 --- a/.github/workflows/test-post-steps.lock.yml +++ b/.github/workflows/test-post-steps.lock.yml @@ -715,6 +715,43 @@ jobs: runLogParser, }; } + function formatDuration(ms) { + if (!ms || ms <= 0) return ""; + const seconds = Math.round(ms / 1000); + if (seconds < 60) { + return `${seconds}s`; + } + const minutes = Math.floor(seconds / 60); + const remainingSeconds = seconds % 60; + if (remainingSeconds === 0) { + return `${minutes}m`; + } + return `${minutes}m ${remainingSeconds}s`; + } + function formatBashCommand(command) { + if (!command) return ""; + let formatted = command + .replace(/\n/g, " ") + .replace(/\r/g, " ") + .replace(/\t/g, " ") + .replace(/\s+/g, " ") + .trim(); + formatted = formatted.replace(/`/g, "\\`"); + const maxLength = 300; + if (formatted.length > maxLength) { + formatted = formatted.substring(0, maxLength) + "..."; + } + return formatted; + } + function truncateString(str, maxLength) { + if (!str) return ""; + if (str.length <= maxLength) return str; + return str.substring(0, maxLength) + "..."; + } + function estimateTokens(text) { + if (!text) return 0; + return Math.ceil(text.length / 4); + } function main() { runLogParser({ parseLog: parseCopilotLog, @@ -1373,23 +1410,6 @@ jobs: } return markdown; } - function estimateTokens(text) { - if (!text) return 0; - return Math.ceil(text.length / 4); - } - function formatDuration(ms) { - if (!ms || ms <= 0) return ""; - const seconds = Math.round(ms / 1000); - if (seconds < 60) { - return `${seconds}s`; - } - const minutes = Math.floor(seconds / 60); - const remainingSeconds = seconds % 60; - if (remainingSeconds === 0) { - return `${minutes}m`; - } - return `${minutes}m ${remainingSeconds}s`; - } function formatToolUseWithDetails(toolUse, toolResult) { const toolName = toolUse.name; const input = toolUse.input || {}; @@ -1517,21 +1537,6 @@ jobs: } return paramStrs.join(", "); } - function formatBashCommand(command) { - if (!command) return ""; - let formatted = command.replace(/\n/g, " ").replace(/\r/g, " ").replace(/\t/g, " ").replace(/\s+/g, " ").trim(); - formatted = formatted.replace(/`/g, "\\`"); - const maxLength = 300; - if (formatted.length > maxLength) { - formatted = formatted.substring(0, maxLength) + "..."; - } - return formatted; - } - function truncateString(str, maxLength) { - if (!str) return ""; - if (str.length <= maxLength) return str; - return str.substring(0, maxLength) + "..."; - } if (typeof module !== "undefined" && module.exports) { module.exports = { parseCopilotLog, diff --git a/.github/workflows/test-secret-masking.lock.yml b/.github/workflows/test-secret-masking.lock.yml index ce1ba4efe4..b133bcb3e6 100644 --- a/.github/workflows/test-secret-masking.lock.yml +++ b/.github/workflows/test-secret-masking.lock.yml @@ -727,6 +727,43 @@ jobs: runLogParser, }; } + function formatDuration(ms) { + if (!ms || ms <= 0) return ""; + const seconds = Math.round(ms / 1000); + if (seconds < 60) { + return `${seconds}s`; + } + const minutes = Math.floor(seconds / 60); + const remainingSeconds = seconds % 60; + if (remainingSeconds === 0) { + return `${minutes}m`; + } + return `${minutes}m ${remainingSeconds}s`; + } + function formatBashCommand(command) { + if (!command) return ""; + let formatted = command + .replace(/\n/g, " ") + .replace(/\r/g, " ") + .replace(/\t/g, " ") + .replace(/\s+/g, " ") + .trim(); + formatted = formatted.replace(/`/g, "\\`"); + const maxLength = 300; + if (formatted.length > maxLength) { + formatted = formatted.substring(0, maxLength) + "..."; + } + return formatted; + } + function truncateString(str, maxLength) { + if (!str) return ""; + if (str.length <= maxLength) return str; + return str.substring(0, maxLength) + "..."; + } + function estimateTokens(text) { + if (!text) return 0; + return Math.ceil(text.length / 4); + } function main() { runLogParser({ parseLog: parseCopilotLog, @@ -1385,23 +1422,6 @@ jobs: } return markdown; } - function estimateTokens(text) { - if (!text) return 0; - return Math.ceil(text.length / 4); - } - function formatDuration(ms) { - if (!ms || ms <= 0) return ""; - const seconds = Math.round(ms / 1000); - if (seconds < 60) { - return `${seconds}s`; - } - const minutes = Math.floor(seconds / 60); - const remainingSeconds = seconds % 60; - if (remainingSeconds === 0) { - return `${minutes}m`; - } - return `${minutes}m ${remainingSeconds}s`; - } function formatToolUseWithDetails(toolUse, toolResult) { const toolName = toolUse.name; const input = toolUse.input || {}; @@ -1529,21 +1549,6 @@ jobs: } return paramStrs.join(", "); } - function formatBashCommand(command) { - if (!command) return ""; - let formatted = command.replace(/\n/g, " ").replace(/\r/g, " ").replace(/\t/g, " ").replace(/\s+/g, " ").trim(); - formatted = formatted.replace(/`/g, "\\`"); - const maxLength = 300; - if (formatted.length > maxLength) { - formatted = formatted.substring(0, maxLength) + "..."; - } - return formatted; - } - function truncateString(str, maxLength) { - if (!str) return ""; - if (str.length <= maxLength) return str; - return str.substring(0, maxLength) + "..."; - } if (typeof module !== "undefined" && module.exports) { module.exports = { parseCopilotLog, diff --git a/.github/workflows/test-svelte.lock.yml b/.github/workflows/test-svelte.lock.yml index 737977b590..f9f15d30bb 100644 --- a/.github/workflows/test-svelte.lock.yml +++ b/.github/workflows/test-svelte.lock.yml @@ -757,6 +757,43 @@ jobs: runLogParser, }; } + function formatDuration(ms) { + if (!ms || ms <= 0) return ""; + const seconds = Math.round(ms / 1000); + if (seconds < 60) { + return `${seconds}s`; + } + const minutes = Math.floor(seconds / 60); + const remainingSeconds = seconds % 60; + if (remainingSeconds === 0) { + return `${minutes}m`; + } + return `${minutes}m ${remainingSeconds}s`; + } + function formatBashCommand(command) { + if (!command) return ""; + let formatted = command + .replace(/\n/g, " ") + .replace(/\r/g, " ") + .replace(/\t/g, " ") + .replace(/\s+/g, " ") + .trim(); + formatted = formatted.replace(/`/g, "\\`"); + const maxLength = 300; + if (formatted.length > maxLength) { + formatted = formatted.substring(0, maxLength) + "..."; + } + return formatted; + } + function truncateString(str, maxLength) { + if (!str) return ""; + if (str.length <= maxLength) return str; + return str.substring(0, maxLength) + "..."; + } + function estimateTokens(text) { + if (!text) return 0; + return Math.ceil(text.length / 4); + } function main() { runLogParser({ parseLog: parseCopilotLog, @@ -1415,23 +1452,6 @@ jobs: } return markdown; } - function estimateTokens(text) { - if (!text) return 0; - return Math.ceil(text.length / 4); - } - function formatDuration(ms) { - if (!ms || ms <= 0) return ""; - const seconds = Math.round(ms / 1000); - if (seconds < 60) { - return `${seconds}s`; - } - const minutes = Math.floor(seconds / 60); - const remainingSeconds = seconds % 60; - if (remainingSeconds === 0) { - return `${minutes}m`; - } - return `${minutes}m ${remainingSeconds}s`; - } function formatToolUseWithDetails(toolUse, toolResult) { const toolName = toolUse.name; const input = toolUse.input || {}; @@ -1559,21 +1579,6 @@ jobs: } return paramStrs.join(", "); } - function formatBashCommand(command) { - if (!command) return ""; - let formatted = command.replace(/\n/g, " ").replace(/\r/g, " ").replace(/\t/g, " ").replace(/\s+/g, " ").trim(); - formatted = formatted.replace(/`/g, "\\`"); - const maxLength = 300; - if (formatted.length > maxLength) { - formatted = formatted.substring(0, maxLength) + "..."; - } - return formatted; - } - function truncateString(str, maxLength) { - if (!str) return ""; - if (str.length <= maxLength) return str; - return str.substring(0, maxLength) + "..."; - } if (typeof module !== "undefined" && module.exports) { module.exports = { parseCopilotLog, diff --git a/.github/workflows/tidy.lock.yml b/.github/workflows/tidy.lock.yml index d09ca33f1a..c192061fe0 100644 --- a/.github/workflows/tidy.lock.yml +++ b/.github/workflows/tidy.lock.yml @@ -2978,6 +2978,43 @@ jobs: runLogParser, }; } + function formatDuration(ms) { + if (!ms || ms <= 0) return ""; + const seconds = Math.round(ms / 1000); + if (seconds < 60) { + return `${seconds}s`; + } + const minutes = Math.floor(seconds / 60); + const remainingSeconds = seconds % 60; + if (remainingSeconds === 0) { + return `${minutes}m`; + } + return `${minutes}m ${remainingSeconds}s`; + } + function formatBashCommand(command) { + if (!command) return ""; + let formatted = command + .replace(/\n/g, " ") + .replace(/\r/g, " ") + .replace(/\t/g, " ") + .replace(/\s+/g, " ") + .trim(); + formatted = formatted.replace(/`/g, "\\`"); + const maxLength = 300; + if (formatted.length > maxLength) { + formatted = formatted.substring(0, maxLength) + "..."; + } + return formatted; + } + function truncateString(str, maxLength) { + if (!str) return ""; + if (str.length <= maxLength) return str; + return str.substring(0, maxLength) + "..."; + } + function estimateTokens(text) { + if (!text) return 0; + return Math.ceil(text.length / 4); + } function main() { runLogParser({ parseLog: parseCopilotLog, @@ -3636,23 +3673,6 @@ jobs: } return markdown; } - function estimateTokens(text) { - if (!text) return 0; - return Math.ceil(text.length / 4); - } - function formatDuration(ms) { - if (!ms || ms <= 0) return ""; - const seconds = Math.round(ms / 1000); - if (seconds < 60) { - return `${seconds}s`; - } - const minutes = Math.floor(seconds / 60); - const remainingSeconds = seconds % 60; - if (remainingSeconds === 0) { - return `${minutes}m`; - } - return `${minutes}m ${remainingSeconds}s`; - } function formatToolUseWithDetails(toolUse, toolResult) { const toolName = toolUse.name; const input = toolUse.input || {}; @@ -3780,21 +3800,6 @@ jobs: } return paramStrs.join(", "); } - function formatBashCommand(command) { - if (!command) return ""; - let formatted = command.replace(/\n/g, " ").replace(/\r/g, " ").replace(/\t/g, " ").replace(/\s+/g, " ").trim(); - formatted = formatted.replace(/`/g, "\\`"); - const maxLength = 300; - if (formatted.length > maxLength) { - formatted = formatted.substring(0, maxLength) + "..."; - } - return formatted; - } - function truncateString(str, maxLength) { - if (!str) return ""; - if (str.length <= maxLength) return str; - return str.substring(0, maxLength) + "..."; - } if (typeof module !== "undefined" && module.exports) { module.exports = { parseCopilotLog, diff --git a/.github/workflows/typist.lock.yml b/.github/workflows/typist.lock.yml index 9faddcc4ba..b4b792a9cf 100644 --- a/.github/workflows/typist.lock.yml +++ b/.github/workflows/typist.lock.yml @@ -3234,6 +3234,43 @@ jobs: runLogParser, }; } + function formatDuration(ms) { + if (!ms || ms <= 0) return ""; + const seconds = Math.round(ms / 1000); + if (seconds < 60) { + return `${seconds}s`; + } + const minutes = Math.floor(seconds / 60); + const remainingSeconds = seconds % 60; + if (remainingSeconds === 0) { + return `${minutes}m`; + } + return `${minutes}m ${remainingSeconds}s`; + } + function formatBashCommand(command) { + if (!command) return ""; + let formatted = command + .replace(/\n/g, " ") + .replace(/\r/g, " ") + .replace(/\t/g, " ") + .replace(/\s+/g, " ") + .trim(); + formatted = formatted.replace(/`/g, "\\`"); + const maxLength = 300; + if (formatted.length > maxLength) { + formatted = formatted.substring(0, maxLength) + "..."; + } + return formatted; + } + function truncateString(str, maxLength) { + if (!str) return ""; + if (str.length <= maxLength) return str; + return str.substring(0, maxLength) + "..."; + } + function estimateTokens(text) { + if (!text) return 0; + return Math.ceil(text.length / 4); + } function main() { runLogParser({ parseLog: parseClaudeLog, @@ -3479,23 +3516,6 @@ jobs: } return { markdown, mcpFailures }; } - function estimateTokens(text) { - if (!text) return 0; - return Math.ceil(text.length / 4); - } - function formatDuration(ms) { - if (!ms || ms <= 0) return ""; - const seconds = Math.round(ms / 1000); - if (seconds < 60) { - return `${seconds}s`; - } - const minutes = Math.floor(seconds / 60); - const remainingSeconds = seconds % 60; - if (remainingSeconds === 0) { - return `${minutes}m`; - } - return `${minutes}m ${remainingSeconds}s`; - } function formatToolUse(toolUse, toolResult) { const toolName = toolUse.name; const input = toolUse.input || {}; @@ -3613,26 +3633,6 @@ jobs: } return paramStrs.join(", "); } - function formatBashCommand(command) { - if (!command) return ""; - let formatted = command - .replace(/\n/g, " ") - .replace(/\r/g, " ") - .replace(/\t/g, " ") - .replace(/\s+/g, " ") - .trim(); - formatted = formatted.replace(/`/g, "\\`"); - const maxLength = 300; - if (formatted.length > maxLength) { - formatted = formatted.substring(0, maxLength) + "..."; - } - return formatted; - } - function truncateString(str, maxLength) { - if (!str) return ""; - if (str.length <= maxLength) return str; - return str.substring(0, maxLength) + "..."; - } if (typeof module !== "undefined" && module.exports) { module.exports = { parseClaudeLog, diff --git a/.github/workflows/unbloat-docs.lock.yml b/.github/workflows/unbloat-docs.lock.yml index 2d89662c7f..2c84573f6b 100644 --- a/.github/workflows/unbloat-docs.lock.yml +++ b/.github/workflows/unbloat-docs.lock.yml @@ -3890,6 +3890,43 @@ jobs: runLogParser, }; } + function formatDuration(ms) { + if (!ms || ms <= 0) return ""; + const seconds = Math.round(ms / 1000); + if (seconds < 60) { + return `${seconds}s`; + } + const minutes = Math.floor(seconds / 60); + const remainingSeconds = seconds % 60; + if (remainingSeconds === 0) { + return `${minutes}m`; + } + return `${minutes}m ${remainingSeconds}s`; + } + function formatBashCommand(command) { + if (!command) return ""; + let formatted = command + .replace(/\n/g, " ") + .replace(/\r/g, " ") + .replace(/\t/g, " ") + .replace(/\s+/g, " ") + .trim(); + formatted = formatted.replace(/`/g, "\\`"); + const maxLength = 300; + if (formatted.length > maxLength) { + formatted = formatted.substring(0, maxLength) + "..."; + } + return formatted; + } + function truncateString(str, maxLength) { + if (!str) return ""; + if (str.length <= maxLength) return str; + return str.substring(0, maxLength) + "..."; + } + function estimateTokens(text) { + if (!text) return 0; + return Math.ceil(text.length / 4); + } function main() { runLogParser({ parseLog: parseClaudeLog, @@ -4135,23 +4172,6 @@ jobs: } return { markdown, mcpFailures }; } - function estimateTokens(text) { - if (!text) return 0; - return Math.ceil(text.length / 4); - } - function formatDuration(ms) { - if (!ms || ms <= 0) return ""; - const seconds = Math.round(ms / 1000); - if (seconds < 60) { - return `${seconds}s`; - } - const minutes = Math.floor(seconds / 60); - const remainingSeconds = seconds % 60; - if (remainingSeconds === 0) { - return `${minutes}m`; - } - return `${minutes}m ${remainingSeconds}s`; - } function formatToolUse(toolUse, toolResult) { const toolName = toolUse.name; const input = toolUse.input || {}; @@ -4269,26 +4289,6 @@ jobs: } return paramStrs.join(", "); } - function formatBashCommand(command) { - if (!command) return ""; - let formatted = command - .replace(/\n/g, " ") - .replace(/\r/g, " ") - .replace(/\t/g, " ") - .replace(/\s+/g, " ") - .trim(); - formatted = formatted.replace(/`/g, "\\`"); - const maxLength = 300; - if (formatted.length > maxLength) { - formatted = formatted.substring(0, maxLength) + "..."; - } - return formatted; - } - function truncateString(str, maxLength) { - if (!str) return ""; - if (str.length <= maxLength) return str; - return str.substring(0, maxLength) + "..."; - } if (typeof module !== "undefined" && module.exports) { module.exports = { parseClaudeLog, diff --git a/.github/workflows/video-analyzer.lock.yml b/.github/workflows/video-analyzer.lock.yml index a0fa58c899..1165d5b7c6 100644 --- a/.github/workflows/video-analyzer.lock.yml +++ b/.github/workflows/video-analyzer.lock.yml @@ -2738,6 +2738,43 @@ jobs: runLogParser, }; } + function formatDuration(ms) { + if (!ms || ms <= 0) return ""; + const seconds = Math.round(ms / 1000); + if (seconds < 60) { + return `${seconds}s`; + } + const minutes = Math.floor(seconds / 60); + const remainingSeconds = seconds % 60; + if (remainingSeconds === 0) { + return `${minutes}m`; + } + return `${minutes}m ${remainingSeconds}s`; + } + function formatBashCommand(command) { + if (!command) return ""; + let formatted = command + .replace(/\n/g, " ") + .replace(/\r/g, " ") + .replace(/\t/g, " ") + .replace(/\s+/g, " ") + .trim(); + formatted = formatted.replace(/`/g, "\\`"); + const maxLength = 300; + if (formatted.length > maxLength) { + formatted = formatted.substring(0, maxLength) + "..."; + } + return formatted; + } + function truncateString(str, maxLength) { + if (!str) return ""; + if (str.length <= maxLength) return str; + return str.substring(0, maxLength) + "..."; + } + function estimateTokens(text) { + if (!text) return 0; + return Math.ceil(text.length / 4); + } function main() { runLogParser({ parseLog: parseCopilotLog, @@ -3396,23 +3433,6 @@ jobs: } return markdown; } - function estimateTokens(text) { - if (!text) return 0; - return Math.ceil(text.length / 4); - } - function formatDuration(ms) { - if (!ms || ms <= 0) return ""; - const seconds = Math.round(ms / 1000); - if (seconds < 60) { - return `${seconds}s`; - } - const minutes = Math.floor(seconds / 60); - const remainingSeconds = seconds % 60; - if (remainingSeconds === 0) { - return `${minutes}m`; - } - return `${minutes}m ${remainingSeconds}s`; - } function formatToolUseWithDetails(toolUse, toolResult) { const toolName = toolUse.name; const input = toolUse.input || {}; @@ -3540,21 +3560,6 @@ jobs: } return paramStrs.join(", "); } - function formatBashCommand(command) { - if (!command) return ""; - let formatted = command.replace(/\n/g, " ").replace(/\r/g, " ").replace(/\t/g, " ").replace(/\s+/g, " ").trim(); - formatted = formatted.replace(/`/g, "\\`"); - const maxLength = 300; - if (formatted.length > maxLength) { - formatted = formatted.substring(0, maxLength) + "..."; - } - return formatted; - } - function truncateString(str, maxLength) { - if (!str) return ""; - if (str.length <= maxLength) return str; - return str.substring(0, maxLength) + "..."; - } if (typeof module !== "undefined" && module.exports) { module.exports = { parseCopilotLog, diff --git a/.github/workflows/weekly-issue-summary.lock.yml b/.github/workflows/weekly-issue-summary.lock.yml index 580b7a0406..4dcc7d445c 100644 --- a/.github/workflows/weekly-issue-summary.lock.yml +++ b/.github/workflows/weekly-issue-summary.lock.yml @@ -3140,6 +3140,43 @@ jobs: runLogParser, }; } + function formatDuration(ms) { + if (!ms || ms <= 0) return ""; + const seconds = Math.round(ms / 1000); + if (seconds < 60) { + return `${seconds}s`; + } + const minutes = Math.floor(seconds / 60); + const remainingSeconds = seconds % 60; + if (remainingSeconds === 0) { + return `${minutes}m`; + } + return `${minutes}m ${remainingSeconds}s`; + } + function formatBashCommand(command) { + if (!command) return ""; + let formatted = command + .replace(/\n/g, " ") + .replace(/\r/g, " ") + .replace(/\t/g, " ") + .replace(/\s+/g, " ") + .trim(); + formatted = formatted.replace(/`/g, "\\`"); + const maxLength = 300; + if (formatted.length > maxLength) { + formatted = formatted.substring(0, maxLength) + "..."; + } + return formatted; + } + function truncateString(str, maxLength) { + if (!str) return ""; + if (str.length <= maxLength) return str; + return str.substring(0, maxLength) + "..."; + } + function estimateTokens(text) { + if (!text) return 0; + return Math.ceil(text.length / 4); + } function main() { runLogParser({ parseLog: parseCopilotLog, @@ -3798,23 +3835,6 @@ jobs: } return markdown; } - function estimateTokens(text) { - if (!text) return 0; - return Math.ceil(text.length / 4); - } - function formatDuration(ms) { - if (!ms || ms <= 0) return ""; - const seconds = Math.round(ms / 1000); - if (seconds < 60) { - return `${seconds}s`; - } - const minutes = Math.floor(seconds / 60); - const remainingSeconds = seconds % 60; - if (remainingSeconds === 0) { - return `${minutes}m`; - } - return `${minutes}m ${remainingSeconds}s`; - } function formatToolUseWithDetails(toolUse, toolResult) { const toolName = toolUse.name; const input = toolUse.input || {}; @@ -3942,21 +3962,6 @@ jobs: } return paramStrs.join(", "); } - function formatBashCommand(command) { - if (!command) return ""; - let formatted = command.replace(/\n/g, " ").replace(/\r/g, " ").replace(/\t/g, " ").replace(/\s+/g, " ").trim(); - formatted = formatted.replace(/`/g, "\\`"); - const maxLength = 300; - if (formatted.length > maxLength) { - formatted = formatted.substring(0, maxLength) + "..."; - } - return formatted; - } - function truncateString(str, maxLength) { - if (!str) return ""; - if (str.length <= maxLength) return str; - return str.substring(0, maxLength) + "..."; - } if (typeof module !== "undefined" && module.exports) { module.exports = { parseCopilotLog, diff --git a/pkg/workflow/js.go b/pkg/workflow/js.go index cd136e98d8..35f99bd484 100644 --- a/pkg/workflow/js.go +++ b/pkg/workflow/js.go @@ -69,6 +69,9 @@ var stagedPreviewScript string //go:embed js/is_truthy.cjs var isTruthyScript string +//go:embed js/log_parser_shared.cjs +var logParserSharedScript string + //go:embed js/update_activation_comment.cjs var updateActivationCommentScript string @@ -92,6 +95,7 @@ func GetJavaScriptSources() map[string]string { "staged_preview.cjs": stagedPreviewScript, "is_truthy.cjs": isTruthyScript, "log_parser_bootstrap.cjs": logParserBootstrapScript, + "log_parser_shared.cjs": logParserSharedScript, "update_activation_comment.cjs": updateActivationCommentScript, "generate_footer.cjs": generateFooterScript, "get_campaign.cjs": getCampaignScript, diff --git a/pkg/workflow/js/log_parser_shared.cjs b/pkg/workflow/js/log_parser_shared.cjs new file mode 100644 index 0000000000..ddee3fe747 --- /dev/null +++ b/pkg/workflow/js/log_parser_shared.cjs @@ -0,0 +1,87 @@ +// @ts-check +/// + +/** + * Shared utility functions for log parsers + * Used by parse_claude_log.cjs and parse_copilot_log.cjs + */ + +/** + * Formats duration in milliseconds to human-readable string + * @param {number} ms - Duration in milliseconds + * @returns {string} Formatted duration string (e.g., "1s", "1m 30s") + */ +function formatDuration(ms) { + if (!ms || ms <= 0) return ""; + + const seconds = Math.round(ms / 1000); + if (seconds < 60) { + return `${seconds}s`; + } + + const minutes = Math.floor(seconds / 60); + const remainingSeconds = seconds % 60; + if (remainingSeconds === 0) { + return `${minutes}m`; + } + return `${minutes}m ${remainingSeconds}s`; +} + +/** + * Formats a bash command by normalizing whitespace and escaping + * @param {string} command - The raw bash command string + * @returns {string} Formatted and escaped command string + */ +function formatBashCommand(command) { + if (!command) return ""; + + // Convert multi-line commands to single line by replacing newlines with spaces + // and collapsing multiple spaces + let formatted = command + .replace(/\n/g, " ") // Replace newlines with spaces + .replace(/\r/g, " ") // Replace carriage returns with spaces + .replace(/\t/g, " ") // Replace tabs with spaces + .replace(/\s+/g, " ") // Collapse multiple spaces into one + .trim(); // Remove leading/trailing whitespace + + // Escape backticks to prevent markdown issues + formatted = formatted.replace(/`/g, "\\`"); + + // Truncate if too long (keep reasonable length for summary) + const maxLength = 300; + if (formatted.length > maxLength) { + formatted = formatted.substring(0, maxLength) + "..."; + } + + return formatted; +} + +/** + * Truncates a string to a maximum length with ellipsis + * @param {string} str - The string to truncate + * @param {number} maxLength - Maximum allowed length + * @returns {string} Truncated string with ellipsis if needed + */ +function truncateString(str, maxLength) { + if (!str) return ""; + if (str.length <= maxLength) return str; + return str.substring(0, maxLength) + "..."; +} + +/** + * Calculates approximate token count from text using 4 chars per token estimate + * @param {string} text - The text to estimate tokens for + * @returns {number} Approximate token count + */ +function estimateTokens(text) { + if (!text) return 0; + return Math.ceil(text.length / 4); +} + +// Export functions +module.exports = { + formatDuration, + formatBashCommand, + truncateString, + estimateTokens, +}; diff --git a/pkg/workflow/js/log_parser_shared.test.cjs b/pkg/workflow/js/log_parser_shared.test.cjs new file mode 100644 index 0000000000..c32b2b29fd --- /dev/null +++ b/pkg/workflow/js/log_parser_shared.test.cjs @@ -0,0 +1,166 @@ +import { describe, it, expect } from "vitest"; + +describe("log_parser_shared.cjs", () => { + describe("formatDuration", () => { + it("should format duration less than 60 seconds", async () => { + const { formatDuration } = await import("./log_parser_shared.cjs"); + + expect(formatDuration(5000)).toBe("5s"); + expect(formatDuration(30000)).toBe("30s"); + expect(formatDuration(59499)).toBe("59s"); // Just under 60s + }); + + it("should format duration in minutes without seconds", async () => { + const { formatDuration } = await import("./log_parser_shared.cjs"); + + expect(formatDuration(60000)).toBe("1m"); + expect(formatDuration(120000)).toBe("2m"); + expect(formatDuration(300000)).toBe("5m"); + }); + + it("should format duration in minutes with seconds", async () => { + const { formatDuration } = await import("./log_parser_shared.cjs"); + + expect(formatDuration(65000)).toBe("1m 5s"); + expect(formatDuration(90000)).toBe("1m 30s"); + expect(formatDuration(125000)).toBe("2m 5s"); + }); + + it("should handle zero and negative durations", async () => { + const { formatDuration } = await import("./log_parser_shared.cjs"); + + expect(formatDuration(0)).toBe(""); + expect(formatDuration(-1000)).toBe(""); + }); + + it("should handle null and undefined", async () => { + const { formatDuration } = await import("./log_parser_shared.cjs"); + + expect(formatDuration(null)).toBe(""); + expect(formatDuration(undefined)).toBe(""); + }); + }); + + describe("formatBashCommand", () => { + it("should normalize whitespace in commands", async () => { + const { formatBashCommand } = await import("./log_parser_shared.cjs"); + + const command = "echo hello\n world\t\tthere"; + const result = formatBashCommand(command); + + expect(result).toBe("echo hello world there"); + }); + + it("should escape backticks", async () => { + const { formatBashCommand } = await import("./log_parser_shared.cjs"); + + const command = "echo `date`"; + const result = formatBashCommand(command); + + expect(result).toBe("echo \\`date\\`"); + }); + + it("should truncate long commands", async () => { + const { formatBashCommand } = await import("./log_parser_shared.cjs"); + + const longCommand = "a".repeat(400); + const result = formatBashCommand(longCommand); + + expect(result.length).toBe(303); // 300 chars + "..." + expect(result.endsWith("...")).toBe(true); + }); + + it("should handle empty and null commands", async () => { + const { formatBashCommand } = await import("./log_parser_shared.cjs"); + + expect(formatBashCommand("")).toBe(""); + expect(formatBashCommand(null)).toBe(""); + expect(formatBashCommand(undefined)).toBe(""); + }); + + it("should remove leading and trailing whitespace", async () => { + const { formatBashCommand } = await import("./log_parser_shared.cjs"); + + const command = " echo hello "; + const result = formatBashCommand(command); + + expect(result).toBe("echo hello"); + }); + + it("should handle multi-line commands", async () => { + const { formatBashCommand } = await import("./log_parser_shared.cjs"); + + const command = "echo line1\necho line2\necho line3"; + const result = formatBashCommand(command); + + expect(result).toBe("echo line1 echo line2 echo line3"); + }); + }); + + describe("truncateString", () => { + it("should truncate strings longer than max length", async () => { + const { truncateString } = await import("./log_parser_shared.cjs"); + + const longStr = "a".repeat(100); + const result = truncateString(longStr, 50); + + expect(result.length).toBe(53); // 50 chars + "..." + expect(result.endsWith("...")).toBe(true); + }); + + it("should not truncate strings at or below max length", async () => { + const { truncateString } = await import("./log_parser_shared.cjs"); + + expect(truncateString("hello", 10)).toBe("hello"); + expect(truncateString("1234567890", 10)).toBe("1234567890"); + }); + + it("should handle empty and null strings", async () => { + const { truncateString } = await import("./log_parser_shared.cjs"); + + expect(truncateString("", 10)).toBe(""); + expect(truncateString(null, 10)).toBe(""); + expect(truncateString(undefined, 10)).toBe(""); + }); + + it("should handle zero max length", async () => { + const { truncateString } = await import("./log_parser_shared.cjs"); + + const result = truncateString("hello", 0); + expect(result).toBe("..."); + }); + }); + + describe("estimateTokens", () => { + it("should estimate tokens using 4 chars per token", async () => { + const { estimateTokens } = await import("./log_parser_shared.cjs"); + + expect(estimateTokens("test")).toBe(1); // 4 chars = 1 token + expect(estimateTokens("hello world")).toBe(3); // 11 chars = 2.75 -> 3 tokens + expect(estimateTokens("a".repeat(100))).toBe(25); // 100 chars = 25 tokens + }); + + it("should round up partial tokens", async () => { + const { estimateTokens } = await import("./log_parser_shared.cjs"); + + expect(estimateTokens("a")).toBe(1); // 1 char = 0.25 -> 1 token + expect(estimateTokens("ab")).toBe(1); // 2 chars = 0.5 -> 1 token + expect(estimateTokens("abc")).toBe(1); // 3 chars = 0.75 -> 1 token + }); + + it("should handle empty and null text", async () => { + const { estimateTokens } = await import("./log_parser_shared.cjs"); + + expect(estimateTokens("")).toBe(0); + expect(estimateTokens(null)).toBe(0); + expect(estimateTokens(undefined)).toBe(0); + }); + + it("should handle large text", async () => { + const { estimateTokens } = await import("./log_parser_shared.cjs"); + + const largeText = "a".repeat(10000); + expect(estimateTokens(largeText)).toBe(2500); // 10000 chars = 2500 tokens + }); + }); +}); diff --git a/pkg/workflow/js/parse_claude_log.cjs b/pkg/workflow/js/parse_claude_log.cjs index 2772ca8ccf..b67a7119c2 100644 --- a/pkg/workflow/js/parse_claude_log.cjs +++ b/pkg/workflow/js/parse_claude_log.cjs @@ -2,6 +2,7 @@ /// const { runLogParser } = require("./log_parser_bootstrap.cjs"); +const { formatDuration, formatBashCommand, truncateString, estimateTokens } = require("./log_parser_shared.cjs"); function main() { runLogParser({ @@ -332,37 +333,6 @@ function formatInitializationSummary(initEntry) { return { markdown, mcpFailures }; } -/** - * Calculates approximate token count from text using 4 chars per token estimate - * @param {string} text - The text to estimate tokens for - * @returns {number} Approximate token count - */ -function estimateTokens(text) { - if (!text) return 0; - return Math.ceil(text.length / 4); -} - -/** - * Formats duration in seconds - * @param {number} ms - Duration in milliseconds - * @returns {string} Formatted duration string (e.g., "1s", "1m 30s") - */ -function formatDuration(ms) { - if (!ms || ms <= 0) return ""; - - const seconds = Math.round(ms / 1000); - if (seconds < 60) { - return `${seconds}s`; - } - - const minutes = Math.floor(seconds / 60); - const remainingSeconds = seconds % 60; - if (remainingSeconds === 0) { - return `${minutes}m`; - } - return `${minutes}m ${remainingSeconds}s`; -} - /** * Formats a tool use entry with its result into markdown * @param {any} toolUse - The tool use object containing name, input, etc. @@ -532,47 +502,6 @@ function formatMcpParameters(input) { return paramStrs.join(", "); } -/** - * Formats a bash command by normalizing whitespace and escaping - * @param {string} command - The raw bash command string - * @returns {string} Formatted and escaped command string - */ -function formatBashCommand(command) { - if (!command) return ""; - - // Convert multi-line commands to single line by replacing newlines with spaces - // and collapsing multiple spaces - let formatted = command - .replace(/\n/g, " ") // Replace newlines with spaces - .replace(/\r/g, " ") // Replace carriage returns with spaces - .replace(/\t/g, " ") // Replace tabs with spaces - .replace(/\s+/g, " ") // Collapse multiple spaces into one - .trim(); // Remove leading/trailing whitespace - - // Escape backticks to prevent markdown issues - formatted = formatted.replace(/`/g, "\\`"); - - // Truncate if too long (keep reasonable length for summary) - const maxLength = 300; - if (formatted.length > maxLength) { - formatted = formatted.substring(0, maxLength) + "..."; - } - - return formatted; -} - -/** - * Truncates a string to a maximum length with ellipsis - * @param {string} str - The string to truncate - * @param {number} maxLength - Maximum allowed length - * @returns {string} Truncated string with ellipsis if needed - */ -function truncateString(str, maxLength) { - if (!str) return ""; - if (str.length <= maxLength) return str; - return str.substring(0, maxLength) + "..."; -} - // Export for testing if (typeof module !== "undefined" && module.exports) { module.exports = { diff --git a/pkg/workflow/js/parse_claude_log.test.cjs b/pkg/workflow/js/parse_claude_log.test.cjs index 58e50bfe6d..4ce6e41555 100644 --- a/pkg/workflow/js/parse_claude_log.test.cjs +++ b/pkg/workflow/js/parse_claude_log.test.cjs @@ -74,6 +74,9 @@ describe("parse_claude_log.cjs", () => { if (module === "./log_parser_bootstrap.cjs") { return require("./log_parser_bootstrap.cjs"); } + if (module === "./log_parser_shared.cjs") { + return require("./log_parser_shared.cjs"); + } throw new Error(`Module not found: ${module}`); }); diff --git a/pkg/workflow/js/parse_copilot_log.cjs b/pkg/workflow/js/parse_copilot_log.cjs index da41a7c3e8..fa6a218d45 100644 --- a/pkg/workflow/js/parse_copilot_log.cjs +++ b/pkg/workflow/js/parse_copilot_log.cjs @@ -2,6 +2,7 @@ /// const { runLogParser } = require("./log_parser_bootstrap.cjs"); +const { formatDuration, formatBashCommand, truncateString, estimateTokens } = require("./log_parser_shared.cjs"); function main() { runLogParser({ @@ -905,37 +906,6 @@ function formatInitializationSummary(initEntry) { return markdown; } -/** - * Calculates approximate token count from text using 4 chars per token estimate - * @param {string} text - The text to estimate tokens for - * @returns {number} Approximate token count - */ -function estimateTokens(text) { - if (!text) return 0; - return Math.ceil(text.length / 4); -} - -/** - * Formats duration in seconds - * @param {number} ms - Duration in milliseconds - * @returns {string} Formatted duration string (e.g., "1s", "1m 30s") - */ -function formatDuration(ms) { - if (!ms || ms <= 0) return ""; - - const seconds = Math.round(ms / 1000); - if (seconds < 60) { - return `${seconds}s`; - } - - const minutes = Math.floor(seconds / 60); - const remainingSeconds = seconds % 60; - if (remainingSeconds === 0) { - return `${minutes}m`; - } - return `${minutes}m ${remainingSeconds}s`; -} - /** * Formats a tool use entry with its result using HTML details tags * @param {any} toolUse - The tool use object containing name, input, etc. @@ -1119,41 +1089,6 @@ function formatMcpParameters(input) { return paramStrs.join(", "); } -/** - * Formats a bash command by normalizing whitespace and escaping - * @param {string} command - The raw bash command string - * @returns {string} Formatted and escaped command string - */ -function formatBashCommand(command) { - if (!command) return ""; - - // Convert multi-line commands to single line - let formatted = command.replace(/\n/g, " ").replace(/\r/g, " ").replace(/\t/g, " ").replace(/\s+/g, " ").trim(); - - // Escape backticks to prevent markdown issues - formatted = formatted.replace(/`/g, "\\`"); - - // Truncate if too long - const maxLength = 300; - if (formatted.length > maxLength) { - formatted = formatted.substring(0, maxLength) + "..."; - } - - return formatted; -} - -/** - * Truncates a string to a maximum length with ellipsis - * @param {string} str - The string to truncate - * @param {number} maxLength - Maximum allowed length - * @returns {string} Truncated string with ellipsis if needed - */ -function truncateString(str, maxLength) { - if (!str) return ""; - if (str.length <= maxLength) return str; - return str.substring(0, maxLength) + "..."; -} - // Export for testing if (typeof module !== "undefined" && module.exports) { module.exports = { diff --git a/pkg/workflow/js/parse_copilot_log.test.cjs b/pkg/workflow/js/parse_copilot_log.test.cjs index 62e792ee64..9a90c0f10f 100644 --- a/pkg/workflow/js/parse_copilot_log.test.cjs +++ b/pkg/workflow/js/parse_copilot_log.test.cjs @@ -77,6 +77,9 @@ describe("parse_copilot_log.cjs", () => { if (module === "./log_parser_bootstrap.cjs") { return require("./log_parser_bootstrap.cjs"); } + if (module === "./log_parser_shared.cjs") { + return require("./log_parser_shared.cjs"); + } throw new Error(`Module not found: ${module}`); });