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

View File

@@ -0,0 +1,31 @@
import type { IStage } from './stage';
import type { ILogGroupRef } from '../../../interfaces/generated/aws-logs-interfaces.generated';
/**
* Access log destination for a HttpApi Stage.
*/
export interface IAccessLogDestination {
/**
* Binds this destination to the HttpApi Stage.
*/
bind(stage: IStage): AccessLogDestinationConfig;
}
/**
* Options when binding a log destination to a HttpApi Stage.
*/
export interface AccessLogDestinationConfig {
/**
* The Amazon Resource Name (ARN) of the destination resource
*/
readonly destinationArn: string;
}
/**
* Use CloudWatch Logs as a custom access log destination for API Gateway.
*/
export declare class LogGroupLogDestination implements IAccessLogDestination {
private readonly logGroup;
constructor(logGroup: ILogGroupRef);
/**
* Binds this destination to the CloudWatch Logs.
*/
bind(_stage: IStage): AccessLogDestinationConfig;
}

View File

@@ -0,0 +1 @@
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.LogGroupLogDestination=void 0;var jsiiDeprecationWarnings=()=>{var tmp=require("../../../.warnings.jsii.js");return jsiiDeprecationWarnings=()=>tmp,tmp};const JSII_RTTI_SYMBOL_1=Symbol.for("jsii.rtti");class LogGroupLogDestination{logGroup;static[JSII_RTTI_SYMBOL_1]={fqn:"aws-cdk-lib.aws_apigatewayv2.LogGroupLogDestination",version:"2.252.0"};constructor(logGroup){this.logGroup=logGroup;try{jsiiDeprecationWarnings().aws_cdk_lib_interfaces_aws_logs_ILogGroupRef(logGroup)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,LogGroupLogDestination),error}}bind(_stage){try{jsiiDeprecationWarnings().aws_cdk_lib_aws_apigatewayv2_IStage(_stage)}catch(error){throw process.env.JSII_DEBUG!=="1"&&error.name==="DeprecationError"&&Error.captureStackTrace(error,this.bind),error}return{destinationArn:this.logGroup.logGroupRef.logGroupArn}}}exports.LogGroupLogDestination=LogGroupLogDestination;

View File

@@ -0,0 +1,92 @@
import type { Construct } from 'constructs';
import type { IDomainName } from './domain-name';
import type { IStage } from './stage';
import type { IResource } from '../../../core';
import { Resource } from '../../../core';
import type { ApiMappingReference, IApiMappingRef, IApiRef, IDomainNameRef } from '../../../interfaces/generated/aws-apigatewayv2-interfaces.generated';
/**
* Represents an ApiGatewayV2 ApiMapping resource
* @see https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-apimapping.html
*/
export interface IApiMapping extends IResource, IApiMappingRef {
/**
* ID of the api mapping
* @attribute
*/
readonly apiMappingId: string;
}
/**
* Properties used to create the ApiMapping resource
*/
export interface ApiMappingProps {
/**
* Api mapping key. The path where this stage should be mapped to on the domain
* @default - undefined for the root path mapping.
*/
readonly apiMappingKey?: string;
/**
* The Api to which this mapping is applied
*/
readonly api: IApiRef;
/**
* custom domain name of the mapping target
*/
readonly domainName: IDomainNameRef;
/**
* stage for the ApiMapping resource
* required for WebSocket API
* defaults to default stage of an HTTP API
*
* @default - Default stage of the passed API for HTTP API, required for WebSocket API
*/
readonly stage?: IStage;
}
/**
* The attributes used to import existing ApiMapping
*/
export interface ApiMappingAttributes {
/**
* The API mapping ID
*/
readonly apiMappingId: string;
/**
* Domain name
*
* @default - Certain operations on the referenced object may fail if not supplied
*/
readonly domainName?: string;
}
/**
* Create a new API mapping for API Gateway API endpoint.
* @resource AWS::ApiGatewayV2::ApiMapping
*/
export declare class ApiMapping extends Resource implements IApiMapping {
/** Uniquely identifies this class. */
static readonly PROPERTY_INJECTION_ID: string;
/**
* import from API ID
*/
static fromApiMappingAttributes(scope: Construct, id: string, attrs: ApiMappingAttributes): IApiMapping;
/**
* ID of the API Mapping
*/
readonly apiMappingId: string;
/**
* API Mapping key
*/
readonly mappingKey?: string;
/**
* API domain name
*/
private readonly _domainName;
constructor(scope: Construct, id: string, props: ApiMappingProps);
/**
* API domain name
*/
get domainName(): IDomainName;
get apiMappingRef(): ApiMappingReference;
/**
* Return the domain for this API Mapping
*/
get domainUrl(): string;
}

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,37 @@
import type * as cloudwatch from '../../../aws-cloudwatch';
import type { IResource } from '../../../core';
import type { IApiRef } from '../apigatewayv2.generated';
/**
* Represents a API Gateway HTTP/WebSocket API
*/
export interface IApi extends IResource, IApiRef {
/**
* The identifier of this API Gateway API.
* @attribute
*/
readonly apiId: string;
/**
* The default endpoint for an API
* @attribute
*/
readonly apiEndpoint: string;
/**
* Return the given named metric for this Api Gateway
*
* @default - average over 5 minutes
*/
metric(metricName: string, props?: cloudwatch.MetricOptions): cloudwatch.Metric;
}
/**
* Supported IP Address Types
*/
export declare enum IpAddressType {
/**
* IPv4 address type
*/
IPV4 = "ipv4",
/**
* IPv4 and IPv6 address type
*/
DUAL_STACK = "dualstack"
}

View File

@@ -0,0 +1 @@
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.IpAddressType=void 0;var IpAddressType;(function(IpAddressType2){IpAddressType2.IPV4="ipv4",IpAddressType2.DUAL_STACK="dualstack"})(IpAddressType||(exports.IpAddressType=IpAddressType={}));

View File

@@ -0,0 +1,12 @@
import type { IResource } from '../../../core';
import type { IAuthorizerRef } from '../apigatewayv2.generated';
/**
* Represents an Authorizer.
*/
export interface IAuthorizer extends IResource, IAuthorizerRef {
/**
* Id of the Authorizer
* @attribute
*/
readonly authorizerId: string;
}

View File

@@ -0,0 +1 @@
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});

View File

@@ -0,0 +1,57 @@
import type { IApi } from './api';
import { ApiMapping } from './api-mapping';
import type { DomainMappingOptions, IAccessLogSettings, IStage } from './stage';
import type { AccessLogFormat } from '../../../aws-apigateway/lib';
import * as cloudwatch from '../../../aws-cloudwatch';
import { Resource } from '../../../core';
import type { CfnStage, IApiRef, StageReference } from '../apigatewayv2.generated';
/**
* Base class representing an API
* @internal
*/
export declare abstract class ApiBase extends Resource implements IApi {
abstract readonly apiId: string;
abstract readonly apiEndpoint: string;
metric(metricName: string, props?: cloudwatch.MetricOptions): cloudwatch.Metric;
get apiRef(): IApiRef['apiRef'];
}
/**
* Base class representing a Stage
* @internal
*/
export declare abstract class StageBase extends Resource implements IStage {
private stageVariables;
abstract readonly stageName: string;
protected abstract readonly baseApi: IApi;
/**
* The created ApiMapping if domain mapping has been added
* @internal
*/
protected _apiMapping?: ApiMapping;
/**
* The URL to this stage.
*/
abstract get url(): string;
/**
* The default Access Logging format of this stage.
*/
abstract defaultAccessLogFormat(): AccessLogFormat;
/**
* @internal
*/
protected _addDomainMapping(domainMapping: DomainMappingOptions): void;
/**
* @internal
*/
protected _validateAccessLogSettings(props?: IAccessLogSettings): CfnStage.AccessLogSettingsProperty | undefined;
metric(metricName: string, props?: cloudwatch.MetricOptions): cloudwatch.Metric;
addStageVariable(name: string, value: string): void;
/**
* Returns the stage variables for this stage.
* @internal
*/
protected get _stageVariables(): {
[key: string]: string;
} | undefined;
get stageRef(): StageReference;
}

View File

@@ -0,0 +1 @@
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.StageBase=exports.ApiBase=void 0;var api_mapping_1=()=>{var tmp=require("./api-mapping");return api_mapping_1=()=>tmp,tmp},cloudwatch=()=>{var tmp=require("../../../aws-cloudwatch");return cloudwatch=()=>tmp,tmp},core_1=()=>{var tmp=require("../../../core");return core_1=()=>tmp,tmp},errors_1=()=>{var tmp=require("../../../core/lib/errors");return errors_1=()=>tmp,tmp},literal_string_1=()=>{var tmp=require("../../../core/lib/private/literal-string");return literal_string_1=()=>tmp,tmp};class ApiBase extends core_1().Resource{metric(metricName,props){return new(cloudwatch()).Metric({namespace:"AWS/ApiGateway",metricName,dimensionsMap:{ApiId:this.apiId},...props}).attachTo(this)}get apiRef(){return{apiId:this.apiId}}}exports.ApiBase=ApiBase;class StageBase extends core_1().Resource{stageVariables={};_apiMapping;_addDomainMapping(domainMapping){if(this._apiMapping)throw new(errors_1()).UnscopedValidationError((0,literal_string_1().lit)`OnlyApimappingAllowedStage`,"Only one ApiMapping allowed per Stage");this._apiMapping=new(api_mapping_1()).ApiMapping(this,`${domainMapping.domainName}${domainMapping.mappingKey}`,{api:this.baseApi,domainName:domainMapping.domainName,stage:this,apiMappingKey:domainMapping.mappingKey}),this.node.addDependency(domainMapping.domainName)}_validateAccessLogSettings(props){if(!props)return;const format=props.format;if(format&&!core_1().Token.isUnresolved(format.toString())&&!/\$context\.(?:requestId|extendedRequestId)\b/.test(format.toString()))throw new(errors_1()).ValidationError((0,literal_string_1().lit)`AccessIncludeEither`,"Access log must include either `AccessLogFormat.contextRequestId()` or `AccessLogFormat.contextExtendedRequestId()`",this);return{destinationArn:props.destination.bind(this).destinationArn,format:format?format.toString():this.defaultAccessLogFormat().toString()}}metric(metricName,props){return this.baseApi.metric(metricName,props).with({dimensionsMap:{ApiId:this.baseApi.apiId,Stage:this.stageName}}).attachTo(this)}addStageVariable(name,value){this.stageVariables[name]=value}get _stageVariables(){return Object.keys(this.stageVariables).length>0?{...this.stageVariables}:void 0}get stageRef(){return{stageName:this.stageName}}}exports.StageBase=StageBase;

View File

@@ -0,0 +1,168 @@
import type { Construct } from 'constructs';
import type { IpAddressType } from './api';
import type { IBucket } from '../../../aws-s3';
import type { IResource } from '../../../core';
import { Resource } from '../../../core';
import type { ICertificateRef } from '../../../interfaces/generated/aws-certificatemanager-interfaces.generated';
import type { DomainNameReference, IDomainNameRef } from '../apigatewayv2.generated';
/**
* The minimum version of the SSL protocol that you want API Gateway to use for HTTPS connections.
*/
export declare enum SecurityPolicy {
/** Cipher suite TLS 1.0 */
TLS_1_0 = "TLS_1_0",
/** Cipher suite TLS 1.2 */
TLS_1_2 = "TLS_1_2"
}
/**
* Endpoint type for a domain name.
*/
export declare enum EndpointType {
/**
* For an edge-optimized custom domain name.
*/
EDGE = "EDGE",
/**
* For a regional custom domain name.
*/
REGIONAL = "REGIONAL"
}
/**
* Represents an APIGatewayV2 DomainName
* @see https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-domainname.html
*/
export interface IDomainName extends IResource, IDomainNameRef {
/**
* The custom domain name
* @attribute
*/
readonly name: string;
/**
* The domain name associated with the regional endpoint for this custom domain name.
* @attribute
*/
readonly regionalDomainName: string;
/**
* The region-specific Amazon Route 53 Hosted Zone ID of the regional endpoint.
* @attribute
*/
readonly regionalHostedZoneId: string;
}
/**
* custom domain name attributes
*/
export interface DomainNameAttributes {
/**
* domain name string
*/
readonly name: string;
/**
* The domain name associated with the regional endpoint for this custom domain name.
*/
readonly regionalDomainName: string;
/**
* The region-specific Amazon Route 53 Hosted Zone ID of the regional endpoint.
*/
readonly regionalHostedZoneId: string;
}
/**
* properties used for creating the DomainName
*/
export interface DomainNameProps extends EndpointOptions {
/**
* The custom domain name
*/
readonly domainName: string;
/**
* The mutual TLS authentication configuration for a custom domain name.
* @default - mTLS is not configured.
*/
readonly mtls?: MTLSConfig;
}
/**
* properties for creating a domain name endpoint
*/
export interface EndpointOptions {
/**
* The ACM certificate for this domain name.
* Certificate can be both ACM issued or imported.
*/
readonly certificate: ICertificateRef;
/**
* The user-friendly name of the certificate that will be used by the endpoint for this domain name.
* @default - No friendly certificate name
*/
readonly certificateName?: string;
/**
* The type of endpoint for this DomainName.
* @default EndpointType.REGIONAL
*/
readonly endpointType?: EndpointType;
/**
* The Transport Layer Security (TLS) version + cipher suite for this domain name.
* @default SecurityPolicy.TLS_1_2
*/
readonly securityPolicy?: SecurityPolicy;
/**
* A public certificate issued by ACM to validate that you own a custom domain. This parameter is required
* only when you configure mutual TLS authentication and you specify an ACM imported or private CA certificate
* for `certificate`. The ownership certificate validates that you have permissions to use the domain name.
* @default - only required when configuring mTLS
*/
readonly ownershipCertificate?: ICertificateRef;
/**
* The IP address types that can invoke the API.
*
* @see https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-ip-address-type.html
*
* @default undefined - AWS default is IPV4
*/
readonly ipAddressType?: IpAddressType;
}
/**
* The mTLS authentication configuration for a custom domain name.
*/
export interface MTLSConfig {
/**
* The bucket that the trust store is hosted in.
*/
readonly bucket: IBucket;
/**
* The key in S3 to look at for the trust store
*/
readonly key: string;
/**
* The version of the S3 object that contains your truststore.
* To specify a version, you must have versioning enabled for the S3 bucket.
* @default - latest version
*/
readonly version?: string;
}
/**
* Custom domain resource for the API
*/
export declare class DomainName extends Resource implements IDomainName {
/**
* Uniquely identifies this class.
*/
static readonly PROPERTY_INJECTION_ID: string;
/**
* Import from attributes
*/
static fromDomainNameAttributes(scope: Construct, id: string, attrs: DomainNameAttributes): IDomainName;
readonly name: string;
private readonly domainNameConfigurations;
private readonly resource;
constructor(scope: Construct, id: string, props: DomainNameProps);
private configureMTLS;
/**
* Adds an endpoint to a domain name.
* @param options domain name endpoint properties to be set
*/
addEndpoint(options: EndpointOptions): void;
private validateEndpointType;
get regionalDomainName(): string;
get regionalHostedZoneId(): string;
private get domainNameArn();
get domainNameRef(): DomainNameReference;
}

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,8 @@
export * from './access-log';
export * from './api';
export * from './integration';
export * from './route';
export * from './stage';
export * from './domain-name';
export * from './api-mapping';
export * from './authorizer';

View File

@@ -0,0 +1 @@
"use strict";var __createBinding=exports&&exports.__createBinding||(Object.create?(function(o,m,k,k2){k2===void 0&&(k2=k);var desc=Object.getOwnPropertyDescriptor(m,k);(!desc||("get"in desc?!m.__esModule:desc.writable||desc.configurable))&&(desc={enumerable:!0,get:function(){return m[k]}}),Object.defineProperty(o,k2,desc)}):(function(o,m,k,k2){k2===void 0&&(k2=k),o[k2]=m[k]})),__exportStar=exports&&exports.__exportStar||function(m,exports2){for(var p in m)p!=="default"&&!Object.prototype.hasOwnProperty.call(exports2,p)&&__createBinding(exports2,m,p)};Object.defineProperty(exports,"__esModule",{value:!0});var _noFold;exports.LogGroupLogDestination=void 0,Object.defineProperty(exports,_noFold="LogGroupLogDestination",{enumerable:!0,configurable:!0,get:()=>{var value=require("./access-log").LogGroupLogDestination;return Object.defineProperty(exports,_noFold="LogGroupLogDestination",{enumerable:!0,configurable:!0,value}),value}}),exports.IpAddressType=void 0,Object.defineProperty(exports,_noFold="IpAddressType",{enumerable:!0,configurable:!0,get:()=>{var value=require("./api").IpAddressType;return Object.defineProperty(exports,_noFold="IpAddressType",{enumerable:!0,configurable:!0,value}),value}}),exports.SecurityPolicy=void 0,Object.defineProperty(exports,_noFold="SecurityPolicy",{enumerable:!0,configurable:!0,get:()=>{var value=require("./domain-name").SecurityPolicy;return Object.defineProperty(exports,_noFold="SecurityPolicy",{enumerable:!0,configurable:!0,value}),value}}),exports.EndpointType=void 0,Object.defineProperty(exports,_noFold="EndpointType",{enumerable:!0,configurable:!0,get:()=>{var value=require("./domain-name").EndpointType;return Object.defineProperty(exports,_noFold="EndpointType",{enumerable:!0,configurable:!0,value}),value}}),exports.DomainName=void 0,Object.defineProperty(exports,_noFold="DomainName",{enumerable:!0,configurable:!0,get:()=>{var value=require("./domain-name").DomainName;return Object.defineProperty(exports,_noFold="DomainName",{enumerable:!0,configurable:!0,value}),value}}),exports.ApiMapping=void 0,Object.defineProperty(exports,_noFold="ApiMapping",{enumerable:!0,configurable:!0,get:()=>{var value=require("./api-mapping").ApiMapping;return Object.defineProperty(exports,_noFold="ApiMapping",{enumerable:!0,configurable:!0,value}),value}});

View File

@@ -0,0 +1,12 @@
import type { IResource } from '../../../core';
import type { IIntegrationRef } from '../apigatewayv2.generated';
/**
* Represents an integration to an API Route.
*/
export interface IIntegration extends IResource, IIntegrationRef {
/**
* Id of the integration.
* @attribute
*/
readonly integrationId: string;
}

View File

@@ -0,0 +1 @@
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});

View File

@@ -0,0 +1,12 @@
import type { IResource } from '../../../core';
import type { IRouteRef } from '../apigatewayv2.generated';
/**
* Represents a route.
*/
export interface IRoute extends IResource, IRouteRef {
/**
* Id of the Route
* @attribute
*/
readonly routeId: string;
}

View File

@@ -0,0 +1 @@
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});

View File

@@ -0,0 +1,146 @@
import type { IAccessLogDestination } from './access-log';
import type { AccessLogFormat } from '../../../aws-apigateway/lib';
import type { Metric, MetricOptions } from '../../../aws-cloudwatch';
import type { IResource } from '../../../core';
import type { IDomainNameRef, IStageRef } from '../apigatewayv2.generated';
/**
* Represents a Stage.
*/
export interface IStage extends IResource, IStageRef {
/**
* The name of the stage; its primary identifier.
* @attribute
*/
readonly stageName: string;
/**
* The URL to this stage.
*/
readonly url: string;
/**
* Return the given named metric for this HTTP Api Gateway Stage
*
* @default - average over 5 minutes
*/
metric(metricName: string, props?: MetricOptions): Metric;
/**
* Adds a stage variable to this stage.
*
* @param name The name of the stage variable.
* @param value The value of the stage variable.
*
* The allowed characters for variable names and the required pattern for variable values are specified here: https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-apigateway-stage.html#cfn-apigateway-stage-variables
*/
addStageVariable(name: string, value: string): void;
}
/**
* Options for DomainMapping
*/
export interface DomainMappingOptions {
/**
* The domain name for the mapping
*
*/
readonly domainName: IDomainNameRef;
/**
* The API mapping key. Leave it undefined for the root path mapping.
* @default - empty key for the root path mapping
*/
readonly mappingKey?: string;
}
/**
* Options required to create a new stage.
* Options that are common between HTTP and Websocket APIs.
*/
export interface StageOptions {
/**
* Whether updates to an API automatically trigger a new deployment.
* @default false
*/
readonly autoDeploy?: boolean;
/**
* The options for custom domain and api mapping
*
* @default - no custom domain and api mapping configuration
*/
readonly domainMapping?: DomainMappingOptions;
/**
* Throttle settings for the routes of this stage
*
* @default - no throttling configuration
*/
readonly throttle?: ThrottleSettings;
/**
* The description for the API stage
*
* @default - no description
*/
readonly description?: string;
/**
* Specifies whether detailed metrics are enabled.
*
* @default false
*/
readonly detailedMetricsEnabled?: boolean;
/**
* Settings for access logging.
*
* @default - No access logging
*/
readonly accessLogSettings?: IAccessLogSettings;
/**
* Stage variables for the stage.
* These are key-value pairs that you can define and use in your API routes.
*
* The allowed characters for variable names and the required pattern for variable values are specified here: https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-apigateway-stage.html#cfn-apigateway-stage-variables
*
* @default - No stage variables
*/
readonly stageVariables?: {
[key: string]: string;
};
}
/**
* The attributes used to import existing Stage
*/
export interface StageAttributes {
/**
* The name of the stage
*/
readonly stageName: string;
}
/**
* Container for defining throttling parameters to API stages
*/
export interface ThrottleSettings {
/**
* The API request steady-state rate limit (average requests per second over an extended period of time)
* @default none
*/
readonly rateLimit?: number;
/**
* The maximum API request rate limit over a time ranging from one to a few seconds.
* @default none
*/
readonly burstLimit?: number;
}
/**
* Settings for access logging.
*/
export interface IAccessLogSettings {
/**
* The destination where to write access logs.
*
* @default - No destination
*/
readonly destination: IAccessLogDestination;
/**
* A single line format of access logs of data, as specified by selected $context variables.
* The format must include either `AccessLogFormat.contextRequestId()`
* or `AccessLogFormat.contextExtendedRequestId()`.
*
* @see https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-logging-variables.html
*
* @default - Common Log Format
*/
readonly format?: AccessLogFormat;
}

View File

@@ -0,0 +1 @@
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});