sst 3.0.0 → 3.0.1-10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.ts +2 -0
- package/dist/index.js +2 -0
- package/dist/resource.d.ts +4 -0
- package/dist/resource.js +15 -0
- package/dist/vector-client.d.ts +126 -0
- package/dist/vector-client.js +38 -0
- package/package.json +16 -137
- package/LICENSE +0 -21
- package/README.md +0 -43
- package/bootstrap.d.ts +0 -5
- package/bootstrap.js +0 -318
- package/bus.d.ts +0 -20
- package/bus.js +0 -52
- package/cache.d.ts +0 -4
- package/cache.js +0 -31
- package/cdk/deploy-stack.d.ts +0 -223
- package/cdk/deploy-stack.js +0 -562
- package/cdk/deployments-wrapper.d.ts +0 -3
- package/cdk/deployments-wrapper.js +0 -135
- package/cdk/deployments.d.ts +0 -327
- package/cdk/deployments.js +0 -360
- package/cdk/util.d.ts +0 -1
- package/cdk/util.js +0 -17
- package/cli/ci-info.d.ts +0 -4
- package/cli/ci-info.js +0 -8
- package/cli/colors.d.ts +0 -17
- package/cli/colors.js +0 -27
- package/cli/commands/bind.d.ts +0 -19
- package/cli/commands/bind.js +0 -360
- package/cli/commands/bootstrap.d.ts +0 -15
- package/cli/commands/bootstrap.js +0 -11
- package/cli/commands/build.d.ts +0 -17
- package/cli/commands/build.js +0 -25
- package/cli/commands/connect.d.ts +0 -17
- package/cli/commands/connect.js +0 -55
- package/cli/commands/console.d.ts +0 -15
- package/cli/commands/console.js +0 -22
- package/cli/commands/deploy.d.ts +0 -19
- package/cli/commands/deploy.js +0 -112
- package/cli/commands/dev.d.ts +0 -25
- package/cli/commands/dev.js +0 -351
- package/cli/commands/diff.d.ts +0 -19
- package/cli/commands/diff.js +0 -89
- package/cli/commands/plugins/kysely.d.ts +0 -1
- package/cli/commands/plugins/kysely.js +0 -87
- package/cli/commands/plugins/pothos.d.ts +0 -1
- package/cli/commands/plugins/pothos.js +0 -58
- package/cli/commands/plugins/warmer.d.ts +0 -1
- package/cli/commands/plugins/warmer.js +0 -33
- package/cli/commands/remove.d.ts +0 -19
- package/cli/commands/remove.js +0 -62
- package/cli/commands/secrets/get.d.ts +0 -19
- package/cli/commands/secrets/get.js +0 -27
- package/cli/commands/secrets/list.d.ts +0 -19
- package/cli/commands/secrets/list.js +0 -69
- package/cli/commands/secrets/load.d.ts +0 -17
- package/cli/commands/secrets/load.js +0 -47
- package/cli/commands/secrets/remove.d.ts +0 -19
- package/cli/commands/secrets/remove.js +0 -27
- package/cli/commands/secrets/secrets.d.ts +0 -2
- package/cli/commands/secrets/secrets.js +0 -16
- package/cli/commands/secrets/set.d.ts +0 -21
- package/cli/commands/secrets/set.js +0 -54
- package/cli/commands/telemetry.d.ts +0 -17
- package/cli/commands/telemetry.js +0 -24
- package/cli/commands/transform.d.ts +0 -17
- package/cli/commands/transform.js +0 -62
- package/cli/commands/types.d.ts +0 -15
- package/cli/commands/types.js +0 -25
- package/cli/commands/update.d.ts +0 -17
- package/cli/commands/update.js +0 -116
- package/cli/commands/version.d.ts +0 -15
- package/cli/commands/version.js +0 -15
- package/cli/local/router.d.ts +0 -44
- package/cli/local/router.js +0 -43
- package/cli/local/server.d.ts +0 -22
- package/cli/local/server.js +0 -319
- package/cli/program.d.ts +0 -19
- package/cli/program.js +0 -87
- package/cli/spinner.d.ts +0 -3
- package/cli/spinner.js +0 -14
- package/cli/sst.d.ts +0 -2
- package/cli/sst.js +0 -74
- package/cli/telemetry/environment.d.ts +0 -15
- package/cli/telemetry/environment.js +0 -27
- package/cli/telemetry/post-payload.d.ts +0 -1
- package/cli/telemetry/post-payload.js +0 -27
- package/cli/telemetry/project-id.d.ts +0 -2
- package/cli/telemetry/project-id.js +0 -47
- package/cli/telemetry/telemetry.d.ts +0 -19
- package/cli/telemetry/telemetry.js +0 -103
- package/cli/terminal.d.ts +0 -1
- package/cli/terminal.js +0 -8
- package/cli/ui/deploy.d.ts +0 -10
- package/cli/ui/deploy.js +0 -172
- package/cli/ui/functions.d.ts +0 -2
- package/cli/ui/functions.js +0 -130
- package/cli/ui/header.d.ts +0 -5
- package/cli/ui/header.js +0 -16
- package/cli/ui/stack.d.ts +0 -1
- package/cli/ui/stack.js +0 -6
- package/config.d.ts +0 -56
- package/config.js +0 -244
- package/constructs/Api.d.ts +0 -814
- package/constructs/Api.js +0 -743
- package/constructs/ApiGatewayV1Api.d.ts +0 -642
- package/constructs/ApiGatewayV1Api.js +0 -767
- package/constructs/App.d.ts +0 -168
- package/constructs/App.js +0 -493
- package/constructs/AppSyncApi.d.ts +0 -550
- package/constructs/AppSyncApi.js +0 -493
- package/constructs/AstroSite.d.ts +0 -39
- package/constructs/AstroSite.js +0 -78
- package/constructs/AstroSite.tsdoc.d.ts +0 -2
- package/constructs/AstroSite.tsdoc.js +0 -2
- package/constructs/Auth.d.ts +0 -100
- package/constructs/Auth.js +0 -177
- package/constructs/BaseSite.d.ts +0 -29
- package/constructs/BaseSite.js +0 -43
- package/constructs/Bucket.d.ts +0 -364
- package/constructs/Bucket.js +0 -327
- package/constructs/Cognito.d.ts +0 -232
- package/constructs/Cognito.js +0 -370
- package/constructs/Config.d.ts +0 -3
- package/constructs/Config.js +0 -3
- package/constructs/Construct.d.ts +0 -23
- package/constructs/Construct.js +0 -46
- package/constructs/Cron.d.ts +0 -164
- package/constructs/Cron.js +0 -114
- package/constructs/Distribution.d.ts +0 -143
- package/constructs/Distribution.js +0 -260
- package/constructs/EdgeFunction.d.ts +0 -49
- package/constructs/EdgeFunction.js +0 -442
- package/constructs/EventBus.d.ts +0 -444
- package/constructs/EventBus.js +0 -440
- package/constructs/Function.d.ts +0 -690
- package/constructs/Function.js +0 -583
- package/constructs/FunctionalStack.d.ts +0 -13
- package/constructs/FunctionalStack.js +0 -62
- package/constructs/Job.d.ts +0 -337
- package/constructs/Job.js +0 -404
- package/constructs/KinesisStream.d.ts +0 -224
- package/constructs/KinesisStream.js +0 -207
- package/constructs/Metadata.d.ts +0 -60
- package/constructs/Metadata.js +0 -1
- package/constructs/NextjsSite.d.ts +0 -104
- package/constructs/NextjsSite.js +0 -308
- package/constructs/Parameter.d.ts +0 -37
- package/constructs/Parameter.js +0 -53
- package/constructs/Queue.d.ts +0 -194
- package/constructs/Queue.js +0 -204
- package/constructs/RDS.d.ts +0 -221
- package/constructs/RDS.js +0 -363
- package/constructs/RemixSite.d.ts +0 -42
- package/constructs/RemixSite.js +0 -158
- package/constructs/RemixSite.tsdoc.d.ts +0 -2
- package/constructs/RemixSite.tsdoc.js +0 -2
- package/constructs/Script.d.ts +0 -160
- package/constructs/Script.js +0 -179
- package/constructs/Secret.d.ts +0 -30
- package/constructs/Secret.js +0 -59
- package/constructs/Service.d.ts +0 -487
- package/constructs/Service.js +0 -655
- package/constructs/SolidStartSite.d.ts +0 -37
- package/constructs/SolidStartSite.js +0 -66
- package/constructs/SolidStartSite.tsdoc.d.ts +0 -2
- package/constructs/SolidStartSite.tsdoc.js +0 -2
- package/constructs/SsrFunction.d.ts +0 -60
- package/constructs/SsrFunction.js +0 -226
- package/constructs/SsrSite.d.ts +0 -407
- package/constructs/SsrSite.js +0 -850
- package/constructs/Stack.d.ts +0 -127
- package/constructs/Stack.js +0 -243
- package/constructs/StaticSite.d.ts +0 -348
- package/constructs/StaticSite.js +0 -468
- package/constructs/SvelteKitSite.d.ts +0 -40
- package/constructs/SvelteKitSite.js +0 -106
- package/constructs/SvelteKitSite.tsdoc.d.ts +0 -2
- package/constructs/SvelteKitSite.tsdoc.js +0 -2
- package/constructs/Table.d.ts +0 -410
- package/constructs/Table.js +0 -425
- package/constructs/Topic.d.ts +0 -257
- package/constructs/Topic.js +0 -273
- package/constructs/WebSocketApi.d.ts +0 -355
- package/constructs/WebSocketApi.js +0 -404
- package/constructs/cdk/HttpAwsIntegration.d.ts +0 -32
- package/constructs/cdk/HttpAwsIntegration.js +0 -24
- package/constructs/cdk/certificate-base.d.ts +0 -18
- package/constructs/cdk/certificate-base.js +0 -26
- package/constructs/cdk/dns-validated-certificate.d.ts +0 -77
- package/constructs/cdk/dns-validated-certificate.js +0 -125
- package/constructs/cdk/website-redirect.d.ts +0 -53
- package/constructs/cdk/website-redirect.js +0 -77
- package/constructs/context.d.ts +0 -3
- package/constructs/context.js +0 -27
- package/constructs/deferred_task.d.ts +0 -6
- package/constructs/deferred_task.js +0 -45
- package/constructs/deprecated/NextjsSite.d.ts +0 -309
- package/constructs/deprecated/NextjsSite.js +0 -1074
- package/constructs/deprecated/cross-region-helper.d.ts +0 -7
- package/constructs/deprecated/cross-region-helper.js +0 -152
- package/constructs/deprecated/index.d.ts +0 -1
- package/constructs/deprecated/index.js +0 -1
- package/constructs/future/Auth.d.ts +0 -80
- package/constructs/future/Auth.js +0 -122
- package/constructs/future/index.d.ts +0 -1
- package/constructs/future/index.js +0 -1
- package/constructs/index.d.ts +0 -32
- package/constructs/index.js +0 -32
- package/constructs/static-file-list.d.ts +0 -1
- package/constructs/static-file-list.js +0 -51
- package/constructs/util/apiGatewayV1AccessLog.d.ts +0 -15
- package/constructs/util/apiGatewayV1AccessLog.js +0 -76
- package/constructs/util/apiGatewayV2AccessLog.d.ts +0 -10
- package/constructs/util/apiGatewayV2AccessLog.js +0 -107
- package/constructs/util/apiGatewayV2Cors.d.ts +0 -67
- package/constructs/util/apiGatewayV2Cors.js +0 -21
- package/constructs/util/apiGatewayV2Domain.d.ts +0 -47
- package/constructs/util/apiGatewayV2Domain.js +0 -208
- package/constructs/util/appSyncApiDomain.d.ts +0 -41
- package/constructs/util/appSyncApiDomain.js +0 -176
- package/constructs/util/builder.d.ts +0 -3
- package/constructs/util/builder.js +0 -9
- package/constructs/util/duration.d.ts +0 -3
- package/constructs/util/duration.js +0 -19
- package/constructs/util/functionBinding.d.ts +0 -31
- package/constructs/util/functionBinding.js +0 -104
- package/constructs/util/functionUrlCors.d.ts +0 -67
- package/constructs/util/functionUrlCors.js +0 -23
- package/constructs/util/permission.d.ts +0 -8
- package/constructs/util/permission.js +0 -228
- package/constructs/util/size.d.ts +0 -3
- package/constructs/util/size.js +0 -12
- package/constructs/util/warning.d.ts +0 -11
- package/constructs/util/warning.js +0 -21
- package/context/context.d.ts +0 -13
- package/context/context.js +0 -69
- package/context/context2.d.ts +0 -16
- package/context/context2.js +0 -108
- package/context/handler.d.ts +0 -25
- package/context/handler.js +0 -21
- package/context/index.d.ts +0 -2
- package/context/index.js +0 -2
- package/credentials.d.ts +0 -9
- package/credentials.js +0 -145
- package/error.d.ts +0 -6
- package/error.js +0 -10
- package/index.d.ts +0 -1
- package/index.js +0 -1
- package/iot.d.ts +0 -6
- package/iot.js +0 -163
- package/logger.d.ts +0 -3
- package/logger.js +0 -32
- package/node/actor/index.d.ts +0 -29
- package/node/actor/index.js +0 -17
- package/node/api/index.d.ts +0 -64
- package/node/api/index.js +0 -179
- package/node/auth/adapter/adapter.d.ts +0 -3
- package/node/auth/adapter/adapter.js +0 -3
- package/node/auth/adapter/facebook.d.ts +0 -2
- package/node/auth/adapter/facebook.js +0 -26
- package/node/auth/adapter/github.d.ts +0 -2
- package/node/auth/adapter/github.js +0 -21
- package/node/auth/adapter/google.d.ts +0 -9
- package/node/auth/adapter/google.js +0 -18
- package/node/auth/adapter/link.d.ts +0 -8
- package/node/auth/adapter/link.js +0 -39
- package/node/auth/adapter/oauth.d.ts +0 -25
- package/node/auth/adapter/oauth.js +0 -52
- package/node/auth/adapter/oidc.d.ts +0 -17
- package/node/auth/adapter/oidc.js +0 -50
- package/node/auth/adapter/twitch.d.ts +0 -2
- package/node/auth/adapter/twitch.js +0 -11
- package/node/auth/auth.d.ts +0 -24
- package/node/auth/auth.js +0 -74
- package/node/auth/index.d.ts +0 -13
- package/node/auth/index.js +0 -12
- package/node/auth/session.d.ts +0 -76
- package/node/auth/session.js +0 -121
- package/node/bucket/index.d.ts +0 -3
- package/node/bucket/index.js +0 -2
- package/node/config/index.d.ts +0 -13
- package/node/config/index.js +0 -22
- package/node/event-bus/index.d.ts +0 -51
- package/node/event-bus/index.js +0 -76
- package/node/function/index.d.ts +0 -3
- package/node/function/index.js +0 -3
- package/node/future/auth/adapter/adapter.d.ts +0 -10
- package/node/future/auth/adapter/adapter.js +0 -1
- package/node/future/auth/adapter/code.d.ts +0 -17
- package/node/future/auth/adapter/code.js +0 -68
- package/node/future/auth/adapter/facebook.d.ts +0 -16
- package/node/future/auth/adapter/facebook.js +0 -27
- package/node/future/auth/adapter/github.d.ts +0 -23
- package/node/future/auth/adapter/github.js +0 -23
- package/node/future/auth/adapter/google.d.ts +0 -28
- package/node/future/auth/adapter/google.js +0 -22
- package/node/future/auth/adapter/link.d.ts +0 -13
- package/node/future/auth/adapter/link.js +0 -47
- package/node/future/auth/adapter/microsoft.d.ts +0 -22
- package/node/future/auth/adapter/microsoft.js +0 -16
- package/node/future/auth/adapter/oauth.d.ts +0 -41
- package/node/future/auth/adapter/oauth.js +0 -67
- package/node/future/auth/adapter/oidc.d.ts +0 -30
- package/node/future/auth/adapter/oidc.js +0 -63
- package/node/future/auth/adapter/spotify.d.ts +0 -23
- package/node/future/auth/adapter/spotify.js +0 -22
- package/node/future/auth/encryption.d.ts +0 -2
- package/node/future/auth/encryption.js +0 -30
- package/node/future/auth/handler.d.ts +0 -46
- package/node/future/auth/handler.js +0 -280
- package/node/future/auth/index.d.ts +0 -17
- package/node/future/auth/index.js +0 -15
- package/node/future/auth/session.d.ts +0 -71
- package/node/future/auth/session.js +0 -146
- package/node/graphql/index.d.ts +0 -15
- package/node/graphql/index.js +0 -32
- package/node/job/index.d.ts +0 -37
- package/node/job/index.js +0 -64
- package/node/kinesis-stream/index.d.ts +0 -3
- package/node/kinesis-stream/index.js +0 -3
- package/node/queue/index.d.ts +0 -3
- package/node/queue/index.js +0 -2
- package/node/rds/index.d.ts +0 -3
- package/node/rds/index.js +0 -2
- package/node/service/index.d.ts +0 -3
- package/node/service/index.js +0 -4
- package/node/site/index.d.ts +0 -18
- package/node/site/index.js +0 -18
- package/node/table/index.d.ts +0 -3
- package/node/table/index.js +0 -4
- package/node/topic/index.d.ts +0 -3
- package/node/topic/index.js +0 -4
- package/node/util/index.d.ts +0 -2
- package/node/util/index.js +0 -196
- package/node/util/loader.d.ts +0 -2
- package/node/util/loader.js +0 -51
- package/node/websocket-api/index.d.ts +0 -23
- package/node/websocket-api/index.js +0 -48
- package/pothos.d.ts +0 -7
- package/pothos.js +0 -160
- package/project.d.ts +0 -75
- package/project.js +0 -188
- package/runtime/handlers/container.d.ts +0 -2
- package/runtime/handlers/container.js +0 -263
- package/runtime/handlers/dotnet.d.ts +0 -2
- package/runtime/handlers/dotnet.js +0 -115
- package/runtime/handlers/go.d.ts +0 -2
- package/runtime/handlers/go.js +0 -126
- package/runtime/handlers/java.d.ts +0 -2
- package/runtime/handlers/java.js +0 -103
- package/runtime/handlers/node.d.ts +0 -2
- package/runtime/handlers/node.js +0 -269
- package/runtime/handlers/python.d.ts +0 -2
- package/runtime/handlers/python.js +0 -141
- package/runtime/handlers/pythonBundling.d.ts +0 -82
- package/runtime/handlers/pythonBundling.js +0 -80
- package/runtime/handlers/rust.d.ts +0 -2
- package/runtime/handlers/rust.js +0 -110
- package/runtime/handlers.d.ts +0 -74
- package/runtime/handlers.js +0 -151
- package/runtime/iot.d.ts +0 -1
- package/runtime/iot.js +0 -17
- package/runtime/runtime.d.ts +0 -32
- package/runtime/runtime.js +0 -1
- package/runtime/server.d.ts +0 -6
- package/runtime/server.js +0 -150
- package/runtime/workers.d.ts +0 -37
- package/runtime/workers.js +0 -85
- package/stacks/app-metadata.d.ts +0 -7
- package/stacks/app-metadata.js +0 -75
- package/stacks/assembly.d.ts +0 -1
- package/stacks/assembly.js +0 -4
- package/stacks/build.d.ts +0 -9
- package/stacks/build.js +0 -110
- package/stacks/deploy.d.ts +0 -9
- package/stacks/deploy.js +0 -240
- package/stacks/diff.d.ts +0 -8
- package/stacks/diff.js +0 -62
- package/stacks/index.d.ts +0 -10
- package/stacks/index.js +0 -10
- package/stacks/metadata.d.ts +0 -11
- package/stacks/metadata.js +0 -83
- package/stacks/monitor.d.ts +0 -32
- package/stacks/monitor.js +0 -151
- package/stacks/remove.d.ts +0 -8
- package/stacks/remove.js +0 -76
- package/stacks/synth.d.ts +0 -12
- package/stacks/synth.js +0 -94
- package/support/base-site-archiver.mjs +0 -99
- package/support/base-site-custom-resource/s3-handler.py +0 -195
- package/support/base-site-custom-resource/s3-upload.py +0 -89
- package/support/bootstrap-metadata-function/index.mjs +0 -58011
- package/support/bridge/Dockerfile +0 -3
- package/support/bridge/bridge.mjs +0 -146
- package/support/certificate-requestor/index.js +0 -549
- package/support/custom-resources/index.mjs +0 -180627
- package/support/dotnet31-bootstrap/Program.cs +0 -17
- package/support/dotnet31-bootstrap/dotnet-bootstrap.csproj +0 -12
- package/support/dotnet31-bootstrap/release/Amazon.Lambda.Core.dll +0 -0
- package/support/dotnet31-bootstrap/release/Amazon.Lambda.RuntimeSupport.dll +0 -0
- package/support/dotnet31-bootstrap/release/System.Runtime.CompilerServices.Unsafe.dll +0 -0
- package/support/dotnet31-bootstrap/release/System.Text.Encodings.Web.dll +0 -0
- package/support/dotnet31-bootstrap/release/System.Text.Json.dll +0 -0
- package/support/dotnet31-bootstrap/release/dotnet-bootstrap +0 -0
- package/support/dotnet31-bootstrap/release/dotnet-bootstrap.deps.json +0 -230
- package/support/dotnet31-bootstrap/release/dotnet-bootstrap.dll +0 -0
- package/support/dotnet31-bootstrap/release/dotnet-bootstrap.pdb +0 -0
- package/support/dotnet31-bootstrap/release/dotnet-bootstrap.runtimeconfig.json +0 -9
- package/support/dotnet6-bootstrap/Program.cs +0 -17
- package/support/dotnet6-bootstrap/dotnet-bootstrap.csproj +0 -12
- package/support/dotnet6-bootstrap/release/Amazon.Lambda.Core.dll +0 -0
- package/support/dotnet6-bootstrap/release/Amazon.Lambda.RuntimeSupport.dll +0 -0
- package/support/dotnet6-bootstrap/release/dotnet-bootstrap +0 -0
- package/support/dotnet6-bootstrap/release/dotnet-bootstrap.deps.json +0 -59
- package/support/dotnet6-bootstrap/release/dotnet-bootstrap.dll +0 -0
- package/support/dotnet6-bootstrap/release/dotnet-bootstrap.pdb +0 -0
- package/support/dotnet6-bootstrap/release/dotnet-bootstrap.runtimeconfig.json +0 -12
- package/support/edge-function/edge-lambda-version.mjs +0 -3
- package/support/edge-function/edge-lambda.mjs +0 -3
- package/support/edge-function/s3-bucket.mjs +0 -3
- package/support/event-bus-retrier/index.mjs +0 -75
- package/support/java-runtime/install.sh +0 -25
- package/support/java-runtime/pom.xml +0 -39
- package/support/java-runtime/release/aws-lambda-java-core-1.2.0.jar +0 -0
- package/support/java-runtime/release/aws-lambda-java-runtime-interface-client-1.1.0.jar +0 -0
- package/support/java-runtime/release/aws-lambda-java-serialization-1.0.0.jar +0 -0
- package/support/job-manager/index.mjs +0 -57679
- package/support/nixpacks/Dockerfile +0 -6
- package/support/nodejs-runtime/index.mjs +0 -169
- package/support/python-runtime/Dockerfile +0 -9
- package/support/python-runtime/Dockerfile.custom +0 -21
- package/support/python-runtime/Dockerfile.dependencies +0 -26
- package/support/python-runtime/runtime.py +0 -127
- package/support/rds-migrator/index.mjs +0 -49
- package/support/remix-site-function/edge-server.js +0 -161
- package/support/remix-site-function/polyfill.js +0 -24
- package/support/remix-site-function/regional-server.js +0 -164
- package/support/script-function/index.mjs +0 -48760
- package/support/service-dev-function/index.js +0 -1
- package/support/signing-function/index.mjs +0 -3769
- package/support/sls-nextjs-site-build-helper/build.cjs +0 -91
- package/support/sls-nextjs-site-build-helper/index-wrapper.js +0 -19
- package/support/sls-nextjs-site-function-code-replacer/lambda-code-updater.py +0 -156
- package/support/sls-nextjs-site-stub/index.html +0 -99
- package/support/ssr-site-function-archiver.mjs +0 -96
- package/support/ssr-site-function-stub/index.js +0 -5
- package/support/ssr-warmer/index.mjs +0 -34235
- package/util/error.d.ts +0 -3
- package/util/error.js +0 -6
- package/util/fs.d.ts +0 -4
- package/util/fs.js +0 -46
- package/util/lazy.d.ts +0 -1
- package/util/lazy.js +0 -11
- package/util/module.d.ts +0 -1
- package/util/module.js +0 -5
- package/util/process.d.ts +0 -2
- package/util/process.js +0 -3
- package/watcher.d.ts +0 -14
- package/watcher.js +0 -35
package/context/context2.js
DELETED
|
@@ -1,108 +0,0 @@
|
|
|
1
|
-
import { AsyncLocalStorage } from "async_hooks";
|
|
2
|
-
export class ContextNotFoundError extends Error {
|
|
3
|
-
name;
|
|
4
|
-
constructor(name) {
|
|
5
|
-
super(`${name} context was not provided. It is possible you have multiple versions of SST installed.`);
|
|
6
|
-
this.name = name;
|
|
7
|
-
}
|
|
8
|
-
}
|
|
9
|
-
let count = 0;
|
|
10
|
-
export function create(name) {
|
|
11
|
-
const storage = new AsyncLocalStorage();
|
|
12
|
-
const children = [];
|
|
13
|
-
// notify all memos to reset
|
|
14
|
-
function reset() {
|
|
15
|
-
for (const child of children) {
|
|
16
|
-
child();
|
|
17
|
-
}
|
|
18
|
-
}
|
|
19
|
-
const ctx = {
|
|
20
|
-
name,
|
|
21
|
-
with(value, cb) {
|
|
22
|
-
const version = (++count).toString();
|
|
23
|
-
return storage.run({ value, version }, () => {
|
|
24
|
-
return runWithCleanup(cb, () => reset());
|
|
25
|
-
});
|
|
26
|
-
},
|
|
27
|
-
use() {
|
|
28
|
-
const memo = ContextMemo.getStore();
|
|
29
|
-
// use is being called within a memo, so track dependency
|
|
30
|
-
if (memo) {
|
|
31
|
-
memo.deps.push(ctx);
|
|
32
|
-
children.push(memo.reset);
|
|
33
|
-
}
|
|
34
|
-
const result = storage.getStore();
|
|
35
|
-
if (result === undefined)
|
|
36
|
-
throw new ContextNotFoundError(name);
|
|
37
|
-
return result.value;
|
|
38
|
-
},
|
|
39
|
-
version() {
|
|
40
|
-
const result = storage.getStore();
|
|
41
|
-
if (result === undefined)
|
|
42
|
-
throw new ContextNotFoundError(name);
|
|
43
|
-
return result.version;
|
|
44
|
-
},
|
|
45
|
-
};
|
|
46
|
-
return ctx;
|
|
47
|
-
}
|
|
48
|
-
const ContextMemo = new AsyncLocalStorage();
|
|
49
|
-
export function memo(cb) {
|
|
50
|
-
const deps = [];
|
|
51
|
-
const cache = new Map();
|
|
52
|
-
const children = [];
|
|
53
|
-
let tracked = false;
|
|
54
|
-
function key() {
|
|
55
|
-
return deps.map((dep) => dep.version()).join(",");
|
|
56
|
-
}
|
|
57
|
-
function reset() {
|
|
58
|
-
cache.delete(key());
|
|
59
|
-
for (const child of children) {
|
|
60
|
-
child();
|
|
61
|
-
}
|
|
62
|
-
}
|
|
63
|
-
function save(value) {
|
|
64
|
-
cache.set(key(), value);
|
|
65
|
-
}
|
|
66
|
-
return () => {
|
|
67
|
-
const child = ContextMemo.getStore();
|
|
68
|
-
if (child) {
|
|
69
|
-
child.deps.push({ version: () => key() });
|
|
70
|
-
children.push(child.reset);
|
|
71
|
-
}
|
|
72
|
-
// Memo never run so build up dependency list
|
|
73
|
-
if (!tracked) {
|
|
74
|
-
return ContextMemo.run({ deps, reset }, () => {
|
|
75
|
-
return runWithCleanup(cb, (result) => {
|
|
76
|
-
tracked = true;
|
|
77
|
-
save(result);
|
|
78
|
-
});
|
|
79
|
-
});
|
|
80
|
-
}
|
|
81
|
-
const cached = cache.get(key());
|
|
82
|
-
if (cached) {
|
|
83
|
-
return cached;
|
|
84
|
-
}
|
|
85
|
-
const result = cb();
|
|
86
|
-
save(result);
|
|
87
|
-
return result;
|
|
88
|
-
};
|
|
89
|
-
}
|
|
90
|
-
function runWithCleanup(cb, cleanup) {
|
|
91
|
-
const result = cb();
|
|
92
|
-
if (result &&
|
|
93
|
-
typeof result === "object" &&
|
|
94
|
-
"then" in result &&
|
|
95
|
-
typeof result.then === "function") {
|
|
96
|
-
return result.then((value) => {
|
|
97
|
-
// cleanup
|
|
98
|
-
cleanup(result);
|
|
99
|
-
return value;
|
|
100
|
-
});
|
|
101
|
-
}
|
|
102
|
-
cleanup(result);
|
|
103
|
-
return result;
|
|
104
|
-
}
|
|
105
|
-
export const Context = {
|
|
106
|
-
create,
|
|
107
|
-
memo,
|
|
108
|
-
};
|
package/context/handler.d.ts
DELETED
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
import { APIGatewayProxyEventHeaders, APIGatewayProxyEventMultiValueHeaders, APIGatewayProxyEventMultiValueQueryStringParameters, APIGatewayProxyEventQueryStringParameters, APIGatewayProxyEventV2, APIGatewayProxyResultV2, APIGatewayProxyStructuredResultV2, APIGatewayProxyWebsocketEventV2, Context as LambdaContext, SQSBatchResponse, SQSEvent } from "aws-lambda";
|
|
2
|
-
export interface Handlers {
|
|
3
|
-
api: {
|
|
4
|
-
event: APIGatewayProxyEventV2;
|
|
5
|
-
response: APIGatewayProxyStructuredResultV2 | void;
|
|
6
|
-
};
|
|
7
|
-
ws: {
|
|
8
|
-
event: APIGatewayProxyWebsocketEventV2 & {
|
|
9
|
-
headers?: APIGatewayProxyEventHeaders;
|
|
10
|
-
multiValueHeaders?: APIGatewayProxyEventMultiValueHeaders;
|
|
11
|
-
queryStringParameters?: APIGatewayProxyEventQueryStringParameters | null;
|
|
12
|
-
multiValueQueryStringParameters?: APIGatewayProxyEventMultiValueQueryStringParameters | null;
|
|
13
|
-
};
|
|
14
|
-
response: APIGatewayProxyResultV2;
|
|
15
|
-
};
|
|
16
|
-
sqs: {
|
|
17
|
-
event: SQSEvent;
|
|
18
|
-
response: SQSBatchResponse;
|
|
19
|
-
};
|
|
20
|
-
}
|
|
21
|
-
export type HandlerTypes = keyof Handlers;
|
|
22
|
-
export declare function useContextType(): HandlerTypes;
|
|
23
|
-
export declare function useEvent<Type extends HandlerTypes>(type: Type): Handlers[Type]["event"];
|
|
24
|
-
export declare function useLambdaContext(): LambdaContext;
|
|
25
|
-
export declare function Handler<Type extends HandlerTypes, Event = Handlers[Type]["event"], Response = Handlers[Type]["response"]>(type: Type, cb: (evt: Event, ctx: LambdaContext) => Promise<Response>): (event: Event, context: LambdaContext) => Promise<Response>;
|
package/context/handler.js
DELETED
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import { create } from "./context2.js";
|
|
2
|
-
const RequestContext = create("RequestContext");
|
|
3
|
-
export function useContextType() {
|
|
4
|
-
const ctx = RequestContext.use();
|
|
5
|
-
return ctx.type;
|
|
6
|
-
}
|
|
7
|
-
export function useEvent(type) {
|
|
8
|
-
const ctx = RequestContext.use();
|
|
9
|
-
if (ctx.type !== type)
|
|
10
|
-
throw new Error(`Expected ${type} event`);
|
|
11
|
-
return ctx.event;
|
|
12
|
-
}
|
|
13
|
-
export function useLambdaContext() {
|
|
14
|
-
const ctx = RequestContext.use();
|
|
15
|
-
return ctx.context;
|
|
16
|
-
}
|
|
17
|
-
export function Handler(type, cb) {
|
|
18
|
-
return function handler(event, context) {
|
|
19
|
-
return RequestContext.with({ type, event: event, context }, () => cb(event, context));
|
|
20
|
-
};
|
|
21
|
-
}
|
package/context/index.d.ts
DELETED
package/context/index.js
DELETED
package/credentials.d.ts
DELETED
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import { SdkProvider } from "sst-aws-cdk/lib/api/aws-auth/sdk-provider.js";
|
|
2
|
-
export declare const useAWSCredentialsProvider: () => import("@smithy/types").AwsCredentialIdentityProvider;
|
|
3
|
-
export declare const useAWSCredentials: () => Promise<import("@smithy/types").AwsCredentialIdentity>;
|
|
4
|
-
export declare const useSTSIdentity: () => Promise<import("@aws-sdk/client-sts").GetCallerIdentityCommandOutput>;
|
|
5
|
-
export declare function useAWSClient<C extends any>(client: new (config: any) => C, force?: boolean): C;
|
|
6
|
-
/**
|
|
7
|
-
* Do not use this. It is only used for AWS CDK compatibility.
|
|
8
|
-
*/
|
|
9
|
-
export declare const useAWSProvider: () => Promise<SdkProvider>;
|
package/credentials.js
DELETED
|
@@ -1,145 +0,0 @@
|
|
|
1
|
-
import { fromNodeProviderChain } from "@aws-sdk/credential-providers";
|
|
2
|
-
import { GetCallerIdentityCommand, STSClient } from "@aws-sdk/client-sts";
|
|
3
|
-
import { Logger } from "./logger.js";
|
|
4
|
-
import { SdkProvider } from "sst-aws-cdk/lib/api/aws-auth/sdk-provider.js";
|
|
5
|
-
import { StandardRetryStrategy } from "@aws-sdk/middleware-retry";
|
|
6
|
-
export const useAWSCredentialsProvider = lazy(() => {
|
|
7
|
-
const project = useProject();
|
|
8
|
-
Logger.debug("Using AWS profile", project.config.profile);
|
|
9
|
-
const provider = fromNodeProviderChain({
|
|
10
|
-
clientConfig: { region: project.config.region },
|
|
11
|
-
profile: project.config.profile,
|
|
12
|
-
roleArn: project.config.role,
|
|
13
|
-
mfaCodeProvider: async (serialArn) => {
|
|
14
|
-
const readline = await import("readline");
|
|
15
|
-
const rl = readline.createInterface({
|
|
16
|
-
input: process.stdin,
|
|
17
|
-
output: process.stdout,
|
|
18
|
-
});
|
|
19
|
-
return new Promise((resolve) => {
|
|
20
|
-
Logger.debug(`Require MFA token for serial ARN ${serialArn}`);
|
|
21
|
-
const prompt = () => rl.question(`Enter MFA code for ${serialArn}: `, async (input) => {
|
|
22
|
-
if (input.trim() !== "") {
|
|
23
|
-
resolve(input.trim());
|
|
24
|
-
rl.close();
|
|
25
|
-
}
|
|
26
|
-
else {
|
|
27
|
-
// prompt again if no input
|
|
28
|
-
prompt();
|
|
29
|
-
}
|
|
30
|
-
});
|
|
31
|
-
prompt();
|
|
32
|
-
});
|
|
33
|
-
},
|
|
34
|
-
});
|
|
35
|
-
return provider;
|
|
36
|
-
});
|
|
37
|
-
export const useAWSCredentials = () => {
|
|
38
|
-
const provider = useAWSCredentialsProvider();
|
|
39
|
-
return provider();
|
|
40
|
-
};
|
|
41
|
-
export const useSTSIdentity = lazy(async () => {
|
|
42
|
-
const sts = useAWSClient(STSClient);
|
|
43
|
-
const identity = await sts.send(new GetCallerIdentityCommand({}));
|
|
44
|
-
Logger.debug("Using identity", "Account:", identity.Account, "User:", identity.UserId);
|
|
45
|
-
return identity;
|
|
46
|
-
});
|
|
47
|
-
const useClientCache = lazy(() => new Map());
|
|
48
|
-
export function useAWSClient(client, force = false) {
|
|
49
|
-
const cache = useClientCache();
|
|
50
|
-
const existing = cache.get(client.name);
|
|
51
|
-
if (existing && !force)
|
|
52
|
-
return existing;
|
|
53
|
-
const [project, credentials] = [useProject(), useAWSCredentialsProvider()];
|
|
54
|
-
const printNoInternet = (() => {
|
|
55
|
-
let lastPrinted = 0;
|
|
56
|
-
return () => {
|
|
57
|
-
const now = Date.now();
|
|
58
|
-
if (now - lastPrinted > 5000) {
|
|
59
|
-
console.log("Waiting for internet connection...");
|
|
60
|
-
lastPrinted = now;
|
|
61
|
-
}
|
|
62
|
-
};
|
|
63
|
-
})();
|
|
64
|
-
const result = new client({
|
|
65
|
-
region: project.config.region,
|
|
66
|
-
credentials: credentials,
|
|
67
|
-
retryStrategy: new StandardRetryStrategy(async () => 10000, {
|
|
68
|
-
retryDecider: (e) => {
|
|
69
|
-
// Handle no internet connection => retry
|
|
70
|
-
if (e.code === "ENOTFOUND") {
|
|
71
|
-
printNoInternet();
|
|
72
|
-
return true;
|
|
73
|
-
}
|
|
74
|
-
// Handle throttling errors => retry
|
|
75
|
-
if ([
|
|
76
|
-
"ThrottlingException",
|
|
77
|
-
"Throttling",
|
|
78
|
-
"TooManyRequestsException",
|
|
79
|
-
"OperationAbortedException",
|
|
80
|
-
"TimeoutError",
|
|
81
|
-
"NetworkingError",
|
|
82
|
-
].includes(e.name)) {
|
|
83
|
-
Logger.debug("Retry AWS call", e.name, e.message);
|
|
84
|
-
return true;
|
|
85
|
-
}
|
|
86
|
-
return false;
|
|
87
|
-
},
|
|
88
|
-
delayDecider: (_, attempts) => {
|
|
89
|
-
return Math.min(1.5 ** attempts * 100, 5000);
|
|
90
|
-
},
|
|
91
|
-
// AWS SDK v3 has an idea of "retry tokens" which are used to
|
|
92
|
-
// prevent multiple retries from happening at the same time.
|
|
93
|
-
// This is a workaround to disable that.
|
|
94
|
-
retryQuota: {
|
|
95
|
-
hasRetryTokens: () => true,
|
|
96
|
-
releaseRetryTokens: () => { },
|
|
97
|
-
retrieveRetryTokens: () => 1,
|
|
98
|
-
},
|
|
99
|
-
}),
|
|
100
|
-
});
|
|
101
|
-
cache.set(client.name, result);
|
|
102
|
-
Logger.debug("Created AWS client", client.name);
|
|
103
|
-
return result;
|
|
104
|
-
}
|
|
105
|
-
// @ts-expect-error
|
|
106
|
-
import stupid from "aws-sdk/lib/maintenance_mode_message.js";
|
|
107
|
-
stupid.suppress = true;
|
|
108
|
-
import aws from "aws-sdk";
|
|
109
|
-
import { useProject } from "./project.js";
|
|
110
|
-
import { lazy } from "./util/lazy.js";
|
|
111
|
-
const CredentialProviderChain = aws.CredentialProviderChain;
|
|
112
|
-
/**
|
|
113
|
-
* Do not use this. It is only used for AWS CDK compatibility.
|
|
114
|
-
*/
|
|
115
|
-
export const useAWSProvider = lazy(async () => {
|
|
116
|
-
Logger.debug("Loading v2 AWS SDK");
|
|
117
|
-
const project = useProject();
|
|
118
|
-
const creds = await useAWSCredentials();
|
|
119
|
-
const chain = new CredentialProviderChain([
|
|
120
|
-
() => ({
|
|
121
|
-
...creds,
|
|
122
|
-
get(cb) {
|
|
123
|
-
cb();
|
|
124
|
-
},
|
|
125
|
-
async getPromise() { },
|
|
126
|
-
needsRefresh() {
|
|
127
|
-
return false;
|
|
128
|
-
},
|
|
129
|
-
refresh(cb) {
|
|
130
|
-
cb();
|
|
131
|
-
},
|
|
132
|
-
async refreshPromise() { },
|
|
133
|
-
expired: false,
|
|
134
|
-
expireTime: creds.expiration,
|
|
135
|
-
accessKeyId: creds.accessKeyId,
|
|
136
|
-
sessionToken: creds.sessionToken,
|
|
137
|
-
secretAccessKey: creds.secretAccessKey,
|
|
138
|
-
}),
|
|
139
|
-
]);
|
|
140
|
-
const provider = new SdkProvider(chain, project.config.region, {
|
|
141
|
-
maxRetries: 10000,
|
|
142
|
-
region: project.config.region,
|
|
143
|
-
});
|
|
144
|
-
return provider;
|
|
145
|
-
});
|
package/error.d.ts
DELETED
package/error.js
DELETED
package/index.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export type { SSTConfig } from "./project.js";
|
package/index.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
package/iot.d.ts
DELETED
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
export declare const useIOTEndpoint: () => Promise<string>;
|
|
2
|
-
import { Events } from "./bus.js";
|
|
3
|
-
export declare const useIOT: () => Promise<{
|
|
4
|
-
prefix: string;
|
|
5
|
-
publish<Type extends keyof Events>(topic: string, type: Type, properties: Events[Type]): Promise<void>;
|
|
6
|
-
}>;
|
package/iot.js
DELETED
|
@@ -1,163 +0,0 @@
|
|
|
1
|
-
import { IoTClient, DescribeEndpointCommand } from "@aws-sdk/client-iot";
|
|
2
|
-
import { useAWSClient, useAWSCredentials } from "./credentials.js";
|
|
3
|
-
import { VisibleError } from "./error.js";
|
|
4
|
-
export const useIOTEndpoint = lazy(async () => {
|
|
5
|
-
const iot = useAWSClient(IoTClient);
|
|
6
|
-
Logger.debug("Getting IoT endpoint");
|
|
7
|
-
const response = await iot.send(new DescribeEndpointCommand({
|
|
8
|
-
endpointType: "iot:Data-ATS",
|
|
9
|
-
}));
|
|
10
|
-
Logger.debug("Using IoT endpoint:", response.endpointAddress);
|
|
11
|
-
if (!response.endpointAddress)
|
|
12
|
-
throw new VisibleError("IoT Endpoint address not found");
|
|
13
|
-
return response.endpointAddress;
|
|
14
|
-
});
|
|
15
|
-
import iot from "aws-iot-device-sdk";
|
|
16
|
-
import { useBus } from "./bus.js";
|
|
17
|
-
import { useProject } from "./project.js";
|
|
18
|
-
import { Logger } from "./logger.js";
|
|
19
|
-
import { useBootstrap } from "./bootstrap.js";
|
|
20
|
-
import { PutObjectCommand, S3Client } from "@aws-sdk/client-s3";
|
|
21
|
-
import { lazy } from "./util/lazy.js";
|
|
22
|
-
export const useIOT = lazy(async () => {
|
|
23
|
-
const bus = useBus();
|
|
24
|
-
const endpoint = await useIOTEndpoint();
|
|
25
|
-
const creds = await useAWSCredentials();
|
|
26
|
-
const project = useProject();
|
|
27
|
-
const bootstrap = await useBootstrap();
|
|
28
|
-
const s3 = useAWSClient(S3Client);
|
|
29
|
-
async function encode(input) {
|
|
30
|
-
const id = Math.random().toString();
|
|
31
|
-
const json = JSON.stringify(input);
|
|
32
|
-
if (json.length > 1024 * 1024 * 3) {
|
|
33
|
-
// upload to s3
|
|
34
|
-
const key = `pointers/${id}`;
|
|
35
|
-
await s3.send(new PutObjectCommand({
|
|
36
|
-
Bucket: bootstrap.bucket,
|
|
37
|
-
Key: key,
|
|
38
|
-
Body: json,
|
|
39
|
-
}));
|
|
40
|
-
return [
|
|
41
|
-
{
|
|
42
|
-
id,
|
|
43
|
-
index: 0,
|
|
44
|
-
count: 1,
|
|
45
|
-
data: JSON.stringify({
|
|
46
|
-
type: "pointer",
|
|
47
|
-
properties: {
|
|
48
|
-
key,
|
|
49
|
-
bucket: bootstrap.bucket,
|
|
50
|
-
},
|
|
51
|
-
}),
|
|
52
|
-
},
|
|
53
|
-
];
|
|
54
|
-
}
|
|
55
|
-
const parts = json.match(/.{1,50000}/g);
|
|
56
|
-
if (!parts)
|
|
57
|
-
return [];
|
|
58
|
-
Logger.debug("Encoded iot message into", parts?.length, "parts");
|
|
59
|
-
return parts.map((part, index) => ({
|
|
60
|
-
id,
|
|
61
|
-
index,
|
|
62
|
-
count: parts?.length,
|
|
63
|
-
data: part,
|
|
64
|
-
}));
|
|
65
|
-
}
|
|
66
|
-
/*
|
|
67
|
-
console.log(endpoint, creds);
|
|
68
|
-
const config =
|
|
69
|
-
iotsdk.iot.AwsIotMqttConnectionConfigBuilder.new_with_websockets({
|
|
70
|
-
region: project.config.region!,
|
|
71
|
-
credentials_provider: iotsdk.auth.AwsCredentialsProvider.newStatic(
|
|
72
|
-
creds.accessKeyId,
|
|
73
|
-
creds.secretAccessKey,
|
|
74
|
-
creds.sessionToken
|
|
75
|
-
),
|
|
76
|
-
})
|
|
77
|
-
.with_client_id(randomUUID())
|
|
78
|
-
.with_endpoint(endpoint)
|
|
79
|
-
.build();
|
|
80
|
-
console.log(config);
|
|
81
|
-
|
|
82
|
-
const device2 = new iotsdk.mqtt.MqttClient();
|
|
83
|
-
const conn = device2.new_connection(config);
|
|
84
|
-
conn.on("connect", () => {
|
|
85
|
-
console.log("CONNECTED");
|
|
86
|
-
});
|
|
87
|
-
conn.on("error", console.log);
|
|
88
|
-
conn.on("connect", console.log);
|
|
89
|
-
conn.on("resume", console.log);
|
|
90
|
-
conn.on("message", console.log);
|
|
91
|
-
conn.on("disconnect", console.log);
|
|
92
|
-
conn.connect();
|
|
93
|
-
console.log(device2);
|
|
94
|
-
*/
|
|
95
|
-
const device = new iot.device({
|
|
96
|
-
protocol: "wss",
|
|
97
|
-
host: endpoint,
|
|
98
|
-
region: project.config.region,
|
|
99
|
-
accessKeyId: creds.accessKeyId,
|
|
100
|
-
secretKey: creds.secretAccessKey,
|
|
101
|
-
sessionToken: creds.sessionToken,
|
|
102
|
-
reconnectPeriod: 1,
|
|
103
|
-
});
|
|
104
|
-
const PREFIX = `/sst/${project.config.name}/${project.config.stage}`;
|
|
105
|
-
device.subscribe(`${PREFIX}/events`, { qos: 1 });
|
|
106
|
-
const fragments = new Map();
|
|
107
|
-
device.on("connect", () => {
|
|
108
|
-
Logger.debug("IoT connected");
|
|
109
|
-
});
|
|
110
|
-
device.on("error", (err) => {
|
|
111
|
-
Logger.debug("IoT error", err);
|
|
112
|
-
});
|
|
113
|
-
device.on("close", () => {
|
|
114
|
-
Logger.debug("IoT closed");
|
|
115
|
-
});
|
|
116
|
-
device.on("reconnect", () => {
|
|
117
|
-
Logger.debug("IoT reconnected");
|
|
118
|
-
});
|
|
119
|
-
device.on("message", (_topic, buffer) => {
|
|
120
|
-
const fragment = JSON.parse(buffer.toString());
|
|
121
|
-
if (!fragment.id) {
|
|
122
|
-
bus.publish(fragment.type, fragment.properties);
|
|
123
|
-
return;
|
|
124
|
-
}
|
|
125
|
-
let pending = fragments.get(fragment.id);
|
|
126
|
-
if (!pending) {
|
|
127
|
-
pending = new Map();
|
|
128
|
-
fragments.set(fragment.id, pending);
|
|
129
|
-
}
|
|
130
|
-
pending.set(fragment.index, fragment);
|
|
131
|
-
if (pending.size === fragment.count) {
|
|
132
|
-
const data = [...pending.values()]
|
|
133
|
-
.sort((a, b) => a.index - b.index)
|
|
134
|
-
.map((item) => item.data)
|
|
135
|
-
.join("");
|
|
136
|
-
fragments.delete(fragment.id);
|
|
137
|
-
const evt = JSON.parse(data);
|
|
138
|
-
if (evt.sourceID === bus.sourceID)
|
|
139
|
-
return;
|
|
140
|
-
bus.publish(evt.type, evt.properties);
|
|
141
|
-
}
|
|
142
|
-
});
|
|
143
|
-
return {
|
|
144
|
-
prefix: PREFIX,
|
|
145
|
-
async publish(topic, type, properties) {
|
|
146
|
-
const payload = {
|
|
147
|
-
type,
|
|
148
|
-
properties,
|
|
149
|
-
sourceID: bus.sourceID,
|
|
150
|
-
};
|
|
151
|
-
for (const fragment of await encode(payload)) {
|
|
152
|
-
await new Promise((r) => {
|
|
153
|
-
device.publish(topic, JSON.stringify(fragment), {
|
|
154
|
-
qos: 1,
|
|
155
|
-
}, () => {
|
|
156
|
-
r();
|
|
157
|
-
});
|
|
158
|
-
});
|
|
159
|
-
}
|
|
160
|
-
Logger.debug("IOT Published", topic, type);
|
|
161
|
-
},
|
|
162
|
-
};
|
|
163
|
-
});
|
package/logger.d.ts
DELETED
package/logger.js
DELETED
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
import fs from "fs";
|
|
2
|
-
import path from "path";
|
|
3
|
-
import { useProject } from "./project.js";
|
|
4
|
-
import { lazy } from "./util/lazy.js";
|
|
5
|
-
let previous = new Date();
|
|
6
|
-
const useFile = lazy(() => {
|
|
7
|
-
const project = useProject();
|
|
8
|
-
const filePath = path.join(project.paths.out, "debug.log");
|
|
9
|
-
const file = fs.createWriteStream(filePath);
|
|
10
|
-
return file;
|
|
11
|
-
});
|
|
12
|
-
export const Logger = {
|
|
13
|
-
debug(...parts) {
|
|
14
|
-
const now = new Date();
|
|
15
|
-
const diff = now.getTime() - previous.getTime();
|
|
16
|
-
previous = now;
|
|
17
|
-
const line = [
|
|
18
|
-
new Date().toISOString(),
|
|
19
|
-
`+${diff}ms`.padStart(8),
|
|
20
|
-
"[debug]",
|
|
21
|
-
...parts.map((x) => {
|
|
22
|
-
if (typeof x === "string")
|
|
23
|
-
return x;
|
|
24
|
-
return JSON.stringify(x);
|
|
25
|
-
}),
|
|
26
|
-
];
|
|
27
|
-
if (process.env.SST_VERBOSE)
|
|
28
|
-
console.log(...line);
|
|
29
|
-
const file = useFile();
|
|
30
|
-
file.write(line.join(" ") + "\n");
|
|
31
|
-
},
|
|
32
|
-
};
|
package/node/actor/index.d.ts
DELETED
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
import { SSTError } from "../../util/error.js";
|
|
2
|
-
interface Definition {
|
|
3
|
-
type: string;
|
|
4
|
-
properties: Record<string, any>;
|
|
5
|
-
}
|
|
6
|
-
export declare class WrongActorError extends SSTError {
|
|
7
|
-
}
|
|
8
|
-
export declare function createActors<T extends Definition>(): {
|
|
9
|
-
useActor: () => T | {
|
|
10
|
-
type: "public";
|
|
11
|
-
properties: {};
|
|
12
|
-
};
|
|
13
|
-
withActor: <R>(value: T | {
|
|
14
|
-
type: "public";
|
|
15
|
-
properties: {};
|
|
16
|
-
}, cb: () => R) => R;
|
|
17
|
-
assertActor<T_1 extends (T | {
|
|
18
|
-
type: "public";
|
|
19
|
-
properties: {};
|
|
20
|
-
})["type"]>(type: T_1): (Extract<T, {
|
|
21
|
-
type: T_1;
|
|
22
|
-
}> | Extract<{
|
|
23
|
-
type: "public";
|
|
24
|
-
properties: {};
|
|
25
|
-
}, {
|
|
26
|
-
type: T_1;
|
|
27
|
-
}>)["properties"];
|
|
28
|
-
};
|
|
29
|
-
export {};
|
package/node/actor/index.js
DELETED
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import { create } from "../../context/context2.js";
|
|
2
|
-
import { SSTError } from "../../util/error.js";
|
|
3
|
-
export class WrongActorError extends SSTError {
|
|
4
|
-
}
|
|
5
|
-
export function createActors() {
|
|
6
|
-
const ctx = create("Actors");
|
|
7
|
-
return {
|
|
8
|
-
useActor: ctx.use,
|
|
9
|
-
withActor: ctx.with,
|
|
10
|
-
assertActor(type) {
|
|
11
|
-
const actor = ctx.use();
|
|
12
|
-
if (actor.type === type)
|
|
13
|
-
return actor.properties;
|
|
14
|
-
throw new WrongActorError(`Expected actor type "${type} but got "${actor.type}"`);
|
|
15
|
-
},
|
|
16
|
-
};
|
|
17
|
-
}
|
package/node/api/index.d.ts
DELETED
|
@@ -1,64 +0,0 @@
|
|
|
1
|
-
import { Handler, HandlerTypes } from "../../context/handler.js";
|
|
2
|
-
import { APIGatewayProxyStructuredResultV2 } from "aws-lambda";
|
|
3
|
-
export interface ApiResources {
|
|
4
|
-
}
|
|
5
|
-
export interface AppSyncApiResources {
|
|
6
|
-
}
|
|
7
|
-
export interface ApiGatewayV1ApiResources {
|
|
8
|
-
}
|
|
9
|
-
export type ApiHandlerTypes = Extract<HandlerTypes, "api" | "ws">;
|
|
10
|
-
export declare const Api: ApiResources;
|
|
11
|
-
export declare const AppSyncApi: AppSyncApiResources;
|
|
12
|
-
export declare const ApiGatewayV1Api: ApiGatewayV1ApiResources;
|
|
13
|
-
export declare class Response {
|
|
14
|
-
readonly result: APIGatewayProxyStructuredResultV2;
|
|
15
|
-
constructor(result: APIGatewayProxyStructuredResultV2);
|
|
16
|
-
}
|
|
17
|
-
/**
|
|
18
|
-
* Create a new api handler that can be used to create an authenticated session.
|
|
19
|
-
*
|
|
20
|
-
* @example
|
|
21
|
-
* ```ts
|
|
22
|
-
* export const handler = ApiHandler({
|
|
23
|
-
* })
|
|
24
|
-
* ```
|
|
25
|
-
*/
|
|
26
|
-
export declare function ApiHandler(cb: Parameters<typeof Handler<"api">>[1]): (event: import("aws-lambda").APIGatewayProxyEventV2, context: import("aws-lambda").Context) => Promise<APIGatewayProxyStructuredResultV2>;
|
|
27
|
-
export declare const useCookies: () => {
|
|
28
|
-
[k: string]: string;
|
|
29
|
-
};
|
|
30
|
-
export declare function useCookie(name: string): string | undefined;
|
|
31
|
-
export declare const useBody: () => string | undefined;
|
|
32
|
-
export declare const useJsonBody: () => any;
|
|
33
|
-
export declare const useFormData: () => URLSearchParams | undefined;
|
|
34
|
-
export declare const usePath: () => string[];
|
|
35
|
-
interface CookieOptions {
|
|
36
|
-
expires?: Date;
|
|
37
|
-
maxAge?: number;
|
|
38
|
-
domain?: string;
|
|
39
|
-
path?: string;
|
|
40
|
-
secure?: boolean;
|
|
41
|
-
httpOnly?: boolean;
|
|
42
|
-
sameSite?: "Strict" | "Lax" | "None";
|
|
43
|
-
}
|
|
44
|
-
export declare const useResponse: () => {
|
|
45
|
-
cookies(values: Record<string, string>, options: CookieOptions): any;
|
|
46
|
-
cookie(input: {
|
|
47
|
-
key: string;
|
|
48
|
-
value: string;
|
|
49
|
-
encrypted?: string;
|
|
50
|
-
} & CookieOptions): any;
|
|
51
|
-
status(code: number): any;
|
|
52
|
-
header(key: string, value: string): any;
|
|
53
|
-
serialize(input: APIGatewayProxyStructuredResultV2): APIGatewayProxyStructuredResultV2;
|
|
54
|
-
};
|
|
55
|
-
export declare function useDomainName(): string;
|
|
56
|
-
export declare function useMethod(): string;
|
|
57
|
-
export declare function useHeaders(): import("aws-lambda").APIGatewayProxyEventHeaders;
|
|
58
|
-
export declare function useHeader(key: string): string | undefined;
|
|
59
|
-
export declare function useFormValue(name: string): string | null | undefined;
|
|
60
|
-
export declare function useQueryParams(): import("aws-lambda").APIGatewayProxyEventQueryStringParameters;
|
|
61
|
-
export declare function useQueryParam<T = string>(name: string): T | undefined;
|
|
62
|
-
export declare function usePathParams(): import("aws-lambda").APIGatewayProxyEventPathParameters;
|
|
63
|
-
export declare function usePathParam(name: string): string | undefined;
|
|
64
|
-
export {};
|