aws-cdk
Version:
AWS CDK CLI, the command line tool for CDK apps
32 lines • 3.54 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.guessAgent = guessAgent;
/**
* Guess whether we're being executed by an AI agent
*
* It's hard for us to say `false` for sure, so we only respond
* with `yes` or `don't know`.
*/
function guessAgent() {
const awsExecutionEnv = (process.env.AWS_EXECUTION_ENV ?? '').toLocaleLowerCase();
if (awsExecutionEnv.includes('amazonq') || awsExecutionEnv.includes('kiro')) {
return true;
}
if (process.env.CLAUDECODE) {
return true;
}
// Expecting CODEX_SANDBOX, CODEX_THREAD_ID
if (Object.keys(process.env).some(x => x.startsWith('CODEX_'))) {
return true;
}
if (process.env.CURSOR_AGENT) {
return true;
}
// Cline -- not sure if it sets these, but users might to configure Cline.
if (Object.keys(process.env).some(x => x.startsWith('CLINE_'))) {
return true;
}
// Copilot doesn't set an envvar (at least not in VS Code)
return undefined;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3Vlc3MtYWdlbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJndWVzcy1hZ2VudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQU9BLGdDQTJCQztBQWpDRDs7Ozs7R0FLRztBQUNILFNBQWdCLFVBQVU7SUFDeEIsTUFBTSxlQUFlLEdBQUcsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLGlCQUFpQixJQUFJLEVBQUUsQ0FBQyxDQUFDLGlCQUFpQixFQUFFLENBQUM7SUFDbEYsSUFBSSxlQUFlLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxJQUFJLGVBQWUsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztRQUM1RSxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRCxJQUFJLE9BQU8sQ0FBQyxHQUFHLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDM0IsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQsMkNBQTJDO0lBQzNDLElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFDL0QsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQsSUFBSSxPQUFPLENBQUMsR0FBRyxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQzdCLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVELDBFQUEwRTtJQUMxRSxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQy9ELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVELDBEQUEwRDtJQUUxRCxPQUFPLFNBQVMsQ0FBQztBQUNuQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiXG4vKipcbiAqIEd1ZXNzIHdoZXRoZXIgd2UncmUgYmVpbmcgZXhlY3V0ZWQgYnkgYW4gQUkgYWdlbnRcbiAqXG4gKiBJdCdzIGhhcmQgZm9yIHVzIHRvIHNheSBgZmFsc2VgIGZvciBzdXJlLCBzbyB3ZSBvbmx5IHJlc3BvbmRcbiAqIHdpdGggYHllc2Agb3IgYGRvbid0IGtub3dgLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZ3Vlc3NBZ2VudCgpOiB0cnVlIHwgdW5kZWZpbmVkIHtcbiAgY29uc3QgYXdzRXhlY3V0aW9uRW52ID0gKHByb2Nlc3MuZW52LkFXU19FWEVDVVRJT05fRU5WID8/ICcnKS50b0xvY2FsZUxvd2VyQ2FzZSgpO1xuICBpZiAoYXdzRXhlY3V0aW9uRW52LmluY2x1ZGVzKCdhbWF6b25xJykgfHwgYXdzRXhlY3V0aW9uRW52LmluY2x1ZGVzKCdraXJvJykpIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIGlmIChwcm9jZXNzLmVudi5DTEFVREVDT0RFKSB7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICAvLyBFeHBlY3RpbmcgQ09ERVhfU0FOREJPWCwgQ09ERVhfVEhSRUFEX0lEXG4gIGlmIChPYmplY3Qua2V5cyhwcm9jZXNzLmVudikuc29tZSh4ID0+IHguc3RhcnRzV2l0aCgnQ09ERVhfJykpKSB7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICBpZiAocHJvY2Vzcy5lbnYuQ1VSU09SX0FHRU5UKSB7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICAvLyBDbGluZSAtLSBub3Qgc3VyZSBpZiBpdCBzZXRzIHRoZXNlLCBidXQgdXNlcnMgbWlnaHQgdG8gY29uZmlndXJlIENsaW5lLlxuICBpZiAoT2JqZWN0LmtleXMocHJvY2Vzcy5lbnYpLnNvbWUoeCA9PiB4LnN0YXJ0c1dpdGgoJ0NMSU5FXycpKSkge1xuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgLy8gQ29waWxvdCBkb2Vzbid0IHNldCBhbiBlbnZ2YXIgKGF0IGxlYXN0IG5vdCBpbiBWUyBDb2RlKVxuXG4gIHJldHVybiB1bmRlZmluZWQ7XG59XG4iXX0=