@bitblit/ratchet-aws 4.0.1-alpha
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/batch/aws-batch-background-processor.d.ts +8 -0
- package/lib/batch/aws-batch-background-processor.spec.d.ts +1 -0
- package/lib/batch/aws-batch-ratchet.d.ts +13 -0
- package/lib/batch/aws-batch-ratchet.spec.d.ts +1 -0
- package/lib/build/ratchet-aws-info.d.ts +5 -0
- package/lib/cache/dynamo-db-storage-provider.d.ts +25 -0
- package/lib/cache/s3-storage-provider.d.ts +14 -0
- package/lib/cache/simple-cache-object-wrapper.d.ts +7 -0
- package/lib/cache/simple-cache-read-options.d.ts +5 -0
- package/lib/cache/simple-cache-storage-provider.d.ts +8 -0
- package/lib/cache/simple-cache.d.ts +14 -0
- package/lib/cache/simple-cache.spec.d.ts +1 -0
- package/lib/cloudwatch/cloud-watch-log-group-ratchet.d.ts +10 -0
- package/lib/cloudwatch/cloud-watch-log-group-ratchet.spec.d.ts +1 -0
- package/lib/cloudwatch/cloud-watch-logs-ratchet.d.ts +15 -0
- package/lib/cloudwatch/cloud-watch-logs-ratchet.spec.d.ts +1 -0
- package/lib/cloudwatch/cloud-watch-metrics-ratchet.d.ts +11 -0
- package/lib/cloudwatch/cloud-watch-metrics-ratchet.spec.d.ts +1 -0
- package/lib/daemon/daemon-like.d.ts +17 -0
- package/lib/daemon/daemon-process-create-options.d.ts +7 -0
- package/lib/daemon/daemon-process-state-public-token.d.ts +4 -0
- package/lib/daemon/daemon-process-state.d.ts +13 -0
- package/lib/daemon/daemon-util.d.ts +18 -0
- package/lib/daemon/daemon-util.spec.d.ts +4 -0
- package/lib/daemon/daemon.d.ts +33 -0
- package/lib/dao/prototype-dao-config.d.ts +8 -0
- package/lib/dao/prototype-dao-db.d.ts +4 -0
- package/lib/dao/prototype-dao-provider.d.ts +5 -0
- package/lib/dao/prototype-dao.d.ts +15 -0
- package/lib/dao/prototype-dao.spec.d.ts +8 -0
- package/lib/dao/s3-prototype-dao-provider.d.ts +10 -0
- package/lib/dao/s3-simple-dao.d.ts +15 -0
- package/lib/dao/simple-dao-item.d.ts +5 -0
- package/lib/dynamodb/dynamo-ratchet-like.d.ts +27 -0
- package/lib/dynamodb/dynamo-ratchet.d.ts +37 -0
- package/lib/dynamodb/dynamo-ratchet.spec.d.ts +1 -0
- package/lib/dynamodb/dynamo-table-ratchet.d.ts +11 -0
- package/lib/dynamodb/hash-spreader.d.ts +15 -0
- package/lib/dynamodb/hash-spreader.spec.d.ts +1 -0
- package/lib/ec2/ec2-ratchet.d.ts +16 -0
- package/lib/ec2/ec2-ratchet.spec.d.ts +1 -0
- package/lib/environment/cascade-environment-service-provider.d.ts +6 -0
- package/lib/environment/env-var-environment-service-provider.d.ts +6 -0
- package/lib/environment/environment-service-config.d.ts +4 -0
- package/lib/environment/environment-service-provider.d.ts +3 -0
- package/lib/environment/environment-service.d.ts +11 -0
- package/lib/environment/environment-service.spec.d.ts +1 -0
- package/lib/environment/fixed-environment-service-provider.d.ts +7 -0
- package/lib/environment/s3-environment-service-provider.d.ts +15 -0
- package/lib/environment/ssm-environment-service-provider.d.ts +8 -0
- package/lib/expiring-code/dynamo-expiring-code-provider.d.ts +12 -0
- package/lib/expiring-code/expiring-code-params.d.ts +7 -0
- package/lib/expiring-code/expiring-code-provider.d.ts +5 -0
- package/lib/expiring-code/expiring-code-ratchet.d.ts +10 -0
- package/lib/expiring-code/expiring-code-ratchet.spec.d.ts +1 -0
- package/lib/expiring-code/expiring-code.d.ts +6 -0
- package/lib/expiring-code/s3-expiring-code-provider.d.ts +17 -0
- package/lib/expiring-code/s3-expiring-code-provider.spec.d.ts +1 -0
- package/lib/iam/aws-credentials-ratchet.d.ts +4 -0
- package/lib/index.d.ts +78 -0
- package/lib/index.mjs +11 -0
- package/lib/index.mjs.map +1 -0
- package/lib/lambda/lambda-event-detector.d.ts +14 -0
- package/lib/lambda/lambda-event-type-guards.d.ts +10 -0
- package/lib/model/cloud-watch-metrics-minute-level-dynamo-count-request.d.ts +12 -0
- package/lib/model/cloud-watch-metrics-unit.d.ts +29 -0
- package/lib/model/dynamo/doc-put-item-command-input.d.ts +4 -0
- package/lib/model/dynamo/doc-query-command-input.d.ts +5 -0
- package/lib/model/dynamo/doc-scan-command-input.d.ts +5 -0
- package/lib/model/dynamo/doc-update-item-command-input.d.ts +5 -0
- package/lib/model/dynamo-count-result.d.ts +5 -0
- package/lib/route53/route-53-ratchet.d.ts +8 -0
- package/lib/runtime-parameter/cached-stored-runtime-parameter.d.ts +4 -0
- package/lib/runtime-parameter/dynamo-runtime-parameter-provider.d.ts +11 -0
- package/lib/runtime-parameter/dynamo-runtime-parameter-provider.spec.d.ts +1 -0
- package/lib/runtime-parameter/global-variable-override-runtime-parameter-provider.d.ts +17 -0
- package/lib/runtime-parameter/global-variable-override-runtime-parameter-provider.spec.d.ts +1 -0
- package/lib/runtime-parameter/memory-runtime-parameter-provider.d.ts +9 -0
- package/lib/runtime-parameter/runtime-parameter-provider.d.ts +6 -0
- package/lib/runtime-parameter/runtime-parameter-ratchet.d.ts +15 -0
- package/lib/runtime-parameter/runtime-parameter-ratchet.spec.d.ts +1 -0
- package/lib/runtime-parameter/stored-runtime-parameter.d.ts +6 -0
- package/lib/s3/s3-cache-ratchet.d.ts +38 -0
- package/lib/s3/s3-cache-ratchet.spec.d.ts +1 -0
- package/lib/s3/s3-cache-to-local-disk-ratchet.d.ts +18 -0
- package/lib/s3/s3-cache-to-local-dist-ratchet.spec.d.ts +1 -0
- package/lib/s3/s3-location-sync-ratchet.d.ts +21 -0
- package/lib/s3/s3-ratchet.d.ts +5 -0
- package/lib/s3/s3-ratchet.spec.d.ts +1 -0
- package/lib/ses/email-attachment.d.ts +5 -0
- package/lib/ses/mailer-config.d.ts +12 -0
- package/lib/ses/mailer-like.d.ts +11 -0
- package/lib/ses/mailer.d.ts +20 -0
- package/lib/ses/mailer.spec.d.ts +1 -0
- package/lib/ses/ratchet-template-renderer.d.ts +4 -0
- package/lib/ses/ready-to-send-email.d.ts +13 -0
- package/lib/ses/remote-handlebars-template-renderer.d.ts +13 -0
- package/lib/ses/resolved-ready-to-send-email.d.ts +5 -0
- package/lib/sns/sns-ratchet.d.ts +9 -0
- package/lib/sns/sns-ratchet.spec.d.ts +1 -0
- package/lib/sync-lock/dynamo-db-sync-lock.d.ts +10 -0
- package/lib/sync-lock/dynamo-db-sync-lock.spec.d.ts +1 -0
- package/lib/sync-lock/memory-sync-lock.d.ts +8 -0
- package/lib/sync-lock/sync-lock-provider.d.ts +5 -0
- package/package.json +93 -0
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { SubmitJobCommandOutput } from '@aws-sdk/client-batch';
|
|
2
|
+
import { AwsBatchRatchet } from './aws-batch-ratchet.js';
|
|
3
|
+
export declare class AwsBatchBackgroundProcessor {
|
|
4
|
+
private batchRatchet;
|
|
5
|
+
private validTaskNames?;
|
|
6
|
+
constructor(batchRatchet: AwsBatchRatchet, validTaskNames?: string[]);
|
|
7
|
+
scheduleBackgroundTask(taskName: string, data?: Record<string, any>, meta?: Record<string, any>): Promise<SubmitJobCommandOutput>;
|
|
8
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { BatchClient, JobStatus, JobSummary, SubmitJobCommandInput, SubmitJobCommandOutput } from '@aws-sdk/client-batch';
|
|
2
|
+
export declare class AwsBatchRatchet {
|
|
3
|
+
private _batchClient;
|
|
4
|
+
private _defaultQueueName?;
|
|
5
|
+
private _defaultJobDefinition?;
|
|
6
|
+
constructor(_batchClient: BatchClient, _defaultQueueName?: string, _defaultJobDefinition?: string);
|
|
7
|
+
get batchClient(): BatchClient;
|
|
8
|
+
get defaultQueueName(): string;
|
|
9
|
+
get defaultJobDefinition(): string;
|
|
10
|
+
scheduleJob(options: SubmitJobCommandInput): Promise<SubmitJobCommandOutput>;
|
|
11
|
+
jobCountInState(jobStatus: JobStatus, queueName?: string): Promise<number>;
|
|
12
|
+
listJobs(queueName?: string, jobStatus?: JobStatus): Promise<JobSummary[]>;
|
|
13
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { SimpleCacheObjectWrapper } from './simple-cache-object-wrapper.js';
|
|
2
|
+
import { SimpleCacheStorageProvider } from './simple-cache-storage-provider.js';
|
|
3
|
+
import { DynamoRatchet } from '../dynamodb/dynamo-ratchet.js';
|
|
4
|
+
export declare class DynamoDbStorageProvider implements SimpleCacheStorageProvider {
|
|
5
|
+
private dynamo;
|
|
6
|
+
private opts;
|
|
7
|
+
constructor(dynamo: DynamoRatchet, opts: DynamoDbSimpleCacheOptions);
|
|
8
|
+
static createDefaultOptions(): DynamoDbSimpleCacheOptions;
|
|
9
|
+
createKeyObject(cacheKey: string): any;
|
|
10
|
+
cleanDynamoFieldsFromObjectInPlace(rval: any): void;
|
|
11
|
+
extractKeysFromObject(rval: SimpleCacheObjectWrapper<any>): any;
|
|
12
|
+
readFromCache<T>(cacheKey: string): Promise<SimpleCacheObjectWrapper<T>>;
|
|
13
|
+
storeInCache<T>(value: SimpleCacheObjectWrapper<T>): Promise<boolean>;
|
|
14
|
+
removeFromCache(cacheKey: string): Promise<void>;
|
|
15
|
+
clearCache(): Promise<number>;
|
|
16
|
+
readAll(): Promise<SimpleCacheObjectWrapper<any>[]>;
|
|
17
|
+
}
|
|
18
|
+
export interface DynamoDbSimpleCacheOptions {
|
|
19
|
+
tableName: string;
|
|
20
|
+
useRangeKeys: boolean;
|
|
21
|
+
hashKeyName: string;
|
|
22
|
+
rangeKeyName?: string;
|
|
23
|
+
hashKeyValue?: string;
|
|
24
|
+
dynamoExpiresColumnName?: string;
|
|
25
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { SimpleCacheObjectWrapper } from './simple-cache-object-wrapper.js';
|
|
2
|
+
import { SimpleCacheStorageProvider } from './simple-cache-storage-provider.js';
|
|
3
|
+
import { S3CacheRatchet } from '../s3/s3-cache-ratchet.js';
|
|
4
|
+
export declare class S3StorageProvider implements SimpleCacheStorageProvider {
|
|
5
|
+
private s3CacheRatchet;
|
|
6
|
+
private prefix;
|
|
7
|
+
constructor(s3CacheRatchet: S3CacheRatchet, prefix: string);
|
|
8
|
+
keyToPath(cacheKey: string): string;
|
|
9
|
+
readFromCache<T>(cacheKey: string): Promise<SimpleCacheObjectWrapper<T>>;
|
|
10
|
+
storeInCache<T>(value: SimpleCacheObjectWrapper<T>): Promise<boolean>;
|
|
11
|
+
removeFromCache(cacheKey: string): Promise<void>;
|
|
12
|
+
clearCache(): Promise<number>;
|
|
13
|
+
readAll(): Promise<SimpleCacheObjectWrapper<any>[]>;
|
|
14
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { SimpleCacheObjectWrapper } from './simple-cache-object-wrapper.js';
|
|
2
|
+
export interface SimpleCacheStorageProvider {
|
|
3
|
+
readFromCache<T>(cacheKey: string): Promise<SimpleCacheObjectWrapper<T>>;
|
|
4
|
+
storeInCache<T>(value: SimpleCacheObjectWrapper<T>): Promise<boolean>;
|
|
5
|
+
removeFromCache(cacheKey: string): Promise<void>;
|
|
6
|
+
clearCache(): Promise<number>;
|
|
7
|
+
readAll(): Promise<SimpleCacheObjectWrapper<any>[]>;
|
|
8
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { SimpleCacheStorageProvider } from './simple-cache-storage-provider.js';
|
|
2
|
+
import { SimpleCacheObjectWrapper } from './simple-cache-object-wrapper.js';
|
|
3
|
+
import { SimpleCacheReadOptions } from './simple-cache-read-options.js';
|
|
4
|
+
export declare class SimpleCache {
|
|
5
|
+
private provider;
|
|
6
|
+
private defaultTimeToLiveMS;
|
|
7
|
+
constructor(provider: SimpleCacheStorageProvider, defaultTimeToLiveMS?: number);
|
|
8
|
+
createDefaultReadOptions(): SimpleCacheReadOptions;
|
|
9
|
+
fetchWrapper<T>(cacheKey: string, producer: () => Promise<T>, opts?: SimpleCacheReadOptions): Promise<SimpleCacheObjectWrapper<T>>;
|
|
10
|
+
fetch<T>(cacheKey: string, producer: () => Promise<T>, opts?: SimpleCacheReadOptions): Promise<T>;
|
|
11
|
+
removeFromCache<T>(cacheKey: string, returnOldValue?: boolean): Promise<SimpleCacheObjectWrapper<T>>;
|
|
12
|
+
clearCache(): Promise<number>;
|
|
13
|
+
readAll(): Promise<SimpleCacheObjectWrapper<any>[]>;
|
|
14
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { CloudWatchLogsClient, FilteredLogEvent, LogStream } from '@aws-sdk/client-cloudwatch-logs';
|
|
2
|
+
export declare class CloudWatchLogGroupRatchet {
|
|
3
|
+
private logGroup;
|
|
4
|
+
private awsCWLogs;
|
|
5
|
+
constructor(logGroup: string, awsCWLogs?: CloudWatchLogsClient);
|
|
6
|
+
get cloudWatchLogsClient(): CloudWatchLogsClient;
|
|
7
|
+
readLogStreams(startTimestamp?: number, endTimestamp?: number): Promise<LogStream[]>;
|
|
8
|
+
readLogStreamNames(startTimestamp?: number, endTimestamp?: number): Promise<string[]>;
|
|
9
|
+
readEvents(filter: string, startTimestamp?: number, endTimestamp?: number, sortEvents?: boolean, maxEvents?: number): Promise<FilteredLogEvent[]>;
|
|
10
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { CloudWatchLogsClient, GetQueryResultsCommandOutput, LogGroup, LogStream, StartQueryCommandInput, StopQueryCommandOutput } from '@aws-sdk/client-cloudwatch-logs';
|
|
2
|
+
export declare class CloudWatchLogsRatchet {
|
|
3
|
+
private static readonly MAX_DELETE_RETRIES;
|
|
4
|
+
private cwLogs;
|
|
5
|
+
constructor(cloudwatchLogs?: CloudWatchLogsClient);
|
|
6
|
+
get cloudWatchLogsClient(): CloudWatchLogsClient;
|
|
7
|
+
removeEmptyOrOldLogStreams(logGroupName: string, maxToRemove?: number, oldestEventEpochMS?: number): Promise<LogStream[]>;
|
|
8
|
+
findOldestEventTimestampInGroup(logGroupName: string): Promise<number>;
|
|
9
|
+
findStreamWithOldestEventInGroup(logGroupName: string): Promise<LogStream>;
|
|
10
|
+
findLogGroups(prefix: string): Promise<LogGroup[]>;
|
|
11
|
+
removeLogGroups(groups: LogGroup[]): Promise<boolean[]>;
|
|
12
|
+
removeLogGroupsWithPrefix(prefix: string): Promise<boolean[]>;
|
|
13
|
+
fullyExecuteInsightsQuery(sqr: StartQueryCommandInput): Promise<GetQueryResultsCommandOutput>;
|
|
14
|
+
abortInsightsQuery(queryId: string): Promise<StopQueryCommandOutput>;
|
|
15
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { CloudWatchClient } from '@aws-sdk/client-cloudwatch';
|
|
2
|
+
import { KeyValue } from '@bitblit/ratchet-common';
|
|
3
|
+
import { CloudWatchMetricsUnit } from '../model/cloud-watch-metrics-unit.js';
|
|
4
|
+
import { CloudWatchMetricsMinuteLevelDynamoCountRequest } from '../model/cloud-watch-metrics-minute-level-dynamo-count-request.js';
|
|
5
|
+
export declare class CloudWatchMetricsRatchet {
|
|
6
|
+
private cw;
|
|
7
|
+
constructor(cloudWatch?: CloudWatchClient);
|
|
8
|
+
get cloudWatchClient(): CloudWatchClient;
|
|
9
|
+
writeSingleMetric(namespace: string, metric: string, dims: KeyValue[], unit: CloudWatchMetricsUnit, value: number, timestampDate?: Date, highResolution?: boolean): Promise<any>;
|
|
10
|
+
writeDynamoCountAsMinuteLevelMetric(req: CloudWatchMetricsMinuteLevelDynamoCountRequest): Promise<number>;
|
|
11
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
import { DaemonProcessState } from './daemon-process-state.js';
|
|
3
|
+
import { DaemonProcessCreateOptions } from './daemon-process-create-options.js';
|
|
4
|
+
export interface DaemonLike {
|
|
5
|
+
get defaultGroup(): string;
|
|
6
|
+
keyToPublicToken(key: string, expirationSeconds: number): Promise<string>;
|
|
7
|
+
start(options: DaemonProcessCreateOptions): Promise<DaemonProcessState>;
|
|
8
|
+
clean(group?: string, olderThanSeconds?: number): Promise<DaemonProcessState[]>;
|
|
9
|
+
listKeys(group?: string): Promise<string[]>;
|
|
10
|
+
list(group?: string): Promise<DaemonProcessState[]>;
|
|
11
|
+
updateMessage(id: string, newMessage: string): Promise<DaemonProcessState>;
|
|
12
|
+
statFromPublicToken(publicToken: string): Promise<DaemonProcessState>;
|
|
13
|
+
stat(key: string): Promise<DaemonProcessState>;
|
|
14
|
+
abort(id: string): Promise<DaemonProcessState>;
|
|
15
|
+
error(id: string, error: string): Promise<DaemonProcessState>;
|
|
16
|
+
finalize(id: string, contents: Buffer): Promise<DaemonProcessState>;
|
|
17
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export interface DaemonProcessState {
|
|
2
|
+
id: string;
|
|
3
|
+
title: string;
|
|
4
|
+
targetFileName: string;
|
|
5
|
+
lastUpdatedEpochMS: number;
|
|
6
|
+
lastUpdatedMessage: string;
|
|
7
|
+
startedEpochMS: number;
|
|
8
|
+
completedEpochMS: number;
|
|
9
|
+
meta: any;
|
|
10
|
+
error: string;
|
|
11
|
+
link: string;
|
|
12
|
+
contentType: string;
|
|
13
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
/// <reference types="node" />
|
|
3
|
+
import { DaemonProcessState } from './daemon-process-state.js';
|
|
4
|
+
import { S3CacheRatchet } from '../s3/s3-cache-ratchet.js';
|
|
5
|
+
import { DaemonProcessCreateOptions } from './daemon-process-create-options.js';
|
|
6
|
+
import { Readable } from 'stream';
|
|
7
|
+
export declare class DaemonUtil {
|
|
8
|
+
static DEFAULT_CONTENT: Buffer;
|
|
9
|
+
static DAEMON_METADATA_KEY: string;
|
|
10
|
+
static start(cache: S3CacheRatchet, id: string, s3Key: string, options: DaemonProcessCreateOptions): Promise<DaemonProcessState>;
|
|
11
|
+
static writeState(cache: S3CacheRatchet, s3Key: string, newState: DaemonProcessState, contents: Buffer): Promise<DaemonProcessState>;
|
|
12
|
+
static streamDataAndFinish(cache: S3CacheRatchet, s3Key: string, data: Readable): Promise<DaemonProcessState>;
|
|
13
|
+
static updateMessage(cache: S3CacheRatchet, s3Key: string, newMessage: string): Promise<DaemonProcessState>;
|
|
14
|
+
static stat(s3Cache: S3CacheRatchet, path: string): Promise<DaemonProcessState>;
|
|
15
|
+
static abort(s3Cache: S3CacheRatchet, path: string): Promise<DaemonProcessState>;
|
|
16
|
+
static error(s3Cache: S3CacheRatchet, path: string, error: string): Promise<DaemonProcessState>;
|
|
17
|
+
static finalize(s3Cache: S3CacheRatchet, path: string, contents: Buffer): Promise<DaemonProcessState>;
|
|
18
|
+
}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
import { JwtRatchetLike } from '@bitblit/ratchet-common';
|
|
3
|
+
import { DaemonProcessState } from './daemon-process-state.js';
|
|
4
|
+
import { DaemonProcessCreateOptions } from './daemon-process-create-options.js';
|
|
5
|
+
import { DaemonLike } from './daemon-like.js';
|
|
6
|
+
import { S3Client } from '@aws-sdk/client-s3';
|
|
7
|
+
export declare class Daemon implements DaemonLike {
|
|
8
|
+
private s3;
|
|
9
|
+
private bucket;
|
|
10
|
+
private prefix;
|
|
11
|
+
private _defaultGroup;
|
|
12
|
+
private jwtRatchet?;
|
|
13
|
+
static DEFAULT_DEFAULT_GROUP: string;
|
|
14
|
+
private cache;
|
|
15
|
+
constructor(s3: S3Client, bucket: string, prefix?: string, _defaultGroup?: string, jwtRatchet?: JwtRatchetLike);
|
|
16
|
+
get defaultGroup(): string;
|
|
17
|
+
keyToPublicToken(key: string, expirationSeconds: number): Promise<string>;
|
|
18
|
+
private keyToPath;
|
|
19
|
+
private pathToKey;
|
|
20
|
+
private generatePath;
|
|
21
|
+
private generatePrefix;
|
|
22
|
+
start(options: DaemonProcessCreateOptions): Promise<DaemonProcessState>;
|
|
23
|
+
private writeState;
|
|
24
|
+
clean(group?: string, olderThanSeconds?: number): Promise<DaemonProcessState[]>;
|
|
25
|
+
listKeys(group?: string): Promise<string[]>;
|
|
26
|
+
list(group?: string): Promise<DaemonProcessState[]>;
|
|
27
|
+
updateMessage(id: string, newMessage: string): Promise<DaemonProcessState>;
|
|
28
|
+
stat(key: string): Promise<DaemonProcessState>;
|
|
29
|
+
statFromPublicToken(publicToken: string): Promise<DaemonProcessState>;
|
|
30
|
+
abort(id: string): Promise<DaemonProcessState>;
|
|
31
|
+
error(id: string, error: string): Promise<DaemonProcessState>;
|
|
32
|
+
finalize(id: string, contents: Buffer): Promise<DaemonProcessState>;
|
|
33
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { PrototypeDaoProvider } from './prototype-dao-provider.js';
|
|
2
|
+
import { PrototypeDaoConfig } from './prototype-dao-config.js';
|
|
3
|
+
export declare class PrototypeDao<T> {
|
|
4
|
+
private provider;
|
|
5
|
+
private cfg;
|
|
6
|
+
static defaultDaoConfig(): PrototypeDaoConfig;
|
|
7
|
+
constructor(provider: PrototypeDaoProvider<T>, cfg?: PrototypeDaoConfig);
|
|
8
|
+
fetchAll(): Promise<T[]>;
|
|
9
|
+
resetDatabase(): Promise<void>;
|
|
10
|
+
removeItems(guids: string[]): Promise<T[]>;
|
|
11
|
+
store(value: T): Promise<T>;
|
|
12
|
+
fetchById(guid: string): Promise<T>;
|
|
13
|
+
searchByField<R>(fieldDotPath: string, fieldValue: R): Promise<T[]>;
|
|
14
|
+
searchByFieldMap(input: Record<string, any>): Promise<T[]>;
|
|
15
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { S3CacheRatchet } from '../s3/s3-cache-ratchet.js';
|
|
2
|
+
import { PrototypeDaoProvider } from './prototype-dao-provider.js';
|
|
3
|
+
import { PrototypeDaoDb } from './prototype-dao-db.js';
|
|
4
|
+
export declare class S3PrototypeDaoProvider<T> implements PrototypeDaoProvider<T> {
|
|
5
|
+
private s3CacheRatchet;
|
|
6
|
+
private keyName;
|
|
7
|
+
constructor(s3CacheRatchet: S3CacheRatchet, keyName: string);
|
|
8
|
+
storeDatabase(inDb: PrototypeDaoDb<T>): Promise<boolean>;
|
|
9
|
+
loadDatabase(): Promise<PrototypeDaoDb<T>>;
|
|
10
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { S3CacheRatchet } from '../s3/s3-cache-ratchet.js';
|
|
2
|
+
import { SimpleDaoItem } from './simple-dao-item.js';
|
|
3
|
+
export declare class S3SimpleDao<T extends SimpleDaoItem> {
|
|
4
|
+
private cache;
|
|
5
|
+
private prefix?;
|
|
6
|
+
constructor(cache: S3CacheRatchet, prefix?: string);
|
|
7
|
+
buildPathPrefix(path: string): string;
|
|
8
|
+
buildFullPath(id: string, path?: string): string;
|
|
9
|
+
exists(id: string, path?: string): Promise<boolean>;
|
|
10
|
+
fetch(id: string, path?: string): Promise<T>;
|
|
11
|
+
store(item: T, path?: string): Promise<T>;
|
|
12
|
+
listItems(path?: string): Promise<string[]>;
|
|
13
|
+
fetchItemsInPath(path?: string): Promise<T[]>;
|
|
14
|
+
delete(id: string, path?: string): Promise<boolean>;
|
|
15
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { DynamoCountResult } from '../model/dynamo-count-result.js';
|
|
2
|
+
import { DynamoDBDocumentClient } from '@aws-sdk/lib-dynamodb';
|
|
3
|
+
import { DeleteItemCommandOutput, PutItemOutput } from '@aws-sdk/client-dynamodb';
|
|
4
|
+
import { DocQueryCommandInput } from '../model/dynamo/doc-query-command-input.js';
|
|
5
|
+
import { DocScanCommandInput } from '../model/dynamo/doc-scan-command-input.js';
|
|
6
|
+
export interface DynamoRatchetLike {
|
|
7
|
+
getDDB(): DynamoDBDocumentClient;
|
|
8
|
+
tableIsEmpty(tableName: string): Promise<boolean>;
|
|
9
|
+
throughputSafeScanOrQuery<T, R>(proc: (T: any) => Promise<R>, input: T, maxTries?: number, inCurrentTry?: number): Promise<R>;
|
|
10
|
+
fullyExecuteQueryCount(qry: DocQueryCommandInput, delayMS?: number): Promise<DynamoCountResult>;
|
|
11
|
+
fullyExecuteQuery<T>(qry: DocQueryCommandInput, delayMS?: number, softLimit?: number): Promise<T[]>;
|
|
12
|
+
fullyExecuteProcessOverQuery<T>(qry: DocQueryCommandInput, proc: (val: T) => Promise<void>, delayMS?: number, softLimit?: number): Promise<number>;
|
|
13
|
+
fullyExecuteScanCount(scan: DocScanCommandInput, delayMS?: number): Promise<DynamoCountResult>;
|
|
14
|
+
fullyExecuteScan<T>(scan: DocScanCommandInput, delayMS?: number, softLimit?: number): Promise<T[]>;
|
|
15
|
+
fullyExecuteProcessOverScan<T>(scan: DocScanCommandInput, proc: (val: T) => Promise<void>, delayMS?: number, softLimit?: number): Promise<number>;
|
|
16
|
+
writeAllInBatches<T>(tableName: string, elements: T[], batchSize: number): Promise<number>;
|
|
17
|
+
fetchFullObjectsMatchingKeysOnlyIndexQuery<T>(qry: DocQueryCommandInput, keyNames: string[], batchSize?: number): Promise<T[]>;
|
|
18
|
+
fetchAllInBatches<T>(tableName: string, inKeys: any[], batchSize: number): Promise<T[]>;
|
|
19
|
+
deleteAllInBatches(tableName: string, keys: any[], batchSize: number): Promise<number>;
|
|
20
|
+
simplePut(tableName: string, value: any, autoRetryCount?: number): Promise<PutItemOutput>;
|
|
21
|
+
simplePutOnlyIfFieldIsNullOrUndefined(tableName: string, value: any, fieldName: string): Promise<boolean>;
|
|
22
|
+
simplePutWithCollisionAvoidance<T>(tableName: string, value: T, keyNames: string[], adjustFunction: (val: T) => T, maxAdjusts?: number, autoRetryCount?: number): Promise<T>;
|
|
23
|
+
simpleGet<T>(tableName: string, keys: any, autoRetryCount?: number): Promise<T>;
|
|
24
|
+
simpleGetWithCounterDecrement<T>(tableName: string, keys: any, counterAttributeName: string, deleteOnZero: boolean, autoRetryCount?: number): Promise<T>;
|
|
25
|
+
simpleDelete(tableName: string, keys: any): Promise<DeleteItemCommandOutput>;
|
|
26
|
+
atomicCounter(tableName: string, keys: any, counterFieldName: string, increment?: number): Promise<number>;
|
|
27
|
+
}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { DynamoDBDocumentClient } from '@aws-sdk/lib-dynamodb';
|
|
2
|
+
import { DynamoCountResult } from '../model/dynamo-count-result.js';
|
|
3
|
+
import { DynamoRatchetLike } from './dynamo-ratchet-like.js';
|
|
4
|
+
import { DeleteItemCommandOutput, PutItemCommandOutput, QueryCommandOutput, ScanCommandOutput } from '@aws-sdk/client-dynamodb';
|
|
5
|
+
import { DocScanCommandInput } from '../model/dynamo/doc-scan-command-input.js';
|
|
6
|
+
import { DocQueryCommandInput } from '../model/dynamo/doc-query-command-input.js';
|
|
7
|
+
export declare class DynamoRatchet implements DynamoRatchetLike {
|
|
8
|
+
private awsDDB;
|
|
9
|
+
constructor(awsDDB: DynamoDBDocumentClient);
|
|
10
|
+
get dynamoDBDocumentClient(): DynamoDBDocumentClient;
|
|
11
|
+
getDDB(): DynamoDBDocumentClient;
|
|
12
|
+
tableIsEmpty(tableName: string): Promise<boolean>;
|
|
13
|
+
scanPromise(input: DocScanCommandInput): Promise<ScanCommandOutput>;
|
|
14
|
+
queryPromise(input: DocQueryCommandInput): Promise<QueryCommandOutput>;
|
|
15
|
+
throughputSafeScanOrQuery<T, R>(proc: (T: any) => Promise<R>, input: T, maxTries?: number, inCurrentTry?: number): Promise<R>;
|
|
16
|
+
fullyExecuteQueryCount(qry: DocQueryCommandInput, delayMS?: number): Promise<DynamoCountResult>;
|
|
17
|
+
fullyExecuteQuery<T>(qry: DocQueryCommandInput, delayMS?: number, softLimit?: number): Promise<T[]>;
|
|
18
|
+
fullyExecuteProcessOverQuery<T>(qry: DocQueryCommandInput, proc: (val: T) => Promise<void>, delayMS?: number, softLimit?: number): Promise<number>;
|
|
19
|
+
fullyExecuteScanCount(scan: DocScanCommandInput, delayMS?: number): Promise<DynamoCountResult>;
|
|
20
|
+
fullyExecuteScan<T>(scan: DocScanCommandInput, delayMS?: number, softLimit?: number): Promise<T[]>;
|
|
21
|
+
fullyExecuteProcessOverScan<T>(scan: DocScanCommandInput, proc: (val: T) => Promise<void>, delayMS?: number, softLimit?: number): Promise<number>;
|
|
22
|
+
writeAllInBatches<T>(tableName: string, elements: T[], batchSize: number): Promise<number>;
|
|
23
|
+
fetchFullObjectsMatchingKeysOnlyIndexQuery<T>(qry: DocQueryCommandInput, keyNames: string[], batchSize?: number): Promise<T[]>;
|
|
24
|
+
fetchAllInBatches<T>(tableName: string, inKeys: Record<string, any>[], batchSize: number): Promise<T[]>;
|
|
25
|
+
deleteAllInBatches(tableName: string, keys: Record<string, any>[], batchSize: number): Promise<number>;
|
|
26
|
+
simplePut(tableName: string, value: Record<string, any>, autoRetryCount?: number): Promise<PutItemCommandOutput>;
|
|
27
|
+
simplePutOnlyIfFieldIsNullOrUndefined(tableName: string, value: Record<string, any>, fieldName: string): Promise<boolean>;
|
|
28
|
+
simplePutWithCollisionAvoidance<T>(tableName: string, value: T, keyNames: string[], adjustFunction: (val: T) => T, maxAdjusts?: number, autoRetryCount?: number): Promise<T>;
|
|
29
|
+
simpleGet<T>(tableName: string, keys: Record<string, any>, autoRetryCount?: number): Promise<T>;
|
|
30
|
+
static objectIsErrorWithProvisionedThroughputExceededExceptionCode(err: Record<string, any>): boolean;
|
|
31
|
+
simpleGetWithCounterDecrement<T>(tableName: string, keys: Record<string, any>, counterAttributeName: string, deleteOnZero: boolean, autoRetryCount?: number): Promise<T>;
|
|
32
|
+
simpleDelete(tableName: string, keys: Record<string, any>): Promise<DeleteItemCommandOutput>;
|
|
33
|
+
atomicCounter(tableName: string, keys: Record<string, any>, counterFieldName: string, increment?: number): Promise<number>;
|
|
34
|
+
static cleanObject(ob: Record<string, any>): void;
|
|
35
|
+
static stripToKeysOnly(input: Record<string, any>, keysNames: string[]): Record<string, any>;
|
|
36
|
+
static stripAllToKeysOnly(input: Record<string, any>[], keys: string[]): Record<string, any>[];
|
|
37
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { CreateTableCommandInput, CreateTableCommandOutput, DeleteTableCommandOutput, DescribeTableCommandOutput, DynamoDBClient } from '@aws-sdk/client-dynamodb';
|
|
2
|
+
export declare class DynamoTableRatchet {
|
|
3
|
+
private awsDDB;
|
|
4
|
+
constructor(awsDDB: DynamoDBClient);
|
|
5
|
+
deleteTable(tableName: string, waitForDelete?: boolean): Promise<DeleteTableCommandOutput>;
|
|
6
|
+
createTable(input: CreateTableCommandInput, waitForReady?: boolean, replaceIfExists?: boolean): Promise<CreateTableCommandOutput>;
|
|
7
|
+
waitForTableReady(tableName: string): Promise<boolean>;
|
|
8
|
+
waitForTableDelete(tableName: string): Promise<void>;
|
|
9
|
+
tableExists(tableName: string): Promise<boolean>;
|
|
10
|
+
safeDescribeTable(tableName: string): Promise<DescribeTableCommandOutput>;
|
|
11
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export declare class HashSpreader {
|
|
2
|
+
private spots;
|
|
3
|
+
private buckets;
|
|
4
|
+
private separator;
|
|
5
|
+
private alphabet;
|
|
6
|
+
private _allSlots;
|
|
7
|
+
constructor(spots?: number, buckets?: number, separator?: string, alphabet?: string);
|
|
8
|
+
get allBuckets(): string[];
|
|
9
|
+
get randomBucket(): string;
|
|
10
|
+
allSpreadValues(input: string): string[];
|
|
11
|
+
allSpreadValuesForArray(inputs: string[]): string[];
|
|
12
|
+
addSpreader(input: string): string;
|
|
13
|
+
extractBucket(input: string): string;
|
|
14
|
+
removeBucket(input: string): string;
|
|
15
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { EC2Client, Instance } from '@aws-sdk/client-ec2';
|
|
2
|
+
import { EC2InstanceConnectClient, SendSSHPublicKeyCommandOutput } from '@aws-sdk/client-ec2-instance-connect';
|
|
3
|
+
export declare class Ec2Ratchet {
|
|
4
|
+
private region;
|
|
5
|
+
private availabilityZone;
|
|
6
|
+
private ec2;
|
|
7
|
+
private ec2InstanceConnect;
|
|
8
|
+
constructor(region?: string, availabilityZone?: string);
|
|
9
|
+
get eC2Client(): EC2Client;
|
|
10
|
+
get eC2InstanceConnectClient(): EC2InstanceConnectClient;
|
|
11
|
+
stopInstance(instanceId: string, maxWaitForShutdownMS?: number): Promise<boolean>;
|
|
12
|
+
launchInstance(instanceId: string, maxWaitForStartupMS?: number): Promise<boolean>;
|
|
13
|
+
describeInstance(instanceId: string): Promise<Instance>;
|
|
14
|
+
listAllInstances(instanceIds?: string[]): Promise<Instance[]>;
|
|
15
|
+
sendPublicKeyToEc2Instance(instanceId: string, publicKeyString: string, instanceOsUser?: string): Promise<SendSSHPublicKeyCommandOutput>;
|
|
16
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { EnvironmentServiceProvider } from './environment-service-provider.js';
|
|
2
|
+
export declare class CascadeEnvironmentServiceProvider<T> implements EnvironmentServiceProvider<T> {
|
|
3
|
+
private providers;
|
|
4
|
+
constructor(providers: EnvironmentServiceProvider<T>[]);
|
|
5
|
+
fetchConfig(name: string): Promise<T>;
|
|
6
|
+
}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { EnvironmentServiceProvider } from './environment-service-provider.js';
|
|
2
|
+
export declare class EnvVarEnvironmentServiceProvider<T> implements EnvironmentServiceProvider<T> {
|
|
3
|
+
private envVarName;
|
|
4
|
+
constructor(envVarName: string);
|
|
5
|
+
fetchConfig(): Promise<T>;
|
|
6
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { EnvironmentServiceProvider } from './environment-service-provider.js';
|
|
2
|
+
import { EnvironmentServiceConfig } from './environment-service-config.js';
|
|
3
|
+
export declare class EnvironmentService<T> {
|
|
4
|
+
private provider;
|
|
5
|
+
private cfg;
|
|
6
|
+
private readPromiseCache;
|
|
7
|
+
static defaultEnvironmentServiceConfig(): EnvironmentServiceConfig;
|
|
8
|
+
constructor(provider: EnvironmentServiceProvider<T>, cfg?: EnvironmentServiceConfig);
|
|
9
|
+
getConfig(name: string): Promise<T>;
|
|
10
|
+
private getConfigUncached;
|
|
11
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { EnvironmentServiceProvider } from './environment-service-provider.js';
|
|
2
|
+
export declare class FixedEnvironmentServiceProvider<T> implements EnvironmentServiceProvider<T> {
|
|
3
|
+
private value;
|
|
4
|
+
constructor(value: Map<string, T>);
|
|
5
|
+
static fromRecord<T>(record: Record<string, T>): FixedEnvironmentServiceProvider<T>;
|
|
6
|
+
fetchConfig(name: string): Promise<T>;
|
|
7
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { EnvironmentServiceProvider } from './environment-service-provider.js';
|
|
2
|
+
import { S3Client } from '@aws-sdk/client-s3';
|
|
3
|
+
export declare class S3EnvironmentServiceProvider<T> implements EnvironmentServiceProvider<T> {
|
|
4
|
+
private cfg;
|
|
5
|
+
private ratchet;
|
|
6
|
+
constructor(cfg: S3EnvironmentServiceProviderConfig);
|
|
7
|
+
fetchConfig(name: string): Promise<T>;
|
|
8
|
+
}
|
|
9
|
+
export interface S3EnvironmentServiceProviderConfig {
|
|
10
|
+
s3Override?: S3Client;
|
|
11
|
+
bucketName: string;
|
|
12
|
+
region?: string;
|
|
13
|
+
pathPrefix?: string;
|
|
14
|
+
pathSuffix?: string;
|
|
15
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { EnvironmentServiceProvider } from './environment-service-provider.js';
|
|
2
|
+
export declare class SsmEnvironmentServiceProvider<T> implements EnvironmentServiceProvider<T> {
|
|
3
|
+
private region;
|
|
4
|
+
private ssmEncrypted;
|
|
5
|
+
private ssm;
|
|
6
|
+
constructor(region?: string, ssmEncrypted?: boolean);
|
|
7
|
+
fetchConfig(name: string): Promise<T>;
|
|
8
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { ExpiringCodeProvider } from './expiring-code-provider.js';
|
|
2
|
+
import { DynamoRatchet } from '../dynamodb/dynamo-ratchet.js';
|
|
3
|
+
import { ExpiringCode } from './expiring-code.js';
|
|
4
|
+
import { DynamoTableRatchet } from '../dynamodb/dynamo-table-ratchet.js';
|
|
5
|
+
export declare class DynamoExpiringCodeProvider implements ExpiringCodeProvider {
|
|
6
|
+
private tableName;
|
|
7
|
+
private dynamoRatchet;
|
|
8
|
+
constructor(tableName: string, dynamoRatchet: DynamoRatchet);
|
|
9
|
+
checkCode(code: string, context: string, deleteOnMatch?: boolean): Promise<boolean>;
|
|
10
|
+
storeCode(code: ExpiringCode): Promise<boolean>;
|
|
11
|
+
createTableIfMissing(dtr: DynamoTableRatchet): Promise<any>;
|
|
12
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { ExpiringCodeProvider } from './expiring-code-provider.js';
|
|
2
|
+
import { ExpiringCodeParams } from './expiring-code-params.js';
|
|
3
|
+
import { ExpiringCode } from './expiring-code.js';
|
|
4
|
+
export declare class ExpiringCodeRatchet {
|
|
5
|
+
private provider;
|
|
6
|
+
constructor(provider: ExpiringCodeProvider);
|
|
7
|
+
static generateCode(params: ExpiringCodeParams): ExpiringCode;
|
|
8
|
+
createNewCode(params: ExpiringCodeParams): Promise<ExpiringCode>;
|
|
9
|
+
checkCode(code: string, context: string, deleteOnMatch?: boolean): Promise<boolean>;
|
|
10
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|