local-serverless-stack 0.8.0 → 0.10.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 (128) hide show
  1. package/CHANGELOG.md +55 -0
  2. package/README.md +214 -624
  3. package/dist/client/namespaces/lambdas.d.ts +1 -0
  4. package/dist/client/namespaces/lambdas.d.ts.map +1 -1
  5. package/dist/client/namespaces/lambdas.js.map +1 -1
  6. package/dist/client/types.d.ts +4 -0
  7. package/dist/client/types.d.ts.map +1 -1
  8. package/dist/server/engine/aoss-sidecar.d.ts +13 -0
  9. package/dist/server/engine/aoss-sidecar.d.ts.map +1 -0
  10. package/dist/server/engine/aoss-sidecar.js +93 -0
  11. package/dist/server/engine/aoss-sidecar.js.map +1 -0
  12. package/dist/server/engine/backends/self-backend.d.ts.map +1 -1
  13. package/dist/server/engine/backends/self-backend.js +4 -2
  14. package/dist/server/engine/backends/self-backend.js.map +1 -1
  15. package/dist/server/engine/emulators/dynamodb/index.d.ts +8 -0
  16. package/dist/server/engine/emulators/dynamodb/index.d.ts.map +1 -1
  17. package/dist/server/engine/emulators/dynamodb/index.js +208 -7
  18. package/dist/server/engine/emulators/dynamodb/index.js.map +1 -1
  19. package/dist/server/engine/emulators/dynamodb/transactions.d.ts +35 -0
  20. package/dist/server/engine/emulators/dynamodb/transactions.d.ts.map +1 -0
  21. package/dist/server/engine/emulators/dynamodb/transactions.js +153 -0
  22. package/dist/server/engine/emulators/dynamodb/transactions.js.map +1 -0
  23. package/dist/server/engine/emulators/events/index.js +3 -3
  24. package/dist/server/engine/emulators/events/index.js.map +1 -1
  25. package/dist/server/engine/emulators/lambda-ctl/index.js +5 -5
  26. package/dist/server/engine/emulators/lambda-ctl/index.js.map +1 -1
  27. package/dist/server/engine/emulators/opensearch/index.d.ts +67 -0
  28. package/dist/server/engine/emulators/opensearch/index.d.ts.map +1 -0
  29. package/dist/server/engine/emulators/opensearch/index.js +812 -0
  30. package/dist/server/engine/emulators/opensearch/index.js.map +1 -0
  31. package/dist/server/engine/emulators/opensearch/search.d.ts +17 -0
  32. package/dist/server/engine/emulators/opensearch/search.d.ts.map +1 -0
  33. package/dist/server/engine/emulators/opensearch/search.js +434 -0
  34. package/dist/server/engine/emulators/opensearch/search.js.map +1 -0
  35. package/dist/server/engine/emulators/s3/index.js +5 -5
  36. package/dist/server/engine/emulators/s3/index.js.map +1 -1
  37. package/dist/server/engine/emulators/sns/index.js +2 -2
  38. package/dist/server/engine/emulators/sns/index.js.map +1 -1
  39. package/dist/server/engine/emulators/sqs/index.js +2 -2
  40. package/dist/server/engine/emulators/sqs/index.js.map +1 -1
  41. package/dist/server/engine/emulators/sts.js +2 -2
  42. package/dist/server/engine/emulators/sts.js.map +1 -1
  43. package/dist/server/engine/http/errors.d.ts +1 -0
  44. package/dist/server/engine/http/errors.d.ts.map +1 -1
  45. package/dist/server/engine/http/errors.js +12 -0
  46. package/dist/server/engine/http/errors.js.map +1 -1
  47. package/dist/server/engine/http/router.d.ts.map +1 -1
  48. package/dist/server/engine/http/router.js +11 -0
  49. package/dist/server/engine/http/router.js.map +1 -1
  50. package/dist/server/engine/types.d.ts +1 -1
  51. package/dist/server/engine/types.d.ts.map +1 -1
  52. package/dist/server/index.js +31 -0
  53. package/dist/server/index.js.map +1 -1
  54. package/dist/server/routes/config.d.ts.map +1 -1
  55. package/dist/server/routes/config.js +16 -0
  56. package/dist/server/routes/config.js.map +1 -1
  57. package/dist/server/routes/opensearch.d.ts +3 -0
  58. package/dist/server/routes/opensearch.d.ts.map +1 -0
  59. package/dist/server/routes/opensearch.js +69 -0
  60. package/dist/server/routes/opensearch.js.map +1 -0
  61. package/dist/server/routes/resources.d.ts.map +1 -1
  62. package/dist/server/routes/resources.js +4 -1
  63. package/dist/server/routes/resources.js.map +1 -1
  64. package/dist/server/routes/services.d.ts.map +1 -1
  65. package/dist/server/routes/services.js +1 -0
  66. package/dist/server/routes/services.js.map +1 -1
  67. package/dist/server/runtime/log-capture.d.ts +7 -0
  68. package/dist/server/runtime/log-capture.d.ts.map +1 -0
  69. package/dist/server/runtime/log-capture.js +206 -0
  70. package/dist/server/runtime/log-capture.js.map +1 -0
  71. package/dist/server/runtime/runtime-worker.js +23 -14
  72. package/dist/server/runtime/runtime-worker.js.map +1 -1
  73. package/dist/server/services/cache-manager.d.ts +2 -1
  74. package/dist/server/services/cache-manager.d.ts.map +1 -1
  75. package/dist/server/services/cache-manager.js +22 -2
  76. package/dist/server/services/cache-manager.js.map +1 -1
  77. package/dist/server/services/cloudformation-parser.d.ts +10 -1
  78. package/dist/server/services/cloudformation-parser.d.ts.map +1 -1
  79. package/dist/server/services/cloudformation-parser.js +28 -0
  80. package/dist/server/services/cloudformation-parser.js.map +1 -1
  81. package/dist/server/services/config-manager.d.ts +55 -0
  82. package/dist/server/services/config-manager.d.ts.map +1 -1
  83. package/dist/server/services/config-manager.js +84 -0
  84. package/dist/server/services/config-manager.js.map +1 -1
  85. package/dist/server/services/gateway-manager.d.ts +2 -0
  86. package/dist/server/services/gateway-manager.d.ts.map +1 -1
  87. package/dist/server/services/gateway-manager.js +44 -6
  88. package/dist/server/services/gateway-manager.js.map +1 -1
  89. package/dist/server/services/lambda-runtime-manager.d.ts +2 -0
  90. package/dist/server/services/lambda-runtime-manager.d.ts.map +1 -1
  91. package/dist/server/services/lambda-runtime-manager.js +19 -1
  92. package/dist/server/services/lambda-runtime-manager.js.map +1 -1
  93. package/dist/server/services/opensearch-explorer.d.ts +37 -0
  94. package/dist/server/services/opensearch-explorer.d.ts.map +1 -0
  95. package/dist/server/services/opensearch-explorer.js +124 -0
  96. package/dist/server/services/opensearch-explorer.js.map +1 -0
  97. package/dist/server/services/resource-provisioner.d.ts +7 -0
  98. package/dist/server/services/resource-provisioner.d.ts.map +1 -1
  99. package/dist/server/services/resource-provisioner.js +86 -4
  100. package/dist/server/services/resource-provisioner.js.map +1 -1
  101. package/dist/server/services/service-registrar.d.ts +1 -0
  102. package/dist/server/services/service-registrar.d.ts.map +1 -1
  103. package/dist/server/services/service-registrar.js +17 -2
  104. package/dist/server/services/service-registrar.js.map +1 -1
  105. package/dist/ui/assets/{ApisPage-a9i2qD0Z.js → ApisPage-DyjG-weG.js} +1 -1
  106. package/dist/ui/assets/{BucketDetailPage-Cz27N0KV.js → BucketDetailPage-Bvrk1L6q.js} +1 -1
  107. package/dist/ui/assets/{BucketsPage-CZ7wGmUN.js → BucketsPage-KgeLoK6e.js} +1 -1
  108. package/dist/ui/assets/{DynamoPage-BZMs1iW8.js → DynamoPage-C8rwaEIi.js} +1 -1
  109. package/dist/ui/assets/{DynamoTablePage-BQsGkhtO.js → DynamoTablePage-CN5P5f7S.js} +1 -1
  110. package/dist/ui/assets/{LambdaDetailPage-DJb7xqRB.js → LambdaDetailPage-BPhEkF44.js} +3 -3
  111. package/dist/ui/assets/{LambdasPage-Ctg1l-Lg.js → LambdasPage-Dz4wxjVd.js} +1 -1
  112. package/dist/ui/assets/OpenSearchCollectionPage-B3s964oC.js +1 -0
  113. package/dist/ui/assets/OpenSearchPage-0fTJJovd.js +1 -0
  114. package/dist/ui/assets/OverviewPage-B13l71G0.js +1 -0
  115. package/dist/ui/assets/OverviewPage-qEl0a-0B.css +1 -0
  116. package/dist/ui/assets/{QueueDetailPage-DRpSqost.js → QueueDetailPage-peLph1_v.js} +1 -1
  117. package/dist/ui/assets/{QueuesPage-CY0bDGwV.js → QueuesPage-CF9yiBkq.js} +1 -1
  118. package/dist/ui/assets/ServiceDetailPage-ZGLPswmY.js +2 -0
  119. package/dist/ui/assets/ServicesPage-DsoZBBxo.js +2 -0
  120. package/dist/ui/assets/index-BP9zQ9L-.js +37 -0
  121. package/dist/ui/assets/{index-C1KdKPDS.css → index-DH7RTkRh.css} +1 -1
  122. package/dist/ui/index.html +2 -2
  123. package/package.json +2 -1
  124. package/dist/ui/assets/OverviewPage-6jDXV1jr.css +0 -1
  125. package/dist/ui/assets/OverviewPage-DiijblCA.js +0 -1
  126. package/dist/ui/assets/ServiceDetailPage-CYTEdtts.js +0 -2
  127. package/dist/ui/assets/ServicesPage-OlV_rr-q.js +0 -2
  128. package/dist/ui/assets/index-DA_C1HOg.js +0 -36
@@ -45,6 +45,7 @@ export interface LambdaInvocationRecord {
45
45
  at: number;
46
46
  functionName: string;
47
47
  ok: boolean;
48
+ statusCode?: number;
48
49
  durationMs: number;
49
50
  logs: string[];
50
51
  }
@@ -1 +1 @@
1
- {"version":3,"file":"lambdas.d.ts","sourceRoot":"","sources":["../../../src/client/namespaces/lambdas.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAEpC,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,SAAS,GAAG,UAAU,GAAG,QAAQ,GAAG,OAAO,CAAC;IACpD,aAAa,CAAC,EAAE,UAAU,GAAG,QAAQ,CAAC;IACtC,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,YAAa,SAAQ,aAAa;IACjD,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACpC,MAAM,EAAE,KAAK,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;QAAC,cAAc,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACzG;AAED,MAAM,WAAW,iBAAiB;IAChC,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB,cAAc,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC;CAC9C;AAED,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAE,OAAO,CAAC;IACZ,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,aAAa,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,YAAY,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;IAChF,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,sBAAsB;IACrC,EAAE,EAAE,MAAM,CAAC;IACX,YAAY,EAAE,MAAM,CAAC;IACrB,EAAE,EAAE,OAAO,CAAC;IACZ,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,EAAE,CAAC;CAChB;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC,CAAC;IACjC,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;IACzC,2EAA2E;IAC3E,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAC;IAC7E,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,WAAW,EAAE,sBAAsB,EAAE,CAAA;KAAE,CAAC,CAAC;CACxE;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,IAAI,GAAG,UAAU,CAQvD"}
1
+ {"version":3,"file":"lambdas.d.ts","sourceRoot":"","sources":["../../../src/client/namespaces/lambdas.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAEpC,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,SAAS,GAAG,UAAU,GAAG,QAAQ,GAAG,OAAO,CAAC;IACpD,aAAa,CAAC,EAAE,UAAU,GAAG,QAAQ,CAAC;IACtC,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,YAAa,SAAQ,aAAa;IACjD,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACpC,MAAM,EAAE,KAAK,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;QAAC,cAAc,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACzG;AAED,MAAM,WAAW,iBAAiB;IAChC,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB,cAAc,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC;CAC9C;AAED,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAE,OAAO,CAAC;IACZ,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,aAAa,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,YAAY,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;IAChF,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,sBAAsB;IACrC,EAAE,EAAE,MAAM,CAAC;IACX,YAAY,EAAE,MAAM,CAAC;IACrB,EAAE,EAAE,OAAO,CAAC;IAEZ,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,EAAE,CAAC;CAChB;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC,CAAC;IACjC,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;IACzC,2EAA2E;IAC3E,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAC;IAC7E,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,WAAW,EAAE,sBAAsB,EAAE,CAAA;KAAE,CAAC,CAAC;CACxE;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,IAAI,GAAG,UAAU,CAQvD"}
@@ -1 +1 @@
1
- {"version":3,"file":"lambdas.js","sourceRoot":"","sources":["../../../src/client/namespaces/lambdas.ts"],"names":[],"mappings":";;AAwDA,4CAQC;AARD,SAAgB,gBAAgB,CAAC,IAAU;IACzC,MAAM,IAAI,GAAG,CAAC,IAAY,EAAE,EAAE,CAAC,gBAAgB,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC;IAC1E,OAAO;QACL,IAAI,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,cAAc,CAAC;QAC5C,GAAG,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QAC3C,MAAM,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE,IAAI,EAAE,KAAK,IAAI,EAAE,EAAE,CAAC;QACzF,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC;KACvD,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"lambdas.js","sourceRoot":"","sources":["../../../src/client/namespaces/lambdas.ts"],"names":[],"mappings":";;AA0DA,4CAQC;AARD,SAAgB,gBAAgB,CAAC,IAAU;IACzC,MAAM,IAAI,GAAG,CAAC,IAAY,EAAE,EAAE,CAAC,gBAAgB,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC;IAC1E,OAAO;QACL,IAAI,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,cAAc,CAAC;QAC5C,GAAG,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QAC3C,MAAM,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE,IAAI,EAAE,KAAK,IAAI,EAAE,EAAE,CAAC;QACzF,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC;KACvD,CAAC;AACJ,CAAC"}
@@ -211,6 +211,10 @@ export interface ResourceOwners {
211
211
  name: string;
212
212
  service: string;
213
213
  }>;
214
+ collections?: Array<{
215
+ name: string;
216
+ service: string;
217
+ }>;
214
218
  }
215
219
  export interface RegisterServiceInput {
216
220
  servicePath: string;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/client/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/client/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ export interface AossSidecarOptions {
2
+ port: number;
3
+ dataDir: string;
4
+ region: string;
5
+ account?: string;
6
+ }
7
+ export interface AossSidecarHandle {
8
+ port: number;
9
+ endpoint: string;
10
+ close(): Promise<void>;
11
+ }
12
+ export declare function startAossSidecar(opts: AossSidecarOptions): Promise<AossSidecarHandle>;
13
+ //# sourceMappingURL=aoss-sidecar.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"aoss-sidecar.d.ts","sourceRoot":"","sources":["../../../src/server/engine/aoss-sidecar.ts"],"names":[],"mappings":"AAsBA,MAAM,WAAW,kBAAkB;IAGjC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACxB;AAED,wBAAsB,gBAAgB,CAAC,IAAI,EAAE,kBAAkB,GAAG,OAAO,CAAC,iBAAiB,CAAC,CA+E3F"}
@@ -0,0 +1,93 @@
1
+ // OpenSearch Serverless (aoss) sidecar: the self-engine OpenSearch emulator
2
+ // served in-process behind the engine router, on its own port next to a
3
+ // LocalStack engine. No LocalStack edition provides aoss, so LSS fills the
4
+ // gap itself — the control plane (X-Amz-Target OpenSearchServerless.*) and
5
+ // the data plane (/_aoss/<collection>/...) both answer on this listener,
6
+ // persisted under the sidecar's own data dir. Never started in self-engine
7
+ // mode, where aoss is native.
8
+ import http from 'http';
9
+ import { EngineBus } from './bus.js';
10
+ import { createEngineStore } from './store/engine-store.js';
11
+ import { createEngineRequestHandler } from './http/router.js';
12
+ import { OpenSearchEmulator } from './emulators/opensearch/index.js';
13
+ // Same residency defaults as the self engine (config-manager.ts) — the
14
+ // sidecar hosts one emulator, so there is no reason to expose knobs for them.
15
+ const IDLE_UNLOAD_MS = 300_000;
16
+ const MEMORY_BUDGET_MB = 128;
17
+ export async function startAossSidecar(opts) {
18
+ const store = createEngineStore({
19
+ dataDir: opts.dataDir,
20
+ idleUnloadMs: IDLE_UNLOAD_MS,
21
+ memoryBudgetMb: MEMORY_BUDGET_MB,
22
+ fsync: false,
23
+ });
24
+ // The emulator resolves collectionEndpoint through ctx.endpoint() at request
25
+ // time; a closure over the mutable port keeps it correct once listen() has
26
+ // picked the real port (port 0 case).
27
+ let boundPort = opts.port;
28
+ const ctx = {
29
+ config: {
30
+ port: opts.port,
31
+ dataDir: opts.dataDir,
32
+ account: opts.account ?? '000000000000',
33
+ region: opts.region,
34
+ idleUnloadMs: IDLE_UNLOAD_MS,
35
+ memoryBudgetMb: MEMORY_BUDGET_MB,
36
+ fsync: false,
37
+ fallbackEndpoint: null,
38
+ persistence: true,
39
+ },
40
+ store,
41
+ bus: new EngineBus(),
42
+ // The OpenSearch emulator never invokes functions; the stub keeps the
43
+ // context honest without dragging the dispatcher (and the Lambda runtime)
44
+ // into the sidecar.
45
+ dispatcher: { invokeFunction: async () => ({ ok: true }) },
46
+ endpoint: () => `http://localhost:${boundPort}`,
47
+ };
48
+ const emulator = new OpenSearchEmulator(ctx);
49
+ const handler = createEngineRequestHandler({ ctx, emulators: [emulator] });
50
+ const server = http.createServer(handler);
51
+ // Keep-alive sockets must be destroyed for server.close() not to hang.
52
+ const sockets = new Set();
53
+ server.on('connection', socket => {
54
+ sockets.add(socket);
55
+ socket.on('close', () => sockets.delete(socket));
56
+ });
57
+ await new Promise((resolve, reject) => {
58
+ const onError = (err) => {
59
+ server.removeListener('listening', onListening);
60
+ if (err.code === 'EADDRINUSE') {
61
+ reject(new Error(`aoss sidecar could not bind port ${opts.port}: address already in use. ` +
62
+ 'Stop the conflicting process or set aossSidecar.port to a free port.'));
63
+ }
64
+ else {
65
+ reject(err);
66
+ }
67
+ };
68
+ const onListening = () => {
69
+ server.removeListener('error', onError);
70
+ resolve();
71
+ };
72
+ server.once('error', onError);
73
+ server.once('listening', onListening);
74
+ server.listen(opts.port, '0.0.0.0');
75
+ });
76
+ boundPort = server.address().port;
77
+ store.startSweeper();
78
+ return {
79
+ port: boundPort,
80
+ endpoint: `http://localhost:${boundPort}`,
81
+ async close() {
82
+ await store.flushAll();
83
+ store.stopSweeper();
84
+ await new Promise(resolve => {
85
+ server.close(() => resolve());
86
+ for (const socket of sockets)
87
+ socket.destroy();
88
+ sockets.clear();
89
+ });
90
+ },
91
+ };
92
+ }
93
+ //# sourceMappingURL=aoss-sidecar.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"aoss-sidecar.js","sourceRoot":"","sources":["../../../src/server/engine/aoss-sidecar.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"self-backend.d.ts","sourceRoot":"","sources":["../../../../src/server/engine/backends/self-backend.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAiB,KAAK,wBAAwB,EAAE,MAAM,kCAAkC,CAAC;AAmBhG,qBAAa,iBAAkB,YAAW,aAAa;IACrD,QAAQ,CAAC,IAAI,EAAG,MAAM,CAAU;IAEhC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAoC;IAC9D,OAAO,CAAC,MAAM,CAAyC;IACvD,OAAO,CAAC,KAAK,CAA4B;IACzC,OAAO,CAAC,GAAG,CAA4B;IACvC,OAAO,CAAC,UAAU,CAAiC;IACnD,OAAO,CAAC,SAAS,CAAgC;IACjD,OAAO,CAAC,MAAM,CAA4B;IAE1C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAqB;IAC7C,OAAO,CAAC,SAAS,CAAuB;IACxC,OAAO,CAAC,OAAO,CAAS;gBAIZ,SAAS,GAAE,OAAO,CAAC,wBAAwB,CAAM;IAIvD,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAsFtB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAkC3B,SAAS,IAAI,OAAO;IAIpB,WAAW,IAAI,MAAM;IAIrB,SAAS,IAAI;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE;YAAE,WAAW,EAAE,MAAM,CAAC;YAAC,eAAe,EAAE,MAAM,CAAA;SAAE,CAAA;KAAE;IAQhH,YAAY,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAYvC,OAAO,CAAC,aAAa;IAKrB,OAAO,CAAC,kBAAkB;CAU3B"}
1
+ {"version":3,"file":"self-backend.d.ts","sourceRoot":"","sources":["../../../../src/server/engine/backends/self-backend.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAiB,KAAK,wBAAwB,EAAE,MAAM,kCAAkC,CAAC;AAoBhG,qBAAa,iBAAkB,YAAW,aAAa;IACrD,QAAQ,CAAC,IAAI,EAAG,MAAM,CAAU;IAEhC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAoC;IAC9D,OAAO,CAAC,MAAM,CAAyC;IACvD,OAAO,CAAC,KAAK,CAA4B;IACzC,OAAO,CAAC,GAAG,CAA4B;IACvC,OAAO,CAAC,UAAU,CAAiC;IACnD,OAAO,CAAC,SAAS,CAAgC;IACjD,OAAO,CAAC,MAAM,CAA4B;IAE1C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAqB;IAC7C,OAAO,CAAC,SAAS,CAAuB;IACxC,OAAO,CAAC,OAAO,CAAS;gBAIZ,SAAS,GAAE,OAAO,CAAC,wBAAwB,CAAM;IAIvD,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAuFtB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAkC3B,SAAS,IAAI,OAAO;IAIpB,WAAW,IAAI,MAAM;IAIrB,SAAS,IAAI;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE;YAAE,WAAW,EAAE,MAAM,CAAC;YAAC,eAAe,EAAE,MAAM,CAAA;SAAE,CAAA;KAAE;IAQhH,YAAY,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAYvC,OAAO,CAAC,aAAa;IAKrB,OAAO,CAAC,kBAAkB;CAU3B"}
@@ -17,9 +17,10 @@ import { EventsEmulator } from '../emulators/events/index.js';
17
17
  import { SnsEmulator } from '../emulators/sns/index.js';
18
18
  import { StsEmulator } from '../emulators/sts.js';
19
19
  import { LambdaCtlEmulator } from '../emulators/lambda-ctl/index.js';
20
+ import { OpenSearchEmulator } from '../emulators/opensearch/index.js';
20
21
  import { EngineDispatcher } from '../dispatch/dispatcher.js';
21
22
  import { EngineScheduler } from '../dispatch/scheduler.js';
22
- const SERVICES = ['dynamodb', 'sqs', 'sns', 's3', 'events', 'lambda', 'sts'];
23
+ const SERVICES = ['dynamodb', 'sqs', 'sns', 's3', 'events', 'lambda', 'sts', 'aoss'];
23
24
  const SQS_SNAPSHOT_FILE = 'sqs-messages.snapshot.json';
24
25
  export class SelfEngineBackend {
25
26
  kind = 'self';
@@ -67,6 +68,7 @@ export class SelfEngineBackend {
67
68
  const sns = new SnsEmulator(ctx);
68
69
  const sts = new StsEmulator(ctx);
69
70
  const lambdaCtl = new LambdaCtlEmulator(ctx);
71
+ const opensearch = new OpenSearchEmulator(ctx);
70
72
  this.sqs = sqs;
71
73
  const dispatcher = new EngineDispatcher({ ctx, sqs, dynamo, s3, events, lambdaCtl });
72
74
  ctx.dispatcher = dispatcher;
@@ -88,7 +90,7 @@ export class SelfEngineBackend {
88
90
  store.startSweeper();
89
91
  const handler = createEngineRequestHandler({
90
92
  ctx,
91
- emulators: [dynamo, sqs, s3, events, sns, sts, lambdaCtl],
93
+ emulators: [dynamo, sqs, s3, events, sns, sts, lambdaCtl, opensearch],
92
94
  });
93
95
  const server = http.createServer(handler);
94
96
  server.on('connection', socket => {
@@ -1 +1 @@
1
- {"version":3,"file":"self-backend.js","sourceRoot":"","sources":["../../../../src/server/engine/backends/self-backend.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"self-backend.js","sourceRoot":"","sources":["../../../../src/server/engine/backends/self-backend.ts"],"names":[],"mappings":"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"}
@@ -6,6 +6,7 @@ export declare class DynamoDbEmulator implements TargetEmulator {
6
6
  readonly jsonVersion: "1.0";
7
7
  private readonly streams;
8
8
  private readonly catalogs;
9
+ private readonly transactTokens;
9
10
  constructor(ctx: EngineContext);
10
11
  handle(operation: string, input: Record<string, unknown>, req: AwsRequest): Promise<object>;
11
12
  getStreamArn(region: string, tableName: string): string | undefined;
@@ -36,11 +37,18 @@ export declare class DynamoDbEmulator implements TargetEmulator {
36
37
  private getItem;
37
38
  private deleteItem;
38
39
  private updateItem;
40
+ private assertKeyUnchanged;
39
41
  private topLevelUpdatedNames;
40
42
  private query;
41
43
  private scan;
42
44
  private page;
43
45
  private batchGetItem;
44
46
  private batchWriteItem;
47
+ private ensureHydrated;
48
+ private transactDuplicateGuard;
49
+ private transactConsumedCapacity;
50
+ private transactWriteItems;
51
+ private executeTransactWrite;
52
+ private transactGetItems;
45
53
  }
46
54
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/server/engine/emulators/dynamodb/index.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EACI,UAAU,EAAE,aAAa,EAAE,cAAc,EACxD,MAAM,gBAAgB,CAAC;AAmCxB,qBAAa,gBAAiB,YAAW,cAAc;IAQzC,OAAO,CAAC,QAAQ,CAAC,GAAG;IAPhC,QAAQ,CAAC,OAAO,EAAG,UAAU,CAAU;IACvC,QAAQ,CAAC,YAAY,uBAAuB;IAC5C,QAAQ,CAAC,WAAW,EAAG,KAAK,CAAU;IAEtC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAgB;IACxC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAgD;gBAE5C,GAAG,EAAE,aAAa;IAIzC,MAAM,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,EAAE,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC;IAuBjG,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAUnE,UAAU,CACR,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,GAAG,SAAS,EAC5B,KAAK,EAAE,MAAM,GACZ;QAAE,OAAO,EAAE,OAAO,EAAE,CAAC;QAAC,OAAO,EAAE,MAAM,GAAG,SAAS,CAAA;KAAE;IAMhD,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;YAOlC,UAAU;YAYV,YAAY;YAgBZ,QAAQ;IAMtB,OAAO,CAAC,iBAAiB;IAOzB,OAAO,CAAC,gBAAgB;IAMxB,OAAO,CAAC,cAAc;IAWtB,OAAO,CAAC,mBAAmB;IAS3B,OAAO,CAAC,SAAS;IASjB,OAAO,CAAC,aAAa;IAWrB,OAAO,CAAC,QAAQ;IAYhB,OAAO,CAAC,WAAW;YAcL,WAAW;YAYX,aAAa;YAMb,WAAW;YAiBX,UAAU;YAkBV,gBAAgB;YAchB,kBAAkB;IAUhC,OAAO,CAAC,gBAAgB;YA8EV,OAAO;YA8BP,OAAO;YAmBP,UAAU;YAyBV,UAAU;IA8DxB,OAAO,CAAC,oBAAoB;YAkBd,KAAK;YAKL,IAAI;YAKJ,IAAI;YAkBJ,YAAY;YA4BZ,cAAc;CA2C7B"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/server/engine/emulators/dynamodb/index.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EACI,UAAU,EAAE,aAAa,EAAE,cAAc,EACxD,MAAM,gBAAgB,CAAC;AAuCxB,qBAAa,gBAAiB,YAAW,cAAc;IASzC,OAAO,CAAC,QAAQ,CAAC,GAAG;IARhC,QAAQ,CAAC,OAAO,EAAG,UAAU,CAAU;IACvC,QAAQ,CAAC,YAAY,uBAAuB;IAC5C,QAAQ,CAAC,WAAW,EAAG,KAAK,CAAU;IAEtC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAgB;IACxC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAgD;IACzE,OAAO,CAAC,QAAQ,CAAC,cAAc,CAA4B;gBAE9B,GAAG,EAAE,aAAa;IAIzC,MAAM,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,EAAE,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC;IAyBjG,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAUnE,UAAU,CACR,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,GAAG,SAAS,EAC5B,KAAK,EAAE,MAAM,GACZ;QAAE,OAAO,EAAE,OAAO,EAAE,CAAC;QAAC,OAAO,EAAE,MAAM,GAAG,SAAS,CAAA;KAAE;IAMhD,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;YAOlC,UAAU;YAYV,YAAY;YAgBZ,QAAQ;IAMtB,OAAO,CAAC,iBAAiB;IAOzB,OAAO,CAAC,gBAAgB;IAMxB,OAAO,CAAC,cAAc;IAWtB,OAAO,CAAC,mBAAmB;IAS3B,OAAO,CAAC,SAAS;IASjB,OAAO,CAAC,aAAa;IAWrB,OAAO,CAAC,QAAQ;IAYhB,OAAO,CAAC,WAAW;YAcL,WAAW;YAYX,aAAa;YAMb,WAAW;YAiBX,UAAU;YAkBV,gBAAgB;YAchB,kBAAkB;IAUhC,OAAO,CAAC,gBAAgB;YA8EV,OAAO;YA8BP,OAAO;YAmBP,UAAU;YAyBV,UAAU;IAsDxB,OAAO,CAAC,kBAAkB;IAY1B,OAAO,CAAC,oBAAoB;YAkBd,KAAK;YAKL,IAAI;YAKJ,IAAI;YAkBJ,YAAY;YA4BZ,cAAc;YAkDd,cAAc;IAQ5B,OAAO,CAAC,sBAAsB;IAW9B,OAAO,CAAC,wBAAwB;YAQlB,kBAAkB;YAyClB,oBAAoB;YAoHpB,gBAAgB;CAmC/B"}
@@ -3,12 +3,13 @@
3
3
  // expiration and change streams (streams.ts). All AWS-shaped failures are
4
4
  // thrown as AwsError with the exact error names the provisioner's idempotency
5
5
  // and the SDK's error mapping depend on (PRD RF2.4/RF3).
6
- import { AwsError, dynamoError, notImplemented, validationError } from '../../http/errors.js';
6
+ import { AwsError, dynamoError, notImplementedOperation, validationError } from '../../http/errors.js';
7
7
  import { applyProjection, applyUpdate, assertPlaceholdersUsed, attributeValuesEqual, compileCondition, } from './expressions/index.js';
8
8
  import { parseUpdateExpression } from './expressions/parser.js';
9
9
  import { assertItemSize, buildTableRecord, canonicalKey, itemSizeBytes, keyMapOf, rejectLegacyParams, streamArnFor, tableArnFor, validateItemKey, validateProvidedKey, } from './schema.js';
10
10
  import { executeQuery, executeScan, indexHasItem } from './query.js';
11
11
  import { DynamoStreams } from './streams.js';
12
+ import { parseTransactGetItems, parseTransactWriteItems, TransactTokenCache, } from './transactions.js';
12
13
  const DYNAMO_NS = 'com.amazonaws.dynamodb.v20120810';
13
14
  const TTL_USER_IDENTITY = { type: 'Service', principalId: 'dynamodb.amazonaws.com' };
14
15
  const DEFAULT_LIST_TABLES_LIMIT = 100;
@@ -21,6 +22,7 @@ export class DynamoDbEmulator {
21
22
  jsonVersion = '1.0';
22
23
  streams;
23
24
  catalogs = new Map();
25
+ transactTokens = new TransactTokenCache();
24
26
  constructor(ctx) {
25
27
  this.ctx = ctx;
26
28
  this.streams = new DynamoStreams(ctx);
@@ -42,7 +44,9 @@ export class DynamoDbEmulator {
42
44
  case 'Scan': return this.scan(region, input);
43
45
  case 'BatchGetItem': return this.batchGetItem(region, input);
44
46
  case 'BatchWriteItem': return this.batchWriteItem(region, input);
45
- default: throw notImplemented('dynamodb', operation);
47
+ case 'TransactWriteItems': return this.transactWriteItems(region, input);
48
+ case 'TransactGetItems': return this.transactGetItems(region, input);
49
+ default: throw notImplementedOperation('dynamodb', operation);
46
50
  }
47
51
  }
48
52
  // -- dispatcher-facing stream API -----------------------------------------
@@ -420,11 +424,7 @@ export class DynamoDbEmulator {
420
424
  else {
421
425
  updated = structuredClone(base);
422
426
  }
423
- for (const { AttributeName } of record.keySchema) {
424
- if (updated[AttributeName] === undefined || !attributeValuesEqual(updated[AttributeName], keyInput[AttributeName])) {
425
- throw validationError(`One or more parameter values were invalid: Cannot update attribute ${AttributeName}. This attribute is part of the key`);
426
- }
427
- }
427
+ this.assertKeyUnchanged(record, updated, keyInput);
428
428
  assertItemSize(updated);
429
429
  items.put(key, updated);
430
430
  this.streams.append(region, record.tableName, {
@@ -453,6 +453,13 @@ export class DynamoDbEmulator {
453
453
  this.addConsumedCapacity(response, input, record.tableName);
454
454
  return response;
455
455
  }
456
+ assertKeyUnchanged(record, updated, keyInput) {
457
+ for (const { AttributeName } of record.keySchema) {
458
+ if (updated[AttributeName] === undefined || !attributeValuesEqual(updated[AttributeName], keyInput[AttributeName])) {
459
+ throw validationError(`One or more parameter values were invalid: Cannot update attribute ${AttributeName}. This attribute is part of the key`);
460
+ }
461
+ }
462
+ }
456
463
  // Top-level attribute names touched by an UpdateExpression — the granularity
457
464
  // AWS's UPDATED_OLD/UPDATED_NEW return values are keyed by.
458
465
  topLevelUpdatedNames(expression, ctx) {
@@ -568,5 +575,199 @@ export class DynamoDbEmulator {
568
575
  }
569
576
  return { UnprocessedItems: {} };
570
577
  }
578
+ // -- transactions ----------------------------------------------------------------
579
+ // The prepare loop awaits table/item hydration, which lets the store's
580
+ // memory-budget sweeper dehydrate a table hydrated earlier in the same
581
+ // request. The evaluate/commit phases must run synchronously against
582
+ // hydrated tables, so loop until one pass finds everything resident.
583
+ async ensureHydrated(tables) {
584
+ for (let pass = 0; pass < 10 && tables.some((table) => !table.isHydrated()); pass++) {
585
+ for (const table of tables) {
586
+ if (!table.isHydrated())
587
+ await table.hydrate();
588
+ }
589
+ }
590
+ }
591
+ transactDuplicateGuard() {
592
+ const seen = new Set();
593
+ return (record, canonical) => {
594
+ const target = JSON.stringify([record.tableName, canonical]);
595
+ if (seen.has(target)) {
596
+ throw validationError('Transaction request cannot include multiple operations on one item');
597
+ }
598
+ seen.add(target);
599
+ };
600
+ }
601
+ transactConsumedCapacity(response, input, tableNames) {
602
+ const mode = input.ReturnConsumedCapacity;
603
+ if (mode === 'TOTAL' || mode === 'INDEXES') {
604
+ response.ConsumedCapacity = [...new Set(tableNames)]
605
+ .map((tableName) => ({ TableName: tableName, CapacityUnits: 0 }));
606
+ }
607
+ }
608
+ async transactWriteItems(region, input) {
609
+ const ops = parseTransactWriteItems(input);
610
+ const token = input.ClientRequestToken;
611
+ if (token !== undefined && (typeof token !== 'string' || token.length === 0 || token.length > 36)) {
612
+ throw validationError('ClientRequestToken must be a non-empty string with a maximum length of 36');
613
+ }
614
+ // Idempotency is namespaced per region — DynamoDB is a regional service,
615
+ // and one emulator instance serves every region.
616
+ const tokenKey = typeof token === 'string' ? JSON.stringify([region, token]) : undefined;
617
+ if (tokenKey !== undefined) {
618
+ const replay = this.transactTokens.begin(tokenKey, JSON.stringify(input.TransactItems), {
619
+ mismatch: () => dynamoError('IdempotentParameterMismatchException', 'Request with the same client token already completed with different parameters'),
620
+ inProgress: () => dynamoError('TransactionInProgressException', 'The transaction with the given request token is currently in progress'),
621
+ });
622
+ if (replay)
623
+ return replay;
624
+ }
625
+ try {
626
+ const response = await this.executeTransactWrite(region, input, ops);
627
+ if (tokenKey !== undefined)
628
+ this.transactTokens.complete(tokenKey, response);
629
+ return response;
630
+ }
631
+ catch (err) {
632
+ // Failed transactions are not idempotency-cached — a retry re-executes.
633
+ if (tokenKey !== undefined)
634
+ this.transactTokens.abandon(tokenKey);
635
+ throw err;
636
+ }
637
+ }
638
+ // All-or-nothing (PRD RF3): conditions AND the update computations are
639
+ // evaluated against current state first — in one synchronous block, so no
640
+ // other request interleaves between the checks and the writes — and any
641
+ // failure cancels the whole request with per-item CancellationReasons (the
642
+ // shape clients inspect to map "condition failed on entry N" to domain
643
+ // errors like duplicate e-mail). Only a fully clean pass applies the
644
+ // writes — each one emitting its stream record.
645
+ async executeTransactWrite(region, input, ops) {
646
+ const guardDuplicate = this.transactDuplicateGuard();
647
+ const prepared = [];
648
+ for (const op of ops) {
649
+ const record = await this.requireTable(region, op.tableName);
650
+ const items = await this.itemsFor(region, record.tableName);
651
+ let keyInput;
652
+ if (op.kind === 'Put') {
653
+ validateItemKey(record, op.item);
654
+ assertItemSize(op.item);
655
+ keyInput = keyMapOf(record, op.item);
656
+ }
657
+ else {
658
+ keyInput = validateProvidedKey(record, op.key);
659
+ }
660
+ assertPlaceholdersUsed([op.updateExpression, op.conditionExpression], op.ctx);
661
+ // Statically invalid updates reject the request up front (AWS
662
+ // behavior): syntax/placeholder errors and expressions that touch a
663
+ // key attribute. Runtime apply failures cancel the transaction below.
664
+ if (op.kind === 'Update') {
665
+ const touched = this.topLevelUpdatedNames(op.updateExpression, op.ctx);
666
+ for (const { AttributeName } of record.keySchema) {
667
+ if (touched.includes(AttributeName)) {
668
+ throw validationError(`One or more parameter values were invalid: Cannot update attribute ${AttributeName}. This attribute is part of the key`);
669
+ }
670
+ }
671
+ }
672
+ guardDuplicate(record, canonicalKey(record, keyInput));
673
+ prepared.push({ op, record, items, canonical: canonicalKey(record, keyInput), keyInput });
674
+ }
675
+ await this.ensureHydrated(prepared.map((entry) => entry.items));
676
+ const reasons = prepared.map((entry) => {
677
+ const { op, record, keyInput } = entry;
678
+ entry.old = this.liveItem(region, record, entry.items, entry.canonical);
679
+ if (op.conditionExpression) {
680
+ const passed = compileCondition(op.conditionExpression, op.ctx).evaluate(entry.old ?? {});
681
+ if (!passed) {
682
+ const reason = { Code: 'ConditionalCheckFailed', Message: 'The conditional request failed' };
683
+ if (op.returnOldOnFail && entry.old)
684
+ reason.Item = structuredClone(entry.old);
685
+ return reason;
686
+ }
687
+ }
688
+ if (op.kind === 'Put') {
689
+ entry.stored = structuredClone(op.item);
690
+ }
691
+ else if (op.kind === 'Update') {
692
+ // Dry-run the update NOW so a failing op cancels the transaction
693
+ // (AWS reports it as a ValidationError cancellation reason) instead
694
+ // of surfacing after earlier ops were already written.
695
+ try {
696
+ const base = entry.old ?? structuredClone(keyInput);
697
+ const stored = applyUpdate(op.updateExpression, base, op.ctx);
698
+ this.assertKeyUnchanged(record, stored, keyInput);
699
+ assertItemSize(stored);
700
+ entry.stored = stored;
701
+ }
702
+ catch (err) {
703
+ if (err instanceof AwsError && err.code === 'ValidationException') {
704
+ return { Code: 'ValidationError', Message: err.message };
705
+ }
706
+ throw err;
707
+ }
708
+ }
709
+ return { Code: 'None', Message: null };
710
+ });
711
+ if (reasons.some((reason) => reason.Code !== 'None')) {
712
+ throw new AwsError('TransactionCanceledException', `Transaction cancelled, please refer cancellation reasons for specific reasons [${reasons.map((r) => r.Code).join(', ')}]`, {
713
+ typeName: `${DYNAMO_NS}#TransactionCanceledException`,
714
+ extra: { CancellationReasons: reasons },
715
+ });
716
+ }
717
+ for (const { op, record, items, canonical, old, stored } of prepared) {
718
+ if (op.kind === 'ConditionCheck')
719
+ continue;
720
+ if (op.kind === 'Delete') {
721
+ if (old) {
722
+ items.delete(canonical);
723
+ this.streams.append(region, record.tableName, {
724
+ eventName: 'REMOVE',
725
+ keys: keyMapOf(record, old),
726
+ oldImage: old,
727
+ });
728
+ }
729
+ continue;
730
+ }
731
+ items.put(canonical, stored);
732
+ this.streams.append(region, record.tableName, {
733
+ eventName: old ? 'MODIFY' : 'INSERT',
734
+ keys: keyMapOf(record, stored),
735
+ oldImage: old,
736
+ newImage: stored,
737
+ });
738
+ }
739
+ const response = {};
740
+ this.transactConsumedCapacity(response, input, prepared.map((entry) => entry.record.tableName));
741
+ return response;
742
+ }
743
+ async transactGetItems(region, input) {
744
+ const gets = parseTransactGetItems(input);
745
+ const guardDuplicate = this.transactDuplicateGuard();
746
+ const prepared = [];
747
+ for (const get of gets) {
748
+ const record = await this.requireTable(region, get.tableName);
749
+ const items = await this.itemsFor(region, record.tableName);
750
+ const keyInput = validateProvidedKey(record, get.key);
751
+ assertPlaceholdersUsed([get.projectionExpression], get.ctx);
752
+ const canonical = canonicalKey(record, keyInput);
753
+ guardDuplicate(record, canonical);
754
+ prepared.push({ get, record, items, canonical });
755
+ }
756
+ await this.ensureHydrated(prepared.map((entry) => entry.items));
757
+ // One synchronous pass — the reads are a consistent snapshot, matching
758
+ // the operation's serializable-isolation contract.
759
+ const responses = prepared.map(({ get, record, items, canonical }) => {
760
+ const item = this.liveItem(region, record, items, canonical);
761
+ if (!item)
762
+ return {};
763
+ const clone = structuredClone(item);
764
+ return {
765
+ Item: get.projectionExpression ? applyProjection(get.projectionExpression, clone, get.ctx) : clone,
766
+ };
767
+ });
768
+ const response = { Responses: responses };
769
+ this.transactConsumedCapacity(response, input, prepared.map((entry) => entry.record.tableName));
770
+ return response;
771
+ }
571
772
  }
572
773
  //# sourceMappingURL=index.js.map