From 2ad8193988fd897bd3ca867421b78248403b9f7c Mon Sep 17 00:00:00 2001 From: Matthew Wyskiel Date: Sun, 1 Sep 2024 16:11:38 -0400 Subject: [PATCH] move multiplatform migration to separate branch, make main branch OSS-presentable --- .github/workflows/deploy.yaml | 3 - old/.gitignore => .gitignore | 0 README.md | 28 + apple-apps/.DS_Store | Bin 6148 -> 0 bytes apple-apps/A-List.xcodeproj/project.pbxproj | 365 ---- .../contents.xcworkspacedata | 7 - .../xcshareddata/IDEWorkspaceChecks.plist | 8 - .../UserInterfaceState.xcuserstate | Bin 33983 -> 0 bytes .../xcschemes/xcschememanagement.plist | 14 - apple-apps/A-List/AListApp.swift | 17 - .../AccentColor.colorset/Contents.json | 11 - .../AppIcon.appiconset/Contents.json | 35 - .../A-List/Assets.xcassets/Contents.json | 6 - apple-apps/A-List/ContentView.swift | 71 - apple-apps/A-List/DetailView.swift | 19 - apple-apps/A-List/Model/MixItem.swift | 36 - .../Preview Assets.xcassets/Contents.json | 6 - backend/.gitignore | 5 - backend/core/db/index.ts | 14 - backend/core/db/schema.ts | 20 - backend/core/logging.ts | 2 - backend/core/services/secrets.ts | 93 - backend/functions/list-mixes.ts | 30 - backend/package.json | 29 - backend/pnpm-lock.yaml | 1809 ----------------- backend/sst.config.ts | 17 - backend/tsconfig.json | 5 - old/package.json => package.json | 0 {old/packages => packages}/core/index.ts | 0 {old/packages => packages}/core/package.json | 0 .../core/src/model/entry.ts | 0 .../core/src/services/database.service.ts | 0 {old/packages => packages}/core/sst-env.d.ts | 0 {old/packages => packages}/core/tsconfig.json | 0 .../functions/package.json | 0 .../functions/src/add-entry/function.ts | 0 .../functions/src/get-entries/function.ts | 0 .../functions/src/podcast-feed/function.ts | 0 .../functions/src/seed-db/function.ts | 0 .../functions/sst-env.d.ts | 0 .../functions/tsconfig.json | 0 {old/packages => packages}/web/.eslintrc.json | 0 {old/packages => packages}/web/.gitignore | 0 {old/packages => packages}/web/README.md | 0 .../packages => packages}/web/app/favicon.ico | Bin .../packages => packages}/web/app/globals.css | 0 {old/packages => packages}/web/app/layout.tsx | 0 .../web/app/mixes/[slug]/page.tsx | 0 {old/packages => packages}/web/app/page.tsx | 0 .../packages => packages}/web/components.json | 0 .../web/components/mix-list.tsx | 0 .../web/components/player.tsx | 0 .../web/components/ui/button.tsx | 0 .../web/components/ui/card.tsx | 0 {old/packages => packages}/web/lib/utils.ts | 0 .../packages => packages}/web/next.config.mjs | 0 {old/packages => packages}/web/package.json | 0 .../web/postcss.config.js | 0 .../packages => packages}/web/public/next.svg | 0 .../web/public/placeholder.svg | 0 .../web/public/vercel.svg | 0 {old/packages => packages}/web/sst-env.d.ts | 0 .../web/tailwind.config.ts | 0 {old/packages => packages}/web/tsconfig.json | 0 old/pnpm-lock.yaml => pnpm-lock.yaml | 0 ...pnpm-workspace.yaml => pnpm-workspace.yaml | 0 scripts/move-assets-to-new-backend.py | 55 - old/sst.config.ts => sst.config.ts | 0 {old/stacks => stacks}/MyStack.ts | 0 old/tsconfig.json => tsconfig.json | 0 70 files changed, 28 insertions(+), 2677 deletions(-) rename old/.gitignore => .gitignore (100%) create mode 100644 README.md delete mode 100644 apple-apps/.DS_Store delete mode 100644 apple-apps/A-List.xcodeproj/project.pbxproj delete mode 100644 apple-apps/A-List.xcodeproj/project.xcworkspace/contents.xcworkspacedata delete mode 100644 apple-apps/A-List.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist delete mode 100644 apple-apps/A-List.xcodeproj/project.xcworkspace/xcuserdata/matthewwyskiel.xcuserdatad/UserInterfaceState.xcuserstate delete mode 100644 apple-apps/A-List.xcodeproj/xcuserdata/matthewwyskiel.xcuserdatad/xcschemes/xcschememanagement.plist delete mode 100644 apple-apps/A-List/AListApp.swift delete mode 100644 apple-apps/A-List/Assets.xcassets/AccentColor.colorset/Contents.json delete mode 100644 apple-apps/A-List/Assets.xcassets/AppIcon.appiconset/Contents.json delete mode 100644 apple-apps/A-List/Assets.xcassets/Contents.json delete mode 100644 apple-apps/A-List/ContentView.swift delete mode 100644 apple-apps/A-List/DetailView.swift delete mode 100644 apple-apps/A-List/Model/MixItem.swift delete mode 100644 apple-apps/A-List/Preview Content/Preview Assets.xcassets/Contents.json delete mode 100644 backend/.gitignore delete mode 100644 backend/core/db/index.ts delete mode 100644 backend/core/db/schema.ts delete mode 100644 backend/core/logging.ts delete mode 100644 backend/core/services/secrets.ts delete mode 100644 backend/functions/list-mixes.ts delete mode 100644 backend/package.json delete mode 100644 backend/pnpm-lock.yaml delete mode 100644 backend/sst.config.ts delete mode 100644 backend/tsconfig.json rename old/package.json => package.json (100%) rename {old/packages => packages}/core/index.ts (100%) rename {old/packages => packages}/core/package.json (100%) rename {old/packages => packages}/core/src/model/entry.ts (100%) rename {old/packages => packages}/core/src/services/database.service.ts (100%) rename {old/packages => packages}/core/sst-env.d.ts (100%) rename {old/packages => packages}/core/tsconfig.json (100%) rename {old/packages => packages}/functions/package.json (100%) rename {old/packages => packages}/functions/src/add-entry/function.ts (100%) rename {old/packages => packages}/functions/src/get-entries/function.ts (100%) rename {old/packages => packages}/functions/src/podcast-feed/function.ts (100%) rename {old/packages => packages}/functions/src/seed-db/function.ts (100%) rename {old/packages => packages}/functions/sst-env.d.ts (100%) rename {old/packages => packages}/functions/tsconfig.json (100%) rename {old/packages => packages}/web/.eslintrc.json (100%) rename {old/packages => packages}/web/.gitignore (100%) rename {old/packages => packages}/web/README.md (100%) rename {old/packages => packages}/web/app/favicon.ico (100%) rename {old/packages => packages}/web/app/globals.css (100%) rename {old/packages => packages}/web/app/layout.tsx (100%) rename {old/packages => packages}/web/app/mixes/[slug]/page.tsx (100%) rename {old/packages => packages}/web/app/page.tsx (100%) rename {old/packages => packages}/web/components.json (100%) rename {old/packages => packages}/web/components/mix-list.tsx (100%) rename {old/packages => packages}/web/components/player.tsx (100%) rename {old/packages => packages}/web/components/ui/button.tsx (100%) rename {old/packages => packages}/web/components/ui/card.tsx (100%) rename {old/packages => packages}/web/lib/utils.ts (100%) rename {old/packages => packages}/web/next.config.mjs (100%) rename {old/packages => packages}/web/package.json (100%) rename {old/packages => packages}/web/postcss.config.js (100%) rename {old/packages => packages}/web/public/next.svg (100%) rename {old/packages => packages}/web/public/placeholder.svg (100%) rename {old/packages => packages}/web/public/vercel.svg (100%) rename {old/packages => packages}/web/sst-env.d.ts (100%) rename {old/packages => packages}/web/tailwind.config.ts (100%) rename {old/packages => packages}/web/tsconfig.json (100%) rename old/pnpm-lock.yaml => pnpm-lock.yaml (100%) rename old/pnpm-workspace.yaml => pnpm-workspace.yaml (100%) delete mode 100644 scripts/move-assets-to-new-backend.py rename old/sst.config.ts => sst.config.ts (100%) rename {old/stacks => stacks}/MyStack.ts (100%) rename old/tsconfig.json => tsconfig.json (100%) diff --git a/.github/workflows/deploy.yaml b/.github/workflows/deploy.yaml index 331df46..c5276fa 100644 --- a/.github/workflows/deploy.yaml +++ b/.github/workflows/deploy.yaml @@ -13,9 +13,6 @@ jobs: deploy: runs-on: ubuntu-latest name: Publishes this SST stack - defaults: - run: - working-directory: ./old steps: - uses: actions/checkout@v3 - id: pnpm-install diff --git a/old/.gitignore b/.gitignore similarity index 100% rename from old/.gitignore rename to .gitignore diff --git a/README.md b/README.md new file mode 100644 index 0000000..e8b7b05 --- /dev/null +++ b/README.md @@ -0,0 +1,28 @@ +# A-List + +![A-List](https://assets.mattwyskiel.com/a-list/podcast-image.jpeg) + +A home website for my DJ-style mixes. + +## Background + +I grew up with a love for music. My parents raised me on James Taylor, John Mayer, Donald Fagen, and Van Halen. For many years, at least since college, I've been building my skills on the side as a DJ and mixer, most prominently putting them to use as host of my college radio show King Matt's A-List. + +Post-college, I started creating mixes again, and I began hosting them on my Asset server and sending links to my friends. As I did it more and more, I realized they would want an easier experience listening, and that I too would want an easier way to access my mixes when I want to listen to them. + +See a need, fill a need! + +## Features + +- Centralized database of mixes I've made since 2021 +- Web player for easy streaming of audio +- Hostable podcast feed for easy import into podcast apps + - https://api.mattwyskiel.com/a-list/podcast-feed :grin: + +## Stack + +- **Frontend:** [Next.js](https://nextjs.org/) +- **Backend:** [AWS Lambda](https://aws.amazon.com/lambda/) (Node.js) +- **Database:** [Amazon DynamoDB](https://aws.amazon.com/dynamodb/) +- **File Hosting:** [Amazon S3](https://aws.amazon.com/s3/) (defined externally) +- **Infrastructure:** [SST v2](https://v2.sst.dev/) (based on [AWS CDK](https://aws.amazon.com/cdk/)) diff --git a/apple-apps/.DS_Store b/apple-apps/.DS_Store deleted file mode 100644 index 30b56a03fca46cabc31c920532137178de21d155..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6148 zcmeHKOG*Pl5Phv#4CrE(S@s1KA|9X<#+|!dK#~zZB+TFkT+RV<7;oUtbNQ;PgbYp~ zxDe4Q=zi7p>FItU-CY2}?75x*C4hoWFo-fBVjgrISn!A#@*IzN!YN*`L^CkaZ#2o; zOH6TsOWa|5{WY%9;({jI$A zc599NHC&tlXTTY72AqK%4A?DE9PRMC*%@#K{x1V^K14RbWY{U@qk~;80f_R9&O%*k z3CW3u$*@zThY~cEsHwq9jG*bXM~h2_ouZ~ASn(0;%b&$d$Y1CDF^3~0Mem&fXQ0o( zp$<#A|1bEL87%VqDL!%roPj^aKp0i?YQ|03-TGyFa@R(-D>e~{>qMbY?>z!IkaJ|5 do$8OGGcFl+iZYAXb2`x<0+|r+oPi%;-~&1WI6MFV diff --git a/apple-apps/A-List.xcodeproj/project.pbxproj b/apple-apps/A-List.xcodeproj/project.pbxproj deleted file mode 100644 index 2b6076d..0000000 --- a/apple-apps/A-List.xcodeproj/project.pbxproj +++ /dev/null @@ -1,365 +0,0 @@ -// !$*UTF8*$! -{ - archiveVersion = 1; - classes = { - }; - objectVersion = 60; - objects = { - -/* Begin PBXBuildFile section */ - A47090082C3111080034C32A /* AListApp.swift in Sources */ = {isa = PBXBuildFile; fileRef = A47090072C3111080034C32A /* AListApp.swift */; }; - A470900A2C3111080034C32A /* ContentView.swift in Sources */ = {isa = PBXBuildFile; fileRef = A47090092C3111080034C32A /* ContentView.swift */; }; - A470900C2C3111090034C32A /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = A470900B2C3111090034C32A /* Assets.xcassets */; }; - A470900F2C3111090034C32A /* Preview Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = A470900E2C3111090034C32A /* Preview Assets.xcassets */; }; - A47090142C3117E30034C32A /* DetailView.swift in Sources */ = {isa = PBXBuildFile; fileRef = A47090132C3117E30034C32A /* DetailView.swift */; }; - A47090172C3118180034C32A /* MixItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = A47090162C3118180034C32A /* MixItem.swift */; }; -/* End PBXBuildFile section */ - -/* Begin PBXFileReference section */ - A47090052C3111080034C32A /* A-List.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "A-List.app"; sourceTree = BUILT_PRODUCTS_DIR; }; - A47090072C3111080034C32A /* AListApp.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AListApp.swift; sourceTree = ""; }; - A47090092C3111080034C32A /* ContentView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ContentView.swift; sourceTree = ""; }; - A470900B2C3111090034C32A /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; - A470900E2C3111090034C32A /* Preview Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = "Preview Assets.xcassets"; sourceTree = ""; }; - A47090132C3117E30034C32A /* DetailView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DetailView.swift; sourceTree = ""; }; - A47090162C3118180034C32A /* MixItem.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MixItem.swift; sourceTree = ""; }; -/* End PBXFileReference section */ - -/* Begin PBXFrameworksBuildPhase section */ - A47090022C3111080034C32A /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXFrameworksBuildPhase section */ - -/* Begin PBXGroup section */ - A4708FC92C31105B0034C32A = { - isa = PBXGroup; - children = ( - A47090062C3111080034C32A /* A-List */, - A4708FD52C31109E0034C32A /* Products */, - ); - sourceTree = ""; - }; - A4708FD52C31109E0034C32A /* Products */ = { - isa = PBXGroup; - children = ( - A47090052C3111080034C32A /* A-List.app */, - ); - name = Products; - sourceTree = ""; - }; - A47090062C3111080034C32A /* A-List */ = { - isa = PBXGroup; - children = ( - A47090152C31180A0034C32A /* Model */, - A47090072C3111080034C32A /* AListApp.swift */, - A47090092C3111080034C32A /* ContentView.swift */, - A470900B2C3111090034C32A /* Assets.xcassets */, - A470900D2C3111090034C32A /* Preview Content */, - A47090132C3117E30034C32A /* DetailView.swift */, - ); - path = "A-List"; - sourceTree = ""; - }; - A470900D2C3111090034C32A /* Preview Content */ = { - isa = PBXGroup; - children = ( - A470900E2C3111090034C32A /* Preview Assets.xcassets */, - ); - path = "Preview Content"; - sourceTree = ""; - }; - A47090152C31180A0034C32A /* Model */ = { - isa = PBXGroup; - children = ( - A47090162C3118180034C32A /* MixItem.swift */, - ); - path = Model; - sourceTree = ""; - }; -/* End PBXGroup section */ - -/* Begin PBXNativeTarget section */ - A47090042C3111080034C32A /* A-List */ = { - isa = PBXNativeTarget; - buildConfigurationList = A47090102C3111090034C32A /* Build configuration list for PBXNativeTarget "A-List" */; - buildPhases = ( - A47090012C3111080034C32A /* Sources */, - A47090022C3111080034C32A /* Frameworks */, - A47090032C3111080034C32A /* Resources */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = "A-List"; - productName = "A-List"; - productReference = A47090052C3111080034C32A /* A-List.app */; - productType = "com.apple.product-type.application"; - }; -/* End PBXNativeTarget section */ - -/* Begin PBXProject section */ - A4708FCA2C31105B0034C32A /* Project object */ = { - isa = PBXProject; - attributes = { - BuildIndependentTargetsInParallel = 1; - LastSwiftUpdateCheck = 1600; - LastUpgradeCheck = 1600; - TargetAttributes = { - A47090042C3111080034C32A = { - CreatedOnToolsVersion = 16.0; - }; - }; - }; - buildConfigurationList = A4708FCD2C31105B0034C32A /* Build configuration list for PBXProject "A-List" */; - compatibilityVersion = "Xcode 15.0"; - developmentRegion = en; - hasScannedForEncodings = 0; - knownRegions = ( - en, - Base, - ); - mainGroup = A4708FC92C31105B0034C32A; - productRefGroup = A4708FD52C31109E0034C32A /* Products */; - projectDirPath = ""; - projectRoot = ""; - targets = ( - A47090042C3111080034C32A /* A-List */, - ); - }; -/* End PBXProject section */ - -/* Begin PBXResourcesBuildPhase section */ - A47090032C3111080034C32A /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - A470900F2C3111090034C32A /* Preview Assets.xcassets in Resources */, - A470900C2C3111090034C32A /* Assets.xcassets in Resources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXResourcesBuildPhase section */ - -/* Begin PBXSourcesBuildPhase section */ - A47090012C3111080034C32A /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - A470900A2C3111080034C32A /* ContentView.swift in Sources */, - A47090172C3118180034C32A /* MixItem.swift in Sources */, - A47090142C3117E30034C32A /* DetailView.swift in Sources */, - A47090082C3111080034C32A /* AListApp.swift in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXSourcesBuildPhase section */ - -/* Begin XCBuildConfiguration section */ - A4708FCE2C31105B0034C32A /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - }; - name = Debug; - }; - A4708FCF2C31105B0034C32A /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - }; - name = Release; - }; - A47090112C3111090034C32A /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES; - ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; - CLANG_ANALYZER_NONNULL = YES; - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++20"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_ENABLE_OBJC_WEAK = YES; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_COMMA = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_DOCUMENTATION_COMMENTS = YES; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_STRICT_PROTOTYPES = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - CODE_SIGN_STYLE = Automatic; - COPY_PHASE_STRIP = NO; - CURRENT_PROJECT_VERSION = 1; - DEBUG_INFORMATION_FORMAT = dwarf; - DEVELOPMENT_ASSET_PATHS = "\"A-List/Preview Content\""; - DEVELOPMENT_TEAM = 5XPCB5TC44; - ENABLE_PREVIEWS = YES; - ENABLE_STRICT_OBJC_MSGSEND = YES; - ENABLE_TESTABILITY = YES; - ENABLE_USER_SCRIPT_SANDBOXING = YES; - GCC_C_LANGUAGE_STANDARD = gnu17; - GCC_DYNAMIC_NO_PIC = NO; - GCC_NO_COMMON_BLOCKS = YES; - GCC_OPTIMIZATION_LEVEL = 0; - GCC_PREPROCESSOR_DEFINITIONS = ( - "DEBUG=1", - "$(inherited)", - ); - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - GENERATE_INFOPLIST_FILE = YES; - INFOPLIST_KEY_UIApplicationSceneManifest_Generation = YES; - INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents = YES; - INFOPLIST_KEY_UILaunchScreen_Generation = YES; - INFOPLIST_KEY_UISupportedInterfaceOrientations_iPad = "UIInterfaceOrientationPortrait UIInterfaceOrientationPortraitUpsideDown UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight"; - INFOPLIST_KEY_UISupportedInterfaceOrientations_iPhone = "UIInterfaceOrientationPortrait UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight"; - IPHONEOS_DEPLOYMENT_TARGET = 18.0; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - ); - LOCALIZATION_PREFERS_STRING_CATALOGS = YES; - MARKETING_VERSION = 1.0; - MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; - MTL_FAST_MATH = YES; - ONLY_ACTIVE_ARCH = YES; - PRODUCT_BUNDLE_IDENTIFIER = "com.mattwyskiel.A-List"; - PRODUCT_NAME = "$(TARGET_NAME)"; - SDKROOT = iphoneos; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = "DEBUG $(inherited)"; - SWIFT_EMIT_LOC_STRINGS = YES; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - SWIFT_VERSION = 5.0; - TARGETED_DEVICE_FAMILY = "1,2"; - }; - name = Debug; - }; - A47090122C3111090034C32A /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES; - ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; - CLANG_ANALYZER_NONNULL = YES; - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++20"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_ENABLE_OBJC_WEAK = YES; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_COMMA = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_DOCUMENTATION_COMMENTS = YES; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_STRICT_PROTOTYPES = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - CODE_SIGN_STYLE = Automatic; - COPY_PHASE_STRIP = NO; - CURRENT_PROJECT_VERSION = 1; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - DEVELOPMENT_ASSET_PATHS = "\"A-List/Preview Content\""; - DEVELOPMENT_TEAM = 5XPCB5TC44; - ENABLE_NS_ASSERTIONS = NO; - ENABLE_PREVIEWS = YES; - ENABLE_STRICT_OBJC_MSGSEND = YES; - ENABLE_USER_SCRIPT_SANDBOXING = YES; - GCC_C_LANGUAGE_STANDARD = gnu17; - GCC_NO_COMMON_BLOCKS = YES; - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - GENERATE_INFOPLIST_FILE = YES; - INFOPLIST_KEY_UIApplicationSceneManifest_Generation = YES; - INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents = YES; - INFOPLIST_KEY_UILaunchScreen_Generation = YES; - INFOPLIST_KEY_UISupportedInterfaceOrientations_iPad = "UIInterfaceOrientationPortrait UIInterfaceOrientationPortraitUpsideDown UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight"; - INFOPLIST_KEY_UISupportedInterfaceOrientations_iPhone = "UIInterfaceOrientationPortrait UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight"; - IPHONEOS_DEPLOYMENT_TARGET = 18.0; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - ); - LOCALIZATION_PREFERS_STRING_CATALOGS = YES; - MARKETING_VERSION = 1.0; - MTL_ENABLE_DEBUG_INFO = NO; - MTL_FAST_MATH = YES; - PRODUCT_BUNDLE_IDENTIFIER = "com.mattwyskiel.A-List"; - PRODUCT_NAME = "$(TARGET_NAME)"; - SDKROOT = iphoneos; - SWIFT_COMPILATION_MODE = wholemodule; - SWIFT_EMIT_LOC_STRINGS = YES; - SWIFT_VERSION = 5.0; - TARGETED_DEVICE_FAMILY = "1,2"; - VALIDATE_PRODUCT = YES; - }; - name = Release; - }; -/* End XCBuildConfiguration section */ - -/* Begin XCConfigurationList section */ - A4708FCD2C31105B0034C32A /* Build configuration list for PBXProject "A-List" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - A4708FCE2C31105B0034C32A /* Debug */, - A4708FCF2C31105B0034C32A /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - A47090102C3111090034C32A /* Build configuration list for PBXNativeTarget "A-List" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - A47090112C3111090034C32A /* Debug */, - A47090122C3111090034C32A /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; -/* End XCConfigurationList section */ - }; - rootObject = A4708FCA2C31105B0034C32A /* Project object */; -} diff --git a/apple-apps/A-List.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/apple-apps/A-List.xcodeproj/project.xcworkspace/contents.xcworkspacedata deleted file mode 100644 index 919434a..0000000 --- a/apple-apps/A-List.xcodeproj/project.xcworkspace/contents.xcworkspacedata +++ /dev/null @@ -1,7 +0,0 @@ - - - - - diff --git a/apple-apps/A-List.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/apple-apps/A-List.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist deleted file mode 100644 index 18d9810..0000000 --- a/apple-apps/A-List.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +++ /dev/null @@ -1,8 +0,0 @@ - - - - - IDEDidComputeMac32BitWarning - - - diff --git a/apple-apps/A-List.xcodeproj/project.xcworkspace/xcuserdata/matthewwyskiel.xcuserdatad/UserInterfaceState.xcuserstate b/apple-apps/A-List.xcodeproj/project.xcworkspace/xcuserdata/matthewwyskiel.xcuserdatad/UserInterfaceState.xcuserstate deleted file mode 100644 index b557dba34e497544394ebd5f91a768aae3f56056..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 33983 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 Wt%b%_MvRT0W>$SGvV9+|o&O)4*L&aq diff --git a/apple-apps/A-List.xcodeproj/xcuserdata/matthewwyskiel.xcuserdatad/xcschemes/xcschememanagement.plist b/apple-apps/A-List.xcodeproj/xcuserdata/matthewwyskiel.xcuserdatad/xcschemes/xcschememanagement.plist deleted file mode 100644 index 78250a0..0000000 --- a/apple-apps/A-List.xcodeproj/xcuserdata/matthewwyskiel.xcuserdatad/xcschemes/xcschememanagement.plist +++ /dev/null @@ -1,14 +0,0 @@ - - - - - SchemeUserState - - A-List.xcscheme_^#shared#^_ - - orderHint - 0 - - - - diff --git a/apple-apps/A-List/AListApp.swift b/apple-apps/A-List/AListApp.swift deleted file mode 100644 index 940a465..0000000 --- a/apple-apps/A-List/AListApp.swift +++ /dev/null @@ -1,17 +0,0 @@ -// -// AListApp.swift -// A-List -// -// Created by Matt Wyskiel on 6/30/24. -// - -import SwiftUI - -@main -struct A_ListApp: App { - var body: some Scene { - WindowGroup { - ContentView() - } - } -} diff --git a/apple-apps/A-List/Assets.xcassets/AccentColor.colorset/Contents.json b/apple-apps/A-List/Assets.xcassets/AccentColor.colorset/Contents.json deleted file mode 100644 index eb87897..0000000 --- a/apple-apps/A-List/Assets.xcassets/AccentColor.colorset/Contents.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "colors" : [ - { - "idiom" : "universal" - } - ], - "info" : { - "author" : "xcode", - "version" : 1 - } -} diff --git a/apple-apps/A-List/Assets.xcassets/AppIcon.appiconset/Contents.json b/apple-apps/A-List/Assets.xcassets/AppIcon.appiconset/Contents.json deleted file mode 100644 index 2305880..0000000 --- a/apple-apps/A-List/Assets.xcassets/AppIcon.appiconset/Contents.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "images" : [ - { - "idiom" : "universal", - "platform" : "ios", - "size" : "1024x1024" - }, - { - "appearances" : [ - { - "appearance" : "luminosity", - "value" : "dark" - } - ], - "idiom" : "universal", - "platform" : "ios", - "size" : "1024x1024" - }, - { - "appearances" : [ - { - "appearance" : "luminosity", - "value" : "tinted" - } - ], - "idiom" : "universal", - "platform" : "ios", - "size" : "1024x1024" - } - ], - "info" : { - "author" : "xcode", - "version" : 1 - } -} diff --git a/apple-apps/A-List/Assets.xcassets/Contents.json b/apple-apps/A-List/Assets.xcassets/Contents.json deleted file mode 100644 index 73c0059..0000000 --- a/apple-apps/A-List/Assets.xcassets/Contents.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "info" : { - "author" : "xcode", - "version" : 1 - } -} diff --git a/apple-apps/A-List/ContentView.swift b/apple-apps/A-List/ContentView.swift deleted file mode 100644 index fe0065c..0000000 --- a/apple-apps/A-List/ContentView.swift +++ /dev/null @@ -1,71 +0,0 @@ -// -// ContentView.swift -// A-List -// -// Created by Matt Wyskiel on 6/30/24. -// - -import SwiftUI - -struct ContentView: View { - var body: some View { - List { - listItem(item: MixItem(title: "2024-05-26 - Dance Them All Away (The Envious Mix)", durationLabel: "31:26")) - - listItem(item: MixItem(title: "2024-05-26 - Dance Them All Away (The Envious Mix)", durationLabel: "31:26", isDownloaded: true)) - - listItem(item: MixItem(title: "2024-05-26 - Dance Them All Away (The Envious Mix)", durationLabel: "31:26")) - - listItem(item: MixItem(title: "2024-05-26 - Dance Them All Away (The Envious Mix)", durationLabel: "31:26", isDownloaded: true)) - } - .listStyle(.plain) - .navigationTitle("A-List") - .toolbar { - ToolbarItem(id: "settings", placement: .topBarTrailing) { - Button { - - } label: { - Image(systemName: "gearshape") - } - - } - } - } - - func listItem(item: MixItem) -> some View { - ZStack { - HStack { - VStack(alignment: .leading) { - Text(item.title) - Text(item.durationLabel) - .font(.subheadline) - - } - if item.isDownloaded { - Image(systemName: "checkmark") - .resizable() - .foregroundColor(Color(uiColor: .lightGray)) - .frame(width: 15, height: 15) - } else { - Circle() - .fill(.clear) - .frame(width: 15, height: 15) - } - } - NavigationLink { - Text(item.title) - } label: { - EmptyView() - }.isDetailLink(true) - .opacity(0) - } - } -} - -#Preview { - NavigationSplitView { - ContentView() - } detail: { - Text("") - } -} diff --git a/apple-apps/A-List/DetailView.swift b/apple-apps/A-List/DetailView.swift deleted file mode 100644 index c66d7c2..0000000 --- a/apple-apps/A-List/DetailView.swift +++ /dev/null @@ -1,19 +0,0 @@ -// -// DetailView.swift -// A-List -// -// Created by Matt Wyskiel on 6/30/24. -// - -import SwiftUI - -struct DetailView: View { - let item: MixItem - var body: some View { - Text(/*@START_MENU_TOKEN@*/"Hello, World!"/*@END_MENU_TOKEN@*/) - } -} - -#Preview { - DetailView() -} diff --git a/apple-apps/A-List/Model/MixItem.swift b/apple-apps/A-List/Model/MixItem.swift deleted file mode 100644 index cb2ecbb..0000000 --- a/apple-apps/A-List/Model/MixItem.swift +++ /dev/null @@ -1,36 +0,0 @@ -// -// MixItem.swift -// A-List -// -// Created by Matt Wyskiel on 6/30/24. -// - -import Foundation -import AVFoundation - -struct MixItem: Codable { - let id: Int - let title: String - let description: String - let audioURL: URL - let publishDate: Date -} - -extension MixItem { - var isDownloaded: Bool { - // TODO: Implement this based on whether the file is downloaded to the device - false - } -} - -extension MixItem { - func loadDurationLabel() async throws -> String { - let asset = AVURLAsset(url: audioURL) - let duration = try await asset.load(.duration) - let durationSeconds = duration.seconds - let formatter = DateIntervalFormatter() - formatter.dateStyle = .none - formatter.timeStyle = .medium - return formatter.string(from: DateInterval(start: .now, duration: durationSeconds)) ?? "" - } -} diff --git a/apple-apps/A-List/Preview Content/Preview Assets.xcassets/Contents.json b/apple-apps/A-List/Preview Content/Preview Assets.xcassets/Contents.json deleted file mode 100644 index 73c0059..0000000 --- a/apple-apps/A-List/Preview Content/Preview Assets.xcassets/Contents.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "info" : { - "author" : "xcode", - "version" : 1 - } -} diff --git a/backend/.gitignore b/backend/.gitignore deleted file mode 100644 index a553bbe..0000000 --- a/backend/.gitignore +++ /dev/null @@ -1,5 +0,0 @@ - -# sst -.sst - -node_modules \ No newline at end of file diff --git a/backend/core/db/index.ts b/backend/core/db/index.ts deleted file mode 100644 index b4eca9e..0000000 --- a/backend/core/db/index.ts +++ /dev/null @@ -1,14 +0,0 @@ -import { drizzle } from "drizzle-orm/postgres-js"; -import * as schema from "./schema"; -import postgres from "postgres"; -import { Secrets } from "../services/secrets"; -import { logger } from "../logging"; - -export const db = async () => { - const secrets = new Secrets(); - const connectionString = await secrets.get("DATABASE_URL"); - logger.info("Connecting to database"); - const client = postgres(connectionString, { prepare: false }); - logger.info("Connection to database successful"); - return drizzle(client, { schema }); -}; diff --git a/backend/core/db/schema.ts b/backend/core/db/schema.ts deleted file mode 100644 index d4d8d52..0000000 --- a/backend/core/db/schema.ts +++ /dev/null @@ -1,20 +0,0 @@ -import { pgTable, bigint, text, timestamp } from "drizzle-orm/pg-core"; -export const mixes = pgTable("mixes", { - // You can use { mode: "bigint" } if numbers are exceeding js number limitations - id: bigint("id", { mode: "number" }).primaryKey().notNull(), - title: text("title").notNull(), - publishDate: timestamp("publishDate", { - withTimezone: true, - mode: "string", - }).notNull(), - description: text("description").notNull(), - slug: text("slug").notNull(), -}); - -export const audioAssets = pgTable("audio_assets", { - id: bigint("asset_id", { mode: "number" }).primaryKey().notNull(), - mixId: bigint("mix_id", { mode: "number" }).primaryKey().notNull(), - key: text("key").notNull(), - mimeType: text("mime_type").notNull(), - durationSeconds: bigint("duration_seconds", { mode: "number" }).notNull(), -}); diff --git a/backend/core/logging.ts b/backend/core/logging.ts deleted file mode 100644 index 7aad6ab..0000000 --- a/backend/core/logging.ts +++ /dev/null @@ -1,2 +0,0 @@ -import { Logger } from '@aws-lambda-powertools/logger'; -export const logger = new Logger(); diff --git a/backend/core/services/secrets.ts b/backend/core/services/secrets.ts deleted file mode 100644 index 173e755..0000000 --- a/backend/core/services/secrets.ts +++ /dev/null @@ -1,93 +0,0 @@ -import { logger } from "../logging"; -import axios from "axios"; -import { STSClient, GetCallerIdentityCommand } from "@aws-sdk/client-sts"; -import { fromNodeProviderChain } from "@aws-sdk/credential-providers"; -import { Sha256 } from "@aws-crypto/sha256-js"; -import { createRequest } from "@aws-sdk/util-create-request"; -import { SignatureV4 } from "@smithy/signature-v4"; - -interface InfisicalAccessInfo { - accessToken: string; - expiresIn: number; - accessTokenMaxTTL: number; - tokenType: string; -} -interface GetSecretResponse { - secret: { - environment: string; - isFallback?: boolean; - secretComment: string; - secretKey: string; - secretPath?: null | string; - secretValue: string; - type: string; - version: number; - workspace: string; - [property: string]: any; - }; -} -export class Secrets { - async get(key: string) { - const accessToken = await this.getAccessToken(); - logger.info(`Getting secret ${key}`); - const { data }: { data: GetSecretResponse } = await axios.get( - `https://app.infisical.com/api/v3/secrets/raw/${key}`, - { - headers: { - Authorization: `Bearer ${accessToken}`, - }, - params: { - workspaceId: "81a4f27c-8049-4d5f-8ac3-32bb3d5f0267", - environment: "prod", - }, - } - ); - logger.info(`Successfully retrieved secret value for key: ${key}`); - return data.secret.secretValue; - } - - private async getAccessToken() { - logger.info("Getting Infisical access token"); - const region = "us-east-1"; - const iamRequestURL = `https://sts.${region}.amazonaws.com/`; - - const iamRequestBody = "Action=GetCallerIdentity&Version=2011-06-15"; - const iamRequestHeaders = { - "Content-Type": "application/x-www-form-urlencoded; charset=utf-8", - Host: `sts.${region}.amazonaws.com`, - }; - - const credentialProvider = fromNodeProviderChain(); - const credentials = await credentialProvider(); - - const v4 = new SignatureV4({ - region, - service: "sts", - credentials, - sha256: Sha256, - }); - const request = await createRequest( - new STSClient({ endpoint: iamRequestURL }), - new GetCallerIdentityCommand({}) - ); - logger.info("Signing request"); - const signedRequest = await v4.sign(request); - const infisicalUrl = "https://app.infisical.com"; - const identityId = "9732f5a9-8ea8-457c-bbac-aac3012c9c7f"; - logger.info("Requesting Infisical access token with signed headers"); - const { data }: { data: InfisicalAccessInfo } = await axios.post( - `${infisicalUrl}/api/v1/auth/aws-auth/login`, - { - identityId, - iamHttpRequestMethod: "POST", - iamRequestUrl: Buffer.from(iamRequestURL).toString("base64"), - iamRequestBody: Buffer.from(iamRequestBody).toString("base64"), - iamRequestHeaders: Buffer.from( - JSON.stringify(signedRequest.headers) - ).toString("base64"), - } - ); - logger.info("Successfully retrieved Infisical access token"); - return data.accessToken; - } -} diff --git a/backend/functions/list-mixes.ts b/backend/functions/list-mixes.ts deleted file mode 100644 index 386cc00..0000000 --- a/backend/functions/list-mixes.ts +++ /dev/null @@ -1,30 +0,0 @@ -import { APIGatewayProxyHandlerV2 } from "aws-lambda"; -import { mixes, audioAssets } from "../core/db/schema"; -import { db } from "../core/db"; -import { eq } from "drizzle-orm"; - -export const handler: APIGatewayProxyHandlerV2 = async (event) => { - const dbClient = await db(); - const allMixes = await dbClient.select().from(mixes); - const mixesWithAssets = []; - for (const mix of allMixes) { - const mixWithAssets = { - ...mix, - assets: ( - await dbClient - .select() - .from(audioAssets) - .where(eq(audioAssets.mixId, mix.id)) - ).map((asset) => ({ - key: asset.key, - mimeType: asset.mimeType, - durationSeconds: asset.durationSeconds, - })), - }; - mixesWithAssets.push(mixWithAssets); - } - return { - statusCode: 200, - body: JSON.stringify(mixesWithAssets), - }; -}; diff --git a/backend/package.json b/backend/package.json deleted file mode 100644 index d7ea925..0000000 --- a/backend/package.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "name": "backend", - "version": "1.0.0", - "description": "", - "main": "index.js", - "scripts": { - "test": "echo \"Error: no test specified\" && exit 1" - }, - "keywords": [], - "author": "", - "license": "ISC", - "dependencies": { - "@aws-crypto/sha256-js": "^5.2.0", - "@aws-lambda-powertools/logger": "^2.3.0", - "@aws-sdk/client-sso-oidc": "^3.606.0", - "@aws-sdk/client-sts": "^3.606.0", - "@aws-sdk/credential-providers": "^3.606.0", - "@aws-sdk/util-create-request": "^3.598.0", - "@smithy/signature-v4": "^3.1.2", - "axios": "^1.7.2", - "drizzle-orm": "^0.31.2", - "postgres": "^3.4.4" - }, - "devDependencies": { - "@types/aws-lambda": "^8.10.140", - "drizzle-kit": "^0.22.8", - "typescript": "^5.5.2" - } -} diff --git a/backend/pnpm-lock.yaml b/backend/pnpm-lock.yaml deleted file mode 100644 index d9df7ad..0000000 --- a/backend/pnpm-lock.yaml +++ /dev/null @@ -1,1809 +0,0 @@ -lockfileVersion: '9.0' - -settings: - autoInstallPeers: true - excludeLinksFromLockfile: false - -importers: - - .: - dependencies: - '@aws-crypto/sha256-js': - specifier: ^5.2.0 - version: 5.2.0 - '@aws-lambda-powertools/logger': - specifier: ^2.3.0 - version: 2.3.0 - '@aws-sdk/client-sso-oidc': - specifier: ^3.606.0 - version: 3.606.0(@aws-sdk/client-sts@3.606.0) - '@aws-sdk/client-sts': - specifier: ^3.606.0 - version: 3.606.0 - '@aws-sdk/credential-providers': - specifier: ^3.606.0 - version: 3.606.0(@aws-sdk/client-sso-oidc@3.606.0(@aws-sdk/client-sts@3.606.0)) - '@aws-sdk/util-create-request': - specifier: ^3.598.0 - version: 3.598.0 - '@smithy/signature-v4': - specifier: ^3.1.2 - version: 3.1.2 - axios: - specifier: ^1.7.2 - version: 1.7.2 - drizzle-orm: - specifier: ^0.31.2 - version: 0.31.2(postgres@3.4.4) - postgres: - specifier: ^3.4.4 - version: 3.4.4 - devDependencies: - '@types/aws-lambda': - specifier: ^8.10.140 - version: 8.10.140 - drizzle-kit: - specifier: ^0.22.8 - version: 0.22.8 - typescript: - specifier: ^5.5.2 - version: 5.5.2 - -packages: - - '@aws-crypto/sha256-browser@5.2.0': - resolution: {integrity: sha512-AXfN/lGotSQwu6HNcEsIASo7kWXZ5HYWvfOmSNKDsEqC4OashTp8alTmaz+F7TC2L083SFv5RdB+qU3Vs1kZqw==} - - '@aws-crypto/sha256-js@5.2.0': - resolution: {integrity: sha512-FFQQyu7edu4ufvIZ+OadFpHHOt+eSTBaYaki44c+akjg7qZg9oOQeLlk77F6tSYqjDAFClrHJk9tMf0HdVyOvA==} - engines: {node: '>=16.0.0'} - - '@aws-crypto/supports-web-crypto@5.2.0': - resolution: {integrity: sha512-iAvUotm021kM33eCdNfwIN//F77/IADDSs58i+MDaOqFrVjZo9bAal0NK7HurRuWLLpF1iLX7gbWrjHjeo+YFg==} - - '@aws-crypto/util@5.2.0': - resolution: {integrity: sha512-4RkU9EsI6ZpBve5fseQlGNUWKMa1RLPQ1dnjnQoe07ldfIzcsGb5hC5W0Dm7u423KWzawlrpbjXBrXCEv9zazQ==} - - '@aws-lambda-powertools/commons@2.3.0': - resolution: {integrity: sha512-APGVWWtNbUDzjhkBHBru14c8YDh7j4TscsoZzPnD2mM0Z2SQFyByurFW8yUIDTqfVCYSKdnSQxsSxMI4eythWw==} - - '@aws-lambda-powertools/logger@2.3.0': - resolution: {integrity: sha512-CFHMOAG6TY1inVCy+XNfH3yQliwyRui0s9oGUrXblTlJoEakWbkw5+nYsJkiPsUh983CUOIL4OezQvIfR/Vyhg==} - peerDependencies: - '@middy/core': '>=3.x' - peerDependenciesMeta: - '@middy/core': - optional: true - - '@aws-sdk/client-cognito-identity@3.606.0': - resolution: {integrity: sha512-CJ3kovUg7HAn3trqo0WxVw3PJoaHxiGU1U+Ok8Vx/sL81+auyyiasT09M/NcchRqwAooKvUi44sVD0ih7Zi9Nw==} - engines: {node: '>=16.0.0'} - - '@aws-sdk/client-sso-oidc@3.606.0': - resolution: {integrity: sha512-gL1FHPS6hwgMNS/A+Qh5bUyHOeRVOqdb7c6+i+9gR3wtGvt2lvoSm8w5DhS08Xiiacz2AqYRDEapp0xuyCrbBQ==} - engines: {node: '>=16.0.0'} - peerDependencies: - '@aws-sdk/client-sts': ^3.606.0 - - '@aws-sdk/client-sso@3.598.0': - resolution: {integrity: sha512-nOI5lqPYa+YZlrrzwAJywJSw3MKVjvu6Ge2fCqQUNYMfxFB0NAaDFnl0EPjXi+sEbtCuz/uWE77poHbqiZ+7Iw==} - engines: {node: '>=16.0.0'} - - '@aws-sdk/client-sts@3.606.0': - resolution: {integrity: sha512-b11mAhjrkm3MMiAPoMGcmd6vsaz2120lg8rHG/NZCo9vB1K6Kc7WP+a1Q05TRMseer2egTtpWJfn44aVO97VqA==} - engines: {node: '>=16.0.0'} - - '@aws-sdk/core@3.598.0': - resolution: {integrity: sha512-HaSjt7puO5Cc7cOlrXFCW0rtA0BM9lvzjl56x0A20Pt+0wxXGeTOZZOkXQIepbrFkV2e/HYukuT9e99vXDm59g==} - engines: {node: '>=16.0.0'} - - '@aws-sdk/credential-provider-cognito-identity@3.606.0': - resolution: {integrity: sha512-4wGvXilFLkozs4/dMnn9NvxZbL9oyyReoF9aR3kGUZ0QVO8cCBp/Zkr8IXZifhVBo9/esJdMFnR9lEXR7Yuleg==} - engines: {node: '>=16.0.0'} - - '@aws-sdk/credential-provider-env@3.598.0': - resolution: {integrity: sha512-vi1khgn7yXzLCcgSIzQrrtd2ilUM0dWodxj3PQ6BLfP0O+q1imO3hG1nq7DVyJtq7rFHs6+9N8G4mYvTkxby2w==} - engines: {node: '>=16.0.0'} - - '@aws-sdk/credential-provider-http@3.598.0': - resolution: {integrity: sha512-N7cIafi4HVlQvEgvZSo1G4T9qb/JMLGMdBsDCT5XkeJrF0aptQWzTFH0jIdZcLrMYvzPcuEyO3yCBe6cy/ba0g==} - engines: {node: '>=16.0.0'} - - '@aws-sdk/credential-provider-ini@3.598.0': - resolution: {integrity: sha512-/ppcIVUbRwDIwJDoYfp90X3+AuJo2mvE52Y1t2VSrvUovYn6N4v95/vXj6LS8CNDhz2jvEJYmu+0cTMHdhI6eA==} - engines: {node: '>=16.0.0'} - peerDependencies: - '@aws-sdk/client-sts': ^3.598.0 - - '@aws-sdk/credential-provider-node@3.600.0': - resolution: {integrity: sha512-1pC7MPMYD45J7yFjA90SxpR0yaSvy+yZiq23aXhAPZLYgJBAxHLu0s0mDCk/piWGPh8+UGur5K0bVdx4B1D5hw==} - engines: {node: '>=16.0.0'} - - '@aws-sdk/credential-provider-process@3.598.0': - resolution: {integrity: sha512-rM707XbLW8huMk722AgjVyxu2tMZee++fNA8TJVNgs1Ma02Wx6bBrfIvlyK0rCcIRb0WdQYP6fe3Xhiu4e8IBA==} - engines: {node: '>=16.0.0'} - - '@aws-sdk/credential-provider-sso@3.598.0': - resolution: {integrity: sha512-5InwUmrAuqQdOOgxTccRayMMkSmekdLk6s+az9tmikq0QFAHUCtofI+/fllMXSR9iL6JbGYi1940+EUmS4pHJA==} - engines: {node: '>=16.0.0'} - - '@aws-sdk/credential-provider-web-identity@3.598.0': - resolution: {integrity: sha512-GV5GdiMbz5Tz9JO4NJtRoFXjW0GPEujA0j+5J/B723rTN+REHthJu48HdBKouHGhdzkDWkkh1bu52V02Wprw8w==} - engines: {node: '>=16.0.0'} - peerDependencies: - '@aws-sdk/client-sts': ^3.598.0 - - '@aws-sdk/credential-providers@3.606.0': - resolution: {integrity: sha512-34hswGNDWBFvp4Hi4Gv9DIJ4Ks0Nbg8w3emFsPVHLqqI6X2Wd0hJTf+mi1kMhy/AQXt5LisKLw6wjNIKD2+KGg==} - engines: {node: '>=16.0.0'} - - '@aws-sdk/middleware-host-header@3.598.0': - resolution: {integrity: sha512-WiaG059YBQwQraNejLIi0gMNkX7dfPZ8hDIhvMr5aVPRbaHH8AYF3iNSsXYCHvA2Cfa1O9haYXsuMF9flXnCmA==} - engines: {node: '>=16.0.0'} - - '@aws-sdk/middleware-logger@3.598.0': - resolution: {integrity: sha512-bxBjf/VYiu3zfu8SYM2S9dQQc3tz5uBAOcPz/Bt8DyyK3GgOpjhschH/2XuUErsoUO1gDJqZSdGOmuHGZQn00Q==} - engines: {node: '>=16.0.0'} - - '@aws-sdk/middleware-recursion-detection@3.598.0': - resolution: {integrity: sha512-vjT9BeFY9FeN0f8hm2l6F53tI0N5bUq6RcDkQXKNabXBnQxKptJRad6oP2X5y3FoVfBLOuDkQgiC2940GIPxtQ==} - engines: {node: '>=16.0.0'} - - '@aws-sdk/middleware-user-agent@3.598.0': - resolution: {integrity: sha512-4tjESlHG5B5MdjUaLK7tQs/miUtHbb6deauQx8ryqSBYOhfHVgb1ZnzvQR0bTrhpqUg0WlybSkDaZAICf9xctg==} - engines: {node: '>=16.0.0'} - - '@aws-sdk/region-config-resolver@3.598.0': - resolution: {integrity: sha512-oYXhmTokSav4ytmWleCr3rs/1nyvZW/S0tdi6X7u+dLNL5Jee+uMxWGzgOrWK6wrQOzucLVjS4E/wA11Kv2GTw==} - engines: {node: '>=16.0.0'} - - '@aws-sdk/token-providers@3.598.0': - resolution: {integrity: sha512-TKY1EVdHVBnZqpyxyTHdpZpa1tUpb6nxVeRNn1zWG8QB5MvH4ALLd/jR+gtmWDNQbIG4cVuBOZFVL8hIYicKTA==} - engines: {node: '>=16.0.0'} - peerDependencies: - '@aws-sdk/client-sso-oidc': ^3.598.0 - - '@aws-sdk/types@3.598.0': - resolution: {integrity: sha512-742uRl6z7u0LFmZwDrFP6r1wlZcgVPw+/TilluDJmCAR8BgRw3IR+743kUXKBGd8QZDRW2n6v/PYsi/AWCDDMQ==} - engines: {node: '>=16.0.0'} - - '@aws-sdk/util-create-request@3.598.0': - resolution: {integrity: sha512-m8vQJTsggQKHQfvGRNQoWVKKztM3YjYFdTVVGrdUvgFgu0nJB2ViRcep50jHB3Jvujg0/ad6kXts3aenwv2lMA==} - engines: {node: '>=16.0.0'} - - '@aws-sdk/util-endpoints@3.598.0': - resolution: {integrity: sha512-Qo9UoiVVZxcOEdiOMZg3xb1mzkTxrhd4qSlg5QQrfWPJVx/QOg+Iy0NtGxPtHtVZNHZxohYwDwV/tfsnDSE2gQ==} - engines: {node: '>=16.0.0'} - - '@aws-sdk/util-locate-window@3.568.0': - resolution: {integrity: sha512-3nh4TINkXYr+H41QaPelCceEB2FXP3fxp93YZXB/kqJvX0U9j0N0Uk45gvsjmEPzG8XxkPEeLIfT2I1M7A6Lig==} - engines: {node: '>=16.0.0'} - - '@aws-sdk/util-user-agent-browser@3.598.0': - resolution: {integrity: sha512-36Sxo6F+ykElaL1mWzWjlg+1epMpSe8obwhCN1yGE7Js9ywy5U6k6l+A3q3YM9YRbm740sNxncbwLklMvuhTKw==} - - '@aws-sdk/util-user-agent-node@3.598.0': - resolution: {integrity: sha512-oyWGcOlfTdzkC6SVplyr0AGh54IMrDxbhg5RxJ5P+V4BKfcDoDcZV9xenUk9NsOi9MuUjxMumb9UJGkDhM1m0A==} - engines: {node: '>=16.0.0'} - peerDependencies: - aws-crt: '>=1.0.0' - peerDependenciesMeta: - aws-crt: - optional: true - - '@esbuild-kit/core-utils@3.3.2': - resolution: {integrity: sha512-sPRAnw9CdSsRmEtnsl2WXWdyquogVpB3yZ3dgwJfe8zrOzTsV7cJvmwrKVa+0ma5BoiGJ+BoqkMvawbayKUsqQ==} - - '@esbuild-kit/esm-loader@2.6.5': - resolution: {integrity: sha512-FxEMIkJKnodyA1OaCUoEvbYRkoZlLZ4d/eXFu9Fh8CbBBgP5EmZxrfTRyN0qpXZ4vOvqnE5YdRdcrmUUXuU+dA==} - - '@esbuild/aix-ppc64@0.19.12': - resolution: {integrity: sha512-bmoCYyWdEL3wDQIVbcyzRyeKLgk2WtWLTWz1ZIAZF/EGbNOwSA6ew3PftJ1PqMiOOGu0OyFMzG53L0zqIpPeNA==} - engines: {node: '>=12'} - cpu: [ppc64] - os: [aix] - - '@esbuild/android-arm64@0.18.20': - resolution: {integrity: sha512-Nz4rJcchGDtENV0eMKUNa6L12zz2zBDXuhj/Vjh18zGqB44Bi7MBMSXjgunJgjRhCmKOjnPuZp4Mb6OKqtMHLQ==} - engines: {node: '>=12'} - cpu: [arm64] - os: [android] - - '@esbuild/android-arm64@0.19.12': - resolution: {integrity: sha512-P0UVNGIienjZv3f5zq0DP3Nt2IE/3plFzuaS96vihvD0Hd6H/q4WXUGpCxD/E8YrSXfNyRPbpTq+T8ZQioSuPA==} - engines: {node: '>=12'} - cpu: [arm64] - os: [android] - - '@esbuild/android-arm@0.18.20': - resolution: {integrity: sha512-fyi7TDI/ijKKNZTUJAQqiG5T7YjJXgnzkURqmGj13C6dCqckZBLdl4h7bkhHt/t0WP+zO9/zwroDvANaOqO5Sw==} - engines: {node: '>=12'} - cpu: [arm] - os: [android] - - '@esbuild/android-arm@0.19.12': - resolution: {integrity: sha512-qg/Lj1mu3CdQlDEEiWrlC4eaPZ1KztwGJ9B6J+/6G+/4ewxJg7gqj8eVYWvao1bXrqGiW2rsBZFSX3q2lcW05w==} - engines: {node: '>=12'} - cpu: [arm] - os: [android] - - '@esbuild/android-x64@0.18.20': - resolution: {integrity: sha512-8GDdlePJA8D6zlZYJV/jnrRAi6rOiNaCC/JclcXpB+KIuvfBN4owLtgzY2bsxnx666XjJx2kDPUmnTtR8qKQUg==} - engines: {node: '>=12'} - cpu: [x64] - os: [android] - - '@esbuild/android-x64@0.19.12': - resolution: {integrity: sha512-3k7ZoUW6Q6YqhdhIaq/WZ7HwBpnFBlW905Fa4s4qWJyiNOgT1dOqDiVAQFwBH7gBRZr17gLrlFCRzF6jFh7Kew==} - engines: {node: '>=12'} - cpu: [x64] - os: [android] - - '@esbuild/darwin-arm64@0.18.20': - resolution: {integrity: sha512-bxRHW5kHU38zS2lPTPOyuyTm+S+eobPUnTNkdJEfAddYgEcll4xkT8DB9d2008DtTbl7uJag2HuE5NZAZgnNEA==} - engines: {node: '>=12'} - cpu: [arm64] - os: [darwin] - - '@esbuild/darwin-arm64@0.19.12': - resolution: {integrity: sha512-B6IeSgZgtEzGC42jsI+YYu9Z3HKRxp8ZT3cqhvliEHovq8HSX2YX8lNocDn79gCKJXOSaEot9MVYky7AKjCs8g==} - engines: {node: '>=12'} - cpu: [arm64] - os: [darwin] - - '@esbuild/darwin-x64@0.18.20': - resolution: {integrity: sha512-pc5gxlMDxzm513qPGbCbDukOdsGtKhfxD1zJKXjCCcU7ju50O7MeAZ8c4krSJcOIJGFR+qx21yMMVYwiQvyTyQ==} - engines: {node: '>=12'} - cpu: [x64] - os: [darwin] - - '@esbuild/darwin-x64@0.19.12': - resolution: {integrity: sha512-hKoVkKzFiToTgn+41qGhsUJXFlIjxI/jSYeZf3ugemDYZldIXIxhvwN6erJGlX4t5h417iFuheZ7l+YVn05N3A==} - engines: {node: '>=12'} - cpu: [x64] - os: [darwin] - - '@esbuild/freebsd-arm64@0.18.20': - resolution: {integrity: sha512-yqDQHy4QHevpMAaxhhIwYPMv1NECwOvIpGCZkECn8w2WFHXjEwrBn3CeNIYsibZ/iZEUemj++M26W3cNR5h+Tw==} - engines: {node: '>=12'} - cpu: [arm64] - os: [freebsd] - - '@esbuild/freebsd-arm64@0.19.12': - resolution: {integrity: sha512-4aRvFIXmwAcDBw9AueDQ2YnGmz5L6obe5kmPT8Vd+/+x/JMVKCgdcRwH6APrbpNXsPz+K653Qg8HB/oXvXVukA==} - engines: {node: '>=12'} - cpu: [arm64] - os: [freebsd] - - '@esbuild/freebsd-x64@0.18.20': - resolution: {integrity: sha512-tgWRPPuQsd3RmBZwarGVHZQvtzfEBOreNuxEMKFcd5DaDn2PbBxfwLcj4+aenoh7ctXcbXmOQIn8HI6mCSw5MQ==} - engines: {node: '>=12'} - cpu: [x64] - os: [freebsd] - - '@esbuild/freebsd-x64@0.19.12': - resolution: {integrity: sha512-EYoXZ4d8xtBoVN7CEwWY2IN4ho76xjYXqSXMNccFSx2lgqOG/1TBPW0yPx1bJZk94qu3tX0fycJeeQsKovA8gg==} - engines: {node: '>=12'} - cpu: [x64] - os: [freebsd] - - '@esbuild/linux-arm64@0.18.20': - resolution: {integrity: sha512-2YbscF+UL7SQAVIpnWvYwM+3LskyDmPhe31pE7/aoTMFKKzIc9lLbyGUpmmb8a8AixOL61sQ/mFh3jEjHYFvdA==} - engines: {node: '>=12'} - cpu: [arm64] - os: [linux] - - '@esbuild/linux-arm64@0.19.12': - resolution: {integrity: sha512-EoTjyYyLuVPfdPLsGVVVC8a0p1BFFvtpQDB/YLEhaXyf/5bczaGeN15QkR+O4S5LeJ92Tqotve7i1jn35qwvdA==} - engines: {node: '>=12'} - cpu: [arm64] - os: [linux] - - '@esbuild/linux-arm@0.18.20': - resolution: {integrity: sha512-/5bHkMWnq1EgKr1V+Ybz3s1hWXok7mDFUMQ4cG10AfW3wL02PSZi5kFpYKrptDsgb2WAJIvRcDm+qIvXf/apvg==} - engines: {node: '>=12'} - cpu: [arm] - os: [linux] - - '@esbuild/linux-arm@0.19.12': - resolution: {integrity: sha512-J5jPms//KhSNv+LO1S1TX1UWp1ucM6N6XuL6ITdKWElCu8wXP72l9MM0zDTzzeikVyqFE6U8YAV9/tFyj0ti+w==} - engines: {node: '>=12'} - cpu: [arm] - os: [linux] - - '@esbuild/linux-ia32@0.18.20': - resolution: {integrity: sha512-P4etWwq6IsReT0E1KHU40bOnzMHoH73aXp96Fs8TIT6z9Hu8G6+0SHSw9i2isWrD2nbx2qo5yUqACgdfVGx7TA==} - engines: {node: '>=12'} - cpu: [ia32] - os: [linux] - - '@esbuild/linux-ia32@0.19.12': - resolution: {integrity: sha512-Thsa42rrP1+UIGaWz47uydHSBOgTUnwBwNq59khgIwktK6x60Hivfbux9iNR0eHCHzOLjLMLfUMLCypBkZXMHA==} - engines: {node: '>=12'} - cpu: [ia32] - os: [linux] - - '@esbuild/linux-loong64@0.18.20': - resolution: {integrity: sha512-nXW8nqBTrOpDLPgPY9uV+/1DjxoQ7DoB2N8eocyq8I9XuqJ7BiAMDMf9n1xZM9TgW0J8zrquIb/A7s3BJv7rjg==} - engines: {node: '>=12'} - cpu: [loong64] - os: [linux] - - '@esbuild/linux-loong64@0.19.12': - resolution: {integrity: sha512-LiXdXA0s3IqRRjm6rV6XaWATScKAXjI4R4LoDlvO7+yQqFdlr1Bax62sRwkVvRIrwXxvtYEHHI4dm50jAXkuAA==} - engines: {node: '>=12'} - cpu: [loong64] - os: [linux] - - '@esbuild/linux-mips64el@0.18.20': - resolution: {integrity: sha512-d5NeaXZcHp8PzYy5VnXV3VSd2D328Zb+9dEq5HE6bw6+N86JVPExrA6O68OPwobntbNJ0pzCpUFZTo3w0GyetQ==} - engines: {node: '>=12'} - cpu: [mips64el] - os: [linux] - - '@esbuild/linux-mips64el@0.19.12': - resolution: {integrity: sha512-fEnAuj5VGTanfJ07ff0gOA6IPsvrVHLVb6Lyd1g2/ed67oU1eFzL0r9WL7ZzscD+/N6i3dWumGE1Un4f7Amf+w==} - engines: {node: '>=12'} - cpu: [mips64el] - os: [linux] - - '@esbuild/linux-ppc64@0.18.20': - resolution: {integrity: sha512-WHPyeScRNcmANnLQkq6AfyXRFr5D6N2sKgkFo2FqguP44Nw2eyDlbTdZwd9GYk98DZG9QItIiTlFLHJHjxP3FA==} - engines: {node: '>=12'} - cpu: [ppc64] - os: [linux] - - '@esbuild/linux-ppc64@0.19.12': - resolution: {integrity: sha512-nYJA2/QPimDQOh1rKWedNOe3Gfc8PabU7HT3iXWtNUbRzXS9+vgB0Fjaqr//XNbd82mCxHzik2qotuI89cfixg==} - engines: {node: '>=12'} - cpu: [ppc64] - os: [linux] - - '@esbuild/linux-riscv64@0.18.20': - resolution: {integrity: sha512-WSxo6h5ecI5XH34KC7w5veNnKkju3zBRLEQNY7mv5mtBmrP/MjNBCAlsM2u5hDBlS3NGcTQpoBvRzqBcRtpq1A==} - engines: {node: '>=12'} - cpu: [riscv64] - os: [linux] - - '@esbuild/linux-riscv64@0.19.12': - resolution: {integrity: sha512-2MueBrlPQCw5dVJJpQdUYgeqIzDQgw3QtiAHUC4RBz9FXPrskyyU3VI1hw7C0BSKB9OduwSJ79FTCqtGMWqJHg==} - engines: {node: '>=12'} - cpu: [riscv64] - os: [linux] - - '@esbuild/linux-s390x@0.18.20': - resolution: {integrity: sha512-+8231GMs3mAEth6Ja1iK0a1sQ3ohfcpzpRLH8uuc5/KVDFneH6jtAJLFGafpzpMRO6DzJ6AvXKze9LfFMrIHVQ==} - engines: {node: '>=12'} - cpu: [s390x] - os: [linux] - - '@esbuild/linux-s390x@0.19.12': - resolution: {integrity: sha512-+Pil1Nv3Umes4m3AZKqA2anfhJiVmNCYkPchwFJNEJN5QxmTs1uzyy4TvmDrCRNT2ApwSari7ZIgrPeUx4UZDg==} - engines: {node: '>=12'} - cpu: [s390x] - os: [linux] - - '@esbuild/linux-x64@0.18.20': - resolution: {integrity: sha512-UYqiqemphJcNsFEskc73jQ7B9jgwjWrSayxawS6UVFZGWrAAtkzjxSqnoclCXxWtfwLdzU+vTpcNYhpn43uP1w==} - engines: {node: '>=12'} - cpu: [x64] - os: [linux] - - '@esbuild/linux-x64@0.19.12': - resolution: {integrity: sha512-B71g1QpxfwBvNrfyJdVDexenDIt1CiDN1TIXLbhOw0KhJzE78KIFGX6OJ9MrtC0oOqMWf+0xop4qEU8JrJTwCg==} - engines: {node: '>=12'} - cpu: [x64] - os: [linux] - - '@esbuild/netbsd-x64@0.18.20': - resolution: {integrity: sha512-iO1c++VP6xUBUmltHZoMtCUdPlnPGdBom6IrO4gyKPFFVBKioIImVooR5I83nTew5UOYrk3gIJhbZh8X44y06A==} - engines: {node: '>=12'} - cpu: [x64] - os: [netbsd] - - '@esbuild/netbsd-x64@0.19.12': - resolution: {integrity: sha512-3ltjQ7n1owJgFbuC61Oj++XhtzmymoCihNFgT84UAmJnxJfm4sYCiSLTXZtE00VWYpPMYc+ZQmB6xbSdVh0JWA==} - engines: {node: '>=12'} - cpu: [x64] - os: [netbsd] - - '@esbuild/openbsd-x64@0.18.20': - resolution: {integrity: sha512-e5e4YSsuQfX4cxcygw/UCPIEP6wbIL+se3sxPdCiMbFLBWu0eiZOJ7WoD+ptCLrmjZBK1Wk7I6D/I3NglUGOxg==} - engines: {node: '>=12'} - cpu: [x64] - os: [openbsd] - - '@esbuild/openbsd-x64@0.19.12': - resolution: {integrity: sha512-RbrfTB9SWsr0kWmb9srfF+L933uMDdu9BIzdA7os2t0TXhCRjrQyCeOt6wVxr79CKD4c+p+YhCj31HBkYcXebw==} - engines: {node: '>=12'} - cpu: [x64] - os: [openbsd] - - '@esbuild/sunos-x64@0.18.20': - resolution: {integrity: sha512-kDbFRFp0YpTQVVrqUd5FTYmWo45zGaXe0X8E1G/LKFC0v8x0vWrhOWSLITcCn63lmZIxfOMXtCfti/RxN/0wnQ==} - engines: {node: '>=12'} - cpu: [x64] - os: [sunos] - - '@esbuild/sunos-x64@0.19.12': - resolution: {integrity: sha512-HKjJwRrW8uWtCQnQOz9qcU3mUZhTUQvi56Q8DPTLLB+DawoiQdjsYq+j+D3s9I8VFtDr+F9CjgXKKC4ss89IeA==} - engines: {node: '>=12'} - cpu: [x64] - os: [sunos] - - '@esbuild/win32-arm64@0.18.20': - resolution: {integrity: sha512-ddYFR6ItYgoaq4v4JmQQaAI5s7npztfV4Ag6NrhiaW0RrnOXqBkgwZLofVTlq1daVTQNhtI5oieTvkRPfZrePg==} - engines: {node: '>=12'} - cpu: [arm64] - os: [win32] - - '@esbuild/win32-arm64@0.19.12': - resolution: {integrity: sha512-URgtR1dJnmGvX864pn1B2YUYNzjmXkuJOIqG2HdU62MVS4EHpU2946OZoTMnRUHklGtJdJZ33QfzdjGACXhn1A==} - engines: {node: '>=12'} - cpu: [arm64] - os: [win32] - - '@esbuild/win32-ia32@0.18.20': - resolution: {integrity: sha512-Wv7QBi3ID/rROT08SABTS7eV4hX26sVduqDOTe1MvGMjNd3EjOz4b7zeexIR62GTIEKrfJXKL9LFxTYgkyeu7g==} - engines: {node: '>=12'} - cpu: [ia32] - os: [win32] - - '@esbuild/win32-ia32@0.19.12': - resolution: {integrity: sha512-+ZOE6pUkMOJfmxmBZElNOx72NKpIa/HFOMGzu8fqzQJ5kgf6aTGrcJaFsNiVMH4JKpMipyK+7k0n2UXN7a8YKQ==} - engines: {node: '>=12'} - cpu: [ia32] - os: [win32] - - '@esbuild/win32-x64@0.18.20': - resolution: {integrity: sha512-kTdfRcSiDfQca/y9QIkng02avJ+NCaQvrMejlsB3RRv5sE9rRoeBPISaZpKxHELzRxZyLvNts1P27W3wV+8geQ==} - engines: {node: '>=12'} - cpu: [x64] - os: [win32] - - '@esbuild/win32-x64@0.19.12': - resolution: {integrity: sha512-T1QyPSDCyMXaO3pzBkF96E8xMkiRYbUEZADd29SyPGabqxMViNoii+NcK7eWJAEoU6RZyEm5lVSIjTmcdoB9HA==} - engines: {node: '>=12'} - cpu: [x64] - os: [win32] - - '@smithy/abort-controller@3.1.1': - resolution: {integrity: sha512-MBJBiidoe+0cTFhyxT8g+9g7CeVccLM0IOKKUMCNQ1CNMJ/eIfoo0RTfVrXOONEI1UCN1W+zkiHSbzUNE9dZtQ==} - engines: {node: '>=16.0.0'} - - '@smithy/config-resolver@3.0.4': - resolution: {integrity: sha512-VwiOk7TwXoE7NlNguV/aPq1hFH72tqkHCw8eWXbr2xHspRyyv9DLpLXhq+Ieje+NwoqXrY0xyQjPXdOE6cGcHA==} - engines: {node: '>=16.0.0'} - - '@smithy/core@2.2.4': - resolution: {integrity: sha512-qdY3LpMOUyLM/gfjjMQZui+UTNS7kBRDWlvyIhVOql5dn2J3isk9qUTBtQ1CbDH8MTugHis1zu3h4rH+Qmmh4g==} - engines: {node: '>=16.0.0'} - - '@smithy/credential-provider-imds@3.1.3': - resolution: {integrity: sha512-U1Yrv6hx/mRK6k8AncuI6jLUx9rn0VVSd9NPEX6pyYFBfkSkChOc/n4zUb8alHUVg83TbI4OdZVo1X0Zfj3ijA==} - engines: {node: '>=16.0.0'} - - '@smithy/fetch-http-handler@3.2.0': - resolution: {integrity: sha512-vFvDxMrc6sO5Atec8PaISckMcAwsCrRhYxwUylg97bRT2KZoumOF7qk5+6EVUtuM1IG9AJV5aqXnHln9ZdXHpg==} - - '@smithy/hash-node@3.0.3': - resolution: {integrity: sha512-2ctBXpPMG+B3BtWSGNnKELJ7SH9e4TNefJS0cd2eSkOOROeBnnVBnAy9LtJ8tY4vUEoe55N4CNPxzbWvR39iBw==} - engines: {node: '>=16.0.0'} - - '@smithy/invalid-dependency@3.0.3': - resolution: {integrity: sha512-ID1eL/zpDULmHJbflb864k72/SNOZCADRc9i7Exq3RUNJw6raWUSlFEQ+3PX3EYs++bTxZB2dE9mEHTQLv61tw==} - - '@smithy/is-array-buffer@2.2.0': - resolution: {integrity: sha512-GGP3O9QFD24uGeAXYUjwSTXARoqpZykHadOmA8G5vfJPK0/DC67qa//0qvqrJzL1xc8WQWX7/yc7fwudjPHPhA==} - engines: {node: '>=14.0.0'} - - '@smithy/is-array-buffer@3.0.0': - resolution: {integrity: sha512-+Fsu6Q6C4RSJiy81Y8eApjEB5gVtM+oFKTffg+jSuwtvomJJrhUJBu2zS8wjXSgH/g1MKEWrzyChTBe6clb5FQ==} - engines: {node: '>=16.0.0'} - - '@smithy/middleware-content-length@3.0.3': - resolution: {integrity: sha512-Dbz2bzexReYIQDWMr+gZhpwBetNXzbhnEMhYKA6urqmojO14CsXjnsoPYO8UL/xxcawn8ZsuVU61ElkLSltIUQ==} - engines: {node: '>=16.0.0'} - - '@smithy/middleware-endpoint@3.0.4': - resolution: {integrity: sha512-whUJMEPwl3ANIbXjBXZVdJNgfV2ZU8ayln7xUM47rXL2txuenI7jQ/VFFwCzy5lCmXScjp6zYtptW5Evud8e9g==} - engines: {node: '>=16.0.0'} - - '@smithy/middleware-retry@3.0.7': - resolution: {integrity: sha512-f5q7Y09G+2h5ivkSx5CHvlAT4qRR3jBFEsfXyQ9nFNiWQlr8c48blnu5cmbTQ+p1xmIO14UXzKoF8d7Tm0Gsjw==} - engines: {node: '>=16.0.0'} - - '@smithy/middleware-serde@3.0.3': - resolution: {integrity: sha512-puUbyJQBcg9eSErFXjKNiGILJGtiqmuuNKEYNYfUD57fUl4i9+mfmThtQhvFXU0hCVG0iEJhvQUipUf+/SsFdA==} - engines: {node: '>=16.0.0'} - - '@smithy/middleware-stack@3.0.3': - resolution: {integrity: sha512-r4klY9nFudB0r9UdSMaGSyjyQK5adUyPnQN/ZM6M75phTxOdnc/AhpvGD1fQUvgmqjQEBGCwpnPbDm8pH5PapA==} - engines: {node: '>=16.0.0'} - - '@smithy/node-config-provider@3.1.3': - resolution: {integrity: sha512-rxdpAZczzholz6CYZxtqDu/aKTxATD5DAUDVj7HoEulq+pDSQVWzbg0btZDlxeFfa6bb2b5tUvgdX5+k8jUqcg==} - engines: {node: '>=16.0.0'} - - '@smithy/node-http-handler@3.1.1': - resolution: {integrity: sha512-L71NLyPeP450r2J/mfu1jMc//Z1YnqJt2eSNw7uhiItaONnBLDA68J5jgxq8+MBDsYnFwNAIc7dBG1ImiWBiwg==} - engines: {node: '>=16.0.0'} - - '@smithy/property-provider@3.1.3': - resolution: {integrity: sha512-zahyOVR9Q4PEoguJ/NrFP4O7SMAfYO1HLhB18M+q+Z4KFd4V2obiMnlVoUFzFLSPeVt1POyNWneHHrZaTMoc/g==} - engines: {node: '>=16.0.0'} - - '@smithy/protocol-http@4.0.3': - resolution: {integrity: sha512-x5jmrCWwQlx+Zv4jAtc33ijJ+vqqYN+c/ZkrnpvEe/uDas7AT7A/4Rc2CdfxgWv4WFGmEqODIrrUToPN6DDkGw==} - engines: {node: '>=16.0.0'} - - '@smithy/querystring-builder@3.0.3': - resolution: {integrity: sha512-vyWckeUeesFKzCDaRwWLUA1Xym9McaA6XpFfAK5qI9DKJ4M33ooQGqvM4J+LalH4u/Dq9nFiC8U6Qn1qi0+9zw==} - engines: {node: '>=16.0.0'} - - '@smithy/querystring-parser@3.0.3': - resolution: {integrity: sha512-zahM1lQv2YjmznnfQsWbYojFe55l0SLG/988brlLv1i8z3dubloLF+75ATRsqPBboUXsW6I9CPGE5rQgLfY0vQ==} - engines: {node: '>=16.0.0'} - - '@smithy/service-error-classification@3.0.3': - resolution: {integrity: sha512-Jn39sSl8cim/VlkLsUhRFq/dKDnRUFlfRkvhOJaUbLBXUsLRLNf9WaxDv/z9BjuQ3A6k/qE8af1lsqcwm7+DaQ==} - engines: {node: '>=16.0.0'} - - '@smithy/shared-ini-file-loader@3.1.3': - resolution: {integrity: sha512-Z8Y3+08vgoDgl4HENqNnnzSISAaGrF2RoKupoC47u2wiMp+Z8P/8mDh1CL8+8ujfi2U5naNvopSBmP/BUj8b5w==} - engines: {node: '>=16.0.0'} - - '@smithy/signature-v4@3.1.2': - resolution: {integrity: sha512-3BcPylEsYtD0esM4Hoyml/+s7WP2LFhcM3J2AGdcL2vx9O60TtfpDOL72gjb4lU8NeRPeKAwR77YNyyGvMbuEA==} - engines: {node: '>=16.0.0'} - - '@smithy/smithy-client@3.1.5': - resolution: {integrity: sha512-x9bL9Mx2CT2P1OiUlHM+ZNpbVU6TgT32f9CmTRzqIHA7M4vYrROCWEoC3o4xHNJASoGd4Opos3cXYPgh+/m4Ww==} - engines: {node: '>=16.0.0'} - - '@smithy/types@3.3.0': - resolution: {integrity: sha512-IxvBBCTFDHbVoK7zIxqA1ZOdc4QfM5HM7rGleCuHi7L1wnKv5Pn69xXJQ9hgxH60ZVygH9/JG0jRgtUncE3QUA==} - engines: {node: '>=16.0.0'} - - '@smithy/url-parser@3.0.3': - resolution: {integrity: sha512-pw3VtZtX2rg+s6HMs6/+u9+hu6oY6U7IohGhVNnjbgKy86wcIsSZwgHrFR+t67Uyxvp4Xz3p3kGXXIpTNisq8A==} - - '@smithy/util-base64@3.0.0': - resolution: {integrity: sha512-Kxvoh5Qtt0CDsfajiZOCpJxgtPHXOKwmM+Zy4waD43UoEMA+qPxxa98aE/7ZhdnBFZFXMOiBR5xbcaMhLtznQQ==} - engines: {node: '>=16.0.0'} - - '@smithy/util-body-length-browser@3.0.0': - resolution: {integrity: sha512-cbjJs2A1mLYmqmyVl80uoLTJhAcfzMOyPgjwAYusWKMdLeNtzmMz9YxNl3/jRLoxSS3wkqkf0jwNdtXWtyEBaQ==} - - '@smithy/util-body-length-node@3.0.0': - resolution: {integrity: sha512-Tj7pZ4bUloNUP6PzwhN7K386tmSmEET9QtQg0TgdNOnxhZvCssHji+oZTUIuzxECRfG8rdm2PMw2WCFs6eIYkA==} - engines: {node: '>=16.0.0'} - - '@smithy/util-buffer-from@2.2.0': - resolution: {integrity: sha512-IJdWBbTcMQ6DA0gdNhh/BwrLkDR+ADW5Kr1aZmd4k3DIF6ezMV4R2NIAmT08wQJ3yUK82thHWmC/TnK/wpMMIA==} - engines: {node: '>=14.0.0'} - - '@smithy/util-buffer-from@3.0.0': - resolution: {integrity: sha512-aEOHCgq5RWFbP+UDPvPot26EJHjOC+bRgse5A8V3FSShqd5E5UN4qc7zkwsvJPPAVsf73QwYcHN1/gt/rtLwQA==} - engines: {node: '>=16.0.0'} - - '@smithy/util-config-provider@3.0.0': - resolution: {integrity: sha512-pbjk4s0fwq3Di/ANL+rCvJMKM5bzAQdE5S/6RL5NXgMExFAi6UgQMPOm5yPaIWPpr+EOXKXRonJ3FoxKf4mCJQ==} - engines: {node: '>=16.0.0'} - - '@smithy/util-defaults-mode-browser@3.0.7': - resolution: {integrity: sha512-Q2txLyvQyGfmjsaDbVV7Sg8psefpFcrnlGapDzXGFRPFKRBeEg6OvFK8FljqjeHSaCZ6/UuzQExUPqBR/2qlDA==} - engines: {node: '>= 10.0.0'} - - '@smithy/util-defaults-mode-node@3.0.7': - resolution: {integrity: sha512-F4Qcj1fG6MGi2BSWCslfsMSwllws/WzYONBGtLybyY+halAcXdWhcew+mej8M5SKd5hqPYp4f7b+ABQEaeytgg==} - engines: {node: '>= 10.0.0'} - - '@smithy/util-endpoints@2.0.4': - resolution: {integrity: sha512-ZAtNf+vXAsgzgRutDDiklU09ZzZiiV/nATyqde4Um4priTmasDH+eLpp3tspL0hS2dEootyFMhu1Y6Y+tzpWBQ==} - engines: {node: '>=16.0.0'} - - '@smithy/util-hex-encoding@3.0.0': - resolution: {integrity: sha512-eFndh1WEK5YMUYvy3lPlVmYY/fZcQE1D8oSf41Id2vCeIkKJXPcYDCZD+4+xViI6b1XSd7tE+s5AmXzz5ilabQ==} - engines: {node: '>=16.0.0'} - - '@smithy/util-middleware@3.0.3': - resolution: {integrity: sha512-l+StyYYK/eO3DlVPbU+4Bi06Jjal+PFLSMmlWM1BEwyLxZ3aKkf1ROnoIakfaA7mC6uw3ny7JBkau4Yc+5zfWw==} - engines: {node: '>=16.0.0'} - - '@smithy/util-retry@3.0.3': - resolution: {integrity: sha512-AFw+hjpbtVApzpNDhbjNG5NA3kyoMs7vx0gsgmlJF4s+yz1Zlepde7J58zpIRIsdjc+emhpAITxA88qLkPF26w==} - engines: {node: '>=16.0.0'} - - '@smithy/util-stream@3.0.5': - resolution: {integrity: sha512-xC3L5PKMAT/Bh8fmHNXP9sdQ4+4aKVUU3EEJ2CF/lLk7R+wtMJM+v/1B4en7jO++Wa5spGzFDBCl0QxgbUc5Ug==} - engines: {node: '>=16.0.0'} - - '@smithy/util-uri-escape@3.0.0': - resolution: {integrity: sha512-LqR7qYLgZTD7nWLBecUi4aqolw8Mhza9ArpNEQ881MJJIU2sE5iHCK6TdyqqzcDLy0OPe10IY4T8ctVdtynubg==} - engines: {node: '>=16.0.0'} - - '@smithy/util-utf8@2.3.0': - resolution: {integrity: sha512-R8Rdn8Hy72KKcebgLiv8jQcQkXoLMOGGv5uI1/k0l+snqkOzQ1R0ChUBCxWMlBsFMekWjq0wRudIweFs7sKT5A==} - engines: {node: '>=14.0.0'} - - '@smithy/util-utf8@3.0.0': - resolution: {integrity: sha512-rUeT12bxFnplYDe815GXbq/oixEGHfRFFtcTF3YdDi/JaENIM6aSYYLJydG83UNzLXeRI5K8abYd/8Sp/QM0kA==} - engines: {node: '>=16.0.0'} - - '@types/aws-lambda@8.10.140': - resolution: {integrity: sha512-4Dh3dk2TUcbdfHrX0Al90mNGJDvA9NBiTQPzbrjGi/dLxzKCGOYgT8YQ47jUKNFALkAJAadifq0pzyjIUlhVhg==} - - asynckit@0.4.0: - resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==} - - axios@1.7.2: - resolution: {integrity: sha512-2A8QhOMrbomlDuiLeK9XibIBzuHeRcqqNOHp0Cyp5EoJ1IFDh+XZH3A6BkXtv0K4gFGCI0Y4BM7B1wOEi0Rmgw==} - - bowser@2.11.0: - resolution: {integrity: sha512-AlcaJBi/pqqJBIQ8U9Mcpc9i8Aqxn88Skv5d+xBX006BY5u8N3mGLHa5Lgppa7L/HfwgwLgZ6NYs+Ag6uUmJRA==} - - buffer-from@1.1.2: - resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} - - combined-stream@1.0.8: - resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==} - engines: {node: '>= 0.8'} - - debug@4.3.5: - resolution: {integrity: sha512-pt0bNEmneDIvdL1Xsd9oDQ/wrQRkXDT4AUWlNZNPKvW5x/jyO9VFXkJUP07vQ2upmw5PlaITaPKc31jK13V+jg==} - engines: {node: '>=6.0'} - peerDependencies: - supports-color: '*' - peerDependenciesMeta: - supports-color: - optional: true - - delayed-stream@1.0.0: - resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==} - engines: {node: '>=0.4.0'} - - drizzle-kit@0.22.8: - resolution: {integrity: sha512-VjI4wsJjk3hSqHSa3TwBf+uvH6M6pRHyxyoVbt935GUzP9tUR/BRZ+MhEJNgryqbzN2Za1KP0eJMTgKEPsalYQ==} - hasBin: true - - drizzle-orm@0.31.2: - resolution: {integrity: sha512-QnenevbnnAzmbNzQwbhklvIYrDE8YER8K7kSrAWQSV1YvFCdSQPzj+jzqRdTSsV2cDqSpQ0NXGyL1G9I43LDLg==} - peerDependencies: - '@aws-sdk/client-rds-data': '>=3' - '@cloudflare/workers-types': '>=3' - '@electric-sql/pglite': '>=0.1.1' - '@libsql/client': '*' - '@neondatabase/serverless': '>=0.1' - '@op-engineering/op-sqlite': '>=2' - '@opentelemetry/api': ^1.4.1 - '@planetscale/database': '>=1' - '@tidbcloud/serverless': '*' - '@types/better-sqlite3': '*' - '@types/pg': '*' - '@types/react': '>=18' - '@types/sql.js': '*' - '@vercel/postgres': '>=0.8.0' - '@xata.io/client': '*' - better-sqlite3: '>=7' - bun-types: '*' - expo-sqlite: '>=13.2.0' - knex: '*' - kysely: '*' - mysql2: '>=2' - pg: '>=8' - postgres: '>=3' - react: '>=18' - sql.js: '>=1' - sqlite3: '>=5' - peerDependenciesMeta: - '@aws-sdk/client-rds-data': - optional: true - '@cloudflare/workers-types': - optional: true - '@electric-sql/pglite': - optional: true - '@libsql/client': - optional: true - '@neondatabase/serverless': - optional: true - '@op-engineering/op-sqlite': - optional: true - '@opentelemetry/api': - optional: true - '@planetscale/database': - optional: true - '@tidbcloud/serverless': - optional: true - '@types/better-sqlite3': - optional: true - '@types/pg': - optional: true - '@types/react': - optional: true - '@types/sql.js': - optional: true - '@vercel/postgres': - optional: true - '@xata.io/client': - optional: true - better-sqlite3: - optional: true - bun-types: - optional: true - expo-sqlite: - optional: true - knex: - optional: true - kysely: - optional: true - mysql2: - optional: true - pg: - optional: true - postgres: - optional: true - react: - optional: true - sql.js: - optional: true - sqlite3: - optional: true - - esbuild-register@3.5.0: - resolution: {integrity: sha512-+4G/XmakeBAsvJuDugJvtyF1x+XJT4FMocynNpxrvEBViirpfUn2PgNpCHedfWhF4WokNsO/OvMKrmJOIJsI5A==} - peerDependencies: - esbuild: '>=0.12 <1' - - esbuild@0.18.20: - resolution: {integrity: sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA==} - engines: {node: '>=12'} - hasBin: true - - esbuild@0.19.12: - resolution: {integrity: sha512-aARqgq8roFBj054KvQr5f1sFu0D65G+miZRCuJyJ0G13Zwx7vRar5Zhn2tkQNzIXcBrNVsv/8stehpj+GAjgbg==} - engines: {node: '>=12'} - hasBin: true - - fast-xml-parser@4.2.5: - resolution: {integrity: sha512-B9/wizE4WngqQftFPmdaMYlXoJlJOYxGQOanC77fq9k8+Z0v5dDSVh+3glErdIROP//s/jgb7ZuxKfB8nVyo0g==} - hasBin: true - - follow-redirects@1.15.6: - resolution: {integrity: sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA==} - engines: {node: '>=4.0'} - peerDependencies: - debug: '*' - peerDependenciesMeta: - debug: - optional: true - - form-data@4.0.0: - resolution: {integrity: sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==} - engines: {node: '>= 6'} - - get-tsconfig@4.7.5: - resolution: {integrity: sha512-ZCuZCnlqNzjb4QprAzXKdpp/gh6KTxSJuw3IBsPnV/7fV4NxC9ckB+vPTt8w7fJA0TaSD7c55BR47JD6MEDyDw==} - - lodash.merge@4.6.2: - resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} - - mime-db@1.52.0: - resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==} - engines: {node: '>= 0.6'} - - mime-types@2.1.35: - resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==} - engines: {node: '>= 0.6'} - - ms@2.1.2: - resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} - - postgres@3.4.4: - resolution: {integrity: sha512-IbyN+9KslkqcXa8AO9fxpk97PA4pzewvpi2B3Dwy9u4zpV32QicaEdgmF3eSQUzdRk7ttDHQejNgAEr4XoeH4A==} - engines: {node: '>=12'} - - proxy-from-env@1.1.0: - resolution: {integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==} - - resolve-pkg-maps@1.0.0: - resolution: {integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==} - - source-map-support@0.5.21: - resolution: {integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==} - - source-map@0.6.1: - resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} - engines: {node: '>=0.10.0'} - - strnum@1.0.5: - resolution: {integrity: sha512-J8bbNyKKXl5qYcR36TIO8W3mVGVHrmmxsd5PAItGkmyzwJvybiw2IVq5nqd0i4LSNSkB/sx9VHllbfFdr9k1JA==} - - tslib@2.6.3: - resolution: {integrity: sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ==} - - typescript@5.5.2: - resolution: {integrity: sha512-NcRtPEOsPFFWjobJEtfihkLCZCXZt/os3zf8nTxjVH3RvTSxjrCamJpbExGvYOF+tFHc3pA65qpdwPbzjohhew==} - engines: {node: '>=14.17'} - hasBin: true - - uuid@9.0.1: - resolution: {integrity: sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==} - hasBin: true - -snapshots: - - '@aws-crypto/sha256-browser@5.2.0': - dependencies: - '@aws-crypto/sha256-js': 5.2.0 - '@aws-crypto/supports-web-crypto': 5.2.0 - '@aws-crypto/util': 5.2.0 - '@aws-sdk/types': 3.598.0 - '@aws-sdk/util-locate-window': 3.568.0 - '@smithy/util-utf8': 2.3.0 - tslib: 2.6.3 - - '@aws-crypto/sha256-js@5.2.0': - dependencies: - '@aws-crypto/util': 5.2.0 - '@aws-sdk/types': 3.598.0 - tslib: 2.6.3 - - '@aws-crypto/supports-web-crypto@5.2.0': - dependencies: - tslib: 2.6.3 - - '@aws-crypto/util@5.2.0': - dependencies: - '@aws-sdk/types': 3.598.0 - '@smithy/util-utf8': 2.3.0 - tslib: 2.6.3 - - '@aws-lambda-powertools/commons@2.3.0': {} - - '@aws-lambda-powertools/logger@2.3.0': - dependencies: - '@aws-lambda-powertools/commons': 2.3.0 - lodash.merge: 4.6.2 - - '@aws-sdk/client-cognito-identity@3.606.0': - dependencies: - '@aws-crypto/sha256-browser': 5.2.0 - '@aws-crypto/sha256-js': 5.2.0 - '@aws-sdk/client-sso-oidc': 3.606.0(@aws-sdk/client-sts@3.606.0) - '@aws-sdk/client-sts': 3.606.0 - '@aws-sdk/core': 3.598.0 - '@aws-sdk/credential-provider-node': 3.600.0(@aws-sdk/client-sso-oidc@3.606.0(@aws-sdk/client-sts@3.606.0))(@aws-sdk/client-sts@3.606.0) - '@aws-sdk/middleware-host-header': 3.598.0 - '@aws-sdk/middleware-logger': 3.598.0 - '@aws-sdk/middleware-recursion-detection': 3.598.0 - '@aws-sdk/middleware-user-agent': 3.598.0 - '@aws-sdk/region-config-resolver': 3.598.0 - '@aws-sdk/types': 3.598.0 - '@aws-sdk/util-endpoints': 3.598.0 - '@aws-sdk/util-user-agent-browser': 3.598.0 - '@aws-sdk/util-user-agent-node': 3.598.0 - '@smithy/config-resolver': 3.0.4 - '@smithy/core': 2.2.4 - '@smithy/fetch-http-handler': 3.2.0 - '@smithy/hash-node': 3.0.3 - '@smithy/invalid-dependency': 3.0.3 - '@smithy/middleware-content-length': 3.0.3 - '@smithy/middleware-endpoint': 3.0.4 - '@smithy/middleware-retry': 3.0.7 - '@smithy/middleware-serde': 3.0.3 - '@smithy/middleware-stack': 3.0.3 - '@smithy/node-config-provider': 3.1.3 - '@smithy/node-http-handler': 3.1.1 - '@smithy/protocol-http': 4.0.3 - '@smithy/smithy-client': 3.1.5 - '@smithy/types': 3.3.0 - '@smithy/url-parser': 3.0.3 - '@smithy/util-base64': 3.0.0 - '@smithy/util-body-length-browser': 3.0.0 - '@smithy/util-body-length-node': 3.0.0 - '@smithy/util-defaults-mode-browser': 3.0.7 - '@smithy/util-defaults-mode-node': 3.0.7 - '@smithy/util-endpoints': 2.0.4 - '@smithy/util-middleware': 3.0.3 - '@smithy/util-retry': 3.0.3 - '@smithy/util-utf8': 3.0.0 - tslib: 2.6.3 - transitivePeerDependencies: - - aws-crt - - '@aws-sdk/client-sso-oidc@3.606.0(@aws-sdk/client-sts@3.606.0)': - dependencies: - '@aws-crypto/sha256-browser': 5.2.0 - '@aws-crypto/sha256-js': 5.2.0 - '@aws-sdk/client-sts': 3.606.0 - '@aws-sdk/core': 3.598.0 - '@aws-sdk/credential-provider-node': 3.600.0(@aws-sdk/client-sso-oidc@3.606.0(@aws-sdk/client-sts@3.606.0))(@aws-sdk/client-sts@3.606.0) - '@aws-sdk/middleware-host-header': 3.598.0 - '@aws-sdk/middleware-logger': 3.598.0 - '@aws-sdk/middleware-recursion-detection': 3.598.0 - '@aws-sdk/middleware-user-agent': 3.598.0 - '@aws-sdk/region-config-resolver': 3.598.0 - '@aws-sdk/types': 3.598.0 - '@aws-sdk/util-endpoints': 3.598.0 - '@aws-sdk/util-user-agent-browser': 3.598.0 - '@aws-sdk/util-user-agent-node': 3.598.0 - '@smithy/config-resolver': 3.0.4 - '@smithy/core': 2.2.4 - '@smithy/fetch-http-handler': 3.2.0 - '@smithy/hash-node': 3.0.3 - '@smithy/invalid-dependency': 3.0.3 - '@smithy/middleware-content-length': 3.0.3 - '@smithy/middleware-endpoint': 3.0.4 - '@smithy/middleware-retry': 3.0.7 - '@smithy/middleware-serde': 3.0.3 - '@smithy/middleware-stack': 3.0.3 - '@smithy/node-config-provider': 3.1.3 - '@smithy/node-http-handler': 3.1.1 - '@smithy/protocol-http': 4.0.3 - '@smithy/smithy-client': 3.1.5 - '@smithy/types': 3.3.0 - '@smithy/url-parser': 3.0.3 - '@smithy/util-base64': 3.0.0 - '@smithy/util-body-length-browser': 3.0.0 - '@smithy/util-body-length-node': 3.0.0 - '@smithy/util-defaults-mode-browser': 3.0.7 - '@smithy/util-defaults-mode-node': 3.0.7 - '@smithy/util-endpoints': 2.0.4 - '@smithy/util-middleware': 3.0.3 - '@smithy/util-retry': 3.0.3 - '@smithy/util-utf8': 3.0.0 - tslib: 2.6.3 - transitivePeerDependencies: - - aws-crt - - '@aws-sdk/client-sso@3.598.0': - dependencies: - '@aws-crypto/sha256-browser': 5.2.0 - '@aws-crypto/sha256-js': 5.2.0 - '@aws-sdk/core': 3.598.0 - '@aws-sdk/middleware-host-header': 3.598.0 - '@aws-sdk/middleware-logger': 3.598.0 - '@aws-sdk/middleware-recursion-detection': 3.598.0 - '@aws-sdk/middleware-user-agent': 3.598.0 - '@aws-sdk/region-config-resolver': 3.598.0 - '@aws-sdk/types': 3.598.0 - '@aws-sdk/util-endpoints': 3.598.0 - '@aws-sdk/util-user-agent-browser': 3.598.0 - '@aws-sdk/util-user-agent-node': 3.598.0 - '@smithy/config-resolver': 3.0.4 - '@smithy/core': 2.2.4 - '@smithy/fetch-http-handler': 3.2.0 - '@smithy/hash-node': 3.0.3 - '@smithy/invalid-dependency': 3.0.3 - '@smithy/middleware-content-length': 3.0.3 - '@smithy/middleware-endpoint': 3.0.4 - '@smithy/middleware-retry': 3.0.7 - '@smithy/middleware-serde': 3.0.3 - '@smithy/middleware-stack': 3.0.3 - '@smithy/node-config-provider': 3.1.3 - '@smithy/node-http-handler': 3.1.1 - '@smithy/protocol-http': 4.0.3 - '@smithy/smithy-client': 3.1.5 - '@smithy/types': 3.3.0 - '@smithy/url-parser': 3.0.3 - '@smithy/util-base64': 3.0.0 - '@smithy/util-body-length-browser': 3.0.0 - '@smithy/util-body-length-node': 3.0.0 - '@smithy/util-defaults-mode-browser': 3.0.7 - '@smithy/util-defaults-mode-node': 3.0.7 - '@smithy/util-endpoints': 2.0.4 - '@smithy/util-middleware': 3.0.3 - '@smithy/util-retry': 3.0.3 - '@smithy/util-utf8': 3.0.0 - tslib: 2.6.3 - transitivePeerDependencies: - - aws-crt - - '@aws-sdk/client-sts@3.606.0': - dependencies: - '@aws-crypto/sha256-browser': 5.2.0 - '@aws-crypto/sha256-js': 5.2.0 - '@aws-sdk/client-sso-oidc': 3.606.0(@aws-sdk/client-sts@3.606.0) - '@aws-sdk/core': 3.598.0 - '@aws-sdk/credential-provider-node': 3.600.0(@aws-sdk/client-sso-oidc@3.606.0(@aws-sdk/client-sts@3.606.0))(@aws-sdk/client-sts@3.606.0) - '@aws-sdk/middleware-host-header': 3.598.0 - '@aws-sdk/middleware-logger': 3.598.0 - '@aws-sdk/middleware-recursion-detection': 3.598.0 - '@aws-sdk/middleware-user-agent': 3.598.0 - '@aws-sdk/region-config-resolver': 3.598.0 - '@aws-sdk/types': 3.598.0 - '@aws-sdk/util-endpoints': 3.598.0 - '@aws-sdk/util-user-agent-browser': 3.598.0 - '@aws-sdk/util-user-agent-node': 3.598.0 - '@smithy/config-resolver': 3.0.4 - '@smithy/core': 2.2.4 - '@smithy/fetch-http-handler': 3.2.0 - '@smithy/hash-node': 3.0.3 - '@smithy/invalid-dependency': 3.0.3 - '@smithy/middleware-content-length': 3.0.3 - '@smithy/middleware-endpoint': 3.0.4 - '@smithy/middleware-retry': 3.0.7 - '@smithy/middleware-serde': 3.0.3 - '@smithy/middleware-stack': 3.0.3 - '@smithy/node-config-provider': 3.1.3 - '@smithy/node-http-handler': 3.1.1 - '@smithy/protocol-http': 4.0.3 - '@smithy/smithy-client': 3.1.5 - '@smithy/types': 3.3.0 - '@smithy/url-parser': 3.0.3 - '@smithy/util-base64': 3.0.0 - '@smithy/util-body-length-browser': 3.0.0 - '@smithy/util-body-length-node': 3.0.0 - '@smithy/util-defaults-mode-browser': 3.0.7 - '@smithy/util-defaults-mode-node': 3.0.7 - '@smithy/util-endpoints': 2.0.4 - '@smithy/util-middleware': 3.0.3 - '@smithy/util-retry': 3.0.3 - '@smithy/util-utf8': 3.0.0 - tslib: 2.6.3 - transitivePeerDependencies: - - aws-crt - - '@aws-sdk/core@3.598.0': - dependencies: - '@smithy/core': 2.2.4 - '@smithy/protocol-http': 4.0.3 - '@smithy/signature-v4': 3.1.2 - '@smithy/smithy-client': 3.1.5 - '@smithy/types': 3.3.0 - fast-xml-parser: 4.2.5 - tslib: 2.6.3 - - '@aws-sdk/credential-provider-cognito-identity@3.606.0': - dependencies: - '@aws-sdk/client-cognito-identity': 3.606.0 - '@aws-sdk/types': 3.598.0 - '@smithy/property-provider': 3.1.3 - '@smithy/types': 3.3.0 - tslib: 2.6.3 - transitivePeerDependencies: - - aws-crt - - '@aws-sdk/credential-provider-env@3.598.0': - dependencies: - '@aws-sdk/types': 3.598.0 - '@smithy/property-provider': 3.1.3 - '@smithy/types': 3.3.0 - tslib: 2.6.3 - - '@aws-sdk/credential-provider-http@3.598.0': - dependencies: - '@aws-sdk/types': 3.598.0 - '@smithy/fetch-http-handler': 3.2.0 - '@smithy/node-http-handler': 3.1.1 - '@smithy/property-provider': 3.1.3 - '@smithy/protocol-http': 4.0.3 - '@smithy/smithy-client': 3.1.5 - '@smithy/types': 3.3.0 - '@smithy/util-stream': 3.0.5 - tslib: 2.6.3 - - '@aws-sdk/credential-provider-ini@3.598.0(@aws-sdk/client-sso-oidc@3.606.0(@aws-sdk/client-sts@3.606.0))(@aws-sdk/client-sts@3.606.0)': - dependencies: - '@aws-sdk/client-sts': 3.606.0 - '@aws-sdk/credential-provider-env': 3.598.0 - '@aws-sdk/credential-provider-http': 3.598.0 - '@aws-sdk/credential-provider-process': 3.598.0 - '@aws-sdk/credential-provider-sso': 3.598.0(@aws-sdk/client-sso-oidc@3.606.0(@aws-sdk/client-sts@3.606.0)) - '@aws-sdk/credential-provider-web-identity': 3.598.0(@aws-sdk/client-sts@3.606.0) - '@aws-sdk/types': 3.598.0 - '@smithy/credential-provider-imds': 3.1.3 - '@smithy/property-provider': 3.1.3 - '@smithy/shared-ini-file-loader': 3.1.3 - '@smithy/types': 3.3.0 - tslib: 2.6.3 - transitivePeerDependencies: - - '@aws-sdk/client-sso-oidc' - - aws-crt - - '@aws-sdk/credential-provider-node@3.600.0(@aws-sdk/client-sso-oidc@3.606.0(@aws-sdk/client-sts@3.606.0))(@aws-sdk/client-sts@3.606.0)': - dependencies: - '@aws-sdk/credential-provider-env': 3.598.0 - '@aws-sdk/credential-provider-http': 3.598.0 - '@aws-sdk/credential-provider-ini': 3.598.0(@aws-sdk/client-sso-oidc@3.606.0(@aws-sdk/client-sts@3.606.0))(@aws-sdk/client-sts@3.606.0) - '@aws-sdk/credential-provider-process': 3.598.0 - '@aws-sdk/credential-provider-sso': 3.598.0(@aws-sdk/client-sso-oidc@3.606.0(@aws-sdk/client-sts@3.606.0)) - '@aws-sdk/credential-provider-web-identity': 3.598.0(@aws-sdk/client-sts@3.606.0) - '@aws-sdk/types': 3.598.0 - '@smithy/credential-provider-imds': 3.1.3 - '@smithy/property-provider': 3.1.3 - '@smithy/shared-ini-file-loader': 3.1.3 - '@smithy/types': 3.3.0 - tslib: 2.6.3 - transitivePeerDependencies: - - '@aws-sdk/client-sso-oidc' - - '@aws-sdk/client-sts' - - aws-crt - - '@aws-sdk/credential-provider-process@3.598.0': - dependencies: - '@aws-sdk/types': 3.598.0 - '@smithy/property-provider': 3.1.3 - '@smithy/shared-ini-file-loader': 3.1.3 - '@smithy/types': 3.3.0 - tslib: 2.6.3 - - '@aws-sdk/credential-provider-sso@3.598.0(@aws-sdk/client-sso-oidc@3.606.0(@aws-sdk/client-sts@3.606.0))': - dependencies: - '@aws-sdk/client-sso': 3.598.0 - '@aws-sdk/token-providers': 3.598.0(@aws-sdk/client-sso-oidc@3.606.0(@aws-sdk/client-sts@3.606.0)) - '@aws-sdk/types': 3.598.0 - '@smithy/property-provider': 3.1.3 - '@smithy/shared-ini-file-loader': 3.1.3 - '@smithy/types': 3.3.0 - tslib: 2.6.3 - transitivePeerDependencies: - - '@aws-sdk/client-sso-oidc' - - aws-crt - - '@aws-sdk/credential-provider-web-identity@3.598.0(@aws-sdk/client-sts@3.606.0)': - dependencies: - '@aws-sdk/client-sts': 3.606.0 - '@aws-sdk/types': 3.598.0 - '@smithy/property-provider': 3.1.3 - '@smithy/types': 3.3.0 - tslib: 2.6.3 - - '@aws-sdk/credential-providers@3.606.0(@aws-sdk/client-sso-oidc@3.606.0(@aws-sdk/client-sts@3.606.0))': - dependencies: - '@aws-sdk/client-cognito-identity': 3.606.0 - '@aws-sdk/client-sso': 3.598.0 - '@aws-sdk/client-sts': 3.606.0 - '@aws-sdk/credential-provider-cognito-identity': 3.606.0 - '@aws-sdk/credential-provider-env': 3.598.0 - '@aws-sdk/credential-provider-http': 3.598.0 - '@aws-sdk/credential-provider-ini': 3.598.0(@aws-sdk/client-sso-oidc@3.606.0(@aws-sdk/client-sts@3.606.0))(@aws-sdk/client-sts@3.606.0) - '@aws-sdk/credential-provider-node': 3.600.0(@aws-sdk/client-sso-oidc@3.606.0(@aws-sdk/client-sts@3.606.0))(@aws-sdk/client-sts@3.606.0) - '@aws-sdk/credential-provider-process': 3.598.0 - '@aws-sdk/credential-provider-sso': 3.598.0(@aws-sdk/client-sso-oidc@3.606.0(@aws-sdk/client-sts@3.606.0)) - '@aws-sdk/credential-provider-web-identity': 3.598.0(@aws-sdk/client-sts@3.606.0) - '@aws-sdk/types': 3.598.0 - '@smithy/credential-provider-imds': 3.1.3 - '@smithy/property-provider': 3.1.3 - '@smithy/types': 3.3.0 - tslib: 2.6.3 - transitivePeerDependencies: - - '@aws-sdk/client-sso-oidc' - - aws-crt - - '@aws-sdk/middleware-host-header@3.598.0': - dependencies: - '@aws-sdk/types': 3.598.0 - '@smithy/protocol-http': 4.0.3 - '@smithy/types': 3.3.0 - tslib: 2.6.3 - - '@aws-sdk/middleware-logger@3.598.0': - dependencies: - '@aws-sdk/types': 3.598.0 - '@smithy/types': 3.3.0 - tslib: 2.6.3 - - '@aws-sdk/middleware-recursion-detection@3.598.0': - dependencies: - '@aws-sdk/types': 3.598.0 - '@smithy/protocol-http': 4.0.3 - '@smithy/types': 3.3.0 - tslib: 2.6.3 - - '@aws-sdk/middleware-user-agent@3.598.0': - dependencies: - '@aws-sdk/types': 3.598.0 - '@aws-sdk/util-endpoints': 3.598.0 - '@smithy/protocol-http': 4.0.3 - '@smithy/types': 3.3.0 - tslib: 2.6.3 - - '@aws-sdk/region-config-resolver@3.598.0': - dependencies: - '@aws-sdk/types': 3.598.0 - '@smithy/node-config-provider': 3.1.3 - '@smithy/types': 3.3.0 - '@smithy/util-config-provider': 3.0.0 - '@smithy/util-middleware': 3.0.3 - tslib: 2.6.3 - - '@aws-sdk/token-providers@3.598.0(@aws-sdk/client-sso-oidc@3.606.0(@aws-sdk/client-sts@3.606.0))': - dependencies: - '@aws-sdk/client-sso-oidc': 3.606.0(@aws-sdk/client-sts@3.606.0) - '@aws-sdk/types': 3.598.0 - '@smithy/property-provider': 3.1.3 - '@smithy/shared-ini-file-loader': 3.1.3 - '@smithy/types': 3.3.0 - tslib: 2.6.3 - - '@aws-sdk/types@3.598.0': - dependencies: - '@smithy/types': 3.3.0 - tslib: 2.6.3 - - '@aws-sdk/util-create-request@3.598.0': - dependencies: - '@aws-sdk/types': 3.598.0 - '@smithy/middleware-stack': 3.0.3 - '@smithy/smithy-client': 3.1.5 - '@smithy/types': 3.3.0 - tslib: 2.6.3 - - '@aws-sdk/util-endpoints@3.598.0': - dependencies: - '@aws-sdk/types': 3.598.0 - '@smithy/types': 3.3.0 - '@smithy/util-endpoints': 2.0.4 - tslib: 2.6.3 - - '@aws-sdk/util-locate-window@3.568.0': - dependencies: - tslib: 2.6.3 - - '@aws-sdk/util-user-agent-browser@3.598.0': - dependencies: - '@aws-sdk/types': 3.598.0 - '@smithy/types': 3.3.0 - bowser: 2.11.0 - tslib: 2.6.3 - - '@aws-sdk/util-user-agent-node@3.598.0': - dependencies: - '@aws-sdk/types': 3.598.0 - '@smithy/node-config-provider': 3.1.3 - '@smithy/types': 3.3.0 - tslib: 2.6.3 - - '@esbuild-kit/core-utils@3.3.2': - dependencies: - esbuild: 0.18.20 - source-map-support: 0.5.21 - - '@esbuild-kit/esm-loader@2.6.5': - dependencies: - '@esbuild-kit/core-utils': 3.3.2 - get-tsconfig: 4.7.5 - - '@esbuild/aix-ppc64@0.19.12': - optional: true - - '@esbuild/android-arm64@0.18.20': - optional: true - - '@esbuild/android-arm64@0.19.12': - optional: true - - '@esbuild/android-arm@0.18.20': - optional: true - - '@esbuild/android-arm@0.19.12': - optional: true - - '@esbuild/android-x64@0.18.20': - optional: true - - '@esbuild/android-x64@0.19.12': - optional: true - - '@esbuild/darwin-arm64@0.18.20': - optional: true - - '@esbuild/darwin-arm64@0.19.12': - optional: true - - '@esbuild/darwin-x64@0.18.20': - optional: true - - '@esbuild/darwin-x64@0.19.12': - optional: true - - '@esbuild/freebsd-arm64@0.18.20': - optional: true - - '@esbuild/freebsd-arm64@0.19.12': - optional: true - - '@esbuild/freebsd-x64@0.18.20': - optional: true - - '@esbuild/freebsd-x64@0.19.12': - optional: true - - '@esbuild/linux-arm64@0.18.20': - optional: true - - '@esbuild/linux-arm64@0.19.12': - optional: true - - '@esbuild/linux-arm@0.18.20': - optional: true - - '@esbuild/linux-arm@0.19.12': - optional: true - - '@esbuild/linux-ia32@0.18.20': - optional: true - - '@esbuild/linux-ia32@0.19.12': - optional: true - - '@esbuild/linux-loong64@0.18.20': - optional: true - - '@esbuild/linux-loong64@0.19.12': - optional: true - - '@esbuild/linux-mips64el@0.18.20': - optional: true - - '@esbuild/linux-mips64el@0.19.12': - optional: true - - '@esbuild/linux-ppc64@0.18.20': - optional: true - - '@esbuild/linux-ppc64@0.19.12': - optional: true - - '@esbuild/linux-riscv64@0.18.20': - optional: true - - '@esbuild/linux-riscv64@0.19.12': - optional: true - - '@esbuild/linux-s390x@0.18.20': - optional: true - - '@esbuild/linux-s390x@0.19.12': - optional: true - - '@esbuild/linux-x64@0.18.20': - optional: true - - '@esbuild/linux-x64@0.19.12': - optional: true - - '@esbuild/netbsd-x64@0.18.20': - optional: true - - '@esbuild/netbsd-x64@0.19.12': - optional: true - - '@esbuild/openbsd-x64@0.18.20': - optional: true - - '@esbuild/openbsd-x64@0.19.12': - optional: true - - '@esbuild/sunos-x64@0.18.20': - optional: true - - '@esbuild/sunos-x64@0.19.12': - optional: true - - '@esbuild/win32-arm64@0.18.20': - optional: true - - '@esbuild/win32-arm64@0.19.12': - optional: true - - '@esbuild/win32-ia32@0.18.20': - optional: true - - '@esbuild/win32-ia32@0.19.12': - optional: true - - '@esbuild/win32-x64@0.18.20': - optional: true - - '@esbuild/win32-x64@0.19.12': - optional: true - - '@smithy/abort-controller@3.1.1': - dependencies: - '@smithy/types': 3.3.0 - tslib: 2.6.3 - - '@smithy/config-resolver@3.0.4': - dependencies: - '@smithy/node-config-provider': 3.1.3 - '@smithy/types': 3.3.0 - '@smithy/util-config-provider': 3.0.0 - '@smithy/util-middleware': 3.0.3 - tslib: 2.6.3 - - '@smithy/core@2.2.4': - dependencies: - '@smithy/middleware-endpoint': 3.0.4 - '@smithy/middleware-retry': 3.0.7 - '@smithy/middleware-serde': 3.0.3 - '@smithy/protocol-http': 4.0.3 - '@smithy/smithy-client': 3.1.5 - '@smithy/types': 3.3.0 - '@smithy/util-middleware': 3.0.3 - tslib: 2.6.3 - - '@smithy/credential-provider-imds@3.1.3': - dependencies: - '@smithy/node-config-provider': 3.1.3 - '@smithy/property-provider': 3.1.3 - '@smithy/types': 3.3.0 - '@smithy/url-parser': 3.0.3 - tslib: 2.6.3 - - '@smithy/fetch-http-handler@3.2.0': - dependencies: - '@smithy/protocol-http': 4.0.3 - '@smithy/querystring-builder': 3.0.3 - '@smithy/types': 3.3.0 - '@smithy/util-base64': 3.0.0 - tslib: 2.6.3 - - '@smithy/hash-node@3.0.3': - dependencies: - '@smithy/types': 3.3.0 - '@smithy/util-buffer-from': 3.0.0 - '@smithy/util-utf8': 3.0.0 - tslib: 2.6.3 - - '@smithy/invalid-dependency@3.0.3': - dependencies: - '@smithy/types': 3.3.0 - tslib: 2.6.3 - - '@smithy/is-array-buffer@2.2.0': - dependencies: - tslib: 2.6.3 - - '@smithy/is-array-buffer@3.0.0': - dependencies: - tslib: 2.6.3 - - '@smithy/middleware-content-length@3.0.3': - dependencies: - '@smithy/protocol-http': 4.0.3 - '@smithy/types': 3.3.0 - tslib: 2.6.3 - - '@smithy/middleware-endpoint@3.0.4': - dependencies: - '@smithy/middleware-serde': 3.0.3 - '@smithy/node-config-provider': 3.1.3 - '@smithy/shared-ini-file-loader': 3.1.3 - '@smithy/types': 3.3.0 - '@smithy/url-parser': 3.0.3 - '@smithy/util-middleware': 3.0.3 - tslib: 2.6.3 - - '@smithy/middleware-retry@3.0.7': - dependencies: - '@smithy/node-config-provider': 3.1.3 - '@smithy/protocol-http': 4.0.3 - '@smithy/service-error-classification': 3.0.3 - '@smithy/smithy-client': 3.1.5 - '@smithy/types': 3.3.0 - '@smithy/util-middleware': 3.0.3 - '@smithy/util-retry': 3.0.3 - tslib: 2.6.3 - uuid: 9.0.1 - - '@smithy/middleware-serde@3.0.3': - dependencies: - '@smithy/types': 3.3.0 - tslib: 2.6.3 - - '@smithy/middleware-stack@3.0.3': - dependencies: - '@smithy/types': 3.3.0 - tslib: 2.6.3 - - '@smithy/node-config-provider@3.1.3': - dependencies: - '@smithy/property-provider': 3.1.3 - '@smithy/shared-ini-file-loader': 3.1.3 - '@smithy/types': 3.3.0 - tslib: 2.6.3 - - '@smithy/node-http-handler@3.1.1': - dependencies: - '@smithy/abort-controller': 3.1.1 - '@smithy/protocol-http': 4.0.3 - '@smithy/querystring-builder': 3.0.3 - '@smithy/types': 3.3.0 - tslib: 2.6.3 - - '@smithy/property-provider@3.1.3': - dependencies: - '@smithy/types': 3.3.0 - tslib: 2.6.3 - - '@smithy/protocol-http@4.0.3': - dependencies: - '@smithy/types': 3.3.0 - tslib: 2.6.3 - - '@smithy/querystring-builder@3.0.3': - dependencies: - '@smithy/types': 3.3.0 - '@smithy/util-uri-escape': 3.0.0 - tslib: 2.6.3 - - '@smithy/querystring-parser@3.0.3': - dependencies: - '@smithy/types': 3.3.0 - tslib: 2.6.3 - - '@smithy/service-error-classification@3.0.3': - dependencies: - '@smithy/types': 3.3.0 - - '@smithy/shared-ini-file-loader@3.1.3': - dependencies: - '@smithy/types': 3.3.0 - tslib: 2.6.3 - - '@smithy/signature-v4@3.1.2': - dependencies: - '@smithy/is-array-buffer': 3.0.0 - '@smithy/types': 3.3.0 - '@smithy/util-hex-encoding': 3.0.0 - '@smithy/util-middleware': 3.0.3 - '@smithy/util-uri-escape': 3.0.0 - '@smithy/util-utf8': 3.0.0 - tslib: 2.6.3 - - '@smithy/smithy-client@3.1.5': - dependencies: - '@smithy/middleware-endpoint': 3.0.4 - '@smithy/middleware-stack': 3.0.3 - '@smithy/protocol-http': 4.0.3 - '@smithy/types': 3.3.0 - '@smithy/util-stream': 3.0.5 - tslib: 2.6.3 - - '@smithy/types@3.3.0': - dependencies: - tslib: 2.6.3 - - '@smithy/url-parser@3.0.3': - dependencies: - '@smithy/querystring-parser': 3.0.3 - '@smithy/types': 3.3.0 - tslib: 2.6.3 - - '@smithy/util-base64@3.0.0': - dependencies: - '@smithy/util-buffer-from': 3.0.0 - '@smithy/util-utf8': 3.0.0 - tslib: 2.6.3 - - '@smithy/util-body-length-browser@3.0.0': - dependencies: - tslib: 2.6.3 - - '@smithy/util-body-length-node@3.0.0': - dependencies: - tslib: 2.6.3 - - '@smithy/util-buffer-from@2.2.0': - dependencies: - '@smithy/is-array-buffer': 2.2.0 - tslib: 2.6.3 - - '@smithy/util-buffer-from@3.0.0': - dependencies: - '@smithy/is-array-buffer': 3.0.0 - tslib: 2.6.3 - - '@smithy/util-config-provider@3.0.0': - dependencies: - tslib: 2.6.3 - - '@smithy/util-defaults-mode-browser@3.0.7': - dependencies: - '@smithy/property-provider': 3.1.3 - '@smithy/smithy-client': 3.1.5 - '@smithy/types': 3.3.0 - bowser: 2.11.0 - tslib: 2.6.3 - - '@smithy/util-defaults-mode-node@3.0.7': - dependencies: - '@smithy/config-resolver': 3.0.4 - '@smithy/credential-provider-imds': 3.1.3 - '@smithy/node-config-provider': 3.1.3 - '@smithy/property-provider': 3.1.3 - '@smithy/smithy-client': 3.1.5 - '@smithy/types': 3.3.0 - tslib: 2.6.3 - - '@smithy/util-endpoints@2.0.4': - dependencies: - '@smithy/node-config-provider': 3.1.3 - '@smithy/types': 3.3.0 - tslib: 2.6.3 - - '@smithy/util-hex-encoding@3.0.0': - dependencies: - tslib: 2.6.3 - - '@smithy/util-middleware@3.0.3': - dependencies: - '@smithy/types': 3.3.0 - tslib: 2.6.3 - - '@smithy/util-retry@3.0.3': - dependencies: - '@smithy/service-error-classification': 3.0.3 - '@smithy/types': 3.3.0 - tslib: 2.6.3 - - '@smithy/util-stream@3.0.5': - dependencies: - '@smithy/fetch-http-handler': 3.2.0 - '@smithy/node-http-handler': 3.1.1 - '@smithy/types': 3.3.0 - '@smithy/util-base64': 3.0.0 - '@smithy/util-buffer-from': 3.0.0 - '@smithy/util-hex-encoding': 3.0.0 - '@smithy/util-utf8': 3.0.0 - tslib: 2.6.3 - - '@smithy/util-uri-escape@3.0.0': - dependencies: - tslib: 2.6.3 - - '@smithy/util-utf8@2.3.0': - dependencies: - '@smithy/util-buffer-from': 2.2.0 - tslib: 2.6.3 - - '@smithy/util-utf8@3.0.0': - dependencies: - '@smithy/util-buffer-from': 3.0.0 - tslib: 2.6.3 - - '@types/aws-lambda@8.10.140': {} - - asynckit@0.4.0: {} - - axios@1.7.2: - dependencies: - follow-redirects: 1.15.6 - form-data: 4.0.0 - proxy-from-env: 1.1.0 - transitivePeerDependencies: - - debug - - bowser@2.11.0: {} - - buffer-from@1.1.2: {} - - combined-stream@1.0.8: - dependencies: - delayed-stream: 1.0.0 - - debug@4.3.5: - dependencies: - ms: 2.1.2 - - delayed-stream@1.0.0: {} - - drizzle-kit@0.22.8: - dependencies: - '@esbuild-kit/esm-loader': 2.6.5 - esbuild: 0.19.12 - esbuild-register: 3.5.0(esbuild@0.19.12) - transitivePeerDependencies: - - supports-color - - drizzle-orm@0.31.2(postgres@3.4.4): - optionalDependencies: - postgres: 3.4.4 - - esbuild-register@3.5.0(esbuild@0.19.12): - dependencies: - debug: 4.3.5 - esbuild: 0.19.12 - transitivePeerDependencies: - - supports-color - - esbuild@0.18.20: - optionalDependencies: - '@esbuild/android-arm': 0.18.20 - '@esbuild/android-arm64': 0.18.20 - '@esbuild/android-x64': 0.18.20 - '@esbuild/darwin-arm64': 0.18.20 - '@esbuild/darwin-x64': 0.18.20 - '@esbuild/freebsd-arm64': 0.18.20 - '@esbuild/freebsd-x64': 0.18.20 - '@esbuild/linux-arm': 0.18.20 - '@esbuild/linux-arm64': 0.18.20 - '@esbuild/linux-ia32': 0.18.20 - '@esbuild/linux-loong64': 0.18.20 - '@esbuild/linux-mips64el': 0.18.20 - '@esbuild/linux-ppc64': 0.18.20 - '@esbuild/linux-riscv64': 0.18.20 - '@esbuild/linux-s390x': 0.18.20 - '@esbuild/linux-x64': 0.18.20 - '@esbuild/netbsd-x64': 0.18.20 - '@esbuild/openbsd-x64': 0.18.20 - '@esbuild/sunos-x64': 0.18.20 - '@esbuild/win32-arm64': 0.18.20 - '@esbuild/win32-ia32': 0.18.20 - '@esbuild/win32-x64': 0.18.20 - - esbuild@0.19.12: - optionalDependencies: - '@esbuild/aix-ppc64': 0.19.12 - '@esbuild/android-arm': 0.19.12 - '@esbuild/android-arm64': 0.19.12 - '@esbuild/android-x64': 0.19.12 - '@esbuild/darwin-arm64': 0.19.12 - '@esbuild/darwin-x64': 0.19.12 - '@esbuild/freebsd-arm64': 0.19.12 - '@esbuild/freebsd-x64': 0.19.12 - '@esbuild/linux-arm': 0.19.12 - '@esbuild/linux-arm64': 0.19.12 - '@esbuild/linux-ia32': 0.19.12 - '@esbuild/linux-loong64': 0.19.12 - '@esbuild/linux-mips64el': 0.19.12 - '@esbuild/linux-ppc64': 0.19.12 - '@esbuild/linux-riscv64': 0.19.12 - '@esbuild/linux-s390x': 0.19.12 - '@esbuild/linux-x64': 0.19.12 - '@esbuild/netbsd-x64': 0.19.12 - '@esbuild/openbsd-x64': 0.19.12 - '@esbuild/sunos-x64': 0.19.12 - '@esbuild/win32-arm64': 0.19.12 - '@esbuild/win32-ia32': 0.19.12 - '@esbuild/win32-x64': 0.19.12 - - fast-xml-parser@4.2.5: - dependencies: - strnum: 1.0.5 - - follow-redirects@1.15.6: {} - - form-data@4.0.0: - dependencies: - asynckit: 0.4.0 - combined-stream: 1.0.8 - mime-types: 2.1.35 - - get-tsconfig@4.7.5: - dependencies: - resolve-pkg-maps: 1.0.0 - - lodash.merge@4.6.2: {} - - mime-db@1.52.0: {} - - mime-types@2.1.35: - dependencies: - mime-db: 1.52.0 - - ms@2.1.2: {} - - postgres@3.4.4: {} - - proxy-from-env@1.1.0: {} - - resolve-pkg-maps@1.0.0: {} - - source-map-support@0.5.21: - dependencies: - buffer-from: 1.1.2 - source-map: 0.6.1 - - source-map@0.6.1: {} - - strnum@1.0.5: {} - - tslib@2.6.3: {} - - typescript@5.5.2: {} - - uuid@9.0.1: {} diff --git a/backend/sst.config.ts b/backend/sst.config.ts deleted file mode 100644 index 86dfd0a..0000000 --- a/backend/sst.config.ts +++ /dev/null @@ -1,17 +0,0 @@ -/// - -export default $config({ - app(input) { - return { - name: "a-list-backend", - removal: input?.stage === "production" ? "retain" : "remove", - home: "aws", - }; - }, - async run() { - const bucket = new sst.aws.Bucket("Bucket"); - - const api = new sst.aws.ApiGatewayV2("Api"); - api.route("GET /", "functions/list-mixes.handler"); - }, -}); diff --git a/backend/tsconfig.json b/backend/tsconfig.json deleted file mode 100644 index 2f98042..0000000 --- a/backend/tsconfig.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "compilerOptions": { - "esModuleInterop": true - } -} diff --git a/old/package.json b/package.json similarity index 100% rename from old/package.json rename to package.json diff --git a/old/packages/core/index.ts b/packages/core/index.ts similarity index 100% rename from old/packages/core/index.ts rename to packages/core/index.ts diff --git a/old/packages/core/package.json b/packages/core/package.json similarity index 100% rename from old/packages/core/package.json rename to packages/core/package.json diff --git a/old/packages/core/src/model/entry.ts b/packages/core/src/model/entry.ts similarity index 100% rename from old/packages/core/src/model/entry.ts rename to packages/core/src/model/entry.ts diff --git a/old/packages/core/src/services/database.service.ts b/packages/core/src/services/database.service.ts similarity index 100% rename from old/packages/core/src/services/database.service.ts rename to packages/core/src/services/database.service.ts diff --git a/old/packages/core/sst-env.d.ts b/packages/core/sst-env.d.ts similarity index 100% rename from old/packages/core/sst-env.d.ts rename to packages/core/sst-env.d.ts diff --git a/old/packages/core/tsconfig.json b/packages/core/tsconfig.json similarity index 100% rename from old/packages/core/tsconfig.json rename to packages/core/tsconfig.json diff --git a/old/packages/functions/package.json b/packages/functions/package.json similarity index 100% rename from old/packages/functions/package.json rename to packages/functions/package.json diff --git a/old/packages/functions/src/add-entry/function.ts b/packages/functions/src/add-entry/function.ts similarity index 100% rename from old/packages/functions/src/add-entry/function.ts rename to packages/functions/src/add-entry/function.ts diff --git a/old/packages/functions/src/get-entries/function.ts b/packages/functions/src/get-entries/function.ts similarity index 100% rename from old/packages/functions/src/get-entries/function.ts rename to packages/functions/src/get-entries/function.ts diff --git a/old/packages/functions/src/podcast-feed/function.ts b/packages/functions/src/podcast-feed/function.ts similarity index 100% rename from old/packages/functions/src/podcast-feed/function.ts rename to packages/functions/src/podcast-feed/function.ts diff --git a/old/packages/functions/src/seed-db/function.ts b/packages/functions/src/seed-db/function.ts similarity index 100% rename from old/packages/functions/src/seed-db/function.ts rename to packages/functions/src/seed-db/function.ts diff --git a/old/packages/functions/sst-env.d.ts b/packages/functions/sst-env.d.ts similarity index 100% rename from old/packages/functions/sst-env.d.ts rename to packages/functions/sst-env.d.ts diff --git a/old/packages/functions/tsconfig.json b/packages/functions/tsconfig.json similarity index 100% rename from old/packages/functions/tsconfig.json rename to packages/functions/tsconfig.json diff --git a/old/packages/web/.eslintrc.json b/packages/web/.eslintrc.json similarity index 100% rename from old/packages/web/.eslintrc.json rename to packages/web/.eslintrc.json diff --git a/old/packages/web/.gitignore b/packages/web/.gitignore similarity index 100% rename from old/packages/web/.gitignore rename to packages/web/.gitignore diff --git a/old/packages/web/README.md b/packages/web/README.md similarity index 100% rename from old/packages/web/README.md rename to packages/web/README.md diff --git a/old/packages/web/app/favicon.ico b/packages/web/app/favicon.ico similarity index 100% rename from old/packages/web/app/favicon.ico rename to packages/web/app/favicon.ico diff --git a/old/packages/web/app/globals.css b/packages/web/app/globals.css similarity index 100% rename from old/packages/web/app/globals.css rename to packages/web/app/globals.css diff --git a/old/packages/web/app/layout.tsx b/packages/web/app/layout.tsx similarity index 100% rename from old/packages/web/app/layout.tsx rename to packages/web/app/layout.tsx diff --git a/old/packages/web/app/mixes/[slug]/page.tsx b/packages/web/app/mixes/[slug]/page.tsx similarity index 100% rename from old/packages/web/app/mixes/[slug]/page.tsx rename to packages/web/app/mixes/[slug]/page.tsx diff --git a/old/packages/web/app/page.tsx b/packages/web/app/page.tsx similarity index 100% rename from old/packages/web/app/page.tsx rename to packages/web/app/page.tsx diff --git a/old/packages/web/components.json b/packages/web/components.json similarity index 100% rename from old/packages/web/components.json rename to packages/web/components.json diff --git a/old/packages/web/components/mix-list.tsx b/packages/web/components/mix-list.tsx similarity index 100% rename from old/packages/web/components/mix-list.tsx rename to packages/web/components/mix-list.tsx diff --git a/old/packages/web/components/player.tsx b/packages/web/components/player.tsx similarity index 100% rename from old/packages/web/components/player.tsx rename to packages/web/components/player.tsx diff --git a/old/packages/web/components/ui/button.tsx b/packages/web/components/ui/button.tsx similarity index 100% rename from old/packages/web/components/ui/button.tsx rename to packages/web/components/ui/button.tsx diff --git a/old/packages/web/components/ui/card.tsx b/packages/web/components/ui/card.tsx similarity index 100% rename from old/packages/web/components/ui/card.tsx rename to packages/web/components/ui/card.tsx diff --git a/old/packages/web/lib/utils.ts b/packages/web/lib/utils.ts similarity index 100% rename from old/packages/web/lib/utils.ts rename to packages/web/lib/utils.ts diff --git a/old/packages/web/next.config.mjs b/packages/web/next.config.mjs similarity index 100% rename from old/packages/web/next.config.mjs rename to packages/web/next.config.mjs diff --git a/old/packages/web/package.json b/packages/web/package.json similarity index 100% rename from old/packages/web/package.json rename to packages/web/package.json diff --git a/old/packages/web/postcss.config.js b/packages/web/postcss.config.js similarity index 100% rename from old/packages/web/postcss.config.js rename to packages/web/postcss.config.js diff --git a/old/packages/web/public/next.svg b/packages/web/public/next.svg similarity index 100% rename from old/packages/web/public/next.svg rename to packages/web/public/next.svg diff --git a/old/packages/web/public/placeholder.svg b/packages/web/public/placeholder.svg similarity index 100% rename from old/packages/web/public/placeholder.svg rename to packages/web/public/placeholder.svg diff --git a/old/packages/web/public/vercel.svg b/packages/web/public/vercel.svg similarity index 100% rename from old/packages/web/public/vercel.svg rename to packages/web/public/vercel.svg diff --git a/old/packages/web/sst-env.d.ts b/packages/web/sst-env.d.ts similarity index 100% rename from old/packages/web/sst-env.d.ts rename to packages/web/sst-env.d.ts diff --git a/old/packages/web/tailwind.config.ts b/packages/web/tailwind.config.ts similarity index 100% rename from old/packages/web/tailwind.config.ts rename to packages/web/tailwind.config.ts diff --git a/old/packages/web/tsconfig.json b/packages/web/tsconfig.json similarity index 100% rename from old/packages/web/tsconfig.json rename to packages/web/tsconfig.json diff --git a/old/pnpm-lock.yaml b/pnpm-lock.yaml similarity index 100% rename from old/pnpm-lock.yaml rename to pnpm-lock.yaml diff --git a/old/pnpm-workspace.yaml b/pnpm-workspace.yaml similarity index 100% rename from old/pnpm-workspace.yaml rename to pnpm-workspace.yaml diff --git a/scripts/move-assets-to-new-backend.py b/scripts/move-assets-to-new-backend.py deleted file mode 100644 index e472035..0000000 --- a/scripts/move-assets-to-new-backend.py +++ /dev/null @@ -1,55 +0,0 @@ -import boto3 -import mutagen.mp3 -import requests -import psycopg2 -import mutagen -import csv - -public_assets_bucket = "com.mattwyskiel.assets" -new_assets_bucket = "a-list-backend-production-bucket-bbxortox" - -db = psycopg2.connect( - "postgresql://postgres.diikpazixhiuctfgfjtq:Zb7EwXqF5Ak4ygWo@aws-0-us-east-1.pooler.supabase.com:6543/postgres" -) -cur = db.cursor() - - -s3 = boto3.client("s3") - -old_feed = requests.get("https://api.mattwyskiel.com/a-list/").json() - -insertables = [] - -for item in old_feed: - print(f"Processing {item['slug']}") - print(f"Downloading {item['audioUrl']}") - # download file from audio_url - file = requests.get(item["audioUrl"]) - asset = item["audioUrl"].split("/")[-1] - with open(asset, "wb") as f: - f.write(file.content) - print(f"downloaded {asset} to disk") - ext = asset.split(".")[-1] - # print(f"Uploading {asset} to s3 as {item['slug']}.{ext}") - # s3.copy_object( - # Bucket=new_assets_bucket, - # Key=f"{item['slug']}.{ext}", - # CopySource=f"{public_assets_bucket}/a-list/{asset}", - # ) - # print(f"Uploaded {item['slug']}.{ext} to s3") - audio_file = mutagen.mp3.MP3(asset) - insertables.append( - { - "asset_id": 0, - "mix_id": item["id"], - "key": f"{item['slug']}.{ext}", - "mime_type": audio_file.mime[0], - "duration_seconds": int(audio_file.info.length), - } - ) - -field_names = insertables[0].keys() -with open("insertables.csv", "w") as f: - writer = csv.DictWriter(f, fieldnames=field_names) - writer.writeheader() - writer.writerows(insertables) diff --git a/old/sst.config.ts b/sst.config.ts similarity index 100% rename from old/sst.config.ts rename to sst.config.ts diff --git a/old/stacks/MyStack.ts b/stacks/MyStack.ts similarity index 100% rename from old/stacks/MyStack.ts rename to stacks/MyStack.ts diff --git a/old/tsconfig.json b/tsconfig.json similarity index 100% rename from old/tsconfig.json rename to tsconfig.json