feat: add CODETYPER ASCII art to exit summary
Add prominent CODETYPER logo using ASCII box-drawing characters at the top of the exit summary for enhanced branding. This provides a polished, professional appearance when exiting the CLI. Key improvements: - Add ASCII logo to session summary output - Simplify exit flow to use global message storage in terminal.ts - Remove duplicate exit message handling from ExitProvider - Fix signal handlers to prevent duplicate exit messages - Clean up debug logging from app.tsx - Ensure exit message persists on terminal after process exit The exit summary now displays comprehensive session statistics with: - CODETYPER ASCII logo - Total usage and Premium requests - API time and total session time - Code changes breakdown (+additions/-deletions) - Per-model token usage - Resume command with session ID Works correctly on all exit paths (normal exit, SIGINT, SIGTERM, errors).
This commit is contained in:
162
package-lock.json
generated
162
package-lock.json
generated
@@ -1180,13 +1180,13 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@inquirer/checkbox": {
|
||||
"version": "5.0.4",
|
||||
"resolved": "https://registry.npmjs.org/@inquirer/checkbox/-/checkbox-5.0.4.tgz",
|
||||
"integrity": "sha512-DrAMU3YBGMUAp6ArwTIp/25CNDtDbxk7UjIrrtM25JVVrlVYlVzHh5HR1BDFu9JMyUoZ4ZanzeaHqNDttf3gVg==",
|
||||
"version": "5.0.6",
|
||||
"resolved": "https://registry.npmjs.org/@inquirer/checkbox/-/checkbox-5.0.6.tgz",
|
||||
"integrity": "sha512-qLZ1gOpsqsieB5k98GQ9bWYggvMsCXTc7HUwhEQpTsxFQYGthqR9UysCwqB7L9h47THYdXhJegnYb1IqURMjng==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@inquirer/ansi": "^2.0.3",
|
||||
"@inquirer/core": "^11.1.1",
|
||||
"@inquirer/core": "^11.1.3",
|
||||
"@inquirer/figures": "^2.0.3",
|
||||
"@inquirer/type": "^4.0.3"
|
||||
},
|
||||
@@ -1203,12 +1203,12 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@inquirer/confirm": {
|
||||
"version": "6.0.4",
|
||||
"resolved": "https://registry.npmjs.org/@inquirer/confirm/-/confirm-6.0.4.tgz",
|
||||
"integrity": "sha512-WdaPe7foUnoGYvXzH4jp4wH/3l+dBhZ3uwhKjXjwdrq5tEIFaANxj6zrGHxLdsIA0yKM0kFPVcEalOZXBB5ISA==",
|
||||
"version": "6.0.6",
|
||||
"resolved": "https://registry.npmjs.org/@inquirer/confirm/-/confirm-6.0.6.tgz",
|
||||
"integrity": "sha512-9ZkrGYiWnOKQPc3xfLIORE3lZW1qvtgRoJcoqopr5zssBn7yk4yONmzGynEOjc16FnUXzkAejj/I29BbfcoUfQ==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@inquirer/core": "^11.1.1",
|
||||
"@inquirer/core": "^11.1.3",
|
||||
"@inquirer/type": "^4.0.3"
|
||||
},
|
||||
"engines": {
|
||||
@@ -1224,18 +1224,18 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@inquirer/core": {
|
||||
"version": "11.1.1",
|
||||
"resolved": "https://registry.npmjs.org/@inquirer/core/-/core-11.1.1.tgz",
|
||||
"integrity": "sha512-hV9o15UxX46OyQAtaoMqAOxGR8RVl1aZtDx1jHbCtSJy1tBdTfKxLPKf7utsE4cRy4tcmCQ4+vdV+ca+oNxqNA==",
|
||||
"version": "11.1.3",
|
||||
"resolved": "https://registry.npmjs.org/@inquirer/core/-/core-11.1.3.tgz",
|
||||
"integrity": "sha512-TBAGPDGvpwFSQ4nkawQzq5/X7DhElANjvKeUtcjpVnBIfuH/OEu4M+79R3+bGPtwxST4DOIGRtF933mUH2bRVw==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@inquirer/ansi": "^2.0.3",
|
||||
"@inquirer/figures": "^2.0.3",
|
||||
"@inquirer/type": "^4.0.3",
|
||||
"cli-width": "^4.1.0",
|
||||
"fast-wrap-ansi": "^0.2.0",
|
||||
"mute-stream": "^3.0.0",
|
||||
"signal-exit": "^4.1.0",
|
||||
"wrap-ansi": "^9.0.2"
|
||||
"signal-exit": "^4.1.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=23.5.0 || ^22.13.0 || ^21.7.0 || ^20.12.0"
|
||||
@@ -1250,12 +1250,12 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@inquirer/editor": {
|
||||
"version": "5.0.4",
|
||||
"resolved": "https://registry.npmjs.org/@inquirer/editor/-/editor-5.0.4.tgz",
|
||||
"integrity": "sha512-QI3Jfqcv6UO2/VJaEFONH8Im1ll++Xn/AJTBn9Xf+qx2M+H8KZAdQ5sAe2vtYlo+mLW+d7JaMJB4qWtK4BG3pw==",
|
||||
"version": "5.0.6",
|
||||
"resolved": "https://registry.npmjs.org/@inquirer/editor/-/editor-5.0.6.tgz",
|
||||
"integrity": "sha512-dxTi/TB29NaW18u0pQl3B140695izGUMzr340a4Yhxll3oa0/iwxl6C88sX9LDUPFaaM4FDASEMnLm8XVk2VVg==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@inquirer/core": "^11.1.1",
|
||||
"@inquirer/core": "^11.1.3",
|
||||
"@inquirer/external-editor": "^2.0.3",
|
||||
"@inquirer/type": "^4.0.3"
|
||||
},
|
||||
@@ -1272,12 +1272,12 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@inquirer/expand": {
|
||||
"version": "5.0.4",
|
||||
"resolved": "https://registry.npmjs.org/@inquirer/expand/-/expand-5.0.4.tgz",
|
||||
"integrity": "sha512-0I/16YwPPP0Co7a5MsomlZLpch48NzYfToyqYAOWtBmaXSB80RiNQ1J+0xx2eG+Wfxt0nHtpEWSRr6CzNVnOGg==",
|
||||
"version": "5.0.6",
|
||||
"resolved": "https://registry.npmjs.org/@inquirer/expand/-/expand-5.0.6.tgz",
|
||||
"integrity": "sha512-HmgMzFdMk/gmPXfuFy4xgWkyIVbdH81otQkrFbhklFZcGauwDFD1EbgmZdgmYCN5pWhSEnYIadg1kysLgPIYag==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@inquirer/core": "^11.1.1",
|
||||
"@inquirer/core": "^11.1.3",
|
||||
"@inquirer/type": "^4.0.3"
|
||||
},
|
||||
"engines": {
|
||||
@@ -1323,12 +1323,12 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@inquirer/input": {
|
||||
"version": "5.0.4",
|
||||
"resolved": "https://registry.npmjs.org/@inquirer/input/-/input-5.0.4.tgz",
|
||||
"integrity": "sha512-4B3s3jvTREDFvXWit92Yc6jF1RJMDy2VpSqKtm4We2oVU65YOh2szY5/G14h4fHlyQdpUmazU5MPCFZPRJ0AOw==",
|
||||
"version": "5.0.6",
|
||||
"resolved": "https://registry.npmjs.org/@inquirer/input/-/input-5.0.6.tgz",
|
||||
"integrity": "sha512-RZsJcjMJA3QNI9q9OiAi1fAom+Pb8on6alJB1Teh5jjKaiG5C79P69cG955ZRfgPdxTmI4uyhf33+94Xj7xWig==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@inquirer/core": "^11.1.1",
|
||||
"@inquirer/core": "^11.1.3",
|
||||
"@inquirer/type": "^4.0.3"
|
||||
},
|
||||
"engines": {
|
||||
@@ -1344,12 +1344,12 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@inquirer/number": {
|
||||
"version": "4.0.4",
|
||||
"resolved": "https://registry.npmjs.org/@inquirer/number/-/number-4.0.4.tgz",
|
||||
"integrity": "sha512-CmMp9LF5HwE+G/xWsC333TlCzYYbXMkcADkKzcawh49fg2a1ryLc7JL1NJYYt1lJ+8f4slikNjJM9TEL/AljYQ==",
|
||||
"version": "4.0.6",
|
||||
"resolved": "https://registry.npmjs.org/@inquirer/number/-/number-4.0.6.tgz",
|
||||
"integrity": "sha512-owMkAY+gR0BggomDTL+Z22x/yfE4ocFrmNyJacOiaDVA/d+iL4IWyk7Ds7JEuDMxuhHFB46Dubdxg1uiD7GlCA==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@inquirer/core": "^11.1.1",
|
||||
"@inquirer/core": "^11.1.3",
|
||||
"@inquirer/type": "^4.0.3"
|
||||
},
|
||||
"engines": {
|
||||
@@ -1365,13 +1365,13 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@inquirer/password": {
|
||||
"version": "5.0.4",
|
||||
"resolved": "https://registry.npmjs.org/@inquirer/password/-/password-5.0.4.tgz",
|
||||
"integrity": "sha512-ZCEPyVYvHK4W4p2Gy6sTp9nqsdHQCfiPXIP9LbJVW4yCinnxL/dDDmPaEZVysGrj8vxVReRnpfS2fOeODe9zjg==",
|
||||
"version": "5.0.6",
|
||||
"resolved": "https://registry.npmjs.org/@inquirer/password/-/password-5.0.6.tgz",
|
||||
"integrity": "sha512-c4BT4SB79iYwPhtGVBSvrlTnn4oFSYnwocafmktpay8RK75T2c2+fLlR0i1Cxw0QOhdy/YULdmpHoy1sOrPzvA==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@inquirer/ansi": "^2.0.3",
|
||||
"@inquirer/core": "^11.1.1",
|
||||
"@inquirer/core": "^11.1.3",
|
||||
"@inquirer/type": "^4.0.3"
|
||||
},
|
||||
"engines": {
|
||||
@@ -1387,21 +1387,21 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@inquirer/prompts": {
|
||||
"version": "8.2.0",
|
||||
"resolved": "https://registry.npmjs.org/@inquirer/prompts/-/prompts-8.2.0.tgz",
|
||||
"integrity": "sha512-rqTzOprAj55a27jctS3vhvDDJzYXsr33WXTjODgVOru21NvBo9yIgLIAf7SBdSV0WERVly3dR6TWyp7ZHkvKFA==",
|
||||
"version": "8.2.1",
|
||||
"resolved": "https://registry.npmjs.org/@inquirer/prompts/-/prompts-8.2.1.tgz",
|
||||
"integrity": "sha512-76knJFW2oXdI6If5YRmEoT5u7l+QroXYrMiINFcb97LsyECgsbO9m6iWlPuhBtaFgNITPHQCk3wbex38q8gsjg==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@inquirer/checkbox": "^5.0.4",
|
||||
"@inquirer/confirm": "^6.0.4",
|
||||
"@inquirer/editor": "^5.0.4",
|
||||
"@inquirer/expand": "^5.0.4",
|
||||
"@inquirer/input": "^5.0.4",
|
||||
"@inquirer/number": "^4.0.4",
|
||||
"@inquirer/password": "^5.0.4",
|
||||
"@inquirer/rawlist": "^5.2.0",
|
||||
"@inquirer/search": "^4.1.0",
|
||||
"@inquirer/select": "^5.0.4"
|
||||
"@inquirer/checkbox": "^5.0.5",
|
||||
"@inquirer/confirm": "^6.0.5",
|
||||
"@inquirer/editor": "^5.0.5",
|
||||
"@inquirer/expand": "^5.0.5",
|
||||
"@inquirer/input": "^5.0.5",
|
||||
"@inquirer/number": "^4.0.5",
|
||||
"@inquirer/password": "^5.0.5",
|
||||
"@inquirer/rawlist": "^5.2.1",
|
||||
"@inquirer/search": "^4.1.1",
|
||||
"@inquirer/select": "^5.0.5"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=23.5.0 || ^22.13.0 || ^21.7.0 || ^20.12.0"
|
||||
@@ -1416,12 +1416,12 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@inquirer/rawlist": {
|
||||
"version": "5.2.0",
|
||||
"resolved": "https://registry.npmjs.org/@inquirer/rawlist/-/rawlist-5.2.0.tgz",
|
||||
"integrity": "sha512-CciqGoOUMrFo6HxvOtU5uL8fkjCmzyeB6fG7O1vdVAZVSopUBYECOwevDBlqNLyyYmzpm2Gsn/7nLrpruy9RFg==",
|
||||
"version": "5.2.2",
|
||||
"resolved": "https://registry.npmjs.org/@inquirer/rawlist/-/rawlist-5.2.2.tgz",
|
||||
"integrity": "sha512-ld2EhLlf3fsBv7QfxR31NdBecGdS6eeFFZ+Nx88ApjtifeCEc9TNrw8x5tGe+gd6HG1ERczOb4B/bMojiGIp1g==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@inquirer/core": "^11.1.1",
|
||||
"@inquirer/core": "^11.1.3",
|
||||
"@inquirer/type": "^4.0.3"
|
||||
},
|
||||
"engines": {
|
||||
@@ -1437,12 +1437,12 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@inquirer/search": {
|
||||
"version": "4.1.0",
|
||||
"resolved": "https://registry.npmjs.org/@inquirer/search/-/search-4.1.0.tgz",
|
||||
"integrity": "sha512-EAzemfiP4IFvIuWnrHpgZs9lAhWDA0GM3l9F4t4mTQ22IFtzfrk8xbkMLcAN7gmVML9O/i+Hzu8yOUyAaL6BKA==",
|
||||
"version": "4.1.2",
|
||||
"resolved": "https://registry.npmjs.org/@inquirer/search/-/search-4.1.2.tgz",
|
||||
"integrity": "sha512-kdGbbbWYKldWxpxodKYPmFl/ctBi3DjWlA4LX48jXtqJ7NEeoEKlyFTbE4xNEFcGDi15tvaxRLzCV4A53zqYIw==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@inquirer/core": "^11.1.1",
|
||||
"@inquirer/core": "^11.1.3",
|
||||
"@inquirer/figures": "^2.0.3",
|
||||
"@inquirer/type": "^4.0.3"
|
||||
},
|
||||
@@ -1459,13 +1459,13 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@inquirer/select": {
|
||||
"version": "5.0.4",
|
||||
"resolved": "https://registry.npmjs.org/@inquirer/select/-/select-5.0.4.tgz",
|
||||
"integrity": "sha512-s8KoGpPYMEQ6WXc0dT9blX2NtIulMdLOO3LA1UKOiv7KFWzlJ6eLkEYTDBIi+JkyKXyn8t/CD6TinxGjyLt57g==",
|
||||
"version": "5.0.6",
|
||||
"resolved": "https://registry.npmjs.org/@inquirer/select/-/select-5.0.6.tgz",
|
||||
"integrity": "sha512-9DyVbNCo4q0C3CkGd6zW0SW3NQuuk4Hy0NSbP6zErz2YNWF4EHHJCRzcV34/CDQLraeAQXbHYlMofuUrs6BBZQ==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@inquirer/ansi": "^2.0.3",
|
||||
"@inquirer/core": "^11.1.1",
|
||||
"@inquirer/core": "^11.1.3",
|
||||
"@inquirer/figures": "^2.0.3",
|
||||
"@inquirer/type": "^4.0.3"
|
||||
},
|
||||
@@ -3849,9 +3849,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/caniuse-lite": {
|
||||
"version": "1.0.30001769",
|
||||
"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001769.tgz",
|
||||
"integrity": "sha512-BCfFL1sHijQlBGWBMuJyhZUhzo7wer5sVj9hqekB/7xn0Ypy+pER/edCYQm4exbXj4WiySGp40P8UuTh6w1srg==",
|
||||
"version": "1.0.30001770",
|
||||
"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001770.tgz",
|
||||
"integrity": "sha512-x/2CLQ1jHENRbHg5PSId2sXq1CIO1CISvwWAj027ltMVG2UNgW+w9oH2+HzgEIRFembL8bUlXtfbBHR1fCg2xw==",
|
||||
"funding": [
|
||||
{
|
||||
"type": "opencollective",
|
||||
@@ -4976,9 +4976,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/eslint-plugin-n": {
|
||||
"version": "17.23.2",
|
||||
"resolved": "https://registry.npmjs.org/eslint-plugin-n/-/eslint-plugin-n-17.23.2.tgz",
|
||||
"integrity": "sha512-RhWBeb7YVPmNa2eggvJooiuehdL76/bbfj/OJewyoGT80qn5PXdz8zMOTO6YHOsI7byPt7+Ighh/i/4a5/v7hw==",
|
||||
"version": "17.24.0",
|
||||
"resolved": "https://registry.npmjs.org/eslint-plugin-n/-/eslint-plugin-n-17.24.0.tgz",
|
||||
"integrity": "sha512-/gC7/KAYmfNnPNOb3eu8vw+TdVnV0zhdQwexsw6FLXbhzroVj20vRn2qL8lDWDGnAQ2J8DhdfvXxX9EoxvERvw==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
@@ -5321,6 +5321,30 @@
|
||||
"dev": true,
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/fast-string-truncated-width": {
|
||||
"version": "3.0.3",
|
||||
"resolved": "https://registry.npmjs.org/fast-string-truncated-width/-/fast-string-truncated-width-3.0.3.tgz",
|
||||
"integrity": "sha512-0jjjIEL6+0jag3l2XWWizO64/aZVtpiGE3t0Zgqxv0DPuxiMjvB3M24fCyhZUO4KomJQPj3LTSUnDP3GpdwC0g==",
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/fast-string-width": {
|
||||
"version": "3.0.2",
|
||||
"resolved": "https://registry.npmjs.org/fast-string-width/-/fast-string-width-3.0.2.tgz",
|
||||
"integrity": "sha512-gX8LrtNEI5hq8DVUfRQMbr5lpaS4nMIWV+7XEbXk2b8kiQIizgnlr12B4dA3ZEx3308ze0O4Q1R+cHts8kyUJg==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"fast-string-truncated-width": "^3.0.2"
|
||||
}
|
||||
},
|
||||
"node_modules/fast-wrap-ansi": {
|
||||
"version": "0.2.0",
|
||||
"resolved": "https://registry.npmjs.org/fast-wrap-ansi/-/fast-wrap-ansi-0.2.0.tgz",
|
||||
"integrity": "sha512-rLV8JHxTyhVmFYhBJuMujcrHqOT2cnO5Zxj37qROj23CP39GXubJRBUFF0z8KFK77Uc0SukZUf7JZhsVEQ6n8w==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"fast-string-width": "^3.0.2"
|
||||
}
|
||||
},
|
||||
"node_modules/fastq": {
|
||||
"version": "1.20.1",
|
||||
"resolved": "https://registry.npmjs.org/fastq/-/fastq-1.20.1.tgz",
|
||||
@@ -6031,14 +6055,14 @@
|
||||
}
|
||||
},
|
||||
"node_modules/inquirer": {
|
||||
"version": "13.2.2",
|
||||
"resolved": "https://registry.npmjs.org/inquirer/-/inquirer-13.2.2.tgz",
|
||||
"integrity": "sha512-+hlN8I88JE9T3zjWHGnMhryniRDbSgFNJHJTyD2iKO5YNpMRyfghQ6wVoe+gV4ygMM4r4GzlsBxNa1g/UUZixA==",
|
||||
"version": "13.2.4",
|
||||
"resolved": "https://registry.npmjs.org/inquirer/-/inquirer-13.2.4.tgz",
|
||||
"integrity": "sha512-7JJ8+lGhGtJOeVnrH4IqP7mQgOqvHkKS6DNLTkMHEI3iHKzZUaidOivU9q8wrlSRvT0ISCBMweMK7TWYzr5BhA==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@inquirer/ansi": "^2.0.3",
|
||||
"@inquirer/core": "^11.1.1",
|
||||
"@inquirer/prompts": "^8.2.0",
|
||||
"@inquirer/core": "^11.1.3",
|
||||
"@inquirer/prompts": "^8.2.1",
|
||||
"@inquirer/type": "^4.0.3",
|
||||
"mute-stream": "^3.0.0",
|
||||
"run-async": "^4.0.6",
|
||||
|
||||
Reference in New Issue
Block a user