Rocky_Mountain_Vending/.pnpm-store/v10/files/fd/0963bfbd6eef2b09e3bf720d24a326a34a63ab6a9e3c98e3bfbf398f05a1ea221c7b4311914a77bbcc450a6b4776fa114c0495b4ce562c0048b9c24fb182ab
DMleadgen 46d973904b
Initial commit: Rocky Mountain Vending website
Next.js website for Rocky Mountain Vending company featuring:
- Product catalog with Stripe integration
- Service areas and parts pages
- Admin dashboard with Clerk authentication
- SEO optimized pages with JSON-LD structured data

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-12 16:22:15 -07:00

155 lines
4.7 KiB
Text

import { Message } from "./eventStream";
import { HttpRequest } from "./http";
/**
* @public
*
* A `Date` object, a unix (epoch) timestamp in seconds, or a string that can be
* understood by the JavaScript `Date` constructor.
*/
export type DateInput = number | string | Date;
/**
* @public
*/
export interface SigningArguments {
/**
* The date and time to be used as signature metadata. This value should be
* a Date object, a unix (epoch) timestamp, or a string that can be
* understood by the JavaScript `Date` constructor.If not supplied, the
* value returned by `new Date()` will be used.
*/
signingDate?: DateInput;
/**
* The service signing name. It will override the service name of the signer
* in current invocation
*/
signingService?: string;
/**
* The region name to sign the request. It will override the signing region of the
* signer in current invocation
*/
signingRegion?: string;
}
/**
* @public
*/
export interface RequestSigningArguments extends SigningArguments {
/**
* A set of strings whose members represents headers that cannot be signed.
* All headers in the provided request will have their names converted to
* lower case and then checked for existence in the unsignableHeaders set.
*/
unsignableHeaders?: Set<string>;
/**
* A set of strings whose members represents headers that should be signed.
* Any values passed here will override those provided via unsignableHeaders,
* allowing them to be signed.
*
* All headers in the provided request will have their names converted to
* lower case before signing.
*/
signableHeaders?: Set<string>;
}
/**
* @public
*/
export interface RequestPresigningArguments extends RequestSigningArguments {
/**
* The number of seconds before the presigned URL expires
*/
expiresIn?: number;
/**
* A set of strings whose representing headers that should not be hoisted
* to presigned request's query string. If not supplied, the presigner
* moves all the AWS-specific headers (starting with `x-amz-`) to the request
* query string. If supplied, these headers remain in the presigned request's
* header.
* All headers in the provided request will have their names converted to
* lower case and then checked for existence in the unhoistableHeaders set.
*/
unhoistableHeaders?: Set<string>;
/**
* This overrides any headers with the same name(s) set by unhoistableHeaders.
* These headers will be hoisted into the query string and signed.
*/
hoistableHeaders?: Set<string>;
}
/**
* @public
*/
export interface EventSigningArguments extends SigningArguments {
priorSignature: string;
}
/**
* @public
*/
export interface RequestPresigner {
/**
* Signs a request for future use.
*
* The request will be valid until either the provided `expiration` time has
* passed or the underlying credentials have expired.
*
* @param requestToSign - The request that should be signed.
* @param options - Additional signing options.
*/
presign(requestToSign: HttpRequest, options?: RequestPresigningArguments): Promise<HttpRequest>;
}
/**
* @public
*
* An object that signs request objects with AWS credentials using one of the
* AWS authentication protocols.
*/
export interface RequestSigner {
/**
* Sign the provided request for immediate dispatch.
*/
sign(requestToSign: HttpRequest, options?: RequestSigningArguments): Promise<HttpRequest>;
}
/**
* @public
*/
export interface StringSigner {
/**
* Sign the provided `stringToSign` for use outside of the context of
* request signing. Typical uses include signed policy generation.
*/
sign(stringToSign: string, options?: SigningArguments): Promise<string>;
}
/**
* @public
*/
export interface FormattedEvent {
headers: Uint8Array;
payload: Uint8Array;
}
/**
* @public
*/
export interface EventSigner {
/**
* Sign the individual event of the event stream.
*/
sign(event: FormattedEvent, options: EventSigningArguments): Promise<string>;
}
/**
* @public
*/
export interface SignableMessage {
message: Message;
priorSignature: string;
}
/**
* @public
*/
export interface SignedMessage {
message: Message;
signature: string;
}
/**
* @public
*/
export interface MessageSigner {
signMessage(message: SignableMessage, args: SigningArguments): Promise<SignedMessage>;
sign(event: SignableMessage, options: SigningArguments): Promise<SignedMessage>;
}