@bitblit/ratchet-aws-node-only 4.0.419-alpha → 4.0.421-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.
Files changed (75) hide show
  1. package/lib/athena/alb-athena-log-ratchet.d.ts +56 -0
  2. package/lib/athena/alb-athena-log-ratchet.js +156 -0
  3. package/lib/athena/alb-athena-log-ratchet.js.map +1 -0
  4. package/lib/athena/athena-ratchet.d.ts +15 -0
  5. package/lib/athena/athena-ratchet.js +148 -0
  6. package/lib/athena/athena-ratchet.js.map +1 -0
  7. package/lib/athena/index.d.ts +2 -0
  8. package/lib/athena/index.js +3 -0
  9. package/lib/athena/index.js.map +1 -0
  10. package/lib/build/index.d.ts +1 -0
  11. package/lib/build/index.js +2 -0
  12. package/lib/build/index.js.map +1 -0
  13. package/lib/build/ratchet-aws-node-only-info.d.ts +5 -0
  14. package/lib/build/ratchet-aws-node-only-info.js +15 -0
  15. package/lib/build/ratchet-aws-node-only-info.js.map +1 -0
  16. package/lib/cli/dynamo-exporter.d.ts +12 -0
  17. package/lib/cli/dynamo-exporter.js +77 -0
  18. package/lib/cli/dynamo-exporter.js.map +1 -0
  19. package/lib/cli/index.d.ts +4 -0
  20. package/lib/cli/index.js +5 -0
  21. package/lib/cli/index.js.map +1 -0
  22. package/lib/cli/ratchet-cli-handler.d.ts +6 -0
  23. package/lib/cli/ratchet-cli-handler.js +16 -0
  24. package/lib/cli/ratchet-cli-handler.js.map +1 -0
  25. package/lib/cli/site-uploader/site-uploader.d.ts +12 -0
  26. package/lib/cli/site-uploader/site-uploader.js +116 -0
  27. package/lib/cli/site-uploader/site-uploader.js.map +1 -0
  28. package/lib/cli/start-instance-and-ssh.d.ts +13 -0
  29. package/lib/cli/start-instance-and-ssh.js +52 -0
  30. package/lib/cli/start-instance-and-ssh.js.map +1 -0
  31. package/lib/ec2/ec2-instance-util.d.ts +8 -0
  32. package/lib/ec2/ec2-instance-util.js +47 -0
  33. package/lib/ec2/ec2-instance-util.js.map +1 -0
  34. package/lib/ec2/index.d.ts +1 -0
  35. package/lib/ec2/index.js +2 -0
  36. package/lib/ec2/index.js.map +1 -0
  37. package/lib/mail/inbound/email-to-db-insert-processor.d.ts +10 -0
  38. package/lib/mail/inbound/email-to-db-insert-processor.js +90 -0
  39. package/lib/mail/inbound/email-to-db-insert-processor.js.map +1 -0
  40. package/lib/mail/inbound/inbound-email-ratchet.d.ts +9 -0
  41. package/lib/mail/inbound/inbound-email-ratchet.js +42 -0
  42. package/lib/mail/inbound/inbound-email-ratchet.js.map +1 -0
  43. package/lib/mail/inbound/parsed-email-processor.d.ts +5 -0
  44. package/lib/mail/inbound/parsed-email-processor.js +2 -0
  45. package/lib/mail/inbound/parsed-email-processor.js.map +1 -0
  46. package/lib/mail/inbound/sample-email-processor.d.ts +6 -0
  47. package/lib/mail/inbound/sample-email-processor.js +9 -0
  48. package/lib/mail/inbound/sample-email-processor.js.map +1 -0
  49. package/lib/mail/index.d.ts +4 -0
  50. package/lib/mail/index.js +5 -0
  51. package/lib/mail/index.js.map +1 -0
  52. package/lib/s3/index.d.ts +6 -0
  53. package/lib/s3/index.js +7 -0
  54. package/lib/s3/index.js.map +1 -0
  55. package/lib/s3/s3-cache-to-local-disk-ratchet.d.ts +17 -0
  56. package/lib/s3/s3-cache-to-local-disk-ratchet.js +106 -0
  57. package/lib/s3/s3-cache-to-local-disk-ratchet.js.map +1 -0
  58. package/lib/s3/s3-synced-file/s3-synced-file-config-init-mode.d.ts +4 -0
  59. package/lib/s3/s3-synced-file/s3-synced-file-config-init-mode.js +6 -0
  60. package/lib/s3/s3-synced-file/s3-synced-file-config-init-mode.js.map +1 -0
  61. package/lib/s3/s3-synced-file/s3-synced-file-config.d.ts +15 -0
  62. package/lib/s3/s3-synced-file/s3-synced-file-config.js +2 -0
  63. package/lib/s3/s3-synced-file/s3-synced-file-config.js.map +1 -0
  64. package/lib/s3/s3-synced-file/s3-synced-file-optimization.d.ts +3 -0
  65. package/lib/s3/s3-synced-file/s3-synced-file-optimization.js +5 -0
  66. package/lib/s3/s3-synced-file/s3-synced-file-optimization.js.map +1 -0
  67. package/lib/s3/s3-synced-file/s3-synced-file-remote-backup-mode.d.ts +4 -0
  68. package/lib/s3/s3-synced-file/s3-synced-file-remote-backup-mode.js +6 -0
  69. package/lib/s3/s3-synced-file/s3-synced-file-remote-backup-mode.js.map +1 -0
  70. package/lib/s3/s3-synced-file/s3-synced-file.d.ts +34 -0
  71. package/lib/s3/s3-synced-file/s3-synced-file.js +218 -0
  72. package/lib/s3/s3-synced-file/s3-synced-file.js.map +1 -0
  73. package/package.json +72 -15
  74. package/lib/index.mjs +0 -2
  75. package/lib/types.d.ts +0 -231
package/lib/types.d.ts DELETED
@@ -1,231 +0,0 @@
1
- import fs, { ReadStream, WriteStream } from 'fs';
2
- import { AthenaClient, Row, NamedQuery } from '@aws-sdk/client-athena';
3
- import { S3Client, HeadObjectCommandOutput } from '@aws-sdk/client-s3';
4
- import { BuildInformation, RemoteFileSyncLike, RemoteStatusData, FileTransferResult, BackupResult } from '@bitblit/ratchet-common';
5
- import { DynamoRatchet, Ec2Ratchet, S3CacheRatchet, S3CacheRatchetLike } from '@bitblit/ratchet-aws';
6
- import { ScanCommandInput, QueryCommandInput } from '@aws-sdk/lib-dynamodb';
7
- import { AbstractRatchetCliHandler } from '@bitblit/ratchet-node-only';
8
- import { Instance } from '@aws-sdk/client-ec2';
9
- import { ParsedMail } from 'mailparser';
10
-
11
- declare class AthenaRatchet {
12
- private athena;
13
- private s3;
14
- private outputLocation;
15
- constructor(athena: AthenaClient, s3: S3Client, outputLocation: string);
16
- static athenaRowsToObject<T>(input: Row[]): T[];
17
- fetchQueryIds(): Promise<string[]>;
18
- listQueries(): Promise<NamedQuery[]>;
19
- findQueryByName(name: string): Promise<NamedQuery>;
20
- runQueryToObjects<T>(queryIn: string, queryParams?: any, pingTimeMS?: number): Promise<T[]>;
21
- runQueryToFile(queryIn: string, queryParams?: any, targetDataFileIn?: string, pingTimeMS?: number): Promise<string>;
22
- private runQueryToOutputLocation;
23
- }
24
-
25
- declare class AlbAthenaLogRatchet {
26
- private athena;
27
- private athenaTableName;
28
- constructor(athena: AthenaRatchet, athenaTableName: string);
29
- updatePartitions(rootPath: string, s3: S3Client, startTimeEpochMS?: number, endTimeEpochMS?: number): Promise<string[]>;
30
- createTable(rootPath: string, replaceIfPresent?: boolean): Promise<boolean>;
31
- static readLogObjectsFromCsvStream(readStream: ReadStream): Promise<AlbLogRecord[]>;
32
- static readLogObjectsFromFile(fileName: string): Promise<AlbLogRecord[]>;
33
- fetchAlbLogRecords(qry: AlbLogRecordQuery): Promise<AlbLogRecord[]>;
34
- fetchAlbLogRecordsToFile(qry: AlbLogRecordQuery, outputFileName?: string): Promise<string>;
35
- static readonly CREATE_TABLE_STATEMENT: string;
36
- }
37
- interface AlbLogRecordQuery {
38
- startTimeEpochMS?: number;
39
- endTimeEpochMS?: number;
40
- requestUrlFilter?: string;
41
- limit?: number;
42
- }
43
- interface AlbLogRecord {
44
- type: string;
45
- time: string;
46
- elb: string;
47
- client_ip: string;
48
- client_port: string;
49
- target_ip: string;
50
- target_port: string;
51
- request_processing_time: string;
52
- target_processing_time: string;
53
- response_processing_time: string;
54
- elb_status_code: string;
55
- target_status_code: string;
56
- received_bytes: string;
57
- sent_bytes: string;
58
- request_verb: string;
59
- request_url: string;
60
- request_proto: string;
61
- user_agent: string;
62
- ssl_cipher: string;
63
- ssl_protocol: string;
64
- target_group_arn: string;
65
- trace_id: string;
66
- domain_name: string;
67
- chosen_cert_arn: string;
68
- matched_rule_priority: string;
69
- request_creation_time: string;
70
- actions_executed: string;
71
- redirect_url: string;
72
- lambda_error_reason: string;
73
- target_port_list: string;
74
- target_status_code_list: string;
75
- new_field: string;
76
- date_utc_partition: string;
77
- }
78
-
79
- declare class RatchetAwsNodeOnlyInfo {
80
- private constructor();
81
- static buildInformation(): BuildInformation;
82
- }
83
-
84
- declare class DynamoExporter {
85
- private constructor();
86
- static importJsonLFileToTable(dynamo: DynamoRatchet, tableName: string, filename: string): Promise<number>;
87
- static exportScanToJsonLFile(dynamo: DynamoRatchet, scan: ScanCommandInput, filename: string): Promise<number>;
88
- static exportQueryToJsonLFile(dynamo: DynamoRatchet, qry: QueryCommandInput, filename: string): Promise<number>;
89
- static exportScanToJsonLWriteStream(dynamo: DynamoRatchet, scan: ScanCommandInput, target: WriteStream): Promise<number>;
90
- static exportQueryToJsonLWriteStream(dynamo: DynamoRatchet, qry: QueryCommandInput, target: WriteStream): Promise<number>;
91
- static writeItemToJsonLStream(item: any, target: WriteStream, includeNulls?: boolean): void;
92
- }
93
-
94
- declare class RatchetCliHandler extends AbstractRatchetCliHandler {
95
- fetchHandlerMap(): Record<string, any>;
96
- fetchVersionInfo(): BuildInformation;
97
- }
98
-
99
- declare class StartInstanceAndSsh {
100
- private instanceId;
101
- private publicKeyFile;
102
- private instanceOsUser;
103
- private region;
104
- private availabilityZone;
105
- private ec2Ratchet;
106
- private instanceUtil;
107
- constructor(instanceId: string, publicKeyFile?: string, instanceOsUser?: string, region?: string, availabilityZone?: string);
108
- static createFromArgs(args: string[]): StartInstanceAndSsh;
109
- static runFromCliArgs(args: string[]): Promise<void>;
110
- run(): Promise<any>;
111
- }
112
-
113
- declare class SiteUploader {
114
- private srcDir;
115
- private bucketName;
116
- private config;
117
- private readonly s3;
118
- constructor(srcDir: string, bucketName: string, configFile: string);
119
- static createFromArgs(args: string[]): SiteUploader;
120
- static runFromCliArgs(args: string[]): Promise<void>;
121
- findMatch(prefix: string, fileName: string, config: any): any;
122
- findMime(fileName: string, config: any): string;
123
- runPump(): Promise<any>;
124
- }
125
-
126
- declare class Ec2InstanceUtil {
127
- private ec2Ratchet;
128
- constructor(ec2Ratchet: Ec2Ratchet);
129
- startInstanceAndUploadPublicKeyFile(instanceId: string, filePath: string, instanceOsUser?: string): Promise<Instance>;
130
- startInstanceAndUploadPublicKey(instanceId: string, publicKeyText: string, instanceOsUser?: string): Promise<Instance>;
131
- }
132
-
133
- interface ParsedEmailProcessor<T> {
134
- canProcess(mail: ParsedMail): boolean;
135
- processEmail(msg: ParsedMail): Promise<T>;
136
- }
137
-
138
- declare class EmailToDbInsertProcessor implements ParsedEmailProcessor<EmailToDbStatement[]> {
139
- canProcess(mail: ParsedMail): boolean;
140
- processEmail(msg: ParsedMail): Promise<EmailToDbStatement[]>;
141
- }
142
- interface EmailToDbStatement {
143
- statement: string;
144
- params?: any[];
145
- }
146
-
147
- declare class InboundEmailRatchet {
148
- private cache;
149
- private processors;
150
- constructor(cache: S3CacheRatchet, processors: ParsedEmailProcessor<any>[]);
151
- processEmailFromS3(key: string): Promise<boolean>;
152
- processEmailFromBuffer(buf: Buffer): Promise<boolean>;
153
- }
154
-
155
- declare class SampleEmailProcessor implements ParsedEmailProcessor<string> {
156
- canProcess(mail: ParsedMail): boolean;
157
- processEmail(msg: ParsedMail): Promise<string>;
158
- }
159
-
160
- declare class S3CacheToLocalDiskRatchet {
161
- private s3;
162
- private tmpFolder;
163
- private cacheTimeoutSeconds;
164
- private static readonly DEFAULT_CACHE_TIMEOUT_SEC;
165
- private currentlyLoading;
166
- constructor(s3: S3CacheRatchetLike, tmpFolder: string, cacheTimeoutSeconds?: number);
167
- getFileString(key: string): Promise<string>;
168
- private keyToLocalCachePath;
169
- removeCacheFileForKey(key: string): void;
170
- getFileBuffer(key: string): Promise<Buffer>;
171
- private updateLocalCacheFile;
172
- getCacheFileAsString(filePath: string): string;
173
- getCacheFileAsBuffer(filePath: string): Buffer;
174
- private generateCacheHash;
175
- }
176
-
177
- declare enum S3SyncedFileConfigInitMode {
178
- Lazy = "Lazy",
179
- OnStartup = "OnStartup"
180
- }
181
-
182
- declare enum S3SyncedFileRemoteBackupMode {
183
- EveryUpload = "EveryUpload",
184
- Disabled = "Disabled"
185
- }
186
-
187
- declare enum S3SyncedFileOptimization {
188
- TreatSameSizeAsNoChange = "TreatSameSizeAsNoChange"
189
- }
190
-
191
- interface S3SyncedFileConfig {
192
- s3CacheRatchetLike: S3CacheRatchetLike;
193
- s3Path: string;
194
- forceLocalFileFullPath?: string;
195
- initMode: S3SyncedFileConfigInitMode;
196
- backupMode?: S3SyncedFileRemoteBackupMode;
197
- fetchOptimizations?: S3SyncedFileOptimization[];
198
- pushOptimizations?: S3SyncedFileOptimization[];
199
- remoteStatusTtlMs?: number;
200
- leaveTempFileOnDisk?: boolean;
201
- }
202
-
203
- declare class S3SyncedFile implements RemoteFileSyncLike {
204
- private config;
205
- private readonly _localFileName;
206
- private _remoteStatus;
207
- private _lastSyncEpochMS;
208
- private _loadingRemoteSignal;
209
- constructor(config: S3SyncedFileConfig);
210
- get remoteStatusData(): Promise<RemoteStatusData>;
211
- private initialize;
212
- localAndRemoteAreSameSize(): Promise<boolean>;
213
- directWriteValueToLocalFile(value: string | Uint8Array): void;
214
- get lastSyncEpochMS(): number;
215
- get localFileName(): string;
216
- get localFileStats(): fs.Stats;
217
- get localFileBytes(): number;
218
- get localFileUpdatedEpochMS(): number;
219
- fetchRemoteMeta(): Promise<HeadObjectCommandOutput>;
220
- get wouldFetch(): Promise<boolean>;
221
- get wouldPush(): Promise<boolean>;
222
- sendLocalToRemote(): Promise<FileTransferResult>;
223
- backupRemote(): Promise<BackupResult>;
224
- fetchRemoteToLocal(): Promise<FileTransferResult>;
225
- fetchRemoteToLocalIfNewerThan(epochMS: number): Promise<FileTransferResult>;
226
- private hasFetchOptimization;
227
- private hasPushOptimization;
228
- private innerFetchRemoteToLocalIfNewerThan;
229
- }
230
-
231
- export { AlbAthenaLogRatchet, type AlbLogRecord, type AlbLogRecordQuery, AthenaRatchet, DynamoExporter, Ec2InstanceUtil, EmailToDbInsertProcessor, type EmailToDbStatement, InboundEmailRatchet, type ParsedEmailProcessor, RatchetAwsNodeOnlyInfo, RatchetCliHandler, S3CacheToLocalDiskRatchet, S3SyncedFile, type S3SyncedFileConfig, S3SyncedFileConfigInitMode, S3SyncedFileOptimization, S3SyncedFileRemoteBackupMode, SampleEmailProcessor, SiteUploader, StartInstanceAndSsh };