local-serverless-stack 1.0.0 → 1.1.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 (200) hide show
  1. package/CHANGELOG.md +125 -3
  2. package/README.md +92 -38
  3. package/bin/cli.js +218 -28
  4. package/bin/i18n.js +57 -3
  5. package/dist/client/index.d.ts +1 -1
  6. package/dist/client/index.d.ts.map +1 -1
  7. package/dist/client/namespaces/services.d.ts +46 -0
  8. package/dist/client/namespaces/services.d.ts.map +1 -1
  9. package/dist/client/namespaces/services.js +1 -0
  10. package/dist/client/namespaces/services.js.map +1 -1
  11. package/dist/mcp/tools.d.ts.map +1 -1
  12. package/dist/mcp/tools.js +17 -0
  13. package/dist/mcp/tools.js.map +1 -1
  14. package/dist/server/engine/backends/self-backend.d.ts +26 -1
  15. package/dist/server/engine/backends/self-backend.d.ts.map +1 -1
  16. package/dist/server/engine/backends/self-backend.js +104 -11
  17. package/dist/server/engine/backends/self-backend.js.map +1 -1
  18. package/dist/server/engine/emulators/dynamodb/expressions/parser.d.ts.map +1 -1
  19. package/dist/server/engine/emulators/dynamodb/expressions/parser.js +12 -1
  20. package/dist/server/engine/emulators/dynamodb/expressions/parser.js.map +1 -1
  21. package/dist/server/engine/emulators/dynamodb/expressions/reserved-words.d.ts +3 -0
  22. package/dist/server/engine/emulators/dynamodb/expressions/reserved-words.d.ts.map +1 -0
  23. package/dist/server/engine/emulators/dynamodb/expressions/reserved-words.js +78 -0
  24. package/dist/server/engine/emulators/dynamodb/expressions/reserved-words.js.map +1 -0
  25. package/dist/server/engine/emulators/dynamodb/index.d.ts +11 -0
  26. package/dist/server/engine/emulators/dynamodb/index.d.ts.map +1 -1
  27. package/dist/server/engine/emulators/dynamodb/index.js +101 -7
  28. package/dist/server/engine/emulators/dynamodb/index.js.map +1 -1
  29. package/dist/server/engine/emulators/dynamodb/query.d.ts +1 -0
  30. package/dist/server/engine/emulators/dynamodb/query.d.ts.map +1 -1
  31. package/dist/server/engine/emulators/dynamodb/query.js +34 -6
  32. package/dist/server/engine/emulators/dynamodb/query.js.map +1 -1
  33. package/dist/server/engine/emulators/s3/index.d.ts +10 -0
  34. package/dist/server/engine/emulators/s3/index.d.ts.map +1 -1
  35. package/dist/server/engine/emulators/s3/index.js +369 -25
  36. package/dist/server/engine/emulators/s3/index.js.map +1 -1
  37. package/dist/server/engine/emulators/sqs/index.d.ts +2 -0
  38. package/dist/server/engine/emulators/sqs/index.d.ts.map +1 -1
  39. package/dist/server/engine/emulators/sqs/index.js +70 -7
  40. package/dist/server/engine/emulators/sqs/index.js.map +1 -1
  41. package/dist/server/engine/emulators/sqs/queue.d.ts +2 -1
  42. package/dist/server/engine/emulators/sqs/queue.d.ts.map +1 -1
  43. package/dist/server/engine/emulators/sqs/queue.js +68 -35
  44. package/dist/server/engine/emulators/sqs/queue.js.map +1 -1
  45. package/dist/server/engine/emulators/ssm/index.d.ts +31 -0
  46. package/dist/server/engine/emulators/ssm/index.d.ts.map +1 -0
  47. package/dist/server/engine/emulators/ssm/index.js +670 -0
  48. package/dist/server/engine/emulators/ssm/index.js.map +1 -0
  49. package/dist/server/engine/http/errors.d.ts +1 -0
  50. package/dist/server/engine/http/errors.d.ts.map +1 -1
  51. package/dist/server/engine/http/errors.js +13 -5
  52. package/dist/server/engine/http/errors.js.map +1 -1
  53. package/dist/server/engine/http/is-aws-request.d.ts.map +1 -1
  54. package/dist/server/engine/http/is-aws-request.js +13 -3
  55. package/dist/server/engine/http/is-aws-request.js.map +1 -1
  56. package/dist/server/engine/http/protocols/aws-json.d.ts +1 -0
  57. package/dist/server/engine/http/protocols/aws-json.d.ts.map +1 -1
  58. package/dist/server/engine/http/protocols/aws-json.js +13 -0
  59. package/dist/server/engine/http/protocols/aws-json.js.map +1 -1
  60. package/dist/server/engine/http/reset.d.ts +4 -0
  61. package/dist/server/engine/http/reset.d.ts.map +1 -0
  62. package/dist/server/engine/http/reset.js +17 -0
  63. package/dist/server/engine/http/reset.js.map +1 -0
  64. package/dist/server/engine/http/router.d.ts +1 -0
  65. package/dist/server/engine/http/router.d.ts.map +1 -1
  66. package/dist/server/engine/http/router.js +185 -34
  67. package/dist/server/engine/http/router.js.map +1 -1
  68. package/dist/server/engine/types.d.ts +2 -1
  69. package/dist/server/engine/types.d.ts.map +1 -1
  70. package/dist/server/routes/apis.d.ts.map +1 -1
  71. package/dist/server/routes/apis.js +6 -0
  72. package/dist/server/routes/apis.js.map +1 -1
  73. package/dist/server/routes/config.d.ts.map +1 -1
  74. package/dist/server/routes/config.js +25 -1
  75. package/dist/server/routes/config.js.map +1 -1
  76. package/dist/server/routes/lambdas.d.ts.map +1 -1
  77. package/dist/server/routes/lambdas.js +12 -0
  78. package/dist/server/routes/lambdas.js.map +1 -1
  79. package/dist/server/routes/services.d.ts.map +1 -1
  80. package/dist/server/routes/services.js +66 -5
  81. package/dist/server/routes/services.js.map +1 -1
  82. package/dist/server/runtime/runtime-worker.js +40 -3
  83. package/dist/server/runtime/runtime-worker.js.map +1 -1
  84. package/dist/server/services/api-gateway-events.d.ts +14 -0
  85. package/dist/server/services/api-gateway-events.d.ts.map +1 -1
  86. package/dist/server/services/api-gateway-events.js +114 -8
  87. package/dist/server/services/api-gateway-events.js.map +1 -1
  88. package/dist/server/services/artifact-staleness.d.ts +20 -0
  89. package/dist/server/services/artifact-staleness.d.ts.map +1 -0
  90. package/dist/server/services/artifact-staleness.js +115 -0
  91. package/dist/server/services/artifact-staleness.js.map +1 -0
  92. package/dist/server/services/authorizer-service.d.ts +34 -5
  93. package/dist/server/services/authorizer-service.d.ts.map +1 -1
  94. package/dist/server/services/authorizer-service.js +0 -0
  95. package/dist/server/services/authorizer-service.js.map +1 -1
  96. package/dist/server/services/cache-manager.d.ts +5 -0
  97. package/dist/server/services/cache-manager.d.ts.map +1 -1
  98. package/dist/server/services/cache-manager.js.map +1 -1
  99. package/dist/server/services/cfn-intrinsics.d.ts +63 -0
  100. package/dist/server/services/cfn-intrinsics.d.ts.map +1 -0
  101. package/dist/server/services/cfn-intrinsics.js +403 -0
  102. package/dist/server/services/cfn-intrinsics.js.map +1 -0
  103. package/dist/server/services/cfn-physical-values.d.ts +51 -0
  104. package/dist/server/services/cfn-physical-values.d.ts.map +1 -0
  105. package/dist/server/services/cfn-physical-values.js +186 -0
  106. package/dist/server/services/cfn-physical-values.js.map +1 -0
  107. package/dist/server/services/cloudformation-parser.d.ts +26 -3
  108. package/dist/server/services/cloudformation-parser.d.ts.map +1 -1
  109. package/dist/server/services/cloudformation-parser.js +79 -7
  110. package/dist/server/services/cloudformation-parser.js.map +1 -1
  111. package/dist/server/services/config-manager.d.ts +49 -2
  112. package/dist/server/services/config-manager.d.ts.map +1 -1
  113. package/dist/server/services/config-manager.js +206 -24
  114. package/dist/server/services/config-manager.js.map +1 -1
  115. package/dist/server/services/gateway-manager.d.ts.map +1 -1
  116. package/dist/server/services/gateway-manager.js +52 -20
  117. package/dist/server/services/gateway-manager.js.map +1 -1
  118. package/dist/server/services/lambda-runtime-manager.d.ts +2 -0
  119. package/dist/server/services/lambda-runtime-manager.d.ts.map +1 -1
  120. package/dist/server/services/lambda-runtime-manager.js +49 -15
  121. package/dist/server/services/lambda-runtime-manager.js.map +1 -1
  122. package/dist/server/services/raw-api-assembler.d.ts +1 -1
  123. package/dist/server/services/raw-api-assembler.d.ts.map +1 -1
  124. package/dist/server/services/raw-api-assembler.js +18 -8
  125. package/dist/server/services/raw-api-assembler.js.map +1 -1
  126. package/dist/server/services/resource-provisioner.d.ts +31 -1
  127. package/dist/server/services/resource-provisioner.d.ts.map +1 -1
  128. package/dist/server/services/resource-provisioner.js +257 -25
  129. package/dist/server/services/resource-provisioner.js.map +1 -1
  130. package/dist/server/services/s3-explorer.js +1 -1
  131. package/dist/server/services/seed-manager.d.ts.map +1 -1
  132. package/dist/server/services/seed-manager.js +11 -6
  133. package/dist/server/services/seed-manager.js.map +1 -1
  134. package/dist/server/services/serverless-state-parser.d.ts +45 -2
  135. package/dist/server/services/serverless-state-parser.d.ts.map +1 -1
  136. package/dist/server/services/serverless-state-parser.js +217 -29
  137. package/dist/server/services/serverless-state-parser.js.map +1 -1
  138. package/dist/server/services/service-graph.d.ts +76 -0
  139. package/dist/server/services/service-graph.d.ts.map +1 -0
  140. package/dist/server/services/service-graph.js +914 -0
  141. package/dist/server/services/service-graph.js.map +1 -0
  142. package/dist/server/services/service-registrar.d.ts +17 -1
  143. package/dist/server/services/service-registrar.d.ts.map +1 -1
  144. package/dist/server/services/service-registrar.js +190 -66
  145. package/dist/server/services/service-registrar.js.map +1 -1
  146. package/dist/server/services/service-scanner.d.ts +7 -2
  147. package/dist/server/services/service-scanner.d.ts.map +1 -1
  148. package/dist/server/services/service-scanner.js +53 -7
  149. package/dist/server/services/service-scanner.js.map +1 -1
  150. package/dist/server/services/source-watcher.d.ts +1 -0
  151. package/dist/server/services/source-watcher.d.ts.map +1 -1
  152. package/dist/server/services/source-watcher.js +19 -1
  153. package/dist/server/services/source-watcher.js.map +1 -1
  154. package/dist/server/services/worker-runtime.d.ts +82 -0
  155. package/dist/server/services/worker-runtime.d.ts.map +1 -0
  156. package/dist/server/services/worker-runtime.js +303 -0
  157. package/dist/server/services/worker-runtime.js.map +1 -0
  158. package/dist/ui/assets/ApisPage-BkW-QZ0X.js +1 -0
  159. package/dist/ui/assets/BucketDetailPage-CJwTQJh7.js +1 -0
  160. package/dist/ui/assets/BucketsPage-B1xPVhZC.js +1 -0
  161. package/dist/ui/assets/DynamoPage-DvbpwZDc.js +1 -0
  162. package/dist/ui/assets/DynamoTablePage-xn3Lq3so.js +3 -0
  163. package/dist/ui/assets/LambdaDetailPage-BhUyO77H.js +4 -0
  164. package/dist/ui/assets/LambdasPage-CUF_4rOH.js +1 -0
  165. package/dist/ui/assets/OnboardingPage-U49THUzu.js +1 -0
  166. package/dist/ui/assets/OpenSearchCollectionPage-BJTVNCq4.js +1 -0
  167. package/dist/ui/assets/OpenSearchPage-4s-egkB9.js +1 -0
  168. package/dist/ui/assets/OverviewPage-DJeJQktG.js +1 -0
  169. package/dist/ui/assets/{OverviewPage-C1pBJ8aP.css → OverviewPage-DjQETmb_.css} +1 -1
  170. package/dist/ui/assets/QueueDetailPage-DWsy5Yt8.js +1 -0
  171. package/dist/ui/assets/QueuesPage-BZJSqman.js +1 -0
  172. package/dist/ui/assets/SecretsPage-YC9ua54G.js +1 -0
  173. package/dist/ui/assets/ServiceDetailPage-Cum5frP4.js +2 -0
  174. package/dist/ui/assets/ServicesPage-IpaPDuqx.js +2 -0
  175. package/dist/ui/assets/SettingsPage-BiCRU8O6.js +1 -0
  176. package/dist/ui/assets/index-BDlrAJhi.css +1 -0
  177. package/dist/ui/assets/index-BouKSS43.js +38 -0
  178. package/dist/ui/assets/resourceIcons-DZs28nbs.js +1 -0
  179. package/dist/ui/index.html +5 -2
  180. package/package.json +1 -1
  181. package/dist/ui/assets/ApisPage-BOuimwWz.js +0 -1
  182. package/dist/ui/assets/BucketDetailPage-vLYwhoQt.js +0 -1
  183. package/dist/ui/assets/BucketsPage-Cu5lU1Hp.js +0 -1
  184. package/dist/ui/assets/DynamoPage-y3TTEPUL.js +0 -1
  185. package/dist/ui/assets/DynamoTablePage-BnmSRZjc.js +0 -3
  186. package/dist/ui/assets/LambdaDetailPage-B5q_d27t.js +0 -4
  187. package/dist/ui/assets/LambdasPage-CJpRoEDx.js +0 -1
  188. package/dist/ui/assets/OnboardingPage-D02dymQi.js +0 -1
  189. package/dist/ui/assets/OpenSearchCollectionPage-B_wWTlfL.js +0 -1
  190. package/dist/ui/assets/OpenSearchPage-BLEgfF_g.js +0 -1
  191. package/dist/ui/assets/OverviewPage-EdJWiAt6.js +0 -1
  192. package/dist/ui/assets/QueueDetailPage-ByEYHvHe.js +0 -1
  193. package/dist/ui/assets/QueuesPage-CvwYHSll.js +0 -1
  194. package/dist/ui/assets/SecretsPage-DASw8Ntf.js +0 -1
  195. package/dist/ui/assets/ServiceDetailPage-BMsUDg6L.js +0 -2
  196. package/dist/ui/assets/ServicesPage-2JuiIiRr.js +0 -2
  197. package/dist/ui/assets/SettingsPage-DStO4bgN.js +0 -1
  198. package/dist/ui/assets/index-BIEznsi4.js +0 -37
  199. package/dist/ui/assets/index-BRMvNP3Y.css +0 -1
  200. package/dist/ui/assets/resourceIcons-baecADXA.js +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/server/engine/emulators/ssm/index.ts"],"names":[],"mappings":"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"}
@@ -16,6 +16,7 @@ export declare function dynamoError(code: string, message: string, status?: numb
16
16
  export declare function validationError(message: string): AwsError;
17
17
  export declare function sqsError(code: string, message: string, status?: number): AwsError;
18
18
  export declare function s3Error(code: string, message: string, status: number): AwsError;
19
+ export declare const COVERAGE_DOC_URL = "https://github.com/viserion77/local-serverless-stack/blob/main/docs/SELF_ENGINE.md#coverage";
19
20
  export declare function notImplemented(service: string, operation: string): AwsError;
20
21
  export declare function notImplementedOperation(service: string, operation: string): AwsError;
21
22
  //# sourceMappingURL=errors.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../../../src/server/engine/http/errors.ts"],"names":[],"mappings":"AAMA,MAAM,MAAM,aAAa,GAAG,QAAQ,GAAG,UAAU,CAAC;AAElD,qBAAa,QAAS,SAAQ,KAAK;IACjC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC;IAG9B,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAG3B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;gBAGvC,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,aAAa,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAAE;CAU3G;AAID,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,SAAM,GAAG,QAAQ,CAEjF;AAED,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,QAAQ,CAEzD;AAED,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,SAAM,GAAG,QAAQ,CAE9E;AAED,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,QAAQ,CAE/E;AAKD,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,QAAQ,CAO3E;AAMD,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,QAAQ,CAQpF"}
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../../../src/server/engine/http/errors.ts"],"names":[],"mappings":"AAMA,MAAM,MAAM,aAAa,GAAG,QAAQ,GAAG,UAAU,CAAC;AAElD,qBAAa,QAAS,SAAQ,KAAK;IACjC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC;IAG9B,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAG3B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;gBAGvC,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,aAAa,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAAE;CAU3G;AAID,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,SAAM,GAAG,QAAQ,CAEjF;AAED,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,QAAQ,CAEzD;AAED,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,SAAM,GAAG,QAAQ,CAE9E;AAED,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,QAAQ,CAE/E;AAMD,eAAO,MAAM,gBAAgB,gGACkE,CAAC;AAOhG,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,QAAQ,CAQ3E;AAMD,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,QAAQ,CAQpF"}
@@ -36,19 +36,27 @@ export function sqsError(code, message, status = 400) {
36
36
  export function s3Error(code, message, status) {
37
37
  return new AwsError(code, message, { status });
38
38
  }
39
+ // Where the coverage table lives. An absolute GitHub URL rather than a repo
40
+ // path: the npm package ships `dist/` and `bin/` only (package.json `files`),
41
+ // so a `docs/…` path in an error message pointed at a file the reader of the
42
+ // message does not have.
43
+ export const COVERAGE_DOC_URL = 'https://github.com/viserion77/local-serverless-stack/blob/main/docs/SELF_ENGINE.md#coverage';
39
44
  // Service-level gap (router): the whole service is unknown to the engine, so
40
- // the fallback proxy WOULD forward it — suggesting fallbackEndpoint is honest
41
- // here (this error is only reachable when no fallback is configured).
45
+ // the fallback proxy WOULD forward it — suggesting a fallback is honest here
46
+ // (this error is only reachable when none is configured for the service).
47
+ // `operation` is the AWS operation name whenever the wire carries one
48
+ // (X-Amz-Target, Action=); REST protocols only have `METHOD /path`.
42
49
  export function notImplemented(service, operation) {
43
- return new AwsError('NotImplemented', `${service}.${operation} is not implemented by the LSS self engine — ` +
44
- 'see docs/SELF_ENGINE.md#coverage, or set selfEngine.fallbackEndpoint to forward it to a LocalStack instance', { status: 400 });
50
+ return new AwsError('NotImplemented', `${service}.${operation} is not implemented by the LSS self engine: the ${service} service is not emulated. ` +
51
+ `See ${COVERAGE_DOC_URL}, or forward it to another AWS-compatible endpoint with ` +
52
+ `selfEngine.fallbackEndpoints.${service} (one service) or selfEngine.fallbackEndpoint (every unsupported service)`, { status: 400 });
45
53
  }
46
54
  // Operation-level gap inside a service the engine DOES serve: the fallback
47
55
  // proxy never forwards these (and it would read the wrong state anyway — the
48
56
  // service's data lives in the self engine), so the message must not send
49
57
  // people down the fallbackEndpoint dead end.
50
58
  export function notImplementedOperation(service, operation) {
51
- return new AwsError('NotImplemented', `${service}.${operation} is not implemented by the LSS self engine — see docs/SELF_ENGINE.md#coverage. ` +
59
+ return new AwsError('NotImplemented', `${service}.${operation} is not implemented by the LSS self engine — see ${COVERAGE_DOC_URL}. ` +
52
60
  `(selfEngine.fallbackEndpoint does not apply here: it forwards whole services the engine does not serve, ` +
53
61
  `and ${service} — with its data — is served by the self engine.)`, { status: 400 });
54
62
  }
@@ -1 +1 @@
1
- {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../../../src/server/engine/http/errors.ts"],"names":[],"mappings":"AAAA,6EAA6E;AAC7E,2EAA2E;AAC3E,6EAA6E;AAC7E,2EAA2E;AAC3E,yEAAyE;AAIzE,MAAM,OAAO,QAAS,SAAQ,KAAK;IACxB,IAAI,CAAS;IACb,MAAM,CAAS;IACf,KAAK,CAAgB;IAC9B,wEAAwE;IACxE,uEAAuE;IAC9D,QAAQ,CAAU;IAC3B,sEAAsE;IACtE,mCAAmC;IAC1B,KAAK,CAA2B;IAEzC,YACE,IAAY,EACZ,OAAe,EACf,OAAwG;QAExG,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,UAAU,CAAC;QACvB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,MAAM,GAAG,OAAO,EAAE,MAAM,IAAI,GAAG,CAAC;QACrC,IAAI,CAAC,KAAK,GAAG,OAAO,EAAE,KAAK,IAAI,QAAQ,CAAC;QACxC,IAAI,CAAC,QAAQ,GAAG,OAAO,EAAE,QAAQ,CAAC;QAClC,IAAI,CAAC,KAAK,GAAG,OAAO,EAAE,KAAK,CAAC;IAC9B,CAAC;CACF;AAED,MAAM,SAAS,GAAG,kCAAkC,CAAC;AAErD,MAAM,UAAU,WAAW,CAAC,IAAY,EAAE,OAAe,EAAE,MAAM,GAAG,GAAG;IACrE,OAAO,IAAI,QAAQ,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,SAAS,IAAI,IAAI,EAAE,EAAE,CAAC,CAAC;AACnF,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,OAAe;IAC7C,OAAO,WAAW,CAAC,qBAAqB,EAAE,OAAO,CAAC,CAAC;AACrD,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,IAAY,EAAE,OAAe,EAAE,MAAM,GAAG,GAAG;IAClE,OAAO,IAAI,QAAQ,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;AACjD,CAAC;AAED,MAAM,UAAU,OAAO,CAAC,IAAY,EAAE,OAAe,EAAE,MAAc;IACnE,OAAO,IAAI,QAAQ,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;AACjD,CAAC;AAED,6EAA6E;AAC7E,8EAA8E;AAC9E,sEAAsE;AACtE,MAAM,UAAU,cAAc,CAAC,OAAe,EAAE,SAAiB;IAC/D,OAAO,IAAI,QAAQ,CACjB,gBAAgB,EAChB,GAAG,OAAO,IAAI,SAAS,+CAA+C;QACpE,6GAA6G,EAC/G,EAAE,MAAM,EAAE,GAAG,EAAE,CAChB,CAAC;AACJ,CAAC;AAED,2EAA2E;AAC3E,6EAA6E;AAC7E,yEAAyE;AACzE,6CAA6C;AAC7C,MAAM,UAAU,uBAAuB,CAAC,OAAe,EAAE,SAAiB;IACxE,OAAO,IAAI,QAAQ,CACjB,gBAAgB,EAChB,GAAG,OAAO,IAAI,SAAS,iFAAiF;QACtG,0GAA0G;QAC1G,OAAO,OAAO,mDAAmD,EACnE,EAAE,MAAM,EAAE,GAAG,EAAE,CAChB,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../../../src/server/engine/http/errors.ts"],"names":[],"mappings":"AAAA,6EAA6E;AAC7E,2EAA2E;AAC3E,6EAA6E;AAC7E,2EAA2E;AAC3E,yEAAyE;AAIzE,MAAM,OAAO,QAAS,SAAQ,KAAK;IACxB,IAAI,CAAS;IACb,MAAM,CAAS;IACf,KAAK,CAAgB;IAC9B,wEAAwE;IACxE,uEAAuE;IAC9D,QAAQ,CAAU;IAC3B,sEAAsE;IACtE,mCAAmC;IAC1B,KAAK,CAA2B;IAEzC,YACE,IAAY,EACZ,OAAe,EACf,OAAwG;QAExG,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,UAAU,CAAC;QACvB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,MAAM,GAAG,OAAO,EAAE,MAAM,IAAI,GAAG,CAAC;QACrC,IAAI,CAAC,KAAK,GAAG,OAAO,EAAE,KAAK,IAAI,QAAQ,CAAC;QACxC,IAAI,CAAC,QAAQ,GAAG,OAAO,EAAE,QAAQ,CAAC;QAClC,IAAI,CAAC,KAAK,GAAG,OAAO,EAAE,KAAK,CAAC;IAC9B,CAAC;CACF;AAED,MAAM,SAAS,GAAG,kCAAkC,CAAC;AAErD,MAAM,UAAU,WAAW,CAAC,IAAY,EAAE,OAAe,EAAE,MAAM,GAAG,GAAG;IACrE,OAAO,IAAI,QAAQ,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,SAAS,IAAI,IAAI,EAAE,EAAE,CAAC,CAAC;AACnF,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,OAAe;IAC7C,OAAO,WAAW,CAAC,qBAAqB,EAAE,OAAO,CAAC,CAAC;AACrD,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,IAAY,EAAE,OAAe,EAAE,MAAM,GAAG,GAAG;IAClE,OAAO,IAAI,QAAQ,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;AACjD,CAAC;AAED,MAAM,UAAU,OAAO,CAAC,IAAY,EAAE,OAAe,EAAE,MAAc;IACnE,OAAO,IAAI,QAAQ,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;AACjD,CAAC;AAED,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yBAAyB;AACzB,MAAM,CAAC,MAAM,gBAAgB,GAC3B,6FAA6F,CAAC;AAEhG,6EAA6E;AAC7E,6EAA6E;AAC7E,0EAA0E;AAC1E,sEAAsE;AACtE,oEAAoE;AACpE,MAAM,UAAU,cAAc,CAAC,OAAe,EAAE,SAAiB;IAC/D,OAAO,IAAI,QAAQ,CACjB,gBAAgB,EAChB,GAAG,OAAO,IAAI,SAAS,mDAAmD,OAAO,4BAA4B;QAC3G,OAAO,gBAAgB,0DAA0D;QACjF,gCAAgC,OAAO,2EAA2E,EACpH,EAAE,MAAM,EAAE,GAAG,EAAE,CAChB,CAAC;AACJ,CAAC;AAED,2EAA2E;AAC3E,6EAA6E;AAC7E,yEAAyE;AACzE,6CAA6C;AAC7C,MAAM,UAAU,uBAAuB,CAAC,OAAe,EAAE,SAAiB;IACxE,OAAO,IAAI,QAAQ,CACjB,gBAAgB,EAChB,GAAG,OAAO,IAAI,SAAS,oDAAoD,gBAAgB,IAAI;QAC7F,0GAA0G;QAC1G,OAAO,OAAO,mDAAmD,EACnE,EAAE,MAAM,EAAE,GAAG,EAAE,CAChB,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"is-aws-request.d.ts","sourceRoot":"","sources":["../../../../src/server/engine/http/is-aws-request.ts"],"names":[],"mappings":"AAcA,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,MAAM,CAAC;IAEf,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,CAAC,CAAC;IAEvD,KAAK,EAAE,eAAe,CAAC;CACxB;AAMD,wBAAgB,YAAY,CAAC,KAAK,EAAE,eAAe,GAAG,OAAO,CAsC5D"}
1
+ {"version":3,"file":"is-aws-request.d.ts","sourceRoot":"","sources":["../../../../src/server/engine/http/is-aws-request.ts"],"names":[],"mappings":"AAgBA,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,MAAM,CAAC;IAEf,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,CAAC,CAAC;IAEvD,KAAK,EAAE,eAAe,CAAC;CACxB;AAUD,wBAAgB,YAAY,CAAC,KAAK,EAAE,eAAe,GAAG,OAAO,CA4C5D"}
@@ -11,9 +11,13 @@
11
11
  // of an AWS client. A browser fetching /api/health or /assets/app.js carries
12
12
  // none of these, so it falls through to Express. That also means a bucket named
13
13
  // `api` is not a conflict — the SDK signs its request, the browser does not.
14
- // Paths the engine owns outright: no AWS client signs a health probe, and the
15
- // Lambda Invoke API / OpenSearch data plane are reached by plain HTTP too.
16
- const ENGINE_PATH_PREFIXES = ['/_aoss', '/2015-03-31/', '/_lss/health', '/_localstack/health'];
14
+ import { RESET_PATH } from './reset.js';
15
+ // Paths the engine owns outright: no AWS client signs a health probe or a
16
+ // reset, and the Lambda Invoke API / OpenSearch data plane are reached by
17
+ // plain HTTP too.
18
+ const ENGINE_PATH_PREFIXES = ['/_aoss', '/2015-03-31/', '/_lss/health', RESET_PATH, '/_localstack/health'];
19
+ // A Query-protocol operation name: PascalCase, as every AWS Action is.
20
+ const QUERY_ACTION = /^[A-Z][A-Za-z0-9]*$/;
17
21
  export function isAwsRequest(probe) {
18
22
  const header = (name) => {
19
23
  const value = probe.headers[name];
@@ -25,6 +29,12 @@ export function isAwsRequest(probe) {
25
29
  // 2. A presigned URL carries the credential scope in the query instead.
26
30
  if (probe.query.has('X-Amz-Credential'))
27
31
  return true;
32
+ // 2b. Query protocol with its parameters in the query string
33
+ // (`GET /?Action=ListTopics&Version=2010-03-31`) — valid AWS, and an
34
+ // unsigned one (curl, a health script) used to get the dashboard HTML.
35
+ // The orchestrator never reads a PascalCase `Action` parameter.
36
+ if (QUERY_ACTION.test(probe.query.get('Action') ?? ''))
37
+ return true;
28
38
  // 3. JSON protocols name their operation in a header (DynamoDB, SQS, SNS…).
29
39
  if (header('x-amz-target'))
30
40
  return true;
@@ -1 +1 @@
1
- {"version":3,"file":"is-aws-request.js","sourceRoot":"","sources":["../../../../src/server/engine/http/is-aws-request.ts"],"names":[],"mappings":"AAAA,+EAA+E;AAC/E,YAAY;AACZ,EAAE;AACF,iFAAiF;AACjF,wEAAwE;AACxE,+EAA+E;AAC/E,+EAA+E;AAC/E,kFAAkF;AAClF,EAAE;AACF,gFAAgF;AAChF,6EAA6E;AAC7E,gFAAgF;AAChF,6EAA6E;AAW7E,8EAA8E;AAC9E,2EAA2E;AAC3E,MAAM,oBAAoB,GAAG,CAAC,QAAQ,EAAE,cAAc,EAAE,cAAc,EAAE,qBAAqB,CAAC,CAAC;AAE/F,MAAM,UAAU,YAAY,CAAC,KAAsB;IACjD,MAAM,MAAM,GAAG,CAAC,IAAY,EAAU,EAAE;QACtC,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAClC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;IACzD,CAAC,CAAC;IAEF,gEAAgE;IAChE,IAAI,MAAM,CAAC,eAAe,CAAC,CAAC,UAAU,CAAC,kBAAkB,CAAC;QAAE,OAAO,IAAI,CAAC;IAExE,wEAAwE;IACxE,IAAI,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,kBAAkB,CAAC;QAAE,OAAO,IAAI,CAAC;IAErD,4EAA4E;IAC5E,IAAI,MAAM,CAAC,cAAc,CAAC;QAAE,OAAO,IAAI,CAAC;IAExC,wEAAwE;IACxE,gEAAgE;IAChE,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;QAC9C,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC;YAAE,OAAO,IAAI,CAAC;IAC3D,CAAC;IAED,yBAAyB;IACzB,IAAI,oBAAoB,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,MAAM,IAAI,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC;QAChG,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,WAAW,GAAG,MAAM,CAAC,cAAc,CAAC,CAAC,WAAW,EAAE,CAAC;IAEzD,8EAA8E;IAC9E,4EAA4E;IAC5E,kEAAkE;IAClE,IAAI,KAAK,CAAC,MAAM,KAAK,MAAM,IAAI,WAAW,CAAC,QAAQ,CAAC,qBAAqB,CAAC;QAAE,OAAO,IAAI,CAAC;IAExF,+EAA+E;IAC/E,oEAAoE;IACpE,IAAI,KAAK,CAAC,MAAM,KAAK,MAAM,IAAI,WAAW,CAAC,QAAQ,CAAC,uBAAuB,CAAC;QAAE,OAAO,IAAI,CAAC;IAE1F,OAAO,KAAK,CAAC;AACf,CAAC"}
1
+ {"version":3,"file":"is-aws-request.js","sourceRoot":"","sources":["../../../../src/server/engine/http/is-aws-request.ts"],"names":[],"mappings":"AAAA,+EAA+E;AAC/E,YAAY;AACZ,EAAE;AACF,iFAAiF;AACjF,wEAAwE;AACxE,+EAA+E;AAC/E,+EAA+E;AAC/E,kFAAkF;AAClF,EAAE;AACF,gFAAgF;AAChF,6EAA6E;AAC7E,gFAAgF;AAChF,6EAA6E;AAE7E,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAWxC,0EAA0E;AAC1E,0EAA0E;AAC1E,kBAAkB;AAClB,MAAM,oBAAoB,GAAG,CAAC,QAAQ,EAAE,cAAc,EAAE,cAAc,EAAE,UAAU,EAAE,qBAAqB,CAAC,CAAC;AAE3G,uEAAuE;AACvE,MAAM,YAAY,GAAG,qBAAqB,CAAC;AAE3C,MAAM,UAAU,YAAY,CAAC,KAAsB;IACjD,MAAM,MAAM,GAAG,CAAC,IAAY,EAAU,EAAE;QACtC,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAClC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;IACzD,CAAC,CAAC;IAEF,gEAAgE;IAChE,IAAI,MAAM,CAAC,eAAe,CAAC,CAAC,UAAU,CAAC,kBAAkB,CAAC;QAAE,OAAO,IAAI,CAAC;IAExE,wEAAwE;IACxE,IAAI,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,kBAAkB,CAAC;QAAE,OAAO,IAAI,CAAC;IAErD,6DAA6D;IAC7D,yEAAyE;IACzE,2EAA2E;IAC3E,oEAAoE;IACpE,IAAI,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;QAAE,OAAO,IAAI,CAAC;IAEpE,4EAA4E;IAC5E,IAAI,MAAM,CAAC,cAAc,CAAC;QAAE,OAAO,IAAI,CAAC;IAExC,wEAAwE;IACxE,gEAAgE;IAChE,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;QAC9C,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC;YAAE,OAAO,IAAI,CAAC;IAC3D,CAAC;IAED,yBAAyB;IACzB,IAAI,oBAAoB,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,MAAM,IAAI,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC;QAChG,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,WAAW,GAAG,MAAM,CAAC,cAAc,CAAC,CAAC,WAAW,EAAE,CAAC;IAEzD,8EAA8E;IAC9E,4EAA4E;IAC5E,kEAAkE;IAClE,IAAI,KAAK,CAAC,MAAM,KAAK,MAAM,IAAI,WAAW,CAAC,QAAQ,CAAC,qBAAqB,CAAC;QAAE,OAAO,IAAI,CAAC;IAExF,+EAA+E;IAC/E,oEAAoE;IACpE,IAAI,KAAK,CAAC,MAAM,KAAK,MAAM,IAAI,WAAW,CAAC,QAAQ,CAAC,uBAAuB,CAAC;QAAE,OAAO,IAAI,CAAC;IAE1F,OAAO,KAAK,CAAC;AACf,CAAC"}
@@ -5,4 +5,5 @@ export declare function jsonContentType(version: JsonVersion): string;
5
5
  export declare function jsonSuccessResponse(payload: object, version: JsonVersion): AwsResponse;
6
6
  export declare function jsonErrorResponse(err: AwsError, service: EngineServiceName | undefined, version: JsonVersion): AwsResponse;
7
7
  export declare function lambdaErrorResponse(err: AwsError): AwsResponse;
8
+ export declare function restJsonErrorResponse(err: AwsError): AwsResponse;
8
9
  //# sourceMappingURL=aws-json.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"aws-json.d.ts","sourceRoot":"","sources":["../../../../../src/server/engine/http/protocols/aws-json.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACrE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAE7C,MAAM,MAAM,WAAW,GAAG,KAAK,GAAG,KAAK,CAAC;AAExC,wBAAgB,eAAe,CAAC,OAAO,EAAE,WAAW,GAAG,MAAM,CAE5D;AAED,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,GAAG,WAAW,CAMtF;AAOD,wBAAgB,iBAAiB,CAC/B,GAAG,EAAE,QAAQ,EACb,OAAO,EAAE,iBAAiB,GAAG,SAAS,EACtC,OAAO,EAAE,WAAW,GACnB,WAAW,CAQb;AAID,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,QAAQ,GAAG,WAAW,CAS9D"}
1
+ {"version":3,"file":"aws-json.d.ts","sourceRoot":"","sources":["../../../../../src/server/engine/http/protocols/aws-json.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACrE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAE7C,MAAM,MAAM,WAAW,GAAG,KAAK,GAAG,KAAK,CAAC;AAExC,wBAAgB,eAAe,CAAC,OAAO,EAAE,WAAW,GAAG,MAAM,CAE5D;AAED,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,GAAG,WAAW,CAMtF;AAOD,wBAAgB,iBAAiB,CAC/B,GAAG,EAAE,QAAQ,EACb,OAAO,EAAE,iBAAiB,GAAG,SAAS,EACtC,OAAO,EAAE,WAAW,GACnB,WAAW,CAQb;AAID,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,QAAQ,GAAG,WAAW,CAS9D;AAKD,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,QAAQ,GAAG,WAAW,CAShE"}
@@ -39,4 +39,17 @@ export function lambdaErrorResponse(err) {
39
39
  body: JSON.stringify({ Type: err.fault === 'Receiver' ? 'Service' : 'User', message: err.message }),
40
40
  };
41
41
  }
42
+ // Generic rest-json error (API Gateway, AppSync, …): the SDKs read the code
43
+ // from x-amzn-ErrorType first and fall back to the body's `code`/`__type`, so
44
+ // both carry it.
45
+ export function restJsonErrorResponse(err) {
46
+ return {
47
+ status: err.status,
48
+ headers: {
49
+ 'content-type': 'application/json',
50
+ 'x-amzn-ErrorType': err.code,
51
+ },
52
+ body: JSON.stringify({ __type: err.code, code: err.code, message: err.message }),
53
+ };
54
+ }
42
55
  //# sourceMappingURL=aws-json.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"aws-json.js","sourceRoot":"","sources":["../../../../../src/server/engine/http/protocols/aws-json.ts"],"names":[],"mappings":"AAAA,4EAA4E;AAC5E,4EAA4E;AAC5E,4EAA4E;AAC5E,0EAA0E;AAO1E,MAAM,UAAU,eAAe,CAAC,OAAoB;IAClD,OAAO,0BAA0B,OAAO,EAAE,CAAC;AAC7C,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,OAAe,EAAE,OAAoB;IACvE,OAAO;QACL,MAAM,EAAE,GAAG;QACX,OAAO,EAAE,EAAE,cAAc,EAAE,eAAe,CAAC,OAAO,CAAC,EAAE;QACrD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;KAC9B,CAAC;AACJ,CAAC;AAED,6EAA6E;AAC7E,8EAA8E;AAC9E,4EAA4E;AAC5E,4EAA4E;AAC5E,0CAA0C;AAC1C,MAAM,UAAU,iBAAiB,CAC/B,GAAa,EACb,OAAsC,EACtC,OAAoB;IAEpB,MAAM,OAAO,GAA2B,EAAE,cAAc,EAAE,eAAe,CAAC,OAAO,CAAC,EAAE,CAAC;IACrF,IAAI,OAAO,KAAK,KAAK;QAAE,OAAO,CAAC,oBAAoB,CAAC,GAAG,GAAG,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,KAAK,EAAE,CAAC;IAClF,OAAO;QACL,MAAM,EAAE,GAAG,CAAC,MAAM;QAClB,OAAO;QACP,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,GAAG,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,CAAC,QAAQ,IAAI,GAAG,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC;KAC/F,CAAC;AACJ,CAAC;AAED,4EAA4E;AAC5E,sCAAsC;AACtC,MAAM,UAAU,mBAAmB,CAAC,GAAa;IAC/C,OAAO;QACL,MAAM,EAAE,GAAG,CAAC,MAAM;QAClB,OAAO,EAAE;YACP,cAAc,EAAE,kBAAkB;YAClC,kBAAkB,EAAE,GAAG,CAAC,IAAI;SAC7B;QACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,KAAK,KAAK,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC;KACpG,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"aws-json.js","sourceRoot":"","sources":["../../../../../src/server/engine/http/protocols/aws-json.ts"],"names":[],"mappings":"AAAA,4EAA4E;AAC5E,4EAA4E;AAC5E,4EAA4E;AAC5E,0EAA0E;AAO1E,MAAM,UAAU,eAAe,CAAC,OAAoB;IAClD,OAAO,0BAA0B,OAAO,EAAE,CAAC;AAC7C,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,OAAe,EAAE,OAAoB;IACvE,OAAO;QACL,MAAM,EAAE,GAAG;QACX,OAAO,EAAE,EAAE,cAAc,EAAE,eAAe,CAAC,OAAO,CAAC,EAAE;QACrD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;KAC9B,CAAC;AACJ,CAAC;AAED,6EAA6E;AAC7E,8EAA8E;AAC9E,4EAA4E;AAC5E,4EAA4E;AAC5E,0CAA0C;AAC1C,MAAM,UAAU,iBAAiB,CAC/B,GAAa,EACb,OAAsC,EACtC,OAAoB;IAEpB,MAAM,OAAO,GAA2B,EAAE,cAAc,EAAE,eAAe,CAAC,OAAO,CAAC,EAAE,CAAC;IACrF,IAAI,OAAO,KAAK,KAAK;QAAE,OAAO,CAAC,oBAAoB,CAAC,GAAG,GAAG,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,KAAK,EAAE,CAAC;IAClF,OAAO;QACL,MAAM,EAAE,GAAG,CAAC,MAAM;QAClB,OAAO;QACP,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,GAAG,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,CAAC,QAAQ,IAAI,GAAG,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC;KAC/F,CAAC;AACJ,CAAC;AAED,4EAA4E;AAC5E,sCAAsC;AACtC,MAAM,UAAU,mBAAmB,CAAC,GAAa;IAC/C,OAAO;QACL,MAAM,EAAE,GAAG,CAAC,MAAM;QAClB,OAAO,EAAE;YACP,cAAc,EAAE,kBAAkB;YAClC,kBAAkB,EAAE,GAAG,CAAC,IAAI;SAC7B;QACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,KAAK,KAAK,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC;KACpG,CAAC;AACJ,CAAC;AAED,4EAA4E;AAC5E,8EAA8E;AAC9E,iBAAiB;AACjB,MAAM,UAAU,qBAAqB,CAAC,GAAa;IACjD,OAAO;QACL,MAAM,EAAE,GAAG,CAAC,MAAM;QAClB,OAAO,EAAE;YACP,cAAc,EAAE,kBAAkB;YAClC,kBAAkB,EAAE,GAAG,CAAC,IAAI;SAC7B;QACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC;KACjF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,4 @@
1
+ export declare const RESET_PATH = "/_lss/reset";
2
+ export declare const RESET_CONFIRM_HEADER = "x-lss-confirm-reset";
3
+ export declare function isLoopbackAddress(address: string | undefined): boolean;
4
+ //# sourceMappingURL=reset.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reset.d.ts","sourceRoot":"","sources":["../../../../src/server/engine/http/reset.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,UAAU,gBAAgB,CAAC;AAKxC,eAAO,MAAM,oBAAoB,wBAAwB,CAAC;AAI1D,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAItE"}
@@ -0,0 +1,17 @@
1
+ // The engine's "reset everything" endpoint: one constant set shared by the
2
+ // router (which serves it), is-aws-request (which must hand it to the engine
3
+ // on the shared listener) and the backend (which performs it).
4
+ export const RESET_PATH = '/_lss/reset';
5
+ // Required on every reset request. A custom header cannot be sent cross-site
6
+ // without a CORS preflight, and the reset route never answers one — so a page
7
+ // open in the developer's browser cannot wipe the stack behind their back.
8
+ export const RESET_CONFIRM_HEADER = 'x-lss-confirm-reset';
9
+ // Loopback in every shape Node reports a peer address: IPv4 127/8, IPv6 ::1,
10
+ // and IPv4-mapped IPv6 (a dual-stack listener reports `::ffff:127.0.0.1`).
11
+ export function isLoopbackAddress(address) {
12
+ if (!address)
13
+ return false;
14
+ const v4 = address.startsWith('::ffff:') ? address.slice('::ffff:'.length) : address;
15
+ return v4.startsWith('127.') || address === '::1';
16
+ }
17
+ //# sourceMappingURL=reset.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reset.js","sourceRoot":"","sources":["../../../../src/server/engine/http/reset.ts"],"names":[],"mappings":"AAAA,2EAA2E;AAC3E,6EAA6E;AAC7E,+DAA+D;AAE/D,MAAM,CAAC,MAAM,UAAU,GAAG,aAAa,CAAC;AAExC,6EAA6E;AAC7E,8EAA8E;AAC9E,2EAA2E;AAC3E,MAAM,CAAC,MAAM,oBAAoB,GAAG,qBAAqB,CAAC;AAE1D,6EAA6E;AAC7E,2EAA2E;AAC3E,MAAM,UAAU,iBAAiB,CAAC,OAA2B;IAC3D,IAAI,CAAC,OAAO;QAAE,OAAO,KAAK,CAAC;IAC3B,MAAM,EAAE,GAAG,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;IACrF,OAAO,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,OAAO,KAAK,KAAK,CAAC;AACpD,CAAC"}
@@ -3,6 +3,7 @@ import type { AnyEmulator, EngineContext } from '../types.js';
3
3
  export interface EngineRouterDeps {
4
4
  ctx: EngineContext;
5
5
  emulators: AnyEmulator[];
6
+ onReset?: () => Promise<void>;
6
7
  }
7
8
  export declare function createEngineRequestHandler(deps: EngineRouterDeps): (req: http.IncomingMessage, res: http.ServerResponse) => void;
8
9
  //# sourceMappingURL=router.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../../../../src/server/engine/http/router.ts"],"names":[],"mappings":"AAMA,OAAO,IAAI,MAAM,MAAM,CAAC;AAGxB,OAAO,KAAK,EACV,WAAW,EAGX,aAAa,EAId,MAAM,aAAa,CAAC;AAiBrB,MAAM,WAAW,gBAAgB;IAC/B,GAAG,EAAE,aAAa,CAAC;IACnB,SAAS,EAAE,WAAW,EAAE,CAAC;CAC1B;AA6CD,wBAAgB,0BAA0B,CACxC,IAAI,EAAE,gBAAgB,GACrB,CAAC,GAAG,EAAE,IAAI,CAAC,eAAe,EAAE,GAAG,EAAE,IAAI,CAAC,cAAc,KAAK,IAAI,CAgB/D"}
1
+ {"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../../../../src/server/engine/http/router.ts"],"names":[],"mappings":"AAMA,OAAO,IAAI,MAAM,MAAM,CAAC;AAGxB,OAAO,KAAK,EACV,WAAW,EAGX,aAAa,EAId,MAAM,aAAa,CAAC;AAmBrB,MAAM,WAAW,gBAAgB;IAC/B,GAAG,EAAE,aAAa,CAAC;IACnB,SAAS,EAAE,WAAW,EAAE,CAAC;IAGzB,OAAO,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC/B;AA+DD,wBAAgB,0BAA0B,CACxC,IAAI,EAAE,gBAAgB,GACrB,CAAC,GAAG,EAAE,IAAI,CAAC,eAAe,EAAE,GAAG,EAAE,IAAI,CAAC,cAAc,KAAK,IAAI,CAoB/D"}