local-serverless-stack 0.15.0-rc.0 → 0.17.0

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 (60) hide show
  1. package/CHANGELOG.md +24 -0
  2. package/README.md +6 -4
  3. package/dist/server/engine/emulators/sqs/index.d.ts +3 -0
  4. package/dist/server/engine/emulators/sqs/index.d.ts.map +1 -1
  5. package/dist/server/engine/emulators/sqs/index.js +49 -4
  6. package/dist/server/engine/emulators/sqs/index.js.map +1 -1
  7. package/dist/server/engine/emulators/sqs/queue.d.ts +14 -0
  8. package/dist/server/engine/emulators/sqs/queue.d.ts.map +1 -1
  9. package/dist/server/engine/emulators/sqs/queue.js +79 -0
  10. package/dist/server/engine/emulators/sqs/queue.js.map +1 -1
  11. package/dist/server/routes/apis.d.ts.map +1 -1
  12. package/dist/server/routes/apis.js +4 -0
  13. package/dist/server/routes/apis.js.map +1 -1
  14. package/dist/server/services/cloudformation-parser.d.ts +83 -1
  15. package/dist/server/services/cloudformation-parser.d.ts.map +1 -1
  16. package/dist/server/services/cloudformation-parser.js +271 -0
  17. package/dist/server/services/cloudformation-parser.js.map +1 -1
  18. package/dist/server/services/gateway-manager.d.ts.map +1 -1
  19. package/dist/server/services/gateway-manager.js +16 -4
  20. package/dist/server/services/gateway-manager.js.map +1 -1
  21. package/dist/server/services/lambda-invoke-uri.d.ts +3 -0
  22. package/dist/server/services/lambda-invoke-uri.d.ts.map +1 -0
  23. package/dist/server/services/lambda-invoke-uri.js +32 -0
  24. package/dist/server/services/lambda-invoke-uri.js.map +1 -0
  25. package/dist/server/services/raw-api-assembler.d.ts +17 -0
  26. package/dist/server/services/raw-api-assembler.d.ts.map +1 -0
  27. package/dist/server/services/raw-api-assembler.js +184 -0
  28. package/dist/server/services/raw-api-assembler.js.map +1 -0
  29. package/dist/server/services/resource-provisioner.d.ts +2 -0
  30. package/dist/server/services/resource-provisioner.d.ts.map +1 -1
  31. package/dist/server/services/resource-provisioner.js +43 -1
  32. package/dist/server/services/resource-provisioner.js.map +1 -1
  33. package/dist/server/services/serverless-state-parser.d.ts +4 -0
  34. package/dist/server/services/serverless-state-parser.d.ts.map +1 -1
  35. package/dist/server/services/serverless-state-parser.js.map +1 -1
  36. package/dist/server/services/service-registrar.d.ts +1 -0
  37. package/dist/server/services/service-registrar.d.ts.map +1 -1
  38. package/dist/server/services/service-registrar.js +24 -0
  39. package/dist/server/services/service-registrar.js.map +1 -1
  40. package/dist/ui/assets/{ApisPage-Dg-fuYQY.js → ApisPage-CXVLYVM6.js} +1 -1
  41. package/dist/ui/assets/{BucketDetailPage-By9deUkc.js → BucketDetailPage-BU7ytv7P.js} +1 -1
  42. package/dist/ui/assets/{BucketsPage-idHR6yXh.js → BucketsPage-6oRAkKhU.js} +1 -1
  43. package/dist/ui/assets/{DynamoPage-k8NQGeJ_.js → DynamoPage-DU29K5hT.js} +1 -1
  44. package/dist/ui/assets/{DynamoTablePage-C-LPU3I7.js → DynamoTablePage-BsVCgzws.js} +1 -1
  45. package/dist/ui/assets/{LambdaDetailPage-D8HVidB_.js → LambdaDetailPage-CgDlY1Kc.js} +1 -1
  46. package/dist/ui/assets/{LambdasPage-B19rwgUM.js → LambdasPage-CB59BQVb.js} +1 -1
  47. package/dist/ui/assets/{OpenSearchCollectionPage-Bmc8gI8s.js → OpenSearchCollectionPage-PhV7ZitS.js} +1 -1
  48. package/dist/ui/assets/{OpenSearchPage-CDFY7dS9.js → OpenSearchPage-DMq5T-jO.js} +1 -1
  49. package/dist/ui/assets/{OverviewPage-CWrXkA8s.js → OverviewPage-B7i6ZutS.js} +1 -1
  50. package/dist/ui/assets/{QueueDetailPage-CGcXlOrN.js → QueueDetailPage-CDM38X1V.js} +1 -1
  51. package/dist/ui/assets/{QueuesPage-BMU0DBMz.js → QueuesPage-6py2nlnw.js} +1 -1
  52. package/dist/ui/assets/{SecretsPage-RgJc26ab.js → SecretsPage-BlllDXAl.js} +1 -1
  53. package/dist/ui/assets/{ServiceDetailPage-BZnTIbac.js → ServiceDetailPage-ghEHM9ko.js} +1 -1
  54. package/dist/ui/assets/{ServicesPage-BJCWxYkd.js → ServicesPage-C0E9vXE2.js} +1 -1
  55. package/dist/ui/assets/index-DdoMwcQX.css +1 -0
  56. package/dist/ui/assets/index-VlhdCpKx.js +37 -0
  57. package/dist/ui/index.html +2 -2
  58. package/package.json +1 -1
  59. package/dist/ui/assets/index-DGkmrq2b.js +0 -37
  60. package/dist/ui/assets/index-DH7RTkRh.css +0 -1
package/CHANGELOG.md CHANGED
@@ -5,6 +5,30 @@ All notable changes to this project will be documented in this file.
5
5
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6
6
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
 
8
+ ## [0.17.0] - 2026-07-18
9
+
10
+ The raw `AWS::ApiGatewayV2::*` support that shipped in 0.16.0 met a real Serverless Framework project and lost: it reduced a hand-authored idiom only, so the shapes `serverless package` actually emits fell through as `no ::Integration for Target "(none)"` and the routes were skipped without ever answering a request. Every one of those shapes now reduces, proven against a committed real packaging snapshot rather than a hand-written fixture. Alongside it, SQS grows **queue-level redrive**: a poison message finally lands in its dead-letter queue instead of being redelivered until retention quietly eats it.
11
+
12
+ ### Added
13
+ - **SQS queue-level redrive**: `RedrivePolicy` (`deadLetterTargetArn` + `maxReceiveCount`) is parsed from the template and now **enforced** by the self engine — a message already delivered `maxReceiveCount` times moves to the dead-letter queue instead of being redelivered forever and vanishing at retention. The moved message keeps its `MessageId`, body, message attributes and the `MD5OfMessageBody`/`MD5OfMessageAttributes` digests, so a DLQ consumer sees the same message the source queue handed out. FIFO message groups are unblocked when the poison message moves — the rest of the partition drains instead of stalling behind it head-of-line. A missing or unresolvable dead-letter queue warns **once** and leaves redrive off for that queue (non-fatal, like every other provisioning step). `RedriveAllowPolicy` (stored and returned, never enforced) and the manual redrive API (`StartMessageMoveTask`/`ListMessageMoveTasks`/`CancelMessageMoveTask`) remain out of scope — drain a DLQ with ReceiveMessage/SendMessage.
14
+
15
+ ### Fixed
16
+ - **Raw ApiGatewayV2 routes now work with the shape the Serverless Framework actually emits.** 0.16.0's assembler handled a hand-authored idiom, so real projects saw `no ::Integration for Target "(none)"` and their raw routes silently disappeared. All of it reduces now: `Target: !Sub "integrations/${LogicalId}"` in both the string and the `[template, vars]` forms; `AuthorizerUri`/`IntegrationUri` arriving in the API Gateway *invocation-URI* wrapper (`arn:aws:apigateway:…:lambda:path/2015-03-31/functions/<lambdaArn>/invocations`) are unwrapped to the inner Lambda ARN through a new shared `src/server/services/lambda-invoke-uri.ts` — the invoke listener's own route and this unwrap are now generated from one pattern and cannot drift apart; `Ref` resolves the AWS pseudo-parameters (`{Ref: AWS::Partition}`/`{Ref: AWS::Region}`/`{Ref: AWS::AccountId}` inside the framework's own compiled `Fn::Join` previously reduced to a garbage ARN); `AWS::Lambda::Permission.FunctionName` given as `{Ref: LogicalId}` — a **name**, not an ARN — now matches an ARN-targeted route instead of emitting a false "no matching permission" warning; and `${HttpApi}` resolves to the framework's own `::Api`. The regression fixture is a **real `serverless package` snapshot** carrying the framework's compiled `::Route` mirrors *and* hand-written `!Sub` resources on the same `HttpApi`, so the `(method, normalized path)` de-duplication against `serverless-state.json` is exercised for real rather than assumed.
17
+
18
+ ## [0.16.0] - 2026-07-16
19
+
20
+ Three things a template could declare but LSS quietly dropped — secrets, bucket CORS and raw `AWS::ApiGatewayV2::*` routes — are provisioned on registration now, so a service's first boot is already its working boot instead of the one that needs a bootstrap script next to it. The event-source-mapping path stops improvising in the same release: `FilterCriteria` is enforced instead of merely stored and echoed, `maximumRetryAttempts` follows the AWS default (retry until the record ages out of the stream) instead of a home-grown cap of five, and `ReportBatchItemFailures` is honored on DynamoDB streams and SQS alike.
21
+
22
+ ### Added
23
+ - **Secrets Manager provisioned on boot**: `AWS::SecretsManager::Secret` is now parsed from the template and created at service registration — `SecretString` verbatim, or `GenerateSecretString` synthesized through the emulator's own `GetRandomPassword` with the real AWS defaults (`PasswordLength` 32, every character class included, `RequireEachIncludedType` true), the generated value injected into `SecretStringTemplate` at `GenerateStringKey` when both are present, exactly like CloudFormation expands it (`Description`, `KmsKeyId` and `Tags` come along; a secret declaring neither value warns and is created empty, which is what AWS does). Plus a **boot seed path** for secrets no template declares: `seeds/secrets/<name>.json` files (walked recursively — nested directories map to `/`-separated secret names like `billing/receipt-signing-key`) merged with an optional `secrets:` map in `lss.config.json` (the config map wins a name collision, with a warning). A seed value is either the `SecretString` itself (a bare string, or a bare JSON object that *is* the payload — a DB-credential blob just works) or a descriptor carrying `secretString`/`generateSecretString` plus `description`/`kmsKeyId`/`tags`. Seeds are applied **before cached services are reactivated**, so a handler's first `GetSecretValue` — including one fired by a relay during rehydrate — already finds an `AWSCURRENT` version. Both paths are idempotent (an existing active secret is skipped, never clobbered; one scheduled for deletion is warned and skipped) and non-fatal (a failure warns, boot continues), and they share one value resolver (`src/server/services/secret-value.ts`) so the CFN and seed expansions cannot drift apart. **This closes the "Known gaps" item recorded under 0.11.0**: declare-and-forget secrets in `resources:` no longer need a bootstrap `CreateSecret`.
24
+ - **S3 `CorsConfiguration` from CloudFormation**: `parseS3` now reads `CorsConfiguration.CorsRules[]` — `AllowedOrigins`/`AllowedMethods`/`AllowedHeaders`, `ExposedHeaders` (the CFN spelling) or `ExposeHeaders` (the S3 wire member), `MaxAge` or `MaxAgeSeconds` with a literal `0` preserved rather than dropped as falsy, and `Id` — skipping a rule that declares no methods or no origins, both of which AWS requires. The provisioner applies the result with `PutBucketCors` when the bucket is created, so a browser preflight against the bucket succeeds on the **first** boot with no separate bootstrap step; `PutBucketCors` is a full-replace PUT, so re-registration re-sends the same configuration and is naturally idempotent, and the call is non-fatal like the versioning pass beside it. The engine could already serve CORS since 0.13.0 — it just had no way to learn the bucket's rules from the template.
25
+ - **`FilterCriteria` enforced on event source mappings**: stream and SQS mappings previously *stored* `FilterCriteria` and echoed it back from the control plane while delivering every record anyway. It is now compiled into a predicate (`src/server/engine/dispatch/filter-criteria.ts`) and applied before invoking: each `Filters[].Pattern` is a JSON-encoded EventBridge-style content filter, patterns are OR'd and sibling keys inside one pattern AND'd, reusing the engine's own pattern matcher; an absent/empty `FilterCriteria` compiles to always-true (the pre-filtering default), and the control plane validates at write time (non-object `Filters`, more than the AWS limit of 5 patterns, an unparseable `Pattern`, an unsupported operator → `InvalidArgumentException`). Filtered-out **stream** records still advance the cursor, so they are dropped once and never reappear; filtered-out **SQS** messages are removed from the batch before the handler sees it.
26
+ - **Raw `AWS::ApiGatewayV2::Api`/`::Route`/`::Integration`/`::Authorizer` provisioning** (plus the advisory `AWS::Lambda::Permission` grant): routes declared directly under CFN `resources:` register into the same route registry `httpApi:` events feed, including **cross-stack ARN resolution** — a route whose integration or authorizer targets a Lambda owned by *another* registered service resolves through the global registry. Raw routes are de-duplicated against the routes that come from `serverless-state.json` by `(method, normalized path)`, so a template that declares both shapes binds one listener, not two.
27
+
28
+ ### Fixed
29
+ - **`maximumRetryAttempts` now means what AWS means**: the hard cap of 5 is gone. Omitted or `-1` retries the failing batch **until the record ages out of the stream** (the AWS default) rather than giving up after five attempts, and an explicit `-1` no longer produced **zero** invocations — the batch was previously dropped without the handler ever running once. A positive `N` still means N retries; exhausting the budget (or aging out) logs which condition ended it (`RetryAttemptsExhausted` / `RecordAgeExpired`) and forwards the still-failing records to the `OnFailure` destination as before.
30
+ - **`ReportBatchItemFailures` is honored on both stream and SQS mappings**. DynamoDB streams: the tailer checkpoints just before the **earliest** still-failing record (records are ascending, so everything from that index on is retried — unlisted records after it included), only the still-failing suffix reaches the DLQ/`OnFailure` destination, an empty `batchItemFailures` list commits the whole batch, and a malformed response (non-array, empty/unknown `itemIdentifier`) retries the batch exactly as a thrown handler would; the attempt budget is *not* reset when the suffix shrinks. SQS: only the receipt handles **not** reported as failures are deleted, so the reported ones redeliver on their visibility timeout instead of the whole batch being dropped or the whole batch being redelivered.
31
+
8
32
  ## [0.14.0] - 2026-07-13
9
33
 
10
34
  Two self-engine coverage gaps that surfaced while a project retired LocalStack: EventBridge rules/schedules now deliver to **SQS targets** (not just Lambda), and presigned **GET/HEAD honor the `response-*` header overrides** (forcing a download filename via `response-content-disposition`).
package/README.md CHANGED
@@ -41,9 +41,9 @@ LSS features come in two layers:
41
41
  - `help` — every command, flag and a config template
42
42
  - **Orchestration & provisioning**
43
43
  - Service registration API (`POST /api/services/register`) — the plugin reports only *where* the service lives
44
- - CloudFormation parsing from `sls package` → auto-provisions tables, queues, topics, buckets, EventBridge buses/rules and OpenSearch collections
44
+ - CloudFormation parsing from `sls package` → auto-provisions tables, queues (incl. `RedrivePolicy`), topics, buckets (incl. `CorsConfiguration`), secrets, EventBridge buses/rules, raw ApiGatewayV2 routes and OpenSearch collections
45
45
  - `autoPackage` — runs `sls package` on demand when the template is missing
46
- - Automatic event source mappings: SQS / DynamoDB streams / S3 notifications / EventBridge rules → Lambda
46
+ - Automatic event source mappings: SQS / DynamoDB streams / S3 notifications / EventBridge rules → Lambda — with AWS-faithful failure semantics (`FilterCriteria` enforced, `ReportBatchItemFailures` partial batches, `maximumRetryAttempts` incl. the `-1` "until the record ages out" default)
47
47
  - Per-instance isolation — `stateDir` + port-scoped PID/log paths let many LSS instances coexist (one per project)
48
48
  - Config: `lss.config.json` / `.lssrc` + env overrides (`LSS_*`); public-safe `GET /api/config` snapshot (never leaks the auth token)
49
49
  - **Lambda runtime & API Gateway emulation** (serverless-offline replacement — same `30xx`/`130xx` ports)
@@ -53,6 +53,7 @@ LSS features come in two layers:
53
53
  - Lambda Invoke API on `130xx` (`X-Amz-Invocation-Type` RequestResponse/Event/DryRun, `X-Amz-Function-Error`)
54
54
  - API Gateway proxy on `30xx`: route precedence (literal > `{param}` > `{proxy+}` > `$default`, method > ANY), payload v1/v2, CORS preflight, `port-conflict` status
55
55
  - Lambda authorizers: REST `token`/`request`, HTTP API `request` (simple responses), identity-source extraction, TTL cache + cache-clear, cross-service resolution by ARN
56
+ - Raw `AWS::ApiGatewayV2::*` routes from CFN `resources:` — on their own `::Api` or the framework's `HttpApi`; `Target`/`IntegrationUri`/`AuthorizerUri`/`SourceArn` reduced through `Fn::Sub` (incl. `${Id.Arn}`), `Fn::Join`, `Fn::GetAtt`, `Fn::ImportValue` and the apigateway invocation-URI wrapper; de-duplicated against `httpApi:` events
56
57
  - Hot reload: source changes restart the worker; `serverless.yml` changes re-package + re-register
57
58
  - **Explorers & testing primitives** (HTTP API + dashboard)
58
59
  - **Queues** (`/api/queues`): list + metrics (available/inFlight/processed/delayed), send/receive/delete/purge (FIFO group/dedup), `reset-processed`, `await-idle` (block until drained), `hold`/`captured`/`release` (capture-and-replay)
@@ -69,6 +70,7 @@ LSS features come in two layers:
69
70
  - **Programmatic client (`LssClient`)** — the CLI/dashboard surface from code: HTTP namespaces `seeds`, `queues`, `dynamo`, `buckets`, `resources`, `services`, `lambdas`, `apis`, `config`, `health` + `lifecycle` (`start`/`stop`/`status`/`logs`/`waitUntilReady`, shells out to the CLI)
70
71
  - **DynamoDB dev proxy** — optional reverse proxy on `:8000` (`enableDynamoProxy`) forwarding to the active engine, for tooling that expects DynamoDB on the standard port
71
72
  - **DynamoDB seeds** — `seeds/{tableName}.json` fixtures auto-applied on table creation, re-applied via `lss seed` or the dashboard
73
+ - **Secret seeds** — `seeds/secrets/{name}.json` fixtures (plus an optional `secrets:` config map) created on boot *before* services are reactivated, so a handler's first `GetSecretValue` finds an `AWSCURRENT` version with no bootstrap step; idempotent (an existing secret is never clobbered) and non-fatal
72
74
 
73
75
  ### 🆓 Engine: LocalStack Free (community image, Docker)
74
76
 
@@ -111,11 +113,11 @@ migration story, and [docs/SELF_ENGINE.md](docs/SELF_ENGINE.md) for the full cov
111
113
  - **Streams** delivered in-process (TRIM_HORIZON/LATEST, retry-then-advance, OnFailure SQS destination)
112
114
  - Lazy **TTL** expiry; AWS error names the provisioner relies on
113
115
  - Works unchanged with platform **seeds**, the DynamoDB explorer and the dev proxy
114
- - **SQS** — CreateQueue (idempotent), send/receive(+batch)/delete/purge, ChangeMessageVisibility; FIFO groups/dedup, event-driven long poll, visibility redelivery, live counters, MD5 digests, `x-amzn-query-error` compat header (`RedrivePolicy` round-trips but DLQ redrive is not enforced)
116
+ - **SQS** — CreateQueue (idempotent), send/receive(+batch)/delete/purge, ChangeMessageVisibility; FIFO groups/dedup, event-driven long poll, visibility redelivery, **queue-level redrive** (`RedrivePolicy` → DLQ when `ApproximateReceiveCount` exceeds `maxReceiveCount`, keeping the `MessageId`/body/MD5s and unblocking the FIFO `MessageGroupId`), live counters, MD5 digests, `x-amzn-query-error` compat header
115
117
  - **S3** — buckets (create/head/delete/list, location, versioning flag), ListObjectsV2 (prefix/delimiter/pagination/encoding), PutObject (aws-chunked), **presigned POST browser uploads** (`multipart/form-data`, `${filename}`, `success_action_status`/`redirect`, `x-amz-meta-*`), **presigned GET/HEAD `response-*` header overrides** (content-disposition/type/…), **CORS** (`Put`/`Get`/`DeleteBucketCors`, preflight `OPTIONS`, `Access-Control-Allow-Origin` on responses — matching rule or dev-permissive default), GetObject (Range), HeadObject, DeleteObject(s), CopyObject, notification config — bodies streamed to disk, never held in heap
116
118
  - **EventBridge** — buses/rules/targets, PutEvents per-entry results, pattern matcher (exact, array-OR, `prefix`, `exists`, nested), rule/schedule targets to **Lambda or SQS** (FIFO `MessageGroupId`), schedules (`rate()` + 6-field cron) from one timer wheel
117
119
  - **OpenSearch Serverless** — `aoss` control plane (Create/BatchGet/List/DeleteCollection, deterministic ids, `collectionEndpoint`) + REST data plane under `/_aoss/<collection>`: index & document CRUD with versioning, `_bulk` NDJSON, `_search`/`_count` (match/term/terms/range/prefix/wildcard/exists/ids/bool + sort, `_source` filtering, `?q=`), `terms`+metric aggregations, `_mapping`, `_refresh`, `_cat/indices`
118
- - **Secrets Manager** — Create/Get/Put/Update/Describe/Delete/Restore/ListSecrets, Tag/Untag, GetRandomPassword; real `AWSCURRENT`/`AWSPREVIOUS` staging, `SecretString`/`SecretBinary`, `ClientRequestToken` idempotency, per-region scoping (values persisted, not encrypted; create via SDK CFN provisioning pending)
120
+ - **Secrets Manager** — Create/Get/Put/Update/Describe/Delete/Restore/ListSecrets, Tag/Untag, GetRandomPassword; real `AWSCURRENT`/`AWSPREVIOUS` staging, `SecretString`/`SecretBinary`, `ClientRequestToken` idempotency, per-region scoping (values persisted, not encrypted); secrets are staged before the first read from CFN `AWS::SecretsManager::Secret` (with `GenerateSecretString` expansion) and from boot seeds — `seeds/secrets/<name>.json` plus the `secrets:` config map
119
121
  - **SNS** (minimal) — CreateTopic, ListTopics, DeleteTopic, GetTopicAttributes, Publish (logged + counted, no fan-out)
120
122
  - **STS** — GetCallerIdentity
121
123
  - **Lambda control plane** — proxy absorption as metadata (`INVOKE_URL` kept as HTTP fallback), event source mapping lifecycle (`Enabled` toggle = QueueInspector hold/release), Invoke passthrough
@@ -29,6 +29,7 @@ export declare class SqsEmulator implements TargetEmulator {
29
29
  private readonly ctx;
30
30
  private readonly catalogs;
31
31
  private readonly runtimes;
32
+ private readonly redriveWarned;
32
33
  constructor(ctx: EngineContext);
33
34
  handle(operation: string, input: Record<string, unknown>, req: AwsRequest): Promise<object>;
34
35
  queueExists(region: string, queueName: string): boolean;
@@ -58,6 +59,8 @@ export declare class SqsEmulator implements TargetEmulator {
58
59
  private catalogFor;
59
60
  private runtimeFor;
60
61
  private newRuntime;
62
+ private queueRecord;
63
+ private resolveRedrive;
61
64
  private requireQueue;
62
65
  private queueUrl;
63
66
  private queueArn;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/server/engine/emulators/sqs/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/server/engine/emulators/sqs/index.ts"],"names":[],"mappings":"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"}
@@ -7,7 +7,7 @@
7
7
  // branches on err.name 'QueueAlreadyExists' / substring 'NonExistentQueue',
8
8
  // queue-inspector reads the live Approximate* counters and CreatedTimestamp.
9
9
  import { AwsError, notImplementedOperation } from '../../http/errors.js';
10
- import { SqsQueue } from './queue.js';
10
+ import { parseRedrivePolicy, SqsQueue } from './queue.js';
11
11
  import { md5OfMessageAttributes } from './md5.js';
12
12
  // Read-time defaults for attributes the client did not set. Also the
13
13
  // baseline for CreateQueue's idempotency comparison: an omitted attribute
@@ -73,6 +73,10 @@ export class SqsEmulator {
73
73
  catalogs = new Map();
74
74
  // Live message state by `${region}/${queueName}`.
75
75
  runtimes = new Map();
76
+ // Source queues already warned about an unresolvable RedrivePolicy target —
77
+ // the check runs on every redelivery, and a poison message would otherwise
78
+ // reprint the same warning every visibility timeout.
79
+ redriveWarned = new Set();
76
80
  constructor(ctx) {
77
81
  this.ctx = ctx;
78
82
  }
@@ -114,10 +118,10 @@ export class SqsEmulator {
114
118
  // Dispatcher API (in-process event source mappings; sync by design)
115
119
  // ------------------------------------------------------------------
116
120
  queueExists(region, queueName) {
117
- return this.catalogs.get(region)?.get(queueName) !== undefined;
121
+ return this.queueRecord(region, queueName) !== undefined;
118
122
  }
119
123
  hasVisibleMessages(region, queueName) {
120
- const record = this.catalogs.get(region)?.get(queueName);
124
+ const record = this.queueRecord(region, queueName);
121
125
  const runtime = this.runtimes.get(`${region}/${queueName}`);
122
126
  if (!record || !runtime)
123
127
  return false;
@@ -126,7 +130,7 @@ export class SqsEmulator {
126
130
  // Marks up to `max` messages in-flight with the queue's VisibilityTimeout
127
131
  // and returns them shaped for the Lambda `Records` payload.
128
132
  receiveForDelivery(region, queueName, max) {
129
- const record = this.catalogs.get(region)?.get(queueName);
133
+ const record = this.queueRecord(region, queueName);
130
134
  if (!record)
131
135
  return [];
132
136
  const runtime = this.runtimeFor(region, record);
@@ -496,8 +500,49 @@ export class SqsEmulator {
496
500
  return new SqsQueue(queueName, {
497
501
  fifo,
498
502
  onVisible: () => this.ctx.bus.emit('sqs:message-visible', { region, queueName }),
503
+ redrive: () => this.resolveRedrive(region, queueName),
499
504
  });
500
505
  }
506
+ // Queue metadata for a region this emulator has already loaded. Undefined for
507
+ // a region no wire call (or ensureRegionLoaded) has touched yet.
508
+ queueRecord(region, queueName) {
509
+ return this.catalogs.get(region)?.get(queueName);
510
+ }
511
+ // Queue-level redrive: resolve `queueName`'s RedrivePolicy into a live
512
+ // dead-letter queue. Re-resolved on every redelivery (see RedriveResolver) —
513
+ // the DLQ is often provisioned AFTER the queue pointing at it, and
514
+ // SetQueueAttributes can change the policy at any time.
515
+ //
516
+ // Deliberately NOT implemented (they change nothing about how a failing
517
+ // consumer behaves locally, which is what this emulates):
518
+ // - RedriveAllowPolicy — which source queues a DLQ accepts messages from.
519
+ // - The manual redrive API — StartMessageMoveTask / ListMessageMoveTasks /
520
+ // CancelMessageMoveTask (draining a DLQ back into its source).
521
+ resolveRedrive(region, queueName) {
522
+ const policy = parseRedrivePolicy(this.queueRecord(region, queueName)?.attributes.RedrivePolicy);
523
+ if (!policy)
524
+ return undefined;
525
+ // AWS requires the dead-letter queue to live in the same account and region
526
+ // as its source queue, so only the queue NAME in deadLetterTargetArn is
527
+ // meaningful here — reuse the emulator's one ARN parser.
528
+ const dlqName = queueNameFromArn(policy.deadLetterTargetArn);
529
+ const dlqRecord = this.queueRecord(region, dlqName);
530
+ if (!dlqRecord) {
531
+ // Non-fatal, like every other provisioning gap: warn once and leave the
532
+ // queue without redrive (messages keep redelivering until retention).
533
+ const key = `${region}/${queueName}`;
534
+ if (!this.redriveWarned.has(key)) {
535
+ this.redriveWarned.add(key);
536
+ console.warn(`[engine-sqs] RedrivePolicy on queue "${queueName}" targets unknown queue "${dlqName}" — redrive disabled`);
537
+ }
538
+ return undefined;
539
+ }
540
+ const dlq = this.runtimeFor(region, dlqRecord);
541
+ return {
542
+ maxReceiveCount: policy.maxReceiveCount,
543
+ move: message => dlq.acceptRedriven(message),
544
+ };
545
+ }
501
546
  // Resolve `input.QueueUrl` (last path segment is the queue name) to its
502
547
  // catalog record or fail like AWS does for unknown queues.
503
548
  requireQueue(catalog, input) {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/server/engine/emulators/sqs/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/server/engine/emulators/sqs/index.ts"],"names":[],"mappings":"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"}
@@ -60,7 +60,18 @@ export interface SqsQueueOptions {
60
60
  fifo?: boolean;
61
61
  onVisible?: () => void;
62
62
  dedupWindowMs?: number;
63
+ redrive?: RedriveResolver;
63
64
  }
65
+ export interface RedrivePolicy {
66
+ deadLetterTargetArn: string;
67
+ maxReceiveCount: number;
68
+ }
69
+ export interface RedriveTarget {
70
+ maxReceiveCount: number;
71
+ move: (message: StoredMessage) => void;
72
+ }
73
+ export type RedriveResolver = () => RedriveTarget | undefined;
74
+ export declare function parseRedrivePolicy(raw: string | undefined): RedrivePolicy | undefined;
64
75
  export declare class SqsQueue {
65
76
  readonly name: string;
66
77
  readonly fifo: boolean;
@@ -76,6 +87,7 @@ export declare class SqsQueue {
76
87
  private sequenceCounter;
77
88
  private readonly onVisible;
78
89
  private readonly dedupWindowMs;
90
+ private readonly redrive;
79
91
  constructor(name: string, options?: SqsQueueOptions);
80
92
  send(options: SendMessageOptions): SendMessageOutcome;
81
93
  receive(options: ReceiveOptions): StoredMessage[];
@@ -84,6 +96,7 @@ export declare class SqsQueue {
84
96
  counters(retentionMs: number): QueueCounters;
85
97
  hasDeliverable(retentionMs: number): boolean;
86
98
  waitForVisible(timeoutMs: number): Promise<void>;
99
+ acceptRedriven(message: StoredMessage): void;
87
100
  purge(): void;
88
101
  dispose(): void;
89
102
  serialize(): SerializedQueueMessages;
@@ -92,6 +105,7 @@ export declare class SqsQueue {
92
105
  private isOwnHandle;
93
106
  private insertVisible;
94
107
  private requeue;
108
+ private movedToDeadLetterQueue;
95
109
  private unlockGroup;
96
110
  private pruneDedup;
97
111
  private pruneRetention;
@@ -1 +1 @@
1
- {"version":3,"file":"queue.d.ts","sourceRoot":"","sources":["../../../../../src/server/engine/emulators/sqs/queue.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"queue.d.ts","sourceRoot":"","sources":["../../../../../src/server/engine/emulators/sqs/queue.ts"],"names":[],"mappings":"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"}
@@ -13,6 +13,31 @@ export const DEFAULT_DEDUP_WINDOW_MS = 5 * 60 * 1000;
13
13
  // FIFO SequenceNumber base: AWS issues 20-digit monotonic values; we mimic
14
14
  // the magnitude so string comparisons in app code behave sensibly.
15
15
  const SEQUENCE_BASE = 18849496460467900000n;
16
+ // Decode the RedrivePolicy queue attribute, which travels as a JSON *string*:
17
+ // `{"deadLetterTargetArn":"arn:aws:sqs:us-east-1:0:dlq","maxReceiveCount":3}`.
18
+ // Anything malformed yields undefined (redrive simply stays off) instead of
19
+ // throwing — a bad policy must never break SendMessage/ReceiveMessage on the
20
+ // queue that carries it. maxReceiveCount is accepted as a number or a numeric
21
+ // string, because both shapes occur in the wild (console/CDK/CFN emit either).
22
+ export function parseRedrivePolicy(raw) {
23
+ if (!raw)
24
+ return undefined;
25
+ let parsed;
26
+ try {
27
+ parsed = JSON.parse(raw);
28
+ }
29
+ catch {
30
+ return undefined;
31
+ }
32
+ if (!parsed || typeof parsed !== 'object')
33
+ return undefined;
34
+ const policy = parsed;
35
+ const arn = typeof policy.deadLetterTargetArn === 'string' ? policy.deadLetterTargetArn : '';
36
+ const maxReceiveCount = Math.trunc(Number(policy.maxReceiveCount));
37
+ if (!arn || !Number.isFinite(maxReceiveCount) || maxReceiveCount < 1)
38
+ return undefined;
39
+ return { deadLetterTargetArn: arn, maxReceiveCount };
40
+ }
16
41
  export class SqsQueue {
17
42
  name;
18
43
  fifo;
@@ -33,11 +58,13 @@ export class SqsQueue {
33
58
  sequenceCounter = 0;
34
59
  onVisible;
35
60
  dedupWindowMs;
61
+ redrive;
36
62
  constructor(name, options = {}) {
37
63
  this.name = name;
38
64
  this.fifo = options.fifo ?? name.endsWith('.fifo');
39
65
  this.onVisible = options.onVisible ?? (() => undefined);
40
66
  this.dedupWindowMs = options.dedupWindowMs ?? DEFAULT_DEDUP_WINDOW_MS;
67
+ this.redrive = options.redrive ?? (() => undefined);
41
68
  }
42
69
  send(options) {
43
70
  const now = Date.now();
@@ -198,6 +225,32 @@ export class SqsQueue {
198
225
  this.waiters.add(waiter);
199
226
  });
200
227
  }
228
+ // Take in a message moved here by a SOURCE queue's RedrivePolicy.
229
+ //
230
+ // AWS preserves the identity of a redriven message: MessageId, body,
231
+ // MessageAttributes and both MD5 digests survive the move, and so does the
232
+ // original SentTimestamp (dead-letter retention is measured from the first
233
+ // enqueue, not from the move). Delivery bookkeeping is per-queue, so the
234
+ // receive counters reset and this queue issues a fresh arrival order — plus a
235
+ // fresh SequenceNumber when it is FIFO (and none at all when the DLQ is a
236
+ // standard queue fed by a FIFO source).
237
+ //
238
+ // The move deliberately bypasses the dedup window: a poison message must
239
+ // never be silently dropped on its way to the dead-letter queue.
240
+ acceptRedriven(message) {
241
+ this.insertVisible({
242
+ ...message,
243
+ order: ++this.orderCounter,
244
+ receiveCount: 0,
245
+ firstReceiveTimestamp: undefined,
246
+ receiptHandle: undefined,
247
+ visibleAt: Date.now(),
248
+ sequenceNumber: this.fifo
249
+ ? (SEQUENCE_BASE + BigInt(++this.sequenceCounter)).toString()
250
+ : undefined,
251
+ });
252
+ this.notifyVisible();
253
+ }
201
254
  // PurgeQueue: drops every message (visible, delayed and in flight); the
202
255
  // FIFO dedup window and sequence counter survive, as on AWS.
203
256
  purge() {
@@ -282,8 +335,30 @@ export class SqsQueue {
282
335
  message.receiptHandle = undefined;
283
336
  message.visibleAt = Date.now();
284
337
  this.unlockGroup(message);
338
+ if (this.movedToDeadLetterQueue(message))
339
+ return;
285
340
  this.insertVisible(message);
286
341
  }
342
+ // The redrive decision, taken on every path that would make an ALREADY
343
+ // RECEIVED message visible again. Returns true when the message left this
344
+ // queue for the dead-letter queue and must not be re-inserted.
345
+ //
346
+ // Off-by-one, AWS-faithful: a message moves once its ApproximateReceiveCount
347
+ // *exceeds* maxReceiveCount. `receiveCount` here is the number of deliveries
348
+ // already made, so the move happens exactly when the NEXT delivery would push
349
+ // it past the threshold — with maxReceiveCount: 2 the consumer sees the
350
+ // message twice, and the third delivery attempt goes to the DLQ instead.
351
+ //
352
+ // Callers unlock the FIFO group BEFORE calling this, so moving a poison
353
+ // message releases its MessageGroupId and the rest of the group flows again
354
+ // rather than stalling behind it forever.
355
+ movedToDeadLetterQueue(message) {
356
+ const target = this.redrive();
357
+ if (!target || message.receiveCount < target.maxReceiveCount)
358
+ return false;
359
+ target.move(message);
360
+ return true;
361
+ }
287
362
  unlockGroup(message) {
288
363
  if (!this.fifo || !message.messageGroupId)
289
364
  return;
@@ -352,6 +427,10 @@ export class SqsQueue {
352
427
  this.inflight.delete(handle);
353
428
  message.receiptHandle = undefined;
354
429
  this.unlockGroup(message);
430
+ // Visibility expiry is the redelivery path a failing consumer takes:
431
+ // the message either goes to the dead-letter queue or becomes visible.
432
+ if (this.movedToDeadLetterQueue(message))
433
+ continue;
355
434
  this.insertVisible(message);
356
435
  becameVisible = true;
357
436
  }
@@ -1 +1 @@
1
- {"version":3,"file":"queue.js","sourceRoot":"","sources":["../../../../../src/server/engine/emulators/sqs/queue.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"queue.js","sourceRoot":"","sources":["../../../../../src/server/engine/emulators/sqs/queue.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"apis.d.ts","sourceRoot":"","sources":["../../../src/server/routes/apis.ts"],"names":[],"mappings":"AAKA,QAAA,MAAM,MAAM,4CAAW,CAAC;AAqDxB,OAAO,EAAE,MAAM,IAAI,UAAU,EAAE,CAAC"}
1
+ {"version":3,"file":"apis.d.ts","sourceRoot":"","sources":["../../../src/server/routes/apis.ts"],"names":[],"mappings":"AAKA,QAAA,MAAM,MAAM,4CAAW,CAAC;AAyDxB,OAAO,EAAE,MAAM,IAAI,UAAU,EAAE,CAAC"}
@@ -22,10 +22,14 @@ router.get('/', (_req, res) => {
22
22
  method: route.method,
23
23
  path: route.path,
24
24
  functionName: route.functionName,
25
+ // Cross-service / raw-CFN target ARN (undefined for local state routes).
26
+ functionArn: route.functionArn,
25
27
  eventType: route.eventType,
26
28
  payloadVersion: route.eventType === 'httpApi' ? '2.0' : '1.0',
27
29
  cors: route.cors,
28
30
  authorizerName: route.authorizerName,
31
+ // True when sourced from raw AWS::ApiGatewayV2 resources.
32
+ raw: route.raw,
29
33
  })),
30
34
  authorizers: service.authorizers.map(a => ({
31
35
  name: a.name,
@@ -1 +1 @@
1
- {"version":3,"file":"apis.js","sourceRoot":"","sources":["../../../src/server/routes/apis.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"apis.js","sourceRoot":"","sources":["../../../src/server/routes/apis.ts"],"names":[],"mappings":"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"}