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.
Files changed (460) hide show
  1. package/dist/index.d.ts +2 -0
  2. package/dist/index.js +2 -0
  3. package/dist/resource.d.ts +4 -0
  4. package/dist/resource.js +15 -0
  5. package/dist/vector-client.d.ts +126 -0
  6. package/dist/vector-client.js +38 -0
  7. package/package.json +16 -137
  8. package/LICENSE +0 -21
  9. package/README.md +0 -43
  10. package/bootstrap.d.ts +0 -5
  11. package/bootstrap.js +0 -318
  12. package/bus.d.ts +0 -20
  13. package/bus.js +0 -52
  14. package/cache.d.ts +0 -4
  15. package/cache.js +0 -31
  16. package/cdk/deploy-stack.d.ts +0 -223
  17. package/cdk/deploy-stack.js +0 -562
  18. package/cdk/deployments-wrapper.d.ts +0 -3
  19. package/cdk/deployments-wrapper.js +0 -135
  20. package/cdk/deployments.d.ts +0 -327
  21. package/cdk/deployments.js +0 -360
  22. package/cdk/util.d.ts +0 -1
  23. package/cdk/util.js +0 -17
  24. package/cli/ci-info.d.ts +0 -4
  25. package/cli/ci-info.js +0 -8
  26. package/cli/colors.d.ts +0 -17
  27. package/cli/colors.js +0 -27
  28. package/cli/commands/bind.d.ts +0 -19
  29. package/cli/commands/bind.js +0 -360
  30. package/cli/commands/bootstrap.d.ts +0 -15
  31. package/cli/commands/bootstrap.js +0 -11
  32. package/cli/commands/build.d.ts +0 -17
  33. package/cli/commands/build.js +0 -25
  34. package/cli/commands/connect.d.ts +0 -17
  35. package/cli/commands/connect.js +0 -55
  36. package/cli/commands/console.d.ts +0 -15
  37. package/cli/commands/console.js +0 -22
  38. package/cli/commands/deploy.d.ts +0 -19
  39. package/cli/commands/deploy.js +0 -112
  40. package/cli/commands/dev.d.ts +0 -25
  41. package/cli/commands/dev.js +0 -351
  42. package/cli/commands/diff.d.ts +0 -19
  43. package/cli/commands/diff.js +0 -89
  44. package/cli/commands/plugins/kysely.d.ts +0 -1
  45. package/cli/commands/plugins/kysely.js +0 -87
  46. package/cli/commands/plugins/pothos.d.ts +0 -1
  47. package/cli/commands/plugins/pothos.js +0 -58
  48. package/cli/commands/plugins/warmer.d.ts +0 -1
  49. package/cli/commands/plugins/warmer.js +0 -33
  50. package/cli/commands/remove.d.ts +0 -19
  51. package/cli/commands/remove.js +0 -62
  52. package/cli/commands/secrets/get.d.ts +0 -19
  53. package/cli/commands/secrets/get.js +0 -27
  54. package/cli/commands/secrets/list.d.ts +0 -19
  55. package/cli/commands/secrets/list.js +0 -69
  56. package/cli/commands/secrets/load.d.ts +0 -17
  57. package/cli/commands/secrets/load.js +0 -47
  58. package/cli/commands/secrets/remove.d.ts +0 -19
  59. package/cli/commands/secrets/remove.js +0 -27
  60. package/cli/commands/secrets/secrets.d.ts +0 -2
  61. package/cli/commands/secrets/secrets.js +0 -16
  62. package/cli/commands/secrets/set.d.ts +0 -21
  63. package/cli/commands/secrets/set.js +0 -54
  64. package/cli/commands/telemetry.d.ts +0 -17
  65. package/cli/commands/telemetry.js +0 -24
  66. package/cli/commands/transform.d.ts +0 -17
  67. package/cli/commands/transform.js +0 -62
  68. package/cli/commands/types.d.ts +0 -15
  69. package/cli/commands/types.js +0 -25
  70. package/cli/commands/update.d.ts +0 -17
  71. package/cli/commands/update.js +0 -116
  72. package/cli/commands/version.d.ts +0 -15
  73. package/cli/commands/version.js +0 -15
  74. package/cli/local/router.d.ts +0 -44
  75. package/cli/local/router.js +0 -43
  76. package/cli/local/server.d.ts +0 -22
  77. package/cli/local/server.js +0 -319
  78. package/cli/program.d.ts +0 -19
  79. package/cli/program.js +0 -87
  80. package/cli/spinner.d.ts +0 -3
  81. package/cli/spinner.js +0 -14
  82. package/cli/sst.d.ts +0 -2
  83. package/cli/sst.js +0 -74
  84. package/cli/telemetry/environment.d.ts +0 -15
  85. package/cli/telemetry/environment.js +0 -27
  86. package/cli/telemetry/post-payload.d.ts +0 -1
  87. package/cli/telemetry/post-payload.js +0 -27
  88. package/cli/telemetry/project-id.d.ts +0 -2
  89. package/cli/telemetry/project-id.js +0 -47
  90. package/cli/telemetry/telemetry.d.ts +0 -19
  91. package/cli/telemetry/telemetry.js +0 -103
  92. package/cli/terminal.d.ts +0 -1
  93. package/cli/terminal.js +0 -8
  94. package/cli/ui/deploy.d.ts +0 -10
  95. package/cli/ui/deploy.js +0 -172
  96. package/cli/ui/functions.d.ts +0 -2
  97. package/cli/ui/functions.js +0 -130
  98. package/cli/ui/header.d.ts +0 -5
  99. package/cli/ui/header.js +0 -16
  100. package/cli/ui/stack.d.ts +0 -1
  101. package/cli/ui/stack.js +0 -6
  102. package/config.d.ts +0 -56
  103. package/config.js +0 -244
  104. package/constructs/Api.d.ts +0 -814
  105. package/constructs/Api.js +0 -743
  106. package/constructs/ApiGatewayV1Api.d.ts +0 -642
  107. package/constructs/ApiGatewayV1Api.js +0 -767
  108. package/constructs/App.d.ts +0 -168
  109. package/constructs/App.js +0 -493
  110. package/constructs/AppSyncApi.d.ts +0 -550
  111. package/constructs/AppSyncApi.js +0 -493
  112. package/constructs/AstroSite.d.ts +0 -39
  113. package/constructs/AstroSite.js +0 -78
  114. package/constructs/AstroSite.tsdoc.d.ts +0 -2
  115. package/constructs/AstroSite.tsdoc.js +0 -2
  116. package/constructs/Auth.d.ts +0 -100
  117. package/constructs/Auth.js +0 -177
  118. package/constructs/BaseSite.d.ts +0 -29
  119. package/constructs/BaseSite.js +0 -43
  120. package/constructs/Bucket.d.ts +0 -364
  121. package/constructs/Bucket.js +0 -327
  122. package/constructs/Cognito.d.ts +0 -232
  123. package/constructs/Cognito.js +0 -370
  124. package/constructs/Config.d.ts +0 -3
  125. package/constructs/Config.js +0 -3
  126. package/constructs/Construct.d.ts +0 -23
  127. package/constructs/Construct.js +0 -46
  128. package/constructs/Cron.d.ts +0 -164
  129. package/constructs/Cron.js +0 -114
  130. package/constructs/Distribution.d.ts +0 -143
  131. package/constructs/Distribution.js +0 -260
  132. package/constructs/EdgeFunction.d.ts +0 -49
  133. package/constructs/EdgeFunction.js +0 -442
  134. package/constructs/EventBus.d.ts +0 -444
  135. package/constructs/EventBus.js +0 -440
  136. package/constructs/Function.d.ts +0 -690
  137. package/constructs/Function.js +0 -583
  138. package/constructs/FunctionalStack.d.ts +0 -13
  139. package/constructs/FunctionalStack.js +0 -62
  140. package/constructs/Job.d.ts +0 -337
  141. package/constructs/Job.js +0 -404
  142. package/constructs/KinesisStream.d.ts +0 -224
  143. package/constructs/KinesisStream.js +0 -207
  144. package/constructs/Metadata.d.ts +0 -60
  145. package/constructs/Metadata.js +0 -1
  146. package/constructs/NextjsSite.d.ts +0 -104
  147. package/constructs/NextjsSite.js +0 -308
  148. package/constructs/Parameter.d.ts +0 -37
  149. package/constructs/Parameter.js +0 -53
  150. package/constructs/Queue.d.ts +0 -194
  151. package/constructs/Queue.js +0 -204
  152. package/constructs/RDS.d.ts +0 -221
  153. package/constructs/RDS.js +0 -363
  154. package/constructs/RemixSite.d.ts +0 -42
  155. package/constructs/RemixSite.js +0 -158
  156. package/constructs/RemixSite.tsdoc.d.ts +0 -2
  157. package/constructs/RemixSite.tsdoc.js +0 -2
  158. package/constructs/Script.d.ts +0 -160
  159. package/constructs/Script.js +0 -179
  160. package/constructs/Secret.d.ts +0 -30
  161. package/constructs/Secret.js +0 -59
  162. package/constructs/Service.d.ts +0 -487
  163. package/constructs/Service.js +0 -655
  164. package/constructs/SolidStartSite.d.ts +0 -37
  165. package/constructs/SolidStartSite.js +0 -66
  166. package/constructs/SolidStartSite.tsdoc.d.ts +0 -2
  167. package/constructs/SolidStartSite.tsdoc.js +0 -2
  168. package/constructs/SsrFunction.d.ts +0 -60
  169. package/constructs/SsrFunction.js +0 -226
  170. package/constructs/SsrSite.d.ts +0 -407
  171. package/constructs/SsrSite.js +0 -850
  172. package/constructs/Stack.d.ts +0 -127
  173. package/constructs/Stack.js +0 -243
  174. package/constructs/StaticSite.d.ts +0 -348
  175. package/constructs/StaticSite.js +0 -468
  176. package/constructs/SvelteKitSite.d.ts +0 -40
  177. package/constructs/SvelteKitSite.js +0 -106
  178. package/constructs/SvelteKitSite.tsdoc.d.ts +0 -2
  179. package/constructs/SvelteKitSite.tsdoc.js +0 -2
  180. package/constructs/Table.d.ts +0 -410
  181. package/constructs/Table.js +0 -425
  182. package/constructs/Topic.d.ts +0 -257
  183. package/constructs/Topic.js +0 -273
  184. package/constructs/WebSocketApi.d.ts +0 -355
  185. package/constructs/WebSocketApi.js +0 -404
  186. package/constructs/cdk/HttpAwsIntegration.d.ts +0 -32
  187. package/constructs/cdk/HttpAwsIntegration.js +0 -24
  188. package/constructs/cdk/certificate-base.d.ts +0 -18
  189. package/constructs/cdk/certificate-base.js +0 -26
  190. package/constructs/cdk/dns-validated-certificate.d.ts +0 -77
  191. package/constructs/cdk/dns-validated-certificate.js +0 -125
  192. package/constructs/cdk/website-redirect.d.ts +0 -53
  193. package/constructs/cdk/website-redirect.js +0 -77
  194. package/constructs/context.d.ts +0 -3
  195. package/constructs/context.js +0 -27
  196. package/constructs/deferred_task.d.ts +0 -6
  197. package/constructs/deferred_task.js +0 -45
  198. package/constructs/deprecated/NextjsSite.d.ts +0 -309
  199. package/constructs/deprecated/NextjsSite.js +0 -1074
  200. package/constructs/deprecated/cross-region-helper.d.ts +0 -7
  201. package/constructs/deprecated/cross-region-helper.js +0 -152
  202. package/constructs/deprecated/index.d.ts +0 -1
  203. package/constructs/deprecated/index.js +0 -1
  204. package/constructs/future/Auth.d.ts +0 -80
  205. package/constructs/future/Auth.js +0 -122
  206. package/constructs/future/index.d.ts +0 -1
  207. package/constructs/future/index.js +0 -1
  208. package/constructs/index.d.ts +0 -32
  209. package/constructs/index.js +0 -32
  210. package/constructs/static-file-list.d.ts +0 -1
  211. package/constructs/static-file-list.js +0 -51
  212. package/constructs/util/apiGatewayV1AccessLog.d.ts +0 -15
  213. package/constructs/util/apiGatewayV1AccessLog.js +0 -76
  214. package/constructs/util/apiGatewayV2AccessLog.d.ts +0 -10
  215. package/constructs/util/apiGatewayV2AccessLog.js +0 -107
  216. package/constructs/util/apiGatewayV2Cors.d.ts +0 -67
  217. package/constructs/util/apiGatewayV2Cors.js +0 -21
  218. package/constructs/util/apiGatewayV2Domain.d.ts +0 -47
  219. package/constructs/util/apiGatewayV2Domain.js +0 -208
  220. package/constructs/util/appSyncApiDomain.d.ts +0 -41
  221. package/constructs/util/appSyncApiDomain.js +0 -176
  222. package/constructs/util/builder.d.ts +0 -3
  223. package/constructs/util/builder.js +0 -9
  224. package/constructs/util/duration.d.ts +0 -3
  225. package/constructs/util/duration.js +0 -19
  226. package/constructs/util/functionBinding.d.ts +0 -31
  227. package/constructs/util/functionBinding.js +0 -104
  228. package/constructs/util/functionUrlCors.d.ts +0 -67
  229. package/constructs/util/functionUrlCors.js +0 -23
  230. package/constructs/util/permission.d.ts +0 -8
  231. package/constructs/util/permission.js +0 -228
  232. package/constructs/util/size.d.ts +0 -3
  233. package/constructs/util/size.js +0 -12
  234. package/constructs/util/warning.d.ts +0 -11
  235. package/constructs/util/warning.js +0 -21
  236. package/context/context.d.ts +0 -13
  237. package/context/context.js +0 -69
  238. package/context/context2.d.ts +0 -16
  239. package/context/context2.js +0 -108
  240. package/context/handler.d.ts +0 -25
  241. package/context/handler.js +0 -21
  242. package/context/index.d.ts +0 -2
  243. package/context/index.js +0 -2
  244. package/credentials.d.ts +0 -9
  245. package/credentials.js +0 -145
  246. package/error.d.ts +0 -6
  247. package/error.js +0 -10
  248. package/index.d.ts +0 -1
  249. package/index.js +0 -1
  250. package/iot.d.ts +0 -6
  251. package/iot.js +0 -163
  252. package/logger.d.ts +0 -3
  253. package/logger.js +0 -32
  254. package/node/actor/index.d.ts +0 -29
  255. package/node/actor/index.js +0 -17
  256. package/node/api/index.d.ts +0 -64
  257. package/node/api/index.js +0 -179
  258. package/node/auth/adapter/adapter.d.ts +0 -3
  259. package/node/auth/adapter/adapter.js +0 -3
  260. package/node/auth/adapter/facebook.d.ts +0 -2
  261. package/node/auth/adapter/facebook.js +0 -26
  262. package/node/auth/adapter/github.d.ts +0 -2
  263. package/node/auth/adapter/github.js +0 -21
  264. package/node/auth/adapter/google.d.ts +0 -9
  265. package/node/auth/adapter/google.js +0 -18
  266. package/node/auth/adapter/link.d.ts +0 -8
  267. package/node/auth/adapter/link.js +0 -39
  268. package/node/auth/adapter/oauth.d.ts +0 -25
  269. package/node/auth/adapter/oauth.js +0 -52
  270. package/node/auth/adapter/oidc.d.ts +0 -17
  271. package/node/auth/adapter/oidc.js +0 -50
  272. package/node/auth/adapter/twitch.d.ts +0 -2
  273. package/node/auth/adapter/twitch.js +0 -11
  274. package/node/auth/auth.d.ts +0 -24
  275. package/node/auth/auth.js +0 -74
  276. package/node/auth/index.d.ts +0 -13
  277. package/node/auth/index.js +0 -12
  278. package/node/auth/session.d.ts +0 -76
  279. package/node/auth/session.js +0 -121
  280. package/node/bucket/index.d.ts +0 -3
  281. package/node/bucket/index.js +0 -2
  282. package/node/config/index.d.ts +0 -13
  283. package/node/config/index.js +0 -22
  284. package/node/event-bus/index.d.ts +0 -51
  285. package/node/event-bus/index.js +0 -76
  286. package/node/function/index.d.ts +0 -3
  287. package/node/function/index.js +0 -3
  288. package/node/future/auth/adapter/adapter.d.ts +0 -10
  289. package/node/future/auth/adapter/adapter.js +0 -1
  290. package/node/future/auth/adapter/code.d.ts +0 -17
  291. package/node/future/auth/adapter/code.js +0 -68
  292. package/node/future/auth/adapter/facebook.d.ts +0 -16
  293. package/node/future/auth/adapter/facebook.js +0 -27
  294. package/node/future/auth/adapter/github.d.ts +0 -23
  295. package/node/future/auth/adapter/github.js +0 -23
  296. package/node/future/auth/adapter/google.d.ts +0 -28
  297. package/node/future/auth/adapter/google.js +0 -22
  298. package/node/future/auth/adapter/link.d.ts +0 -13
  299. package/node/future/auth/adapter/link.js +0 -47
  300. package/node/future/auth/adapter/microsoft.d.ts +0 -22
  301. package/node/future/auth/adapter/microsoft.js +0 -16
  302. package/node/future/auth/adapter/oauth.d.ts +0 -41
  303. package/node/future/auth/adapter/oauth.js +0 -67
  304. package/node/future/auth/adapter/oidc.d.ts +0 -30
  305. package/node/future/auth/adapter/oidc.js +0 -63
  306. package/node/future/auth/adapter/spotify.d.ts +0 -23
  307. package/node/future/auth/adapter/spotify.js +0 -22
  308. package/node/future/auth/encryption.d.ts +0 -2
  309. package/node/future/auth/encryption.js +0 -30
  310. package/node/future/auth/handler.d.ts +0 -46
  311. package/node/future/auth/handler.js +0 -280
  312. package/node/future/auth/index.d.ts +0 -17
  313. package/node/future/auth/index.js +0 -15
  314. package/node/future/auth/session.d.ts +0 -71
  315. package/node/future/auth/session.js +0 -146
  316. package/node/graphql/index.d.ts +0 -15
  317. package/node/graphql/index.js +0 -32
  318. package/node/job/index.d.ts +0 -37
  319. package/node/job/index.js +0 -64
  320. package/node/kinesis-stream/index.d.ts +0 -3
  321. package/node/kinesis-stream/index.js +0 -3
  322. package/node/queue/index.d.ts +0 -3
  323. package/node/queue/index.js +0 -2
  324. package/node/rds/index.d.ts +0 -3
  325. package/node/rds/index.js +0 -2
  326. package/node/service/index.d.ts +0 -3
  327. package/node/service/index.js +0 -4
  328. package/node/site/index.d.ts +0 -18
  329. package/node/site/index.js +0 -18
  330. package/node/table/index.d.ts +0 -3
  331. package/node/table/index.js +0 -4
  332. package/node/topic/index.d.ts +0 -3
  333. package/node/topic/index.js +0 -4
  334. package/node/util/index.d.ts +0 -2
  335. package/node/util/index.js +0 -196
  336. package/node/util/loader.d.ts +0 -2
  337. package/node/util/loader.js +0 -51
  338. package/node/websocket-api/index.d.ts +0 -23
  339. package/node/websocket-api/index.js +0 -48
  340. package/pothos.d.ts +0 -7
  341. package/pothos.js +0 -160
  342. package/project.d.ts +0 -75
  343. package/project.js +0 -188
  344. package/runtime/handlers/container.d.ts +0 -2
  345. package/runtime/handlers/container.js +0 -263
  346. package/runtime/handlers/dotnet.d.ts +0 -2
  347. package/runtime/handlers/dotnet.js +0 -115
  348. package/runtime/handlers/go.d.ts +0 -2
  349. package/runtime/handlers/go.js +0 -126
  350. package/runtime/handlers/java.d.ts +0 -2
  351. package/runtime/handlers/java.js +0 -103
  352. package/runtime/handlers/node.d.ts +0 -2
  353. package/runtime/handlers/node.js +0 -269
  354. package/runtime/handlers/python.d.ts +0 -2
  355. package/runtime/handlers/python.js +0 -141
  356. package/runtime/handlers/pythonBundling.d.ts +0 -82
  357. package/runtime/handlers/pythonBundling.js +0 -80
  358. package/runtime/handlers/rust.d.ts +0 -2
  359. package/runtime/handlers/rust.js +0 -110
  360. package/runtime/handlers.d.ts +0 -74
  361. package/runtime/handlers.js +0 -151
  362. package/runtime/iot.d.ts +0 -1
  363. package/runtime/iot.js +0 -17
  364. package/runtime/runtime.d.ts +0 -32
  365. package/runtime/runtime.js +0 -1
  366. package/runtime/server.d.ts +0 -6
  367. package/runtime/server.js +0 -150
  368. package/runtime/workers.d.ts +0 -37
  369. package/runtime/workers.js +0 -85
  370. package/stacks/app-metadata.d.ts +0 -7
  371. package/stacks/app-metadata.js +0 -75
  372. package/stacks/assembly.d.ts +0 -1
  373. package/stacks/assembly.js +0 -4
  374. package/stacks/build.d.ts +0 -9
  375. package/stacks/build.js +0 -110
  376. package/stacks/deploy.d.ts +0 -9
  377. package/stacks/deploy.js +0 -240
  378. package/stacks/diff.d.ts +0 -8
  379. package/stacks/diff.js +0 -62
  380. package/stacks/index.d.ts +0 -10
  381. package/stacks/index.js +0 -10
  382. package/stacks/metadata.d.ts +0 -11
  383. package/stacks/metadata.js +0 -83
  384. package/stacks/monitor.d.ts +0 -32
  385. package/stacks/monitor.js +0 -151
  386. package/stacks/remove.d.ts +0 -8
  387. package/stacks/remove.js +0 -76
  388. package/stacks/synth.d.ts +0 -12
  389. package/stacks/synth.js +0 -94
  390. package/support/base-site-archiver.mjs +0 -99
  391. package/support/base-site-custom-resource/s3-handler.py +0 -195
  392. package/support/base-site-custom-resource/s3-upload.py +0 -89
  393. package/support/bootstrap-metadata-function/index.mjs +0 -58011
  394. package/support/bridge/Dockerfile +0 -3
  395. package/support/bridge/bridge.mjs +0 -146
  396. package/support/certificate-requestor/index.js +0 -549
  397. package/support/custom-resources/index.mjs +0 -180627
  398. package/support/dotnet31-bootstrap/Program.cs +0 -17
  399. package/support/dotnet31-bootstrap/dotnet-bootstrap.csproj +0 -12
  400. package/support/dotnet31-bootstrap/release/Amazon.Lambda.Core.dll +0 -0
  401. package/support/dotnet31-bootstrap/release/Amazon.Lambda.RuntimeSupport.dll +0 -0
  402. package/support/dotnet31-bootstrap/release/System.Runtime.CompilerServices.Unsafe.dll +0 -0
  403. package/support/dotnet31-bootstrap/release/System.Text.Encodings.Web.dll +0 -0
  404. package/support/dotnet31-bootstrap/release/System.Text.Json.dll +0 -0
  405. package/support/dotnet31-bootstrap/release/dotnet-bootstrap +0 -0
  406. package/support/dotnet31-bootstrap/release/dotnet-bootstrap.deps.json +0 -230
  407. package/support/dotnet31-bootstrap/release/dotnet-bootstrap.dll +0 -0
  408. package/support/dotnet31-bootstrap/release/dotnet-bootstrap.pdb +0 -0
  409. package/support/dotnet31-bootstrap/release/dotnet-bootstrap.runtimeconfig.json +0 -9
  410. package/support/dotnet6-bootstrap/Program.cs +0 -17
  411. package/support/dotnet6-bootstrap/dotnet-bootstrap.csproj +0 -12
  412. package/support/dotnet6-bootstrap/release/Amazon.Lambda.Core.dll +0 -0
  413. package/support/dotnet6-bootstrap/release/Amazon.Lambda.RuntimeSupport.dll +0 -0
  414. package/support/dotnet6-bootstrap/release/dotnet-bootstrap +0 -0
  415. package/support/dotnet6-bootstrap/release/dotnet-bootstrap.deps.json +0 -59
  416. package/support/dotnet6-bootstrap/release/dotnet-bootstrap.dll +0 -0
  417. package/support/dotnet6-bootstrap/release/dotnet-bootstrap.pdb +0 -0
  418. package/support/dotnet6-bootstrap/release/dotnet-bootstrap.runtimeconfig.json +0 -12
  419. package/support/edge-function/edge-lambda-version.mjs +0 -3
  420. package/support/edge-function/edge-lambda.mjs +0 -3
  421. package/support/edge-function/s3-bucket.mjs +0 -3
  422. package/support/event-bus-retrier/index.mjs +0 -75
  423. package/support/java-runtime/install.sh +0 -25
  424. package/support/java-runtime/pom.xml +0 -39
  425. package/support/java-runtime/release/aws-lambda-java-core-1.2.0.jar +0 -0
  426. package/support/java-runtime/release/aws-lambda-java-runtime-interface-client-1.1.0.jar +0 -0
  427. package/support/java-runtime/release/aws-lambda-java-serialization-1.0.0.jar +0 -0
  428. package/support/job-manager/index.mjs +0 -57679
  429. package/support/nixpacks/Dockerfile +0 -6
  430. package/support/nodejs-runtime/index.mjs +0 -169
  431. package/support/python-runtime/Dockerfile +0 -9
  432. package/support/python-runtime/Dockerfile.custom +0 -21
  433. package/support/python-runtime/Dockerfile.dependencies +0 -26
  434. package/support/python-runtime/runtime.py +0 -127
  435. package/support/rds-migrator/index.mjs +0 -49
  436. package/support/remix-site-function/edge-server.js +0 -161
  437. package/support/remix-site-function/polyfill.js +0 -24
  438. package/support/remix-site-function/regional-server.js +0 -164
  439. package/support/script-function/index.mjs +0 -48760
  440. package/support/service-dev-function/index.js +0 -1
  441. package/support/signing-function/index.mjs +0 -3769
  442. package/support/sls-nextjs-site-build-helper/build.cjs +0 -91
  443. package/support/sls-nextjs-site-build-helper/index-wrapper.js +0 -19
  444. package/support/sls-nextjs-site-function-code-replacer/lambda-code-updater.py +0 -156
  445. package/support/sls-nextjs-site-stub/index.html +0 -99
  446. package/support/ssr-site-function-archiver.mjs +0 -96
  447. package/support/ssr-site-function-stub/index.js +0 -5
  448. package/support/ssr-warmer/index.mjs +0 -34235
  449. package/util/error.d.ts +0 -3
  450. package/util/error.js +0 -6
  451. package/util/fs.d.ts +0 -4
  452. package/util/fs.js +0 -46
  453. package/util/lazy.d.ts +0 -1
  454. package/util/lazy.js +0 -11
  455. package/util/module.d.ts +0 -1
  456. package/util/module.js +0 -5
  457. package/util/process.d.ts +0 -2
  458. package/util/process.js +0 -3
  459. package/watcher.d.ts +0 -14
  460. package/watcher.js +0 -35
@@ -1,49 +0,0 @@
1
- import { Construct, IConstruct } from "constructs";
2
- import { Role } from "aws-cdk-lib/aws-iam";
3
- import { IVersion, IFunction as CdkIFunction } from "aws-cdk-lib/aws-lambda";
4
- import { SSTConstruct } from "./Construct.js";
5
- import { NodeJSProps } from "./Function.js";
6
- import { Size } from "./util/size.js";
7
- import { Duration } from "./util/duration.js";
8
- import { Permissions } from "./util/permission.js";
9
- export interface EdgeFunctionProps {
10
- bundle?: string;
11
- handler: string;
12
- runtime: "nodejs14.x" | "nodejs16.x" | "nodejs18.x";
13
- timeout: number | Duration;
14
- memorySize: number | Size;
15
- permissions?: Permissions;
16
- environment?: Record<string, string>;
17
- bind?: SSTConstruct[];
18
- nodejs?: NodeJSProps;
19
- scopeOverride?: IConstruct;
20
- }
21
- export declare class EdgeFunction extends Construct {
22
- role: Role;
23
- functionArn: string;
24
- function: CdkIFunction;
25
- currentVersion: IVersion;
26
- private functionCR;
27
- private assetReplacer;
28
- private assetReplacerPolicy;
29
- private scope;
30
- private bindingEnvs;
31
- private props;
32
- constructor(scope: Construct, id: string, props: EdgeFunctionProps);
33
- build(): Promise<void>;
34
- attachPermissions(permissions: Permissions): void;
35
- addEnvironment(key: string, value: string): void;
36
- private buildAssetFromHandler;
37
- private buildAssetFromBundle;
38
- private bind;
39
- private createCodeReplacer;
40
- private updateCodeReplacer;
41
- private createRole;
42
- private createSingletonBucketInUsEast1;
43
- private createFunctionInUsEast1;
44
- private updateFunctionInUsEast1;
45
- private createVersionInUsEast1;
46
- private getHandlerExtension;
47
- private trimFromStart;
48
- private calculateHash;
49
- }
@@ -1,442 +0,0 @@
1
- import fs from "fs";
2
- import url from "url";
3
- import path from "path";
4
- import crypto from "crypto";
5
- import spawn from "cross-spawn";
6
- import { Construct } from "constructs";
7
- import { Effect, Role, Policy, PolicyStatement, CompositePrincipal, ServicePrincipal, ManagedPolicy, } from "aws-cdk-lib/aws-iam";
8
- import { Version, Code, Runtime, Function as CdkFunction, } from "aws-cdk-lib/aws-lambda";
9
- import { Asset } from "aws-cdk-lib/aws-s3-assets";
10
- import { Lazy, Duration as CdkDuration, CustomResource, } from "aws-cdk-lib/core";
11
- import { useProject } from "../project.js";
12
- import { useRuntimeHandlers } from "../runtime/handlers.js";
13
- import { Stack } from "./Stack.js";
14
- import { useFunctions } from "./Function.js";
15
- import { bindEnvironment, bindPermissions, getReferencedSecrets, } from "./util/functionBinding.js";
16
- import { toCdkSize } from "./util/size.js";
17
- import { toCdkDuration } from "./util/duration.js";
18
- import { attachPermissionsToRole } from "./util/permission.js";
19
- const __dirname = path.dirname(url.fileURLToPath(import.meta.url));
20
- /////////////////////
21
- // Construct
22
- /////////////////////
23
- export class EdgeFunction extends Construct {
24
- role;
25
- functionArn;
26
- function;
27
- currentVersion;
28
- functionCR;
29
- assetReplacer;
30
- assetReplacerPolicy;
31
- scope;
32
- bindingEnvs;
33
- props;
34
- constructor(scope, id, props) {
35
- super(scope, id);
36
- // Override scope
37
- // note: this is intended to be used internally by SST to make constructs
38
- // backwards compatible when the hirechical structure of the constructs
39
- // changes. When the hirerchical structure changes, the child AWS
40
- // resources' logical ID will change. And CloudFormation will recreate
41
- // them.
42
- this.scope = props.scopeOverride || this;
43
- this.props = {
44
- ...props,
45
- environment: props.environment || {},
46
- permissions: props.permissions || [],
47
- };
48
- // Bind first b/e function's environment variables cannot be added after
49
- this.bindingEnvs = {};
50
- this.bind(props.bind || []);
51
- // Create function with placeholder code
52
- const assetBucket = "placeholder";
53
- const assetKey = "placeholder";
54
- const handlerFilename = "placeholder";
55
- const { assetReplacer, assetReplacerPolicy } = this.createCodeReplacer(assetBucket, assetKey, handlerFilename);
56
- this.role = this.createRole();
57
- const lambdaBucket = this.createSingletonBucketInUsEast1();
58
- const { fn, fnArn } = this.createFunctionInUsEast1(assetBucket, assetKey, lambdaBucket);
59
- const { versionId } = this.createVersionInUsEast1(fn, fnArn);
60
- fn.node.addDependency(assetReplacer);
61
- this.function = CdkFunction.fromFunctionAttributes(this.scope, "ICdkFunction", {
62
- functionArn: fnArn,
63
- role: this.role,
64
- });
65
- this.functionCR = fn;
66
- this.functionArn = fnArn;
67
- this.currentVersion = Version.fromVersionArn(this, `${id}FunctionVersion`, `${fnArn}:${versionId}`);
68
- this.assetReplacer = assetReplacer;
69
- this.assetReplacerPolicy = assetReplacerPolicy;
70
- }
71
- async build() {
72
- const { bundle, handler } = this.props;
73
- const { asset, handlerFilename } = bundle
74
- ? await this.buildAssetFromBundle(bundle, handler)
75
- : await this.buildAssetFromHandler();
76
- this.updateCodeReplacer(asset.s3BucketName, asset.s3ObjectKey, handlerFilename);
77
- this.updateFunctionInUsEast1(asset.s3BucketName, asset.s3ObjectKey);
78
- }
79
- attachPermissions(permissions) {
80
- attachPermissionsToRole(this.role, permissions);
81
- }
82
- addEnvironment(key, value) {
83
- // Note: addEnvironment currently only updates AssetReplacer's
84
- // "_SST_FUNCTION_ENVIRONMENT_" replacements
85
- this.props.environment[key] = value;
86
- const cfnReplacer = this.assetReplacer.node
87
- .defaultChild;
88
- cfnReplacer.addPropertyOverride("replacements.0.replace", JSON.stringify({
89
- ...this.props.environment,
90
- ...this.bindingEnvs,
91
- }));
92
- }
93
- async buildAssetFromHandler() {
94
- const { nodejs } = this.props;
95
- useFunctions().add(this.node.addr, {
96
- ...this.props,
97
- nodejs: {
98
- ...nodejs,
99
- banner: [
100
- `process.env = { ...process.env, ..."{{ _SST_FUNCTION_ENVIRONMENT_ }}" };`,
101
- nodejs?.banner || "",
102
- ].join("\n"),
103
- },
104
- });
105
- // Build function
106
- const bundle = await useRuntimeHandlers().build(this.node.addr, "deploy");
107
- // create wrapper that calls the handler
108
- if (bundle.type === "error")
109
- throw new Error([
110
- `There was a problem bundling the SSR function for the "${this.scope.node.id}" Site.`,
111
- ...bundle.errors,
112
- ].join("\n"));
113
- const asset = new Asset(this.scope, `FunctionAsset`, {
114
- path: bundle.out,
115
- });
116
- // Get handler filename
117
- const isESM = (nodejs?.format || "esm") === "esm";
118
- const parsed = path.parse(bundle.handler);
119
- const handlerFilename = `${parsed.dir}/${parsed.name}${isESM ? ".mjs" : ".cjs"}`;
120
- return { asset, handlerFilename };
121
- }
122
- async buildAssetFromBundle(bundle, handler) {
123
- // We expose an environment variable token which is used by the code
124
- // replacer to inject the environment variables assigned to the
125
- // EdgeFunction construct.
126
- //
127
- // "{{ _SST_FUNCTION_ENVIRONMENT_ }}" will get replaced during
128
- // deployment with an object of environment key-value pairs, ie.
129
- // const environment = {"API_URL": "https://api.example.com"};
130
- //
131
- // This inlining strategy is required as Lambda@Edge doesn't natively
132
- // support runtime environment variables. A downside of this approach
133
- // is that environment variables cannot be toggled after deployment,
134
- // each change to one requires a redeployment.
135
- const { dir: inputPath, name: inputFilename, ext: inputHandlerFunction, } = path.parse(handler);
136
- const inputFileExt = this.getHandlerExtension(path.join(bundle, inputPath, inputFilename));
137
- const handlerFilename = handler.replace(inputHandlerFunction, inputFileExt);
138
- const filePath = path.join(bundle, handlerFilename);
139
- const fileData = fs.readFileSync(filePath, "utf8");
140
- fs.writeFileSync(filePath, `process.env = { ...process.env, ..."{{ _SST_FUNCTION_ENVIRONMENT_ }}" };\n${fileData}`);
141
- // Note: cannot point the bundle to the `.open-next/server-function`
142
- // b/c the folder contains node_modules. And pnpm node_modules
143
- // contains symlinks. CDK cannot zip symlinks correctly.
144
- // https://github.com/aws/aws-cdk/issues/9251
145
- // We will zip the folder ourselves.
146
- const outputPath = path.resolve(useProject().paths.artifacts, `SsrFunction-${this.node.id}-${this.node.addr}`);
147
- const script = path.resolve(__dirname, "../support/ssr-site-function-archiver.mjs");
148
- const result = spawn.sync("node", [script, path.join(bundle), path.join(outputPath, "server-function.zip")], { stdio: "inherit" });
149
- if (result.status !== 0) {
150
- throw new Error(`There was a problem generating the assets package.`);
151
- }
152
- // Create asset
153
- const asset = new Asset(this.scope, `FunctionAsset`, {
154
- path: path.join(outputPath, "server-function.zip"),
155
- });
156
- return { handlerFilename, asset };
157
- }
158
- bind(constructs) {
159
- const app = this.node.root;
160
- this.bindingEnvs = {
161
- SST_APP: app.name,
162
- SST_STAGE: app.stage,
163
- SST_REGION: app.region,
164
- SST_SSM_PREFIX: useProject().config.ssmPrefix,
165
- };
166
- // Get referenced secrets
167
- const referencedSecrets = [];
168
- constructs.forEach((c) => referencedSecrets.push(...getReferencedSecrets(c)));
169
- [...constructs, ...referencedSecrets].forEach((c) => {
170
- // Bind environment
171
- this.bindingEnvs = {
172
- ...this.bindingEnvs,
173
- ...bindEnvironment(c),
174
- };
175
- // Bind permissions
176
- if (this.props.permissions !== "*") {
177
- this.props.permissions.push(...Object.entries(bindPermissions(c)).map(([action, resources]) => new PolicyStatement({
178
- actions: [action],
179
- effect: Effect.ALLOW,
180
- resources,
181
- })));
182
- }
183
- });
184
- }
185
- createCodeReplacer(assetBucket, assetKey, handlerFilename) {
186
- const { environment } = this.props;
187
- const stack = Stack.of(this);
188
- // Note: Source code for the Lambda functions have "{{ ENV_KEY }}" in them.
189
- // They need to be replaced with real values before the Lambda
190
- // functions get deployed.
191
- const replacements = [
192
- {
193
- files: handlerFilename,
194
- search: '"{{ _SST_FUNCTION_ENVIRONMENT_ }}"',
195
- replace: JSON.stringify({
196
- ...environment,
197
- ...this.bindingEnvs,
198
- }),
199
- },
200
- ...Object.entries(environment).map(([key, value]) => ({
201
- files: "**/*.@(*js|json|html)",
202
- search: `{{ ${key} }}`,
203
- replace: value,
204
- })),
205
- ];
206
- const policy = new Policy(this, "AssetReplacerPolicy", {
207
- statements: [
208
- new PolicyStatement({
209
- effect: Effect.ALLOW,
210
- actions: ["s3:GetObject", "s3:PutObject"],
211
- resources: [`arn:${stack.partition}:s3:::${assetBucket}/*`],
212
- }),
213
- ],
214
- });
215
- stack.customResourceHandler.role?.attachInlinePolicy(policy);
216
- const resource = new CustomResource(this.scope, "AssetReplacer", {
217
- serviceToken: stack.customResourceHandler.functionArn,
218
- resourceType: "Custom::AssetReplacer",
219
- properties: {
220
- bucket: assetBucket,
221
- key: assetKey,
222
- replacements,
223
- },
224
- });
225
- resource.node.addDependency(policy);
226
- return { assetReplacer: resource, assetReplacerPolicy: policy };
227
- }
228
- updateCodeReplacer(assetBucket, assetKey, handlerFilename) {
229
- const stack = Stack.of(this);
230
- const cfnReplacer = this.assetReplacer.node
231
- .defaultChild;
232
- cfnReplacer.addPropertyOverride("bucket", assetBucket);
233
- cfnReplacer.addPropertyOverride("key", assetKey);
234
- cfnReplacer.addPropertyOverride("replacements.0.files", handlerFilename);
235
- const cfnPolicy = this.assetReplacerPolicy.node.defaultChild;
236
- cfnPolicy.addPropertyOverride("PolicyDocument.Statement.0.Resource", `arn:${stack.partition}:s3:::${assetBucket}/*`);
237
- }
238
- createRole() {
239
- const { permissions } = this.props;
240
- // Create function role
241
- const role = new Role(this.scope, `ServerLambdaRole`, {
242
- assumedBy: new CompositePrincipal(new ServicePrincipal("lambda.amazonaws.com"), new ServicePrincipal("edgelambda.amazonaws.com")),
243
- managedPolicies: [
244
- ManagedPolicy.fromManagedPolicyArn(this, "EdgeLambdaPolicy", `arn:${Stack.of(this).partition}:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole`),
245
- ],
246
- });
247
- // Attach permission
248
- if (permissions) {
249
- attachPermissionsToRole(role, permissions);
250
- }
251
- return role;
252
- }
253
- createSingletonBucketInUsEast1() {
254
- // Create a S3 bucket in us-east-1 to store Lambda code. Create
255
- // 1 bucket for all Edge functions.
256
- // Do not recreate if exist
257
- const providerId = "EdgeLambdaBucketProvider";
258
- const resId = "EdgeLambdaBucket";
259
- const stack = Stack.of(this);
260
- const existingResource = stack.node.tryFindChild(resId);
261
- if (existingResource) {
262
- return existingResource;
263
- }
264
- // Create provider
265
- const provider = new CdkFunction(stack, providerId, {
266
- code: Code.fromAsset(path.join(__dirname, "../support/edge-function")),
267
- handler: "s3-bucket.handler",
268
- runtime: Runtime.NODEJS_16_X,
269
- timeout: CdkDuration.minutes(15),
270
- memorySize: 1024,
271
- initialPolicy: [
272
- new PolicyStatement({
273
- effect: Effect.ALLOW,
274
- actions: ["s3:*"],
275
- resources: ["*"],
276
- }),
277
- ],
278
- });
279
- // Create custom resource
280
- const resource = new CustomResource(stack, resId, {
281
- serviceToken: provider.functionArn,
282
- resourceType: "Custom::SSTEdgeLambdaBucket",
283
- properties: {
284
- BucketNamePrefix: `${stack.stackName}-${resId}`,
285
- },
286
- });
287
- return resource;
288
- }
289
- createFunctionInUsEast1(assetBucket, assetKey, lambdaBucket) {
290
- const { handler, runtime, timeout, memorySize } = this.props;
291
- // Do not recreate if exist
292
- const providerId = "EdgeLambdaProvider";
293
- const resId = `${this.node.id}EdgeLambda`;
294
- const stack = Stack.of(this);
295
- let provider = stack.node.tryFindChild(providerId);
296
- // Create provider if not already created
297
- if (!provider) {
298
- provider = new CdkFunction(stack, providerId, {
299
- code: Code.fromAsset(path.join(__dirname, "../support/edge-function")),
300
- handler: "edge-lambda.handler",
301
- runtime: Runtime.NODEJS_16_X,
302
- timeout: CdkDuration.minutes(15),
303
- memorySize: 1024,
304
- initialPolicy: [
305
- new PolicyStatement({
306
- effect: Effect.ALLOW,
307
- actions: ["lambda:*", "s3:*"],
308
- resources: ["*"],
309
- }),
310
- ],
311
- });
312
- if (provider.role) {
313
- this.role.grantPassRole(provider.role);
314
- }
315
- }
316
- // Create custom resource
317
- const fn = new CustomResource(this.scope, resId, {
318
- serviceToken: provider.functionArn,
319
- resourceType: "Custom::SSTEdgeLambda",
320
- properties: {
321
- FunctionNamePrefix: `${Stack.of(this).stackName}-${resId}`,
322
- FunctionBucket: lambdaBucket.getAttString("BucketName"),
323
- FunctionParams: {
324
- Description: `${this.node.id} handler`,
325
- Handler: handler,
326
- Code: {
327
- S3Bucket: assetBucket,
328
- S3Key: assetKey,
329
- },
330
- Runtime: runtime === "nodejs14.x"
331
- ? Runtime.NODEJS_14_X.name
332
- : runtime === "nodejs16.x"
333
- ? Runtime.NODEJS_16_X.name
334
- : Runtime.NODEJS_18_X.name,
335
- MemorySize: typeof memorySize === "string"
336
- ? toCdkSize(memorySize).toMebibytes()
337
- : memorySize,
338
- Timeout: typeof timeout === "string"
339
- ? toCdkDuration(timeout).toSeconds()
340
- : timeout,
341
- Role: this.role.roleArn,
342
- },
343
- },
344
- });
345
- return { fn, fnArn: fn.getAttString("FunctionArn") };
346
- }
347
- updateFunctionInUsEast1(assetBucket, assetKey) {
348
- const cfnLambda = this.functionCR.node.defaultChild;
349
- cfnLambda.addPropertyOverride("FunctionParams.Code", {
350
- S3Bucket: assetBucket,
351
- S3Key: assetKey,
352
- });
353
- }
354
- createVersionInUsEast1(fn, fnArn) {
355
- // Do not recreate if exist
356
- const providerId = "EdgeLambdaVersionProvider";
357
- const resId = `${this.node.id}EdgeLambdaVersion`;
358
- const stack = Stack.of(this);
359
- let provider = stack.node.tryFindChild(providerId);
360
- // Create provider if not already created
361
- if (!provider) {
362
- provider = new CdkFunction(stack, providerId, {
363
- code: Code.fromAsset(path.join(__dirname, "../support/edge-function")),
364
- handler: "edge-lambda-version.handler",
365
- runtime: Runtime.NODEJS_16_X,
366
- timeout: CdkDuration.minutes(15),
367
- memorySize: 1024,
368
- initialPolicy: [
369
- new PolicyStatement({
370
- effect: Effect.ALLOW,
371
- actions: ["lambda:*"],
372
- resources: ["*"],
373
- }),
374
- ],
375
- });
376
- }
377
- // Create custom resource
378
- const version = new CustomResource(this.scope, resId, {
379
- serviceToken: provider.functionArn,
380
- resourceType: "Custom::SSTEdgeLambdaVersion",
381
- properties: {
382
- FunctionArn: fnArn,
383
- },
384
- });
385
- // Override the version's logical ID with a lazy string which includes the
386
- // hash of the function itself, so a new version resource is created when
387
- // the function configuration changes.
388
- const cfn = version.node.defaultChild;
389
- const originalLogicalId = Stack.of(version).resolve(cfn.logicalId);
390
- cfn.overrideLogicalId(Lazy.uncachedString({
391
- produce: () => {
392
- const hash = this.calculateHash(fn);
393
- const logicalId = this.trimFromStart(originalLogicalId, 255 - 32);
394
- return `${logicalId}${hash}`;
395
- },
396
- }));
397
- return { version, versionId: version.getAttString("Version") };
398
- }
399
- getHandlerExtension(pathWithoutExtension) {
400
- const ext = [
401
- ".ts",
402
- ".tsx",
403
- ".mts",
404
- ".cts",
405
- ".js",
406
- ".jsx",
407
- ".mjs",
408
- ".cjs",
409
- ].find((ext) => fs.existsSync(pathWithoutExtension + ext));
410
- if (!ext) {
411
- throw new Error(`Cannot find the SSR function handler file for the "${this.scope.node.id}" Site.`);
412
- }
413
- return ext;
414
- }
415
- trimFromStart(s, maxLength) {
416
- const desiredLength = Math.min(maxLength, s.length);
417
- const newStart = s.length - desiredLength;
418
- return s.substring(newStart);
419
- }
420
- calculateHash(resource) {
421
- // render the cloudformation resource from this function
422
- // config is of the shape:
423
- // {
424
- // Resources: {
425
- // LogicalId: {
426
- // Type: 'Function',
427
- // Properties: { ... }
428
- // }}}
429
- const cfnResource = resource.node.defaultChild;
430
- const config = Stack.of(resource).resolve(cfnResource._toCloudFormation());
431
- const resources = config.Resources;
432
- const resourceKeys = Object.keys(resources);
433
- if (resourceKeys.length !== 1) {
434
- throw new Error(`Expected one rendered CloudFormation resource but found ${resourceKeys.length}`);
435
- }
436
- const logicalId = resourceKeys[0];
437
- const properties = resources[logicalId].Properties.FunctionParams;
438
- const hash = crypto.createHash("md5");
439
- hash.update(JSON.stringify(properties));
440
- return hash.digest("hex");
441
- }
442
- }