agent-claw: automated task changes

This commit is contained in:
daniel
2026-05-06 18:55:16 -05:00
parent 38905bb1e9
commit 732b00fb66
8494 changed files with 2018127 additions and 4 deletions

13
cdk/node_modules/aws-cdk/lib/commands/flags/flags.d.ts generated vendored Normal file
View File

@@ -0,0 +1,13 @@
import type { FeatureFlag, Toolkit } from '@aws-cdk/toolkit-lib';
import type { FlagOperationsParams } from './types';
import type { IoHelper } from '../../api-private';
export declare class FlagCommandHandler {
private readonly flags;
private readonly router;
private readonly options;
private readonly ioHelper;
/** Main component that sets up all flag operation components */
constructor(flagData: FeatureFlag[], ioHelper: IoHelper, options: FlagOperationsParams, toolkit: Toolkit, cliContextValues?: Record<string, any>);
/** Main entry point that processes the flags command */
processFlagsCommand(): Promise<void>;
}

30
cdk/node_modules/aws-cdk/lib/commands/flags/flags.js generated vendored Normal file
View File

@@ -0,0 +1,30 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.FlagCommandHandler = void 0;
const interactive_handler_1 = require("./interactive-handler");
const obsolete_flags_1 = require("./obsolete-flags");
const operations_1 = require("./operations");
const router_1 = require("./router");
const validator_1 = require("./validator");
class FlagCommandHandler {
/** Main component that sets up all flag operation components */
constructor(flagData, ioHelper, options, toolkit, cliContextValues = {}) {
this.flags = flagData.filter(flag => !obsolete_flags_1.OBSOLETE_FLAGS.includes(flag.name));
this.options = { ...options, concurrency: options.concurrency ?? 4 };
this.ioHelper = ioHelper;
const validator = new validator_1.FlagValidator(ioHelper);
const flagOperations = new operations_1.FlagOperations(this.flags, toolkit, ioHelper, cliContextValues);
const interactiveHandler = new interactive_handler_1.InteractiveHandler(this.flags, flagOperations);
this.router = new router_1.FlagOperationRouter(validator, interactiveHandler, flagOperations);
}
/** Main entry point that processes the flags command */
async processFlagsCommand() {
if (this.flags.length === 0) {
await this.ioHelper.defaults.error('The \'cdk flags\' command is not compatible with the AWS CDK library used by your application. Please upgrade to 2.212.0 or above.');
return;
}
await this.router.route(this.options);
}
}
exports.FlagCommandHandler = FlagCommandHandler;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmxhZ3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJmbGFncy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFDQSwrREFBMkQ7QUFDM0QscURBQWtEO0FBQ2xELDZDQUE4QztBQUM5QyxxQ0FBK0M7QUFFL0MsMkNBQTRDO0FBRzVDLE1BQWEsa0JBQWtCO0lBTTdCLGdFQUFnRTtJQUNoRSxZQUNFLFFBQXVCLEVBQ3ZCLFFBQWtCLEVBQ2xCLE9BQTZCLEVBQzdCLE9BQWdCLEVBQ2hCLG1CQUF3QyxFQUFFO1FBRTFDLElBQUksQ0FBQyxLQUFLLEdBQUcsUUFBUSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsK0JBQWMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7UUFDMUUsSUFBSSxDQUFDLE9BQU8sR0FBRyxFQUFFLEdBQUcsT0FBTyxFQUFFLFdBQVcsRUFBRSxPQUFPLENBQUMsV0FBVyxJQUFJLENBQUMsRUFBRSxDQUFDO1FBQ3JFLElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDO1FBRXpCLE1BQU0sU0FBUyxHQUFHLElBQUkseUJBQWEsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUM5QyxNQUFNLGNBQWMsR0FBRyxJQUFJLDJCQUFjLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLGdCQUFnQixDQUFDLENBQUM7UUFDM0YsTUFBTSxrQkFBa0IsR0FBRyxJQUFJLHdDQUFrQixDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsY0FBYyxDQUFDLENBQUM7UUFFOUUsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLDRCQUFtQixDQUFDLFNBQVMsRUFBRSxrQkFBa0IsRUFBRSxjQUFjLENBQUMsQ0FBQztJQUN2RixDQUFDO0lBRUQsd0RBQXdEO0lBQ3hELEtBQUssQ0FBQyxtQkFBbUI7UUFDdkIsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUM1QixNQUFNLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxvSUFBb0ksQ0FBQyxDQUFDO1lBQ3pLLE9BQU87UUFDVCxDQUFDO1FBRUQsTUFBTSxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDeEMsQ0FBQztDQUNGO0FBbENELGdEQWtDQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgRmVhdHVyZUZsYWcsIFRvb2xraXQgfSBmcm9tICdAYXdzLWNkay90b29sa2l0LWxpYic7XG5pbXBvcnQgeyBJbnRlcmFjdGl2ZUhhbmRsZXIgfSBmcm9tICcuL2ludGVyYWN0aXZlLWhhbmRsZXInO1xuaW1wb3J0IHsgT0JTT0xFVEVfRkxBR1MgfSBmcm9tICcuL29ic29sZXRlLWZsYWdzJztcbmltcG9ydCB7IEZsYWdPcGVyYXRpb25zIH0gZnJvbSAnLi9vcGVyYXRpb25zJztcbmltcG9ydCB7IEZsYWdPcGVyYXRpb25Sb3V0ZXIgfSBmcm9tICcuL3JvdXRlcic7XG5pbXBvcnQgdHlwZSB7IEZsYWdPcGVyYXRpb25zUGFyYW1zIH0gZnJvbSAnLi90eXBlcyc7XG5pbXBvcnQgeyBGbGFnVmFsaWRhdG9yIH0gZnJvbSAnLi92YWxpZGF0b3InO1xuaW1wb3J0IHR5cGUgeyBJb0hlbHBlciB9IGZyb20gJy4uLy4uL2FwaS1wcml2YXRlJztcblxuZXhwb3J0IGNsYXNzIEZsYWdDb21tYW5kSGFuZGxlciB7XG4gIHByaXZhdGUgcmVhZG9ubHkgZmxhZ3M6IEZlYXR1cmVGbGFnW107XG4gIHByaXZhdGUgcmVhZG9ubHkgcm91dGVyOiBGbGFnT3BlcmF0aW9uUm91dGVyO1xuICBwcml2YXRlIHJlYWRvbmx5IG9wdGlvbnM6IEZsYWdPcGVyYXRpb25zUGFyYW1zO1xuICBwcml2YXRlIHJlYWRvbmx5IGlvSGVscGVyOiBJb0hlbHBlcjtcblxuICAvKiogTWFpbiBjb21wb25lbnQgdGhhdCBzZXRzIHVwIGFsbCBmbGFnIG9wZXJhdGlvbiBjb21wb25lbnRzICovXG4gIGNvbnN0cnVjdG9yKFxuICAgIGZsYWdEYXRhOiBGZWF0dXJlRmxhZ1tdLFxuICAgIGlvSGVscGVyOiBJb0hlbHBlcixcbiAgICBvcHRpb25zOiBGbGFnT3BlcmF0aW9uc1BhcmFtcyxcbiAgICB0b29sa2l0OiBUb29sa2l0LFxuICAgIGNsaUNvbnRleHRWYWx1ZXM6IFJlY29yZDxzdHJpbmcsIGFueT4gPSB7fSxcbiAgKSB7XG4gICAgdGhpcy5mbGFncyA9IGZsYWdEYXRhLmZpbHRlcihmbGFnID0+ICFPQlNPTEVURV9GTEFHUy5pbmNsdWRlcyhmbGFnLm5hbWUpKTtcbiAgICB0aGlzLm9wdGlvbnMgPSB7IC4uLm9wdGlvbnMsIGNvbmN1cnJlbmN5OiBvcHRpb25zLmNvbmN1cnJlbmN5ID8/IDQgfTtcbiAgICB0aGlzLmlvSGVscGVyID0gaW9IZWxwZXI7XG5cbiAgICBjb25zdCB2YWxpZGF0b3IgPSBuZXcgRmxhZ1ZhbGlkYXRvcihpb0hlbHBlcik7XG4gICAgY29uc3QgZmxhZ09wZXJhdGlvbnMgPSBuZXcgRmxhZ09wZXJhdGlvbnModGhpcy5mbGFncywgdG9vbGtpdCwgaW9IZWxwZXIsIGNsaUNvbnRleHRWYWx1ZXMpO1xuICAgIGNvbnN0IGludGVyYWN0aXZlSGFuZGxlciA9IG5ldyBJbnRlcmFjdGl2ZUhhbmRsZXIodGhpcy5mbGFncywgZmxhZ09wZXJhdGlvbnMpO1xuXG4gICAgdGhpcy5yb3V0ZXIgPSBuZXcgRmxhZ09wZXJhdGlvblJvdXRlcih2YWxpZGF0b3IsIGludGVyYWN0aXZlSGFuZGxlciwgZmxhZ09wZXJhdGlvbnMpO1xuICB9XG5cbiAgLyoqIE1haW4gZW50cnkgcG9pbnQgdGhhdCBwcm9jZXNzZXMgdGhlIGZsYWdzIGNvbW1hbmQgKi9cbiAgYXN5bmMgcHJvY2Vzc0ZsYWdzQ29tbWFuZCgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBpZiAodGhpcy5mbGFncy5sZW5ndGggPT09IDApIHtcbiAgICAgIGF3YWl0IHRoaXMuaW9IZWxwZXIuZGVmYXVsdHMuZXJyb3IoJ1RoZSBcXCdjZGsgZmxhZ3NcXCcgY29tbWFuZCBpcyBub3QgY29tcGF0aWJsZSB3aXRoIHRoZSBBV1MgQ0RLIGxpYnJhcnkgdXNlZCBieSB5b3VyIGFwcGxpY2F0aW9uLiBQbGVhc2UgdXBncmFkZSB0byAyLjIxMi4wIG9yIGFib3ZlLicpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGF3YWl0IHRoaXMucm91dGVyLnJvdXRlKHRoaXMub3B0aW9ucyk7XG4gIH1cbn1cbiJdfQ==

View File

@@ -0,0 +1,16 @@
import type { FeatureFlag } from '@aws-cdk/toolkit-lib';
import type { FlagOperations } from './operations';
import { type FlagOperationsParams } from './types';
export declare class InteractiveHandler {
private readonly flags;
private readonly flagOperations;
constructor(flags: FeatureFlag[], flagOperations: FlagOperations);
/** Displays flags that have differences between user and recommended values */
private displayFlagsWithDifferences;
/** Checks if user value matches recommended value */
private isUserValueEqualToRecommended;
/** Main interactive mode handler that shows menu and processes user selection */
handleInteractiveMode(): Promise<FlagOperationsParams | null>;
/** Handles the specific flag selection flow with flag and value prompts */
private handleSpecificFlagSelection;
}

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1 @@
export declare const OBSOLETE_FLAGS: string[];

View File

@@ -0,0 +1,9 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.OBSOLETE_FLAGS = void 0;
exports.OBSOLETE_FLAGS = [
'@aws-cdk/core:enableStackNameDuplicates',
'@aws-cdk/aws-s3:grantWriteWithoutAcl',
'@aws-cdk/aws-kms:defaultKeyPolicies',
];
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2Jzb2xldGUtZmxhZ3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJvYnNvbGV0ZS1mbGFncy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBYSxRQUFBLGNBQWMsR0FBRztJQUM1Qix5Q0FBeUM7SUFDekMsc0NBQXNDO0lBQ3RDLHFDQUFxQztDQUN0QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNvbnN0IE9CU09MRVRFX0ZMQUdTID0gW1xuICAnQGF3cy1jZGsvY29yZTplbmFibGVTdGFja05hbWVEdXBsaWNhdGVzJyxcbiAgJ0Bhd3MtY2RrL2F3cy1zMzpncmFudFdyaXRlV2l0aG91dEFjbCcsXG4gICdAYXdzLWNkay9hd3Mta21zOmRlZmF1bHRLZXlQb2xpY2llcycsXG5dO1xuIl19

View File

@@ -0,0 +1,80 @@
import type { FeatureFlag, Toolkit } from '@aws-cdk/toolkit-lib';
import type { FlagOperationsParams } from './types';
import type { IoHelper } from '../../api-private';
export declare class FlagOperations {
private readonly flags;
private readonly toolkit;
private readonly ioHelper;
private readonly cliContextValues;
/**
* Returns only those feature flags that need configuration
*
* That is those flags:
* - That are unconfigured
* - That are not obsolete
* - Whose default value is different from the recommended value
*
* The default value being equal to the recommended value sounds odd, but
* crops up in a number of situtations:
*
* - Security-related fixes that we want to force on people, but want to
* give them a flag to back out of the changes if they really need to.
* - Flags that changed their default value in the most recent major
* version.
* - Flags that we've introduced at some point in the past, but have gone
* back on.
*/
static filterNeedsAttention(flags: FeatureFlag[]): FeatureFlag[];
private app;
private baseContextValues;
private allStacks;
private queue;
private baselineTempDir?;
constructor(flags: FeatureFlag[], toolkit: Toolkit, ioHelper: IoHelper, cliContextValues?: Record<string, any>);
/** Main entry point that routes to either flag setting or display operations */
execute(params: FlagOperationsParams): Promise<void>;
/** Sets a single specific flag with validation and user confirmation */
setFlag(params: FlagOperationsParams): Promise<void>;
/** Sets multiple flags (all or unconfigured) with validation and user confirmation */
setMultipleFlags(params: FlagOperationsParams): Promise<void>;
/** Determines which flags should be set based on the provided parameters */
private getFlagsToSet;
/** Sets flags that don't cause template changes */
setSafeFlags(params: FlagOperationsParams): Promise<void>;
/** Initializes the safety check by reading context and synthesizing baseline templates */
private initializeSafetyCheck;
/** Cleans up temporary directories created during safety checks */
private cleanupSafetyCheck;
/** Tests multiple flags together and isolates unsafe ones using binary search */
private batchTestFlags;
/** Tests if a set of context values causes template changes by synthesizing and diffing */
private testBatch;
/** Uses binary search to isolate which flags are safe to set without template changes */
private isolateUnsafeFlags;
/** Prototypes flag changes by synthesizing templates and showing diffs to the user */
private prototypeChanges;
/** Displays a summary of flag changes showing old and new values */
private displayFlagChanges;
/** Builds the update object with new flag values based on parameters and current context */
private buildUpdateObject;
/** Prompts user for confirmation and applies changes if accepted */
private handleUserResponse;
/** Removes temporary directories created during flag operations */
private cleanupTempDirectories;
/** Actually modifies the cdk.json file with the new flag values */
private modifyValues;
/** Displays flags in a table format, either specific flags or filtered by criteria */
displayFlags(params: FlagOperationsParams): Promise<void>;
/** Displays detailed information for specific flags matching the given names */
private displaySpecificFlags;
/** Returns sort order for flags */
private getFlagSortOrder;
/** Displays flags in a formatted table grouped by module and sorted */
displayFlagTable(flags: FeatureFlag[]): Promise<void>;
/** Checks if a flag has a boolean recommended value */
isBooleanFlag(flag: FeatureFlag): boolean;
/** Shows helpful usage examples and available command options */
displayHelpMessage(): Promise<void>;
}
/** Checks if the flags current effective value matches the recommended value */
export declare function isEffectiveValueEqualToRecommended(flag: FeatureFlag): boolean;

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,18 @@
import type { InteractiveHandler } from './interactive-handler';
import type { FlagOperations } from './operations.ts';
import type { FlagOperationsParams } from './types';
import type { FlagValidator } from './validator';
export declare class FlagOperationRouter {
private readonly validator;
private readonly interactiveHandler;
private readonly flagOperations;
constructor(validator: FlagValidator, interactiveHandler: InteractiveHandler, flagOperations: FlagOperations);
/** Routes flag operations to appropriate handlers based on parameters */
route(params: FlagOperationsParams): Promise<void>;
/** Handles flag setting operations, routing to single or multiple flag methods */
private handleSetOperations;
/** Manages interactive mode */
private handleInteractiveMode;
/** Shows help message when no specific options are provided */
private showHelpMessage;
}

60
cdk/node_modules/aws-cdk/lib/commands/flags/router.js generated vendored Normal file

File diff suppressed because one or more lines are too long

12
cdk/node_modules/aws-cdk/lib/commands/flags/types.d.ts generated vendored Normal file
View File

@@ -0,0 +1,12 @@
import type { FlagsOptions } from '../../cli/user-input';
export declare enum FlagsMenuOptions {
ALL_TO_RECOMMENDED = "Set all flags to recommended values",
UNCONFIGURED_TO_RECOMMENDED = "Set unconfigured flags to recommended values",
UNCONFIGURED_TO_DEFAULT = "Set unconfigured flags to their implied configuration (record current behavior)",
MODIFY_SPECIFIC_FLAG = "Modify a specific flag",
EXIT = "Exit"
}
export interface FlagOperationsParams extends FlagsOptions {
/** User provided --app option */
app?: string;
}

12
cdk/node_modules/aws-cdk/lib/commands/flags/types.js generated vendored Normal file
View File

@@ -0,0 +1,12 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.FlagsMenuOptions = void 0;
var FlagsMenuOptions;
(function (FlagsMenuOptions) {
FlagsMenuOptions["ALL_TO_RECOMMENDED"] = "Set all flags to recommended values";
FlagsMenuOptions["UNCONFIGURED_TO_RECOMMENDED"] = "Set unconfigured flags to recommended values";
FlagsMenuOptions["UNCONFIGURED_TO_DEFAULT"] = "Set unconfigured flags to their implied configuration (record current behavior)";
FlagsMenuOptions["MODIFY_SPECIFIC_FLAG"] = "Modify a specific flag";
FlagsMenuOptions["EXIT"] = "Exit";
})(FlagsMenuOptions || (exports.FlagsMenuOptions = FlagsMenuOptions = {}));
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJ0eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFFQSxJQUFZLGdCQU1YO0FBTkQsV0FBWSxnQkFBZ0I7SUFDMUIsOEVBQTBELENBQUE7SUFDMUQsZ0dBQTRFLENBQUE7SUFDNUUsK0hBQTJHLENBQUE7SUFDM0csbUVBQStDLENBQUE7SUFDL0MsaUNBQWEsQ0FBQTtBQUNmLENBQUMsRUFOVyxnQkFBZ0IsZ0NBQWhCLGdCQUFnQixRQU0zQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgRmxhZ3NPcHRpb25zIH0gZnJvbSAnLi4vLi4vY2xpL3VzZXItaW5wdXQnO1xuXG5leHBvcnQgZW51bSBGbGFnc01lbnVPcHRpb25zIHtcbiAgQUxMX1RPX1JFQ09NTUVOREVEID0gJ1NldCBhbGwgZmxhZ3MgdG8gcmVjb21tZW5kZWQgdmFsdWVzJyxcbiAgVU5DT05GSUdVUkVEX1RPX1JFQ09NTUVOREVEID0gJ1NldCB1bmNvbmZpZ3VyZWQgZmxhZ3MgdG8gcmVjb21tZW5kZWQgdmFsdWVzJyxcbiAgVU5DT05GSUdVUkVEX1RPX0RFRkFVTFQgPSAnU2V0IHVuY29uZmlndXJlZCBmbGFncyB0byB0aGVpciBpbXBsaWVkIGNvbmZpZ3VyYXRpb24gKHJlY29yZCBjdXJyZW50IGJlaGF2aW9yKScsXG4gIE1PRElGWV9TUEVDSUZJQ19GTEFHID0gJ01vZGlmeSBhIHNwZWNpZmljIGZsYWcnLFxuICBFWElUID0gJ0V4aXQnLFxufVxuXG5leHBvcnQgaW50ZXJmYWNlIEZsYWdPcGVyYXRpb25zUGFyYW1zIGV4dGVuZHMgRmxhZ3NPcHRpb25zIHtcbiAgLyoqIFVzZXIgcHJvdmlkZWQgLS1hcHAgb3B0aW9uICovXG4gIGFwcD86IHN0cmluZztcbn1cbiJdfQ==

View File

@@ -0,0 +1,22 @@
import type { FlagOperationsParams } from './types';
import type { IoHelper } from '../../api-private';
export declare class FlagValidator {
private readonly ioHelper;
constructor(ioHelper: IoHelper);
/** Shows error message when CDK version is incompatible with flags command */
showIncompatibleVersionError(): Promise<void>;
/** Validates all parameters and returns true if valid, false if any validation fails */
validateParams(params: FlagOperationsParams): Promise<boolean>;
/** Validates that --all and specific flag names are not used together */
private validateFlagNameAndAll;
/** Validates that modification options require --set flag */
private validateSetRequirement;
/** Validates that --value requires a specific flag name */
private validateValueRequirement;
/** Validates that mutually exclusive options are not used together */
private validateMutuallyExclusive;
/** Validates that --unconfigured is not used with specific flag names */
private validateUnconfiguredUsage;
/** Validates that --set operations have required accompanying options */
private validateSetWithFlags;
}

File diff suppressed because one or more lines are too long