@walkeros/server-source-aws 4.7.0-next-1790245733116 → 4.7.0-next-1790722899482

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/CHANGELOG.md CHANGED
@@ -1,23 +1,35 @@
1
1
  # @walkeros/server-source-aws
2
2
 
3
- ## 4.7.0-next-1790245733116
4
-
5
- ### Patch Changes
6
-
7
- - Updated dependencies [57788bc]
3
+ ## 4.7.0-next-1790722899482
4
+
5
+ ### Patch Changes
6
+
7
+ - 74821ed: Simulate records every vendor call through one recorder, `observeEnv`
8
+ from `@walkeros/core`, and runs offline: BigQuery, Data Manager and the
9
+ Sheets, GCS and S3 stores reach the network through `env`. Client and `Env`
10
+ types of BigQuery, Firehose, PostHog, SQS and Pub/Sub are structural.
11
+ `@walkeros/cli` exports `resolveExportName` and `selectDevExamples` and drops
12
+ `findExample` and `compareOutput`.
13
+ - 74821ed: Simulate starts only the simulated step, and a simulated transformer
14
+ continues through its `next`. Source simulations list the commands a source
15
+ issues as `elb` calls; `--page-url` sets the web page. Express flows need no
16
+ port. Packages with several exports use per-export examples and mocks, and a
17
+ destination without a mock env is refused instead of calling the vendor.
18
+ - Updated dependencies [74821ed]
8
19
  - Updated dependencies [06b498a]
9
- - Updated dependencies [f5a1cfd]
10
- - Updated dependencies [ef02916]
20
+ - Updated dependencies [74821ed]
21
+ - Updated dependencies [74821ed]
22
+ - Updated dependencies [74821ed]
23
+ - Updated dependencies [74821ed]
11
24
  - Updated dependencies [06b498a]
12
- - Updated dependencies [ef02916]
13
- - Updated dependencies [2aebc53]
14
- - Updated dependencies [f5a1cfd]
15
- - Updated dependencies [f5a1cfd]
16
- - Updated dependencies [2aebc53]
17
- - Updated dependencies [8f8aea6]
18
- - Updated dependencies [2aebc53]
19
- - Updated dependencies [2aebc53]
20
- - @walkeros/core@4.7.0-next-1790245733116
25
+ - Updated dependencies [74821ed]
26
+ - Updated dependencies [74821ed]
27
+ - Updated dependencies [74821ed]
28
+ - Updated dependencies [74821ed]
29
+ - Updated dependencies [74821ed]
30
+ - Updated dependencies [74821ed]
31
+ - Updated dependencies [74821ed]
32
+ - @walkeros/core@4.7.0-next-1790722899482
21
33
 
22
34
  ## 4.6.1
23
35
 
package/dist/dev.d.mts CHANGED
@@ -2,7 +2,7 @@ import * as _walkeros_core_dev from '@walkeros/core/dev';
2
2
  import { z } from '@walkeros/core/dev';
3
3
  import { Source, Flow, Trigger } from '@walkeros/core';
4
4
  import { APIGatewayProxyEvent, APIGatewayProxyEventV2, Context, APIGatewayProxyResult } from 'aws-lambda';
5
- import { SQSClient, ReceiveMessageCommand, DeleteMessageCommand, CreateQueueCommand, GetQueueUrlCommand, GetQueueAttributesCommand } from '@aws-sdk/client-sqs';
5
+ import { SQSClientConfig, GetQueueUrlCommand, GetQueueUrlCommandOutput, GetQueueAttributesCommand, GetQueueAttributesCommandOutput, ReceiveMessageCommand, ReceiveMessageCommandOutput, DeleteMessageCommand, DeleteMessageCommandOutput, CreateQueueCommand, CreateQueueCommandOutput } from '@aws-sdk/client-sqs';
6
6
  import { SNSClient, SubscribeCommand } from '@aws-sdk/client-sns';
7
7
 
8
8
  /**
@@ -159,11 +159,24 @@ declare function trigger(source: {
159
159
  push: (event: LambdaEvent, context: LambdaContext) => Promise<LambdaResult>;
160
160
  }): (content: Content$1) => Promise<LambdaResult>;
161
161
 
162
- declare const index$1_trigger: typeof trigger;
163
- declare namespace index$1 {
164
- export { createTrigger$1 as createTrigger, env$1 as env, step$1 as step, index$1_trigger as trigger };
162
+ declare const lambdaExamplesNs_trigger: typeof trigger;
163
+ declare namespace lambdaExamplesNs {
164
+ export { createTrigger$1 as createTrigger, env$1 as env, step$1 as step, lambdaExamplesNs_trigger as trigger };
165
165
  }
166
166
 
167
+ /**
168
+ * The part of an AWS SDK v3 SQS client this source calls: `send` with the
169
+ * commands it builds, and an optional `destroy`. `SQSClient` satisfies it, and
170
+ * so does an injected mock (tests, simulate) without a cast.
171
+ */
172
+ interface SqsClient {
173
+ send(command: GetQueueUrlCommand): Promise<GetQueueUrlCommandOutput>;
174
+ send(command: GetQueueAttributesCommand): Promise<GetQueueAttributesCommandOutput>;
175
+ send(command: ReceiveMessageCommand): Promise<ReceiveMessageCommandOutput>;
176
+ send(command: DeleteMessageCommand): Promise<DeleteMessageCommandOutput>;
177
+ send(command: CreateQueueCommand): Promise<CreateQueueCommandOutput>;
178
+ destroy?(): void;
179
+ }
167
180
  declare module '@walkeros/core' {
168
181
  interface SourceMap {
169
182
  sqs: {
@@ -174,30 +187,32 @@ declare module '@walkeros/core' {
174
187
  }
175
188
  interface Env extends Source.Env {
176
189
  AWS?: {
177
- SQSClient: typeof SQSClient;
178
- ReceiveMessageCommand: typeof ReceiveMessageCommand;
179
- DeleteMessageCommand: typeof DeleteMessageCommand;
180
- CreateQueueCommand: typeof CreateQueueCommand;
181
- GetQueueUrlCommand: typeof GetQueueUrlCommand;
182
- GetQueueAttributesCommand: typeof GetQueueAttributesCommand;
190
+ SQSClient: new (config: SQSClientConfig) => SqsClient;
191
+ ReceiveMessageCommand?: typeof ReceiveMessageCommand;
192
+ DeleteMessageCommand?: typeof DeleteMessageCommand;
193
+ CreateQueueCommand?: typeof CreateQueueCommand;
194
+ GetQueueUrlCommand?: typeof GetQueueUrlCommand;
195
+ GetQueueAttributesCommand?: typeof GetQueueAttributesCommand;
183
196
  SNSClient?: typeof SNSClient;
184
197
  SubscribeCommand?: typeof SubscribeCommand;
185
198
  };
186
199
  }
187
200
 
201
+ /** Standard mock environment, with the structural client for simulate. */
202
+ declare const push: Env;
188
203
  /**
189
- * Standard mock environment for the SQS source.
190
- *
191
- * AWS SDK constructors are intentionally absent: the canonical pattern is
192
- * module-level `jest.mock('@aws-sdk/client-sqs')` and -sns, not env-injection.
204
+ * The same environment without the client, for unit tests that substitute the
205
+ * SDK module-wide with `jest.mock`.
193
206
  */
194
- declare const push: Env;
207
+ declare const moduleMockEnv: Env;
208
+ /** Every request (queue lookup, receive, delete) goes through `send`. */
195
209
  declare const simulation: string[];
196
210
 
211
+ declare const env_moduleMockEnv: typeof moduleMockEnv;
197
212
  declare const env_push: typeof push;
198
213
  declare const env_simulation: typeof simulation;
199
214
  declare namespace env {
200
- export { env_push as push, env_simulation as simulation };
215
+ export { env_moduleMockEnv as moduleMockEnv, env_push as push, env_simulation as simulation };
201
216
  }
202
217
 
203
218
  declare const pageView: Flow.StepExample;
@@ -246,13 +261,19 @@ type Result = Array<[string, ...unknown[]]>;
246
261
  */
247
262
  declare const createTrigger: Trigger.CreateFn<Content, Result>;
248
263
 
249
- type index_Content = Content;
250
- type index_Result = Result;
251
- declare const index_createTrigger: typeof createTrigger;
252
- declare const index_env: typeof env;
253
- declare const index_step: typeof step;
254
- declare namespace index {
255
- export { type index_Content as Content, type index_Result as Result, index_createTrigger as createTrigger, index_env as env, index_step as step };
264
+ type sqsExamplesNs_Content = Content;
265
+ type sqsExamplesNs_Result = Result;
266
+ declare const sqsExamplesNs_createTrigger: typeof createTrigger;
267
+ declare const sqsExamplesNs_env: typeof env;
268
+ declare const sqsExamplesNs_step: typeof step;
269
+ declare namespace sqsExamplesNs {
270
+ export { type sqsExamplesNs_Content as Content, type sqsExamplesNs_Result as Result, sqsExamplesNs_createTrigger as createTrigger, sqsExamplesNs_env as env, sqsExamplesNs_step as step };
256
271
  }
257
272
 
258
- export { index$1 as examples, schemas, index as sqsExamples };
273
+ /** Dev examples per export, keyed by the export names in package.json. */
274
+ declare const exportExamples: {
275
+ sourceLambda: typeof lambdaExamplesNs;
276
+ sourceSqs: typeof sqsExamplesNs;
277
+ };
278
+
279
+ export { lambdaExamplesNs as examples, exportExamples, schemas, sqsExamplesNs as sqsExamples };
package/dist/dev.d.ts CHANGED
@@ -2,7 +2,7 @@ import * as _walkeros_core_dev from '@walkeros/core/dev';
2
2
  import { z } from '@walkeros/core/dev';
3
3
  import { Source, Flow, Trigger } from '@walkeros/core';
4
4
  import { APIGatewayProxyEvent, APIGatewayProxyEventV2, Context, APIGatewayProxyResult } from 'aws-lambda';
5
- import { SQSClient, ReceiveMessageCommand, DeleteMessageCommand, CreateQueueCommand, GetQueueUrlCommand, GetQueueAttributesCommand } from '@aws-sdk/client-sqs';
5
+ import { SQSClientConfig, GetQueueUrlCommand, GetQueueUrlCommandOutput, GetQueueAttributesCommand, GetQueueAttributesCommandOutput, ReceiveMessageCommand, ReceiveMessageCommandOutput, DeleteMessageCommand, DeleteMessageCommandOutput, CreateQueueCommand, CreateQueueCommandOutput } from '@aws-sdk/client-sqs';
6
6
  import { SNSClient, SubscribeCommand } from '@aws-sdk/client-sns';
7
7
 
8
8
  /**
@@ -159,11 +159,24 @@ declare function trigger(source: {
159
159
  push: (event: LambdaEvent, context: LambdaContext) => Promise<LambdaResult>;
160
160
  }): (content: Content$1) => Promise<LambdaResult>;
161
161
 
162
- declare const index$1_trigger: typeof trigger;
163
- declare namespace index$1 {
164
- export { createTrigger$1 as createTrigger, env$1 as env, step$1 as step, index$1_trigger as trigger };
162
+ declare const lambdaExamplesNs_trigger: typeof trigger;
163
+ declare namespace lambdaExamplesNs {
164
+ export { createTrigger$1 as createTrigger, env$1 as env, step$1 as step, lambdaExamplesNs_trigger as trigger };
165
165
  }
166
166
 
167
+ /**
168
+ * The part of an AWS SDK v3 SQS client this source calls: `send` with the
169
+ * commands it builds, and an optional `destroy`. `SQSClient` satisfies it, and
170
+ * so does an injected mock (tests, simulate) without a cast.
171
+ */
172
+ interface SqsClient {
173
+ send(command: GetQueueUrlCommand): Promise<GetQueueUrlCommandOutput>;
174
+ send(command: GetQueueAttributesCommand): Promise<GetQueueAttributesCommandOutput>;
175
+ send(command: ReceiveMessageCommand): Promise<ReceiveMessageCommandOutput>;
176
+ send(command: DeleteMessageCommand): Promise<DeleteMessageCommandOutput>;
177
+ send(command: CreateQueueCommand): Promise<CreateQueueCommandOutput>;
178
+ destroy?(): void;
179
+ }
167
180
  declare module '@walkeros/core' {
168
181
  interface SourceMap {
169
182
  sqs: {
@@ -174,30 +187,32 @@ declare module '@walkeros/core' {
174
187
  }
175
188
  interface Env extends Source.Env {
176
189
  AWS?: {
177
- SQSClient: typeof SQSClient;
178
- ReceiveMessageCommand: typeof ReceiveMessageCommand;
179
- DeleteMessageCommand: typeof DeleteMessageCommand;
180
- CreateQueueCommand: typeof CreateQueueCommand;
181
- GetQueueUrlCommand: typeof GetQueueUrlCommand;
182
- GetQueueAttributesCommand: typeof GetQueueAttributesCommand;
190
+ SQSClient: new (config: SQSClientConfig) => SqsClient;
191
+ ReceiveMessageCommand?: typeof ReceiveMessageCommand;
192
+ DeleteMessageCommand?: typeof DeleteMessageCommand;
193
+ CreateQueueCommand?: typeof CreateQueueCommand;
194
+ GetQueueUrlCommand?: typeof GetQueueUrlCommand;
195
+ GetQueueAttributesCommand?: typeof GetQueueAttributesCommand;
183
196
  SNSClient?: typeof SNSClient;
184
197
  SubscribeCommand?: typeof SubscribeCommand;
185
198
  };
186
199
  }
187
200
 
201
+ /** Standard mock environment, with the structural client for simulate. */
202
+ declare const push: Env;
188
203
  /**
189
- * Standard mock environment for the SQS source.
190
- *
191
- * AWS SDK constructors are intentionally absent: the canonical pattern is
192
- * module-level `jest.mock('@aws-sdk/client-sqs')` and -sns, not env-injection.
204
+ * The same environment without the client, for unit tests that substitute the
205
+ * SDK module-wide with `jest.mock`.
193
206
  */
194
- declare const push: Env;
207
+ declare const moduleMockEnv: Env;
208
+ /** Every request (queue lookup, receive, delete) goes through `send`. */
195
209
  declare const simulation: string[];
196
210
 
211
+ declare const env_moduleMockEnv: typeof moduleMockEnv;
197
212
  declare const env_push: typeof push;
198
213
  declare const env_simulation: typeof simulation;
199
214
  declare namespace env {
200
- export { env_push as push, env_simulation as simulation };
215
+ export { env_moduleMockEnv as moduleMockEnv, env_push as push, env_simulation as simulation };
201
216
  }
202
217
 
203
218
  declare const pageView: Flow.StepExample;
@@ -246,13 +261,19 @@ type Result = Array<[string, ...unknown[]]>;
246
261
  */
247
262
  declare const createTrigger: Trigger.CreateFn<Content, Result>;
248
263
 
249
- type index_Content = Content;
250
- type index_Result = Result;
251
- declare const index_createTrigger: typeof createTrigger;
252
- declare const index_env: typeof env;
253
- declare const index_step: typeof step;
254
- declare namespace index {
255
- export { type index_Content as Content, type index_Result as Result, index_createTrigger as createTrigger, index_env as env, index_step as step };
264
+ type sqsExamplesNs_Content = Content;
265
+ type sqsExamplesNs_Result = Result;
266
+ declare const sqsExamplesNs_createTrigger: typeof createTrigger;
267
+ declare const sqsExamplesNs_env: typeof env;
268
+ declare const sqsExamplesNs_step: typeof step;
269
+ declare namespace sqsExamplesNs {
270
+ export { type sqsExamplesNs_Content as Content, type sqsExamplesNs_Result as Result, sqsExamplesNs_createTrigger as createTrigger, sqsExamplesNs_env as env, sqsExamplesNs_step as step };
256
271
  }
257
272
 
258
- export { index$1 as examples, schemas, index as sqsExamples };
273
+ /** Dev examples per export, keyed by the export names in package.json. */
274
+ declare const exportExamples: {
275
+ sourceLambda: typeof lambdaExamplesNs;
276
+ sourceSqs: typeof sqsExamplesNs;
277
+ };
278
+
279
+ export { lambdaExamplesNs as examples, exportExamples, schemas, sqsExamplesNs as sqsExamples };