From d8131a0c167a65962de10bfee8d31703d971172c Mon Sep 17 00:00:00 2001 From: Kat Schelonka Date: Thu, 9 Jan 2025 16:45:16 -0800 Subject: [PATCH 01/14] feat(auth): [WIP] attempt at JWT coprocessor POC --- .vscode/launch.json | 11 ++ pnpm-lock.yaml | 170 ++++++++++++--------- servers/auth-coprocessor/eslint.config.mjs | 3 + servers/auth-coprocessor/jest.config.js | 6 + servers/auth-coprocessor/package.json | 33 ++++ servers/auth-coprocessor/src/index.ts | 62 ++++++++ servers/auth-coprocessor/tsconfig.json | 20 +++ servers/client-api/config/router.yaml | 11 ++ 8 files changed, 246 insertions(+), 70 deletions(-) create mode 100644 servers/auth-coprocessor/eslint.config.mjs create mode 100644 servers/auth-coprocessor/jest.config.js create mode 100644 servers/auth-coprocessor/package.json create mode 100644 servers/auth-coprocessor/src/index.ts create mode 100644 servers/auth-coprocessor/tsconfig.json diff --git a/.vscode/launch.json b/.vscode/launch.json index 3e425e522..62aab5e09 100644 --- a/.vscode/launch.json +++ b/.vscode/launch.json @@ -4,6 +4,7 @@ // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 "version": "0.2.0", "configurations": [ + { "type": "node", "request": "attach", @@ -14,6 +15,16 @@ "localRoot": "${workspaceFolder}/servers/v3-proxy-api/src", "outFiles": ["${workspaceFolder}/servers/v3-proxy-api/dist/**/*.js"] }, + { + "type": "node", + "request": "attach", + "name": "Attach to auth-coprocessor", + "remoteRoot": null, + "port": 9229, + "sourceMaps": true, + "localRoot": "${workspaceFolder}/servers/auth-coprocessor/src", + "outFiles": ["${workspaceFolder}/servers/auth-coprocessor/dist/**/*.js"] + }, { "type": "node", "request": "attach", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 8dbf00855..ff875ff51 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -36,7 +36,7 @@ importers: devDependencies: '@commitlint/cli': specifier: 19.6.0 - version: 19.6.0(@types/node@22.10.5)(typescript@5.8.0-dev.20250107) + version: 19.6.0(@types/node@22.10.5)(typescript@5.8.0-dev.20250109) '@commitlint/config-conventional': specifier: ^19.6.0 version: 19.6.0 @@ -45,7 +45,7 @@ importers: version: link:packages/eslint-config syncpack: specifier: ^13.0.0 - version: 13.0.0(typescript@5.8.0-dev.20250107) + version: 13.0.0(typescript@5.8.0-dev.20250109) tsconfig: specifier: workspace:* version: link:packages/tsconfig @@ -75,7 +75,7 @@ importers: version: 0.20.11(constructs@10.4.2) cdktf-cli: specifier: 0.20.11 - version: 0.20.11(encoding@0.1.13)(ink@3.2.0(react@18.3.1))(react@18.3.1) + version: 0.20.11(encoding@0.1.13)(ink@5.1.0(react-devtools-core@4.28.5)(react@18.3.1))(react@18.3.1) constructs: specifier: 10.4.2 version: 10.4.2 @@ -1083,7 +1083,7 @@ importers: version: 14.0.0-beta.11 ts-jest: specifier: 29.2.5 - version: 29.2.5(@babel/core@7.26.0)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.26.0))(esbuild@0.24.2)(jest@29.7.0(@types/node@22.10.5)(ts-node@10.9.2(@types/node@22.10.5)(typescript@5.7.2)))(typescript@5.7.2) + version: 29.2.5(@babel/core@7.26.0)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.26.0))(jest@29.7.0(@types/node@22.10.5)(ts-node@10.9.2(@types/node@22.10.5)(typescript@5.7.2)))(typescript@5.7.2) ts-node: specifier: 10.9.2 version: 10.9.2(@types/node@22.10.5)(typescript@5.7.2) @@ -1135,7 +1135,7 @@ importers: version: 14.0.0-beta.11 ts-jest: specifier: 29.2.5 - version: 29.2.5(@babel/core@7.26.0)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.26.0))(esbuild@0.24.2)(jest@29.7.0(@types/node@22.10.5)(ts-node@10.9.2(@types/node@22.10.5)(typescript@5.7.2)))(typescript@5.7.2) + version: 29.2.5(@babel/core@7.26.0)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.26.0))(jest@29.7.0(@types/node@22.10.5)(ts-node@10.9.2(@types/node@22.10.5)(typescript@5.7.2)))(typescript@5.7.2) ts-node: specifier: 10.9.2 version: 10.9.2(@types/node@22.10.5)(typescript@5.7.2) @@ -1187,7 +1187,7 @@ importers: version: 14.0.0-beta.11 ts-jest: specifier: 29.2.5 - version: 29.2.5(@babel/core@7.26.0)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.26.0))(esbuild@0.24.2)(jest@29.7.0(@types/node@22.10.5)(ts-node@10.9.2(@types/node@22.10.5)(typescript@5.7.2)))(typescript@5.7.2) + version: 29.2.5(@babel/core@7.26.0)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.26.0))(jest@29.7.0(@types/node@22.10.5)(ts-node@10.9.2(@types/node@22.10.5)(typescript@5.7.2)))(typescript@5.7.2) ts-node: specifier: 10.9.2 version: 10.9.2(@types/node@22.10.5)(typescript@5.7.2) @@ -1230,7 +1230,7 @@ importers: version: 14.0.0-beta.11 ts-jest: specifier: 29.2.5 - version: 29.2.5(@babel/core@7.26.0)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.26.0))(esbuild@0.24.2)(jest@29.7.0(@types/node@22.10.5)(ts-node@10.9.2(@types/node@22.10.5)(typescript@5.7.2)))(typescript@5.7.2) + version: 29.2.5(@babel/core@7.26.0)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.26.0))(jest@29.7.0(@types/node@22.10.5)(ts-node@10.9.2(@types/node@22.10.5)(typescript@5.7.2)))(typescript@5.7.2) ts-node: specifier: 10.9.2 version: 10.9.2(@types/node@22.10.5)(typescript@5.7.2) @@ -1294,7 +1294,7 @@ importers: version: 3.1.7 ts-jest: specifier: 29.2.5 - version: 29.2.5(@babel/core@7.26.0)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.26.0))(esbuild@0.24.2)(jest@29.7.0(@types/node@22.10.5)(ts-node@10.9.2(@types/node@22.10.5)(typescript@5.7.2)))(typescript@5.7.2) + version: 29.2.5(@babel/core@7.26.0)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.26.0))(jest@29.7.0(@types/node@22.10.5)(ts-node@10.9.2(@types/node@22.10.5)(typescript@5.7.2)))(typescript@5.7.2) ts-node: specifier: 10.9.2 version: 10.9.2(@types/node@22.10.5)(typescript@5.7.2) @@ -1346,7 +1346,7 @@ importers: version: 3.1.7 ts-jest: specifier: 29.2.5 - version: 29.2.5(@babel/core@7.26.0)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.26.0))(esbuild@0.24.2)(jest@29.7.0(@types/node@22.10.5)(ts-node@10.9.2(@types/node@22.10.5)(typescript@5.7.2)))(typescript@5.7.2) + version: 29.2.5(@babel/core@7.26.0)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.26.0))(jest@29.7.0(@types/node@22.10.5)(ts-node@10.9.2(@types/node@22.10.5)(typescript@5.7.2)))(typescript@5.7.2) ts-node: specifier: 10.9.2 version: 10.9.2(@types/node@22.10.5)(typescript@5.7.2) @@ -1413,7 +1413,7 @@ importers: version: 29.7.0(@types/node@22.10.5)(ts-node@10.9.2(@types/node@22.10.5)(typescript@5.7.2)) ts-jest: specifier: 29.2.5 - version: 29.2.5(@babel/core@7.26.0)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.26.0))(esbuild@0.24.2)(jest@29.7.0(@types/node@22.10.5)(ts-node@10.9.2(@types/node@22.10.5)(typescript@5.7.2)))(typescript@5.7.2) + version: 29.2.5(@babel/core@7.26.0)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.26.0))(jest@29.7.0(@types/node@22.10.5)(ts-node@10.9.2(@types/node@22.10.5)(typescript@5.7.2)))(typescript@5.7.2) ts-node: specifier: 10.9.2 version: 10.9.2(@types/node@22.10.5)(typescript@5.7.2) @@ -1462,7 +1462,7 @@ importers: version: 29.7.0(@types/node@22.10.5)(ts-node@10.9.2(@types/node@22.10.5)(typescript@5.7.2)) ts-jest: specifier: 29.2.5 - version: 29.2.5(@babel/core@7.26.0)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.26.0))(esbuild@0.24.2)(jest@29.7.0(@types/node@22.10.5)(ts-node@10.9.2(@types/node@22.10.5)(typescript@5.7.2)))(typescript@5.7.2) + version: 29.2.5(@babel/core@7.26.0)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.26.0))(jest@29.7.0(@types/node@22.10.5)(ts-node@10.9.2(@types/node@22.10.5)(typescript@5.7.2)))(typescript@5.7.2) ts-node: specifier: 10.9.2 version: 10.9.2(@types/node@22.10.5)(typescript@5.7.2) @@ -1511,7 +1511,7 @@ importers: version: 14.0.0-beta.11 ts-jest: specifier: 29.2.5 - version: 29.2.5(@babel/core@7.26.0)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.26.0))(esbuild@0.24.2)(jest@29.7.0(@types/node@22.10.5)(ts-node@10.9.2(@types/node@22.10.5)(typescript@5.7.2)))(typescript@5.7.2) + version: 29.2.5(@babel/core@7.26.0)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.26.0))(jest@29.7.0(@types/node@22.10.5)(ts-node@10.9.2(@types/node@22.10.5)(typescript@5.7.2)))(typescript@5.7.2) ts-node: specifier: 10.9.2 version: 10.9.2(@types/node@22.10.5)(typescript@5.7.2) @@ -1575,7 +1575,7 @@ importers: version: 3.1.7 ts-jest: specifier: 29.2.5 - version: 29.2.5(@babel/core@7.26.0)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.26.0))(esbuild@0.24.2)(jest@29.7.0(@types/node@22.10.5)(ts-node@10.9.2(@types/node@22.10.5)(typescript@5.7.2)))(typescript@5.7.2) + version: 29.2.5(@babel/core@7.26.0)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.26.0))(jest@29.7.0(@types/node@22.10.5)(ts-node@10.9.2(@types/node@22.10.5)(typescript@5.7.2)))(typescript@5.7.2) ts-node: specifier: 10.9.2 version: 10.9.2(@types/node@22.10.5)(typescript@5.7.2) @@ -1633,7 +1633,7 @@ importers: version: 14.0.0-beta.11 ts-jest: specifier: 29.2.5 - version: 29.2.5(@babel/core@7.26.0)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.26.0))(esbuild@0.24.2)(jest@29.7.0(@types/node@22.10.5)(ts-node@10.9.2(@types/node@22.10.5)(typescript@5.7.2)))(typescript@5.7.2) + version: 29.2.5(@babel/core@7.26.0)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.26.0))(jest@29.7.0(@types/node@22.10.5)(ts-node@10.9.2(@types/node@22.10.5)(typescript@5.7.2)))(typescript@5.7.2) ts-node: specifier: 10.9.2 version: 10.9.2(@types/node@22.10.5)(typescript@5.7.2) @@ -1697,7 +1697,7 @@ importers: version: 14.0.0-beta.11 ts-jest: specifier: 29.2.5 - version: 29.2.5(@babel/core@7.26.0)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.26.0))(esbuild@0.24.2)(jest@29.7.0(@types/node@22.10.5)(ts-node@10.9.2(@types/node@22.10.5)(typescript@5.7.2)))(typescript@5.7.2) + version: 29.2.5(@babel/core@7.26.0)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.26.0))(jest@29.7.0(@types/node@22.10.5)(ts-node@10.9.2(@types/node@22.10.5)(typescript@5.7.2)))(typescript@5.7.2) ts-node: specifier: 10.9.2 version: 10.9.2(@types/node@22.10.5)(typescript@5.7.2) @@ -1743,7 +1743,7 @@ importers: version: 14.0.0-beta.11 ts-jest: specifier: 29.2.5 - version: 29.2.5(@babel/core@7.26.0)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.26.0))(esbuild@0.24.2)(jest@29.7.0(@types/node@22.10.5)(ts-node@10.9.2(@types/node@22.10.5)(typescript@5.7.2)))(typescript@5.7.2) + version: 29.2.5(@babel/core@7.26.0)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.26.0))(jest@29.7.0(@types/node@22.10.5)(ts-node@10.9.2(@types/node@22.10.5)(typescript@5.7.2)))(typescript@5.7.2) ts-node: specifier: 10.9.2 version: 10.9.2(@types/node@22.10.5)(typescript@5.7.2) @@ -1789,7 +1789,7 @@ importers: version: 14.0.0-beta.11 ts-jest: specifier: 29.2.5 - version: 29.2.5(@babel/core@7.26.0)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.26.0))(esbuild@0.24.2)(jest@29.7.0(@types/node@22.10.5)(ts-node@10.9.2(@types/node@22.10.5)(typescript@5.7.2)))(typescript@5.7.2) + version: 29.2.5(@babel/core@7.26.0)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.26.0))(jest@29.7.0(@types/node@22.10.5)(ts-node@10.9.2(@types/node@22.10.5)(typescript@5.7.2)))(typescript@5.7.2) ts-node: specifier: 10.9.2 version: 10.9.2(@types/node@22.10.5)(typescript@5.7.2) @@ -1847,7 +1847,7 @@ importers: version: 14.0.0-beta.11 ts-jest: specifier: 29.2.5 - version: 29.2.5(@babel/core@7.26.0)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.26.0))(esbuild@0.24.2)(jest@29.7.0(@types/node@22.10.5)(ts-node@10.9.2(@types/node@22.10.5)(typescript@5.7.2)))(typescript@5.7.2) + version: 29.2.5(@babel/core@7.26.0)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.26.0))(jest@29.7.0(@types/node@22.10.5)(ts-node@10.9.2(@types/node@22.10.5)(typescript@5.7.2)))(typescript@5.7.2) ts-node: specifier: 10.9.2 version: 10.9.2(@types/node@22.10.5)(typescript@5.7.2) @@ -1938,7 +1938,7 @@ importers: version: 8.0.2(semantic-release@24.2.0(typescript@5.7.2)) ts-jest: specifier: 29.2.5 - version: 29.2.5(@babel/core@7.26.0)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.26.0))(esbuild@0.24.2)(jest@29.7.0(@types/node@22.10.5)(ts-node@10.9.2(@types/node@22.10.5)(typescript@5.7.2)))(typescript@5.7.2) + version: 29.2.5(@babel/core@7.26.0)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.26.0))(jest@29.7.0(@types/node@22.10.5)(ts-node@10.9.2(@types/node@22.10.5)(typescript@5.7.2)))(typescript@5.7.2) ts-node: specifier: 10.9.2 version: 10.9.2(@types/node@22.10.5)(typescript@5.7.2) @@ -1978,7 +1978,7 @@ importers: version: 29.7.0(@types/node@22.10.5)(ts-node@10.9.2(@types/node@22.10.5)(typescript@5.7.2)) ts-jest: specifier: 29.2.5 - version: 29.2.5(@babel/core@7.26.0)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.26.0))(esbuild@0.24.2)(jest@29.7.0(@types/node@22.10.5)(ts-node@10.9.2(@types/node@22.10.5)(typescript@5.7.2)))(typescript@5.7.2) + version: 29.2.5(@babel/core@7.26.0)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.26.0))(jest@29.7.0(@types/node@22.10.5)(ts-node@10.9.2(@types/node@22.10.5)(typescript@5.7.2)))(typescript@5.7.2) ts-node: specifier: 10.9.2 version: 10.9.2(@types/node@22.10.5)(typescript@5.7.2) @@ -2084,7 +2084,7 @@ importers: version: 8.0.2(semantic-release@24.2.0(typescript@5.7.2)) ts-jest: specifier: 29.2.5 - version: 29.2.5(@babel/core@7.26.0)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.26.0))(esbuild@0.24.2)(jest@29.7.0(@types/node@22.10.5)(ts-node@10.9.2(@types/node@22.10.5)(typescript@5.7.2)))(typescript@5.7.2) + version: 29.2.5(@babel/core@7.26.0)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.26.0))(jest@29.7.0(@types/node@22.10.5)(ts-node@10.9.2(@types/node@22.10.5)(typescript@5.7.2)))(typescript@5.7.2) ts-json-schema-generator: specifier: 2.3.0 version: 2.3.0 @@ -2133,7 +2133,7 @@ importers: version: 8.0.2(semantic-release@24.2.0(typescript@5.7.2)) ts-jest: specifier: 29.2.5 - version: 29.2.5(@babel/core@7.26.0)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.26.0))(esbuild@0.24.2)(jest@29.7.0(@types/node@22.10.5)(ts-node@10.9.2(@types/node@22.10.5)(typescript@5.7.2)))(typescript@5.7.2) + version: 29.2.5(@babel/core@7.26.0)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.26.0))(jest@29.7.0(@types/node@22.10.5)(ts-node@10.9.2(@types/node@22.10.5)(typescript@5.7.2)))(typescript@5.7.2) ts-node: specifier: 10.9.2 version: 10.9.2(@types/node@22.10.5)(typescript@5.7.2) @@ -2182,7 +2182,7 @@ importers: version: 8.0.2(semantic-release@24.2.0(typescript@5.7.2)) ts-jest: specifier: 29.2.5 - version: 29.2.5(@babel/core@7.26.0)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.26.0))(esbuild@0.24.2)(jest@29.7.0(@types/node@22.10.5)(ts-node@10.9.2(@types/node@22.10.5)(typescript@5.7.2)))(typescript@5.7.2) + version: 29.2.5(@babel/core@7.26.0)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.26.0))(jest@29.7.0(@types/node@22.10.5)(ts-node@10.9.2(@types/node@22.10.5)(typescript@5.7.2)))(typescript@5.7.2) ts-node: specifier: 10.9.2 version: 10.9.2(@types/node@22.10.5)(typescript@5.7.2) @@ -2237,7 +2237,7 @@ importers: version: 29.7.0(@types/node@22.10.5)(ts-node@10.9.2(@types/node@22.10.5)(typescript@5.7.2)) ts-jest: specifier: 29.2.5 - version: 29.2.5(@babel/core@7.26.0)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.26.0))(esbuild@0.24.2)(jest@29.7.0(@types/node@22.10.5)(ts-node@10.9.2(@types/node@22.10.5)(typescript@5.7.2)))(typescript@5.7.2) + version: 29.2.5(@babel/core@7.26.0)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.26.0))(jest@29.7.0(@types/node@22.10.5)(ts-node@10.9.2(@types/node@22.10.5)(typescript@5.7.2)))(typescript@5.7.2) ts-node: specifier: 10.9.2 version: 10.9.2(@types/node@22.10.5)(typescript@5.7.2) @@ -2295,7 +2295,7 @@ importers: version: 8.0.2(semantic-release@24.2.0(typescript@5.7.2)) ts-jest: specifier: 29.2.5 - version: 29.2.5(@babel/core@7.26.0)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.26.0))(esbuild@0.24.2)(jest@29.7.0(@types/node@22.10.5)(ts-node@10.9.2(@types/node@22.10.5)(typescript@5.7.2)))(typescript@5.7.2) + version: 29.2.5(@babel/core@7.26.0)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.26.0))(jest@29.7.0(@types/node@22.10.5)(ts-node@10.9.2(@types/node@22.10.5)(typescript@5.7.2)))(typescript@5.7.2) ts-node: specifier: 10.9.2 version: 10.9.2(@types/node@22.10.5)(typescript@5.7.2) @@ -2347,7 +2347,7 @@ importers: version: 8.0.2(semantic-release@24.2.0(typescript@5.7.2)) ts-jest: specifier: 29.2.5 - version: 29.2.5(@babel/core@7.26.0)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.26.0))(esbuild@0.24.2)(jest@29.7.0(@types/node@22.10.5)(ts-node@10.9.2(@types/node@22.10.5)(typescript@5.7.2)))(typescript@5.7.2) + version: 29.2.5(@babel/core@7.26.0)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.26.0))(jest@29.7.0(@types/node@22.10.5)(ts-node@10.9.2(@types/node@22.10.5)(typescript@5.7.2)))(typescript@5.7.2) ts-node: specifier: 10.9.2 version: 10.9.2(@types/node@22.10.5)(typescript@5.7.2) @@ -2402,7 +2402,7 @@ importers: version: 8.0.2(semantic-release@24.2.0(typescript@5.7.2)) ts-jest: specifier: 29.2.5 - version: 29.2.5(@babel/core@7.26.0)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.26.0))(esbuild@0.24.2)(jest@29.7.0(@types/node@22.10.5)(ts-node@10.9.2(@types/node@22.10.5)(typescript@5.7.2)))(typescript@5.7.2) + version: 29.2.5(@babel/core@7.26.0)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.26.0))(jest@29.7.0(@types/node@22.10.5)(ts-node@10.9.2(@types/node@22.10.5)(typescript@5.7.2)))(typescript@5.7.2) ts-node: specifier: 10.9.2 version: 10.9.2(@types/node@22.10.5)(typescript@5.7.2) @@ -2444,7 +2444,7 @@ importers: version: 0.20.11(constructs@10.4.2) cdktf-cli: specifier: 0.20.11 - version: 0.20.11(encoding@0.1.13)(ink@5.1.0(react-devtools-core@4.28.5)(react@18.3.1))(react@18.3.1) + version: 0.20.11(encoding@0.1.13)(ink@3.2.0(react@18.3.1))(react@18.3.1) constructs: specifier: 10.4.2 version: 10.4.2 @@ -2487,7 +2487,7 @@ importers: version: 8.0.2(semantic-release@24.2.0(typescript@5.7.2)) ts-jest: specifier: 29.2.5 - version: 29.2.5(@babel/core@7.26.0)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.26.0))(esbuild@0.24.2)(jest@29.7.0(@types/node@22.10.5)(ts-node@10.9.2(@types/node@22.10.5)(typescript@5.7.2)))(typescript@5.7.2) + version: 29.2.5(@babel/core@7.26.0)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.26.0))(jest@29.7.0(@types/node@22.10.5)(ts-node@10.9.2(@types/node@22.10.5)(typescript@5.7.2)))(typescript@5.7.2) ts-node: specifier: 10.9.2 version: 10.9.2(@types/node@22.10.5)(typescript@5.7.2) @@ -2608,7 +2608,7 @@ importers: version: 8.0.2(semantic-release@24.2.0(typescript@5.7.2)) ts-jest: specifier: 29.2.5 - version: 29.2.5(@babel/core@7.26.0)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.26.0))(esbuild@0.24.2)(jest@29.7.0(@types/node@22.10.5)(ts-node@10.9.2(@types/node@22.10.5)(typescript@5.7.2)))(typescript@5.7.2) + version: 29.2.5(@babel/core@7.26.0)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.26.0))(jest@29.7.0(@types/node@22.10.5)(ts-node@10.9.2(@types/node@22.10.5)(typescript@5.7.2)))(typescript@5.7.2) ts-node: specifier: 10.9.2 version: 10.9.2(@types/node@22.10.5)(typescript@5.7.2) @@ -2660,7 +2660,7 @@ importers: version: 8.0.2(semantic-release@24.2.0(typescript@5.7.2)) ts-jest: specifier: 29.2.5 - version: 29.2.5(@babel/core@7.26.0)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.26.0))(esbuild@0.24.2)(jest@29.7.0(@types/node@22.10.5)(ts-node@10.9.2(@types/node@22.10.5)(typescript@5.7.2)))(typescript@5.7.2) + version: 29.2.5(@babel/core@7.26.0)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.26.0))(jest@29.7.0(@types/node@22.10.5)(ts-node@10.9.2(@types/node@22.10.5)(typescript@5.7.2)))(typescript@5.7.2) ts-node: specifier: 10.9.2 version: 10.9.2(@types/node@22.10.5)(typescript@5.7.2) @@ -2808,7 +2808,7 @@ importers: version: 7.0.0 ts-jest: specifier: 29.2.5 - version: 29.2.5(@babel/core@7.26.0)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.26.0))(esbuild@0.24.2)(jest@29.7.0(@types/node@22.10.5)(ts-node@10.9.2(@types/node@22.10.5)(typescript@5.7.2)))(typescript@5.7.2) + version: 29.2.5(@babel/core@7.26.0)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.26.0))(jest@29.7.0(@types/node@22.10.5)(ts-node@10.9.2(@types/node@22.10.5)(typescript@5.7.2)))(typescript@5.7.2) ts-node: specifier: 10.9.2 version: 10.9.2(@types/node@22.10.5)(typescript@5.7.2) @@ -2962,7 +2962,38 @@ importers: version: 7.0.0 ts-jest: specifier: 29.2.5 - version: 29.2.5(@babel/core@7.26.0)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.26.0))(esbuild@0.24.2)(jest@29.7.0(@types/node@22.10.5)(ts-node@10.9.2(@types/node@22.10.5)(typescript@5.7.2)))(typescript@5.7.2) + version: 29.2.5(@babel/core@7.26.0)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.26.0))(jest@29.7.0(@types/node@22.10.5)(ts-node@10.9.2(@types/node@22.10.5)(typescript@5.7.2)))(typescript@5.7.2) + ts-node: + specifier: 10.9.2 + version: 10.9.2(@types/node@22.10.5)(typescript@5.7.2) + tsconfig: + specifier: workspace:* + version: link:../../packages/tsconfig + typescript: + specifier: 5.7.2 + version: 5.7.2 + + servers/auth-coprocessor: + dependencies: + express: + specifier: 4.21.2 + version: 4.21.2 + multer: + specifier: 1.4.5-lts.1 + version: 1.4.5-lts.1 + devDependencies: + '@types/express': + specifier: 4.17.21 + version: 4.17.21 + '@types/multer': + specifier: ^1.4.12 + version: 1.4.12 + '@types/node': + specifier: ^22.8.2 + version: 22.10.5 + nodemon: + specifier: 3.1.7 + version: 3.1.7 ts-node: specifier: 10.9.2 version: 10.9.2(@types/node@22.10.5)(typescript@5.7.2) @@ -3062,7 +3093,7 @@ importers: version: 7.0.0 ts-jest: specifier: 29.2.5 - version: 29.2.5(@babel/core@7.26.0)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.26.0))(esbuild@0.24.2)(jest@29.7.0(@types/node@22.10.5)(ts-node@10.9.2(@types/node@22.10.5)(typescript@5.7.2)))(typescript@5.7.2) + version: 29.2.5(@babel/core@7.26.0)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.26.0))(jest@29.7.0(@types/node@22.10.5)(ts-node@10.9.2(@types/node@22.10.5)(typescript@5.7.2)))(typescript@5.7.2) ts-node: specifier: 10.9.2 version: 10.9.2(@types/node@22.10.5)(typescript@5.7.2) @@ -3174,7 +3205,7 @@ importers: version: 3.1.7 ts-jest: specifier: 29.2.5 - version: 29.2.5(@babel/core@7.26.0)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.26.0))(esbuild@0.24.2)(jest@29.7.0(@types/node@22.10.5)(ts-node@10.9.2(@types/node@22.10.5)(typescript@5.7.2)))(typescript@5.7.2) + version: 29.2.5(@babel/core@7.26.0)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.26.0))(jest@29.7.0(@types/node@22.10.5)(ts-node@10.9.2(@types/node@22.10.5)(typescript@5.7.2)))(typescript@5.7.2) ts-node: specifier: 10.9.2 version: 10.9.2(@types/node@22.10.5)(typescript@5.7.2) @@ -3274,7 +3305,7 @@ importers: version: 7.0.0 ts-jest: specifier: 29.2.5 - version: 29.2.5(@babel/core@7.26.0)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.26.0))(esbuild@0.24.2)(jest@29.7.0(@types/node@22.10.5)(ts-node@10.9.2(@types/node@22.10.5)(typescript@5.7.2)))(typescript@5.7.2) + version: 29.2.5(@babel/core@7.26.0)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.26.0))(jest@29.7.0(@types/node@22.10.5)(ts-node@10.9.2(@types/node@22.10.5)(typescript@5.7.2)))(typescript@5.7.2) ts-node: specifier: 10.9.2 version: 10.9.2(@types/node@22.10.5)(typescript@5.7.2) @@ -3449,7 +3480,7 @@ importers: version: 7.0.0 ts-jest: specifier: 29.2.5 - version: 29.2.5(@babel/core@7.26.0)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.26.0))(esbuild@0.24.2)(jest@29.7.0(@types/node@22.10.5)(ts-node@10.9.2(@types/node@22.10.5)(typescript@5.7.2)))(typescript@5.7.2) + version: 29.2.5(@babel/core@7.26.0)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.26.0))(jest@29.7.0(@types/node@22.10.5)(ts-node@10.9.2(@types/node@22.10.5)(typescript@5.7.2)))(typescript@5.7.2) ts-node: specifier: 10.9.2 version: 10.9.2(@types/node@22.10.5)(typescript@5.7.2) @@ -3600,7 +3631,7 @@ importers: version: 7.0.0 ts-jest: specifier: 29.2.5 - version: 29.2.5(@babel/core@7.26.0)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.26.0))(esbuild@0.24.2)(jest@29.7.0(@types/node@22.10.5)(ts-node@10.9.2(@types/node@22.10.5)(typescript@5.7.2)))(typescript@5.7.2) + version: 29.2.5(@babel/core@7.26.0)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.26.0))(jest@29.7.0(@types/node@22.10.5)(ts-node@10.9.2(@types/node@22.10.5)(typescript@5.7.2)))(typescript@5.7.2) ts-node: specifier: 10.9.2 version: 10.9.2(@types/node@22.10.5)(typescript@5.7.2) @@ -3787,7 +3818,7 @@ importers: version: 7.0.0 ts-jest: specifier: 29.2.5 - version: 29.2.5(@babel/core@7.26.0)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.26.0))(esbuild@0.24.2)(jest@29.7.0(@types/node@22.10.5)(ts-node@10.9.2(@types/node@22.10.5)(typescript@5.7.2)))(typescript@5.7.2) + version: 29.2.5(@babel/core@7.26.0)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.26.0))(jest@29.7.0(@types/node@22.10.5)(ts-node@10.9.2(@types/node@22.10.5)(typescript@5.7.2)))(typescript@5.7.2) ts-node: specifier: 10.9.2 version: 10.9.2(@types/node@22.10.5)(typescript@5.7.2) @@ -3848,7 +3879,7 @@ importers: version: 3.1.7 ts-jest: specifier: 29.2.5 - version: 29.2.5(@babel/core@7.26.0)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.26.0))(esbuild@0.24.2)(jest@29.7.0(@types/node@22.10.5)(ts-node@10.9.2(@types/node@22.10.5)(typescript@5.7.2)))(typescript@5.7.2) + version: 29.2.5(@babel/core@7.26.0)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.26.0))(jest@29.7.0(@types/node@22.10.5)(ts-node@10.9.2(@types/node@22.10.5)(typescript@5.7.2)))(typescript@5.7.2) ts-node: specifier: 10.9.2 version: 10.9.2(@types/node@22.10.5)(typescript@5.7.2) @@ -3975,7 +4006,7 @@ importers: version: 7.0.0 ts-jest: specifier: 29.2.5 - version: 29.2.5(@babel/core@7.26.0)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.26.0))(esbuild@0.24.2)(jest@29.7.0(@types/node@22.10.5)(ts-node@10.9.2(@types/node@22.10.5)(typescript@5.7.2)))(typescript@5.7.2) + version: 29.2.5(@babel/core@7.26.0)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.26.0))(jest@29.7.0(@types/node@22.10.5)(ts-node@10.9.2(@types/node@22.10.5)(typescript@5.7.2)))(typescript@5.7.2) ts-node: specifier: 10.9.2 version: 10.9.2(@types/node@22.10.5)(typescript@5.7.2) @@ -4030,7 +4061,7 @@ importers: version: link:../../packages/eslint-config '@snowplow/snowtype': specifier: ^0.10.1 - version: 0.10.2(commander@12.1.0) + version: 0.10.2(commander@12.1.0)(encoding@0.1.13) '@types/jest': specifier: 29.5.14 version: 29.5.14 @@ -4048,7 +4079,7 @@ importers: version: 3.1.7 ts-jest: specifier: 29.2.5 - version: 29.2.5(@babel/core@7.26.0)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.26.0))(esbuild@0.24.2)(jest@29.7.0(@types/node@22.10.5)(ts-node@10.9.2(@types/node@22.10.5)(typescript@5.7.2)))(typescript@5.7.2) + version: 29.2.5(@babel/core@7.26.0)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.26.0))(jest@29.7.0(@types/node@22.10.5)(ts-node@10.9.2(@types/node@22.10.5)(typescript@5.7.2)))(typescript@5.7.2) ts-node: specifier: 10.9.2 version: 10.9.2(@types/node@22.10.5)(typescript@5.7.2) @@ -4169,7 +4200,7 @@ importers: version: 7.0.0 ts-jest: specifier: 29.2.5 - version: 29.2.5(@babel/core@7.26.0)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.26.0))(esbuild@0.24.2)(jest@29.7.0(@types/node@22.10.5)(ts-node@10.9.2(@types/node@22.10.5)(typescript@5.7.2)))(typescript@5.7.2) + version: 29.2.5(@babel/core@7.26.0)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.26.0))(jest@29.7.0(@types/node@22.10.5)(ts-node@10.9.2(@types/node@22.10.5)(typescript@5.7.2)))(typescript@5.7.2) ts-node: specifier: 10.9.2 version: 10.9.2(@types/node@22.10.5)(typescript@5.7.2) @@ -4272,7 +4303,7 @@ importers: version: 7.0.0 ts-jest: specifier: 29.2.5 - version: 29.2.5(@babel/core@7.26.0)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.26.0))(esbuild@0.24.2)(jest@29.7.0(@types/node@22.10.5)(ts-node@10.9.2(@types/node@22.10.5)(typescript@5.7.2)))(typescript@5.7.2) + version: 29.2.5(@babel/core@7.26.0)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.26.0))(jest@29.7.0(@types/node@22.10.5)(ts-node@10.9.2(@types/node@22.10.5)(typescript@5.7.2)))(typescript@5.7.2) ts-node: specifier: 10.9.2 version: 10.9.2(@types/node@22.10.5)(typescript@5.7.2) @@ -4432,7 +4463,7 @@ importers: version: 7.0.0 ts-jest: specifier: 29.2.5 - version: 29.2.5(@babel/core@7.26.0)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.26.0))(esbuild@0.24.2)(jest@29.7.0(@types/node@22.10.5)(ts-node@10.9.2(@types/node@22.10.5)(typescript@5.7.2)))(typescript@5.7.2) + version: 29.2.5(@babel/core@7.26.0)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.26.0))(jest@29.7.0(@types/node@22.10.5)(ts-node@10.9.2(@types/node@22.10.5)(typescript@5.7.2)))(typescript@5.7.2) ts-node: specifier: 10.9.2 version: 10.9.2(@types/node@22.10.5)(typescript@5.7.2) @@ -4544,7 +4575,7 @@ importers: version: 7.0.0 ts-jest: specifier: 29.2.5 - version: 29.2.5(@babel/core@7.26.0)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.26.0))(esbuild@0.24.2)(jest@29.7.0(@types/node@22.10.5)(ts-node@10.9.2(@types/node@22.10.5)(typescript@5.7.2)))(typescript@5.7.2) + version: 29.2.5(@babel/core@7.26.0)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.26.0))(jest@29.7.0(@types/node@22.10.5)(ts-node@10.9.2(@types/node@22.10.5)(typescript@5.7.2)))(typescript@5.7.2) ts-node: specifier: 10.9.2 version: 10.9.2(@types/node@22.10.5)(typescript@5.7.2) @@ -14192,8 +14223,8 @@ packages: engines: {node: '>=14.17'} hasBin: true - typescript@5.8.0-dev.20250107: - resolution: {integrity: sha512-5S8fQVAfikyl3niFOaTOxfF281giwdT8CLPe1yaZFvzS1p6Az4sTCZsiap9sX6pQ5Kn+7L6SxhjPjFFT5iCVMw==} + typescript@5.8.0-dev.20250109: + resolution: {integrity: sha512-p7pWPypjuK2v/76T8q25sTmuG17m53WWranllky9WiG/PUcIJOMXoGfNrRF3r5ufFfi49QM9TipJyfmeKgXRjg==} engines: {node: '>=14.17'} hasBin: true @@ -16507,11 +16538,11 @@ snapshots: dependencies: commander: 12.1.0 - '@commitlint/cli@19.6.0(@types/node@22.10.5)(typescript@5.8.0-dev.20250107)': + '@commitlint/cli@19.6.0(@types/node@22.10.5)(typescript@5.8.0-dev.20250109)': dependencies: '@commitlint/format': 19.5.0 '@commitlint/lint': 19.6.0 - '@commitlint/load': 19.6.1(@types/node@22.10.5)(typescript@5.8.0-dev.20250107) + '@commitlint/load': 19.6.1(@types/node@22.10.5)(typescript@5.8.0-dev.20250109) '@commitlint/read': 19.5.0 '@commitlint/types': 19.5.0 tinyexec: 0.3.2 @@ -16558,15 +16589,15 @@ snapshots: '@commitlint/rules': 19.6.0 '@commitlint/types': 19.5.0 - '@commitlint/load@19.6.1(@types/node@22.10.5)(typescript@5.8.0-dev.20250107)': + '@commitlint/load@19.6.1(@types/node@22.10.5)(typescript@5.8.0-dev.20250109)': dependencies: '@commitlint/config-validator': 19.5.0 '@commitlint/execute-rule': 19.5.0 '@commitlint/resolve-extends': 19.5.0 '@commitlint/types': 19.5.0 chalk: 5.4.1 - cosmiconfig: 9.0.0(typescript@5.8.0-dev.20250107) - cosmiconfig-typescript-loader: 6.1.0(@types/node@22.10.5)(cosmiconfig@9.0.0(typescript@5.8.0-dev.20250107))(typescript@5.8.0-dev.20250107) + cosmiconfig: 9.0.0(typescript@5.8.0-dev.20250109) + cosmiconfig-typescript-loader: 6.1.0(@types/node@22.10.5)(cosmiconfig@9.0.0(typescript@5.8.0-dev.20250109))(typescript@5.8.0-dev.20250109) lodash.isplainobject: 4.0.6 lodash.merge: 4.6.2 lodash.uniq: 4.5.0 @@ -19823,20 +19854,20 @@ snapshots: got: 11.8.6 tslib: 2.8.0 - '@snowplow/snowtype-core@0.10.2': + '@snowplow/snowtype-core@0.10.2(encoding@0.1.13)': dependencies: '@fastify/merge-json-schemas': 0.2.0 handlebars: 4.7.8 json-pointer: 0.6.2 - quicktype-core: 23.0.170 + quicktype-core: 23.0.170(encoding@0.1.13) transitivePeerDependencies: - encoding - '@snowplow/snowtype@0.10.2(commander@12.1.0)': + '@snowplow/snowtype@0.10.2(commander@12.1.0)(encoding@0.1.13)': dependencies: '@commander-js/extra-typings': 11.1.0(commander@12.1.0) '@inquirer/prompts': 3.3.2 - '@snowplow/snowtype-core': 0.10.2 + '@snowplow/snowtype-core': 0.10.2(encoding@0.1.13) chalk: 4.1.2 cli-spinner: 0.2.10 dotenv: 16.4.5 @@ -21567,12 +21598,12 @@ snapshots: object-assign: 4.1.1 vary: 1.1.2 - cosmiconfig-typescript-loader@6.1.0(@types/node@22.10.5)(cosmiconfig@9.0.0(typescript@5.8.0-dev.20250107))(typescript@5.8.0-dev.20250107): + cosmiconfig-typescript-loader@6.1.0(@types/node@22.10.5)(cosmiconfig@9.0.0(typescript@5.8.0-dev.20250109))(typescript@5.8.0-dev.20250109): dependencies: '@types/node': 22.10.5 - cosmiconfig: 9.0.0(typescript@5.8.0-dev.20250107) + cosmiconfig: 9.0.0(typescript@5.8.0-dev.20250109) jiti: 2.4.2 - typescript: 5.8.0-dev.20250107 + typescript: 5.8.0-dev.20250109 cosmiconfig@8.3.6(typescript@5.7.2): dependencies: @@ -21592,14 +21623,14 @@ snapshots: optionalDependencies: typescript: 5.7.2 - cosmiconfig@9.0.0(typescript@5.8.0-dev.20250107): + cosmiconfig@9.0.0(typescript@5.8.0-dev.20250109): dependencies: env-paths: 2.2.1 import-fresh: 3.3.0 js-yaml: 4.1.0 parse-json: 5.2.0 optionalDependencies: - typescript: 5.8.0-dev.20250107 + typescript: 5.8.0-dev.20250109 cpu-features@0.0.2: dependencies: @@ -21933,7 +21964,7 @@ snapshots: dependencies: semver: 7.6.3 shelljs: 0.8.5 - typescript: 5.8.0-dev.20250107 + typescript: 5.8.0-dev.20250109 dreamopt@0.8.0: dependencies: @@ -25815,7 +25846,7 @@ snapshots: quick-lru@5.1.1: {} - quicktype-core@23.0.170: + quicktype-core@23.0.170(encoding@0.1.13): dependencies: '@glideapps/ts-necessities': 2.2.3 browser-or-node: 3.0.0 @@ -26819,13 +26850,13 @@ snapshots: '@pkgr/core': 0.1.1 tslib: 2.8.0 - syncpack@13.0.0(typescript@5.8.0-dev.20250107): + syncpack@13.0.0(typescript@5.8.0-dev.20250109): dependencies: '@effect/schema': 0.71.1(effect@3.6.5) chalk: 5.3.0 chalk-template: 1.1.0 commander: 12.1.0 - cosmiconfig: 9.0.0(typescript@5.8.0-dev.20250107) + cosmiconfig: 9.0.0(typescript@5.8.0-dev.20250109) effect: 3.6.5 enquirer: 2.4.1 fast-check: 3.21.0 @@ -27015,7 +27046,7 @@ snapshots: dependencies: tslib: 2.8.0 - ts-jest@29.2.5(@babel/core@7.26.0)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.26.0))(esbuild@0.24.2)(jest@29.7.0(@types/node@22.10.5)(ts-node@10.9.2(@types/node@22.10.5)(typescript@5.7.2)))(typescript@5.7.2): + ts-jest@29.2.5(@babel/core@7.26.0)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.26.0))(jest@29.7.0(@types/node@22.10.5)(ts-node@10.9.2(@types/node@22.10.5)(typescript@5.7.2)))(typescript@5.7.2): dependencies: bs-logger: 0.2.6 ejs: 3.1.10 @@ -27033,7 +27064,6 @@ snapshots: '@jest/transform': 29.7.0 '@jest/types': 29.6.3 babel-jest: 29.7.0(@babel/core@7.26.0) - esbuild: 0.24.2 ts-json-schema-generator@2.3.0: dependencies: @@ -27202,7 +27232,7 @@ snapshots: typescript@5.7.2: {} - typescript@5.8.0-dev.20250107: {} + typescript@5.8.0-dev.20250109: {} ua-parser-js@1.0.40: {} diff --git a/servers/auth-coprocessor/eslint.config.mjs b/servers/auth-coprocessor/eslint.config.mjs new file mode 100644 index 000000000..be4ca205d --- /dev/null +++ b/servers/auth-coprocessor/eslint.config.mjs @@ -0,0 +1,3 @@ +import servers from '@pocket-tools/eslint-config/servers'; +import tseslint from 'typescript-eslint'; +export default tseslint.config(...servers); diff --git a/servers/auth-coprocessor/jest.config.js b/servers/auth-coprocessor/jest.config.js new file mode 100644 index 000000000..f1469541a --- /dev/null +++ b/servers/auth-coprocessor/jest.config.js @@ -0,0 +1,6 @@ +module.exports = { + preset: 'ts-jest', + testEnvironment: 'node', + testMatch: ['**/?(*.)+(spec|integration).[jt]s?(x)'], + testPathIgnorePatterns: ['/dist/'], +}; diff --git a/servers/auth-coprocessor/package.json b/servers/auth-coprocessor/package.json new file mode 100644 index 000000000..518c21008 --- /dev/null +++ b/servers/auth-coprocessor/package.json @@ -0,0 +1,33 @@ +{ + "name": "coprocessor", + "version": "1.0.0", + "description": "", + "keywords": [], + "license": "ISC", + "author": "", + "main": "dist/index.js", + "scripts": { + "build": "rm -rf dist && tsc", + "dev": "npm run build && npm run watch", + "format": "eslint --fix", + "lint": "eslint --fix-dry-run", + "start": "node dist/index.js", + "test": "jest \"\\.spec\\.ts\"", + "test-ci": "npm test", + "test-integrations": "jest \"\\.integration\\.ts\" --runInBand --ci --watchAll=false --forceExit", + "watch": "tsc -w --preserveWatchOutput & nodemon --inspect --config ../../nodemon.json" + }, + "dependencies": { + "express": "4.21.2", + "multer": "1.4.5-lts.1" + }, + "devDependencies": { + "@types/express": "4.17.21", + "@types/multer": "^1.4.12", + "@types/node": "^22.8.2", + "nodemon": "3.1.7", + "ts-node": "10.9.2", + "tsconfig": "workspace:*", + "typescript": "5.7.2" + } +} diff --git a/servers/auth-coprocessor/src/index.ts b/servers/auth-coprocessor/src/index.ts new file mode 100644 index 000000000..0a61b117b --- /dev/null +++ b/servers/auth-coprocessor/src/index.ts @@ -0,0 +1,62 @@ +import express, { json, urlencoded } from 'express'; +import multer from 'multer'; + +const app = express(); +app.use(json({ limit: '1mb' })); +app.use(urlencoded({ limit: '1mb', extended: true })); +app.use(multer().none()); + +const requestJwt = async ( + payload: any, + accessToken: string | null | undefined, + consumerKey: string | null | undefined, + cookie: string | null | undefined, +) => { + const params = new URLSearchParams(); + accessToken && params.append('access_token', accessToken); + consumerKey && params.append('consumer_key', consumerKey); + const url = 'https://getpocket.com/v3/jwt'; + const paramString = params.toString(); + const fetchUrl = paramString.length > 0 ? `${url}?${paramString}` : url; + let response: any; + if (cookie != null) { + response = await fetch(fetchUrl, { + headers: { cookie }, + }).then((res) => res.json()); + } else { + response = await fetch(fetchUrl).then((res) => res.json()); + } + + // // It's common to set scopes for use by the Router to enforce AuthZN directives + + // //payload.context.entries['apollo_authentication::JWT::claims'].scope = response.scopes; + + // // Add to context so it is available at subsequent stages + // payload.context.entries['authentication::authToken'] = response.jwt; + payload.headers['Authorization'] = [`Bearer ${response.jwt}`]; + + return payload; +}; + +app.post('/', express.json(), async (req, res) => { + const payload = req.body; + const paramString = (req.body.path as string).split('?')[1]; + // TODO: Process form-data and form urlencoded etc. + const params = paramString ? new URLSearchParams(paramString) : undefined; + const accessToken = params?.get('access_token'); + const consumerKey = params?.get('consumer_key'); + const cookie = payload.headers.cookie; + + let response = payload; + switch (payload.stage) { + case 'RouterRequest': + response = await requestJwt(payload, accessToken, consumerKey, cookie); + break; + } + + res.send(response); +}); + +app.listen(3007, () => { + console.log('🚀 Server running at http://localhost:3007'); +}); diff --git a/servers/auth-coprocessor/tsconfig.json b/servers/auth-coprocessor/tsconfig.json new file mode 100644 index 000000000..b8fd9c566 --- /dev/null +++ b/servers/auth-coprocessor/tsconfig.json @@ -0,0 +1,20 @@ +{ + "extends": "tsconfig/graphql.json", + "compilerOptions": { + "outDir": "./dist", + "rootDir": "./src", + "sourceRoot": "", + "strict": true, + "resolveJsonModule": true, + "strictBuiltinIteratorReturn": false, + "lib": [ + "es2019", + "es2020.bigint", + "es2020.string", + "es2020.symbol.wellknown", + "dom" + ] + }, + "exclude": ["node_modules/", "dist/"], + "include": ["src/**/*.ts"] +} diff --git a/servers/client-api/config/router.yaml b/servers/client-api/config/router.yaml index 111eefd54..23dfb80e3 100644 --- a/servers/client-api/config/router.yaml +++ b/servers/client-api/config/router.yaml @@ -293,3 +293,14 @@ apq: redis: urls: ['${env.REDIS_PROTOCOL:-rediss-cluster}://${env.REDIS_ENDPOINT}'] ttl: 24h # optional, by default no expiration +coprocessor: + url: ${env.COPROCESSOR_URL} + timeout: 100s # The timeout for all coprocessor requests. Defaults to 1 second (1s) + router: # This coprocessor hooks into the `RouterService` + request: # By including this key, the `RouterService` sends a coprocessor request whenever it first receives a client request. + headers: true # These boolean properties indicate which request data to include in the coprocessor request. All are optional and false by default. + body: true + context: true + sdl: false + path: true + method: false From 520efa8087c5cb04d9cb00f744a0e5c5f922ea45 Mon Sep 17 00:00:00 2001 From: Kat Schelonka Date: Fri, 10 Jan 2025 14:24:43 -0800 Subject: [PATCH 02/14] feat(auth): [WIP] add scope extraction --- pnpm-lock.yaml | 45 ++++++++------ servers/auth-coprocessor/package.json | 1 + servers/auth-coprocessor/src/index.ts | 84 +++++++++++++++++---------- 3 files changed, 80 insertions(+), 50 deletions(-) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index ff875ff51..fa5d72d52 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -36,7 +36,7 @@ importers: devDependencies: '@commitlint/cli': specifier: 19.6.0 - version: 19.6.0(@types/node@22.10.5)(typescript@5.8.0-dev.20250109) + version: 19.6.0(@types/node@22.10.5)(typescript@5.8.0-dev.20250110) '@commitlint/config-conventional': specifier: ^19.6.0 version: 19.6.0 @@ -45,7 +45,7 @@ importers: version: link:packages/eslint-config syncpack: specifier: ^13.0.0 - version: 13.0.0(typescript@5.8.0-dev.20250109) + version: 13.0.0(typescript@5.8.0-dev.20250110) tsconfig: specifier: workspace:* version: link:packages/tsconfig @@ -2978,6 +2978,9 @@ importers: express: specifier: 4.21.2 version: 4.21.2 + jwt-decode: + specifier: ^4.0.0 + version: 4.0.0 multer: specifier: 1.4.5-lts.1 version: 1.4.5-lts.1 @@ -11416,6 +11419,10 @@ packages: jws@4.0.0: resolution: {integrity: sha512-KDncfTmOZoOMTFG4mBlG0qUIOlc03fmzH+ru6RgYVZhPkyiy/92Owlt/8UEN+a4TXR1FQetfIpJE8ApdvdVxTg==} + jwt-decode@4.0.0: + resolution: {integrity: sha512-+KJGIyHgkGuIq3IEBNftfhW/LfWhXUIY6OmyVWjliu5KH1y0fw7VQ8YndE2O4qZdMSd9SqbnC8GOcZEy0Om7sA==} + engines: {node: '>=18'} + keygrip@1.1.0: resolution: {integrity: sha512-iYSchDJ+liQ8iwbSI2QqsQOvqv58eJCEanyJPJi+Khyu8smkcKSFUCbPwzFcL7YVtZ6eONjqRX/38caJ7QjRAQ==} engines: {node: '>= 0.6'} @@ -14223,8 +14230,8 @@ packages: engines: {node: '>=14.17'} hasBin: true - typescript@5.8.0-dev.20250109: - resolution: {integrity: sha512-p7pWPypjuK2v/76T8q25sTmuG17m53WWranllky9WiG/PUcIJOMXoGfNrRF3r5ufFfi49QM9TipJyfmeKgXRjg==} + typescript@5.8.0-dev.20250110: + resolution: {integrity: sha512-+qwHVEvUm4CeQGtZIvlwE8HmRFcBMV4F/8OPKv+mIyGRGx4Chrj2v0VCsReVJwRdjjs6Dat/lPzkJW1E18+eOg==} engines: {node: '>=14.17'} hasBin: true @@ -16538,11 +16545,11 @@ snapshots: dependencies: commander: 12.1.0 - '@commitlint/cli@19.6.0(@types/node@22.10.5)(typescript@5.8.0-dev.20250109)': + '@commitlint/cli@19.6.0(@types/node@22.10.5)(typescript@5.8.0-dev.20250110)': dependencies: '@commitlint/format': 19.5.0 '@commitlint/lint': 19.6.0 - '@commitlint/load': 19.6.1(@types/node@22.10.5)(typescript@5.8.0-dev.20250109) + '@commitlint/load': 19.6.1(@types/node@22.10.5)(typescript@5.8.0-dev.20250110) '@commitlint/read': 19.5.0 '@commitlint/types': 19.5.0 tinyexec: 0.3.2 @@ -16589,15 +16596,15 @@ snapshots: '@commitlint/rules': 19.6.0 '@commitlint/types': 19.5.0 - '@commitlint/load@19.6.1(@types/node@22.10.5)(typescript@5.8.0-dev.20250109)': + '@commitlint/load@19.6.1(@types/node@22.10.5)(typescript@5.8.0-dev.20250110)': dependencies: '@commitlint/config-validator': 19.5.0 '@commitlint/execute-rule': 19.5.0 '@commitlint/resolve-extends': 19.5.0 '@commitlint/types': 19.5.0 chalk: 5.4.1 - cosmiconfig: 9.0.0(typescript@5.8.0-dev.20250109) - cosmiconfig-typescript-loader: 6.1.0(@types/node@22.10.5)(cosmiconfig@9.0.0(typescript@5.8.0-dev.20250109))(typescript@5.8.0-dev.20250109) + cosmiconfig: 9.0.0(typescript@5.8.0-dev.20250110) + cosmiconfig-typescript-loader: 6.1.0(@types/node@22.10.5)(cosmiconfig@9.0.0(typescript@5.8.0-dev.20250110))(typescript@5.8.0-dev.20250110) lodash.isplainobject: 4.0.6 lodash.merge: 4.6.2 lodash.uniq: 4.5.0 @@ -21598,12 +21605,12 @@ snapshots: object-assign: 4.1.1 vary: 1.1.2 - cosmiconfig-typescript-loader@6.1.0(@types/node@22.10.5)(cosmiconfig@9.0.0(typescript@5.8.0-dev.20250109))(typescript@5.8.0-dev.20250109): + cosmiconfig-typescript-loader@6.1.0(@types/node@22.10.5)(cosmiconfig@9.0.0(typescript@5.8.0-dev.20250110))(typescript@5.8.0-dev.20250110): dependencies: '@types/node': 22.10.5 - cosmiconfig: 9.0.0(typescript@5.8.0-dev.20250109) + cosmiconfig: 9.0.0(typescript@5.8.0-dev.20250110) jiti: 2.4.2 - typescript: 5.8.0-dev.20250109 + typescript: 5.8.0-dev.20250110 cosmiconfig@8.3.6(typescript@5.7.2): dependencies: @@ -21623,14 +21630,14 @@ snapshots: optionalDependencies: typescript: 5.7.2 - cosmiconfig@9.0.0(typescript@5.8.0-dev.20250109): + cosmiconfig@9.0.0(typescript@5.8.0-dev.20250110): dependencies: env-paths: 2.2.1 import-fresh: 3.3.0 js-yaml: 4.1.0 parse-json: 5.2.0 optionalDependencies: - typescript: 5.8.0-dev.20250109 + typescript: 5.8.0-dev.20250110 cpu-features@0.0.2: dependencies: @@ -21964,7 +21971,7 @@ snapshots: dependencies: semver: 7.6.3 shelljs: 0.8.5 - typescript: 5.8.0-dev.20250109 + typescript: 5.8.0-dev.20250110 dreamopt@0.8.0: dependencies: @@ -24388,6 +24395,8 @@ snapshots: safe-buffer: 5.2.1 optional: true + jwt-decode@4.0.0: {} + keygrip@1.1.0: dependencies: tsscmp: 1.0.6 @@ -26850,13 +26859,13 @@ snapshots: '@pkgr/core': 0.1.1 tslib: 2.8.0 - syncpack@13.0.0(typescript@5.8.0-dev.20250109): + syncpack@13.0.0(typescript@5.8.0-dev.20250110): dependencies: '@effect/schema': 0.71.1(effect@3.6.5) chalk: 5.3.0 chalk-template: 1.1.0 commander: 12.1.0 - cosmiconfig: 9.0.0(typescript@5.8.0-dev.20250109) + cosmiconfig: 9.0.0(typescript@5.8.0-dev.20250110) effect: 3.6.5 enquirer: 2.4.1 fast-check: 3.21.0 @@ -27232,7 +27241,7 @@ snapshots: typescript@5.7.2: {} - typescript@5.8.0-dev.20250109: {} + typescript@5.8.0-dev.20250110: {} ua-parser-js@1.0.40: {} diff --git a/servers/auth-coprocessor/package.json b/servers/auth-coprocessor/package.json index 518c21008..3669ac7ec 100644 --- a/servers/auth-coprocessor/package.json +++ b/servers/auth-coprocessor/package.json @@ -19,6 +19,7 @@ }, "dependencies": { "express": "4.21.2", + "jwt-decode": "^4.0.0", "multer": "1.4.5-lts.1" }, "devDependencies": { diff --git a/servers/auth-coprocessor/src/index.ts b/servers/auth-coprocessor/src/index.ts index 0a61b117b..4b20cb938 100644 --- a/servers/auth-coprocessor/src/index.ts +++ b/servers/auth-coprocessor/src/index.ts @@ -1,5 +1,6 @@ import express, { json, urlencoded } from 'express'; import multer from 'multer'; +import { jwtDecode, JwtPayload } from 'jwt-decode'; const app = express(); app.use(json({ limit: '1mb' })); @@ -8,52 +9,71 @@ app.use(multer().none()); const requestJwt = async ( payload: any, - accessToken: string | null | undefined, - consumerKey: string | null | undefined, - cookie: string | null | undefined, + params: URLSearchParams, + headers: HeadersInit | undefined, ) => { - const params = new URLSearchParams(); - accessToken && params.append('access_token', accessToken); - consumerKey && params.append('consumer_key', consumerKey); const url = 'https://getpocket.com/v3/jwt'; const paramString = params.toString(); const fetchUrl = paramString.length > 0 ? `${url}?${paramString}` : url; - let response: any; - if (cookie != null) { - response = await fetch(fetchUrl, { - headers: { cookie }, + try { + const response = await fetch(fetchUrl, { + headers, + mode: 'cors', }).then((res) => res.json()); - } else { - response = await fetch(fetchUrl).then((res) => res.json()); + if (response.jwt != null) { + const decoded = jwtDecode( + response.jwt, + ); + payload.context.entries['apollo_authentication::JWT::claims'] = decoded; + // Extract scopes for AuthZ directives + payload.context.entries['apollo_authentication::JWT::claims'].scope = + decoded.roles != null ? decoded.roles.join(' ') : undefined; + } + return payload; + } catch (error) { + console.log(error); + const response = await fetch(fetchUrl, { + headers, + mode: 'cors', + }).then((res) => res.status); + console.log(response); + return payload; } - - // // It's common to set scopes for use by the Router to enforce AuthZN directives - - // //payload.context.entries['apollo_authentication::JWT::claims'].scope = response.scopes; - - // // Add to context so it is available at subsequent stages - // payload.context.entries['authentication::authToken'] = response.jwt; - payload.headers['Authorization'] = [`Bearer ${response.jwt}`]; - - return payload; }; app.post('/', express.json(), async (req, res) => { const payload = req.body; + // short-circuit if we already have JWT + if (payload.context.entries['apollo_authentication::JWT::claims'] != null) { + res.send(payload); + return; + } + const paramString = (req.body.path as string).split('?')[1]; + // TODO: Process form-data and form urlencoded etc. - const params = paramString ? new URLSearchParams(paramString) : undefined; - const accessToken = params?.get('access_token'); - const consumerKey = params?.get('consumer_key'); - const cookie = payload.headers.cookie; - - let response = payload; - switch (payload.stage) { - case 'RouterRequest': - response = await requestJwt(payload, accessToken, consumerKey, cookie); - break; + // short-circuit if no consumer key + const givenParams = paramString + ? new URLSearchParams(paramString) + : undefined; + if (givenParams == null || givenParams?.get('consumer_key') == null) { + res.send(payload); + return; + } + + const params = new URLSearchParams(); + params.append('consumer_key', givenParams!.get('consumer_key')!); + params.append('enable_cors', '1'); + const accessToken = givenParams?.get('access_token'); + if (accessToken != null) { + params.append('access_token', accessToken); } + const headers = + payload.headers.cookie != null + ? { Cookie: payload.headers.cookie } + : undefined; + const response = await requestJwt(payload, params, headers); res.send(response); }); From 162232a7959130d535ac3f4b65ed31a63e2474bb Mon Sep 17 00:00:00 2001 From: Kat Schelonka Date: Mon, 13 Jan 2025 14:16:13 -0800 Subject: [PATCH 03/14] feat(coprocessor): set up infra and deployment pattern --- .github/workflows/client-api.yml | 22 +++++++++-- infrastructure/client-api/src/main.ts | 39 +++++++++++++++++++ .../eslint.config.mjs | 0 .../jest.config.js | 0 .../package.json | 2 +- .../src/index.ts | 4 ++ .../tsconfig.json | 0 7 files changed, 63 insertions(+), 4 deletions(-) rename servers/{auth-coprocessor => coprocessor}/eslint.config.mjs (100%) rename servers/{auth-coprocessor => coprocessor}/jest.config.js (100%) rename servers/{auth-coprocessor => coprocessor}/package.json (96%) rename servers/{auth-coprocessor => coprocessor}/src/index.ts (97%) rename servers/{auth-coprocessor => coprocessor}/tsconfig.json (100%) diff --git a/.github/workflows/client-api.yml b/.github/workflows/client-api.yml index 0e6cef2d6..19ff2cd26 100644 --- a/.github/workflows/client-api.yml +++ b/.github/workflows/client-api.yml @@ -10,6 +10,7 @@ on: - '.github/actions/**' - '.github/workflows/client-api.yml' - '.github/workflows/reuse-*.yml' + - 'servers/coprocessor/**' push: branches: - main @@ -22,8 +23,9 @@ on: - '.github/actions/**' - '.github/workflows/client-api.yml' - '.github/workflows/reuse-*.yml' -jobs: + - 'servers/coprocessor/**' +jobs: infrastructure: uses: ./.github/workflows/reuse-infrastructure.yml with: @@ -31,13 +33,27 @@ jobs: stack-output-path: infrastructure/client-api/cdktf.out/stacks/client-api secrets: inherit - api: + coprocessor: uses: ./.github/workflows/reuse-build-and-push-image.yml needs: [infrastructure] + with: + scope: '@server/coprocessor' + docker-repo-name-pattern: clientapi-{0}-coprocessor + context: servers/coprocessor + app-path: servers/coprocessor + # Do not pass terraform-output because we don't want to redo codedeploy + # and it's conditional on this output + secrets: inherit + + api: + uses: ./.github/workflows/reuse-build-and-push-image.yml + # Require coprocessor dependency because we need the image to + # be built and pushed prior to codedeploy + needs: [infrastructure, coprocessor] with: scope: '@server/client-api' docker-repo-name-pattern: clientapi-{0}-app context: servers/client-api app-path: servers/client-api terraform-output: ${{needs.infrastructure.outputs.terraform-output}} - secrets: inherit \ No newline at end of file + secrets: inherit diff --git a/infrastructure/client-api/src/main.ts b/infrastructure/client-api/src/main.ts index 04dfe57b0..7932862b4 100644 --- a/infrastructure/client-api/src/main.ts +++ b/infrastructure/client-api/src/main.ts @@ -266,6 +266,44 @@ class ClientAPI extends TerraformStack { startPeriod: 0, }, }, + { + name: 'coprocessor', + portMappings: [ + { + hostPort: 3007, + containerPort: 3007, + protocol: 'tcp', + }, + ], + envVars: [ + { + name: 'PORT', + value: '3007', + }, + { + name: 'APP_ENVIRONMENT', + value: config.isProd ? 'production' : 'development', + }, + ], + logGroup: this.createCustomLogGroup('coprocessor'), + logMultilinePattern: '^\\S.+', + secretEnvVars: [ + { + name: 'SENTRY_DSN', + valueFrom: `arn:aws:ssm:${region.name}:${caller.accountId}:parameter/${config.name}/${config.environment}/SENTRY_DSN`, + }, + ], + healthCheck: { + command: [ + 'CMD-SHELL', + 'curl -f http://localhost:3007/health || exit 1', + ], + interval: 15, + retries: 3, + timeout: 5, + startPeriod: 0, + }, + }, ], codeDeploy: { useCodeDeploy: true, @@ -281,6 +319,7 @@ class ClientAPI extends TerraformStack { notifyOnSucceeded: false, }, }, + // This doesn't need to be exposed; expose only client-api exposedContainer: { name: 'app', port: 4001, diff --git a/servers/auth-coprocessor/eslint.config.mjs b/servers/coprocessor/eslint.config.mjs similarity index 100% rename from servers/auth-coprocessor/eslint.config.mjs rename to servers/coprocessor/eslint.config.mjs diff --git a/servers/auth-coprocessor/jest.config.js b/servers/coprocessor/jest.config.js similarity index 100% rename from servers/auth-coprocessor/jest.config.js rename to servers/coprocessor/jest.config.js diff --git a/servers/auth-coprocessor/package.json b/servers/coprocessor/package.json similarity index 96% rename from servers/auth-coprocessor/package.json rename to servers/coprocessor/package.json index 3669ac7ec..4bd1d4b06 100644 --- a/servers/auth-coprocessor/package.json +++ b/servers/coprocessor/package.json @@ -1,5 +1,5 @@ { - "name": "coprocessor", + "name": "@server/coprocessor", "version": "1.0.0", "description": "", "keywords": [], diff --git a/servers/auth-coprocessor/src/index.ts b/servers/coprocessor/src/index.ts similarity index 97% rename from servers/auth-coprocessor/src/index.ts rename to servers/coprocessor/src/index.ts index 4b20cb938..e76dcdd59 100644 --- a/servers/auth-coprocessor/src/index.ts +++ b/servers/coprocessor/src/index.ts @@ -41,6 +41,10 @@ const requestJwt = async ( } }; +app.get('/health', async (req, res) => { + res.status(200).send('ok'); +}); + app.post('/', express.json(), async (req, res) => { const payload = req.body; // short-circuit if we already have JWT diff --git a/servers/auth-coprocessor/tsconfig.json b/servers/coprocessor/tsconfig.json similarity index 100% rename from servers/auth-coprocessor/tsconfig.json rename to servers/coprocessor/tsconfig.json From 25f793116085d8a1d25812d2a63c906aa0738220 Mon Sep 17 00:00:00 2001 From: Kat Schelonka Date: Mon, 13 Jan 2025 14:25:52 -0800 Subject: [PATCH 04/14] chore: regenerate lockfile --- pnpm-lock.yaml | 207 +++++++++++++++++++++++++------------------------ 1 file changed, 104 insertions(+), 103 deletions(-) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index fa5d72d52..2d29bd441 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -36,7 +36,7 @@ importers: devDependencies: '@commitlint/cli': specifier: 19.6.0 - version: 19.6.0(@types/node@22.10.5)(typescript@5.8.0-dev.20250110) + version: 19.6.0(@types/node@22.10.5)(typescript@5.8.0-dev.20250113) '@commitlint/config-conventional': specifier: ^19.6.0 version: 19.6.0 @@ -45,7 +45,7 @@ importers: version: link:packages/eslint-config syncpack: specifier: ^13.0.0 - version: 13.0.0(typescript@5.8.0-dev.20250110) + version: 13.0.0(typescript@5.8.0-dev.20250113) tsconfig: specifier: workspace:* version: link:packages/tsconfig @@ -75,7 +75,7 @@ importers: version: 0.20.11(constructs@10.4.2) cdktf-cli: specifier: 0.20.11 - version: 0.20.11(encoding@0.1.13)(ink@5.1.0(react-devtools-core@4.28.5)(react@18.3.1))(react@18.3.1) + version: 0.20.11(encoding@0.1.13)(ink@3.2.0(react@18.3.1))(react@18.3.1) constructs: specifier: 10.4.2 version: 10.4.2 @@ -1083,7 +1083,7 @@ importers: version: 14.0.0-beta.11 ts-jest: specifier: 29.2.5 - version: 29.2.5(@babel/core@7.26.0)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.26.0))(jest@29.7.0(@types/node@22.10.5)(ts-node@10.9.2(@types/node@22.10.5)(typescript@5.7.2)))(typescript@5.7.2) + version: 29.2.5(@babel/core@7.26.0)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.26.0))(esbuild@0.24.2)(jest@29.7.0(@types/node@22.10.5)(ts-node@10.9.2(@types/node@22.10.5)(typescript@5.7.2)))(typescript@5.7.2) ts-node: specifier: 10.9.2 version: 10.9.2(@types/node@22.10.5)(typescript@5.7.2) @@ -1135,7 +1135,7 @@ importers: version: 14.0.0-beta.11 ts-jest: specifier: 29.2.5 - version: 29.2.5(@babel/core@7.26.0)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.26.0))(jest@29.7.0(@types/node@22.10.5)(ts-node@10.9.2(@types/node@22.10.5)(typescript@5.7.2)))(typescript@5.7.2) + version: 29.2.5(@babel/core@7.26.0)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.26.0))(esbuild@0.24.2)(jest@29.7.0(@types/node@22.10.5)(ts-node@10.9.2(@types/node@22.10.5)(typescript@5.7.2)))(typescript@5.7.2) ts-node: specifier: 10.9.2 version: 10.9.2(@types/node@22.10.5)(typescript@5.7.2) @@ -1187,7 +1187,7 @@ importers: version: 14.0.0-beta.11 ts-jest: specifier: 29.2.5 - version: 29.2.5(@babel/core@7.26.0)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.26.0))(jest@29.7.0(@types/node@22.10.5)(ts-node@10.9.2(@types/node@22.10.5)(typescript@5.7.2)))(typescript@5.7.2) + version: 29.2.5(@babel/core@7.26.0)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.26.0))(esbuild@0.24.2)(jest@29.7.0(@types/node@22.10.5)(ts-node@10.9.2(@types/node@22.10.5)(typescript@5.7.2)))(typescript@5.7.2) ts-node: specifier: 10.9.2 version: 10.9.2(@types/node@22.10.5)(typescript@5.7.2) @@ -1230,7 +1230,7 @@ importers: version: 14.0.0-beta.11 ts-jest: specifier: 29.2.5 - version: 29.2.5(@babel/core@7.26.0)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.26.0))(jest@29.7.0(@types/node@22.10.5)(ts-node@10.9.2(@types/node@22.10.5)(typescript@5.7.2)))(typescript@5.7.2) + version: 29.2.5(@babel/core@7.26.0)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.26.0))(esbuild@0.24.2)(jest@29.7.0(@types/node@22.10.5)(ts-node@10.9.2(@types/node@22.10.5)(typescript@5.7.2)))(typescript@5.7.2) ts-node: specifier: 10.9.2 version: 10.9.2(@types/node@22.10.5)(typescript@5.7.2) @@ -1294,7 +1294,7 @@ importers: version: 3.1.7 ts-jest: specifier: 29.2.5 - version: 29.2.5(@babel/core@7.26.0)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.26.0))(jest@29.7.0(@types/node@22.10.5)(ts-node@10.9.2(@types/node@22.10.5)(typescript@5.7.2)))(typescript@5.7.2) + version: 29.2.5(@babel/core@7.26.0)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.26.0))(esbuild@0.24.2)(jest@29.7.0(@types/node@22.10.5)(ts-node@10.9.2(@types/node@22.10.5)(typescript@5.7.2)))(typescript@5.7.2) ts-node: specifier: 10.9.2 version: 10.9.2(@types/node@22.10.5)(typescript@5.7.2) @@ -1346,7 +1346,7 @@ importers: version: 3.1.7 ts-jest: specifier: 29.2.5 - version: 29.2.5(@babel/core@7.26.0)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.26.0))(jest@29.7.0(@types/node@22.10.5)(ts-node@10.9.2(@types/node@22.10.5)(typescript@5.7.2)))(typescript@5.7.2) + version: 29.2.5(@babel/core@7.26.0)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.26.0))(esbuild@0.24.2)(jest@29.7.0(@types/node@22.10.5)(ts-node@10.9.2(@types/node@22.10.5)(typescript@5.7.2)))(typescript@5.7.2) ts-node: specifier: 10.9.2 version: 10.9.2(@types/node@22.10.5)(typescript@5.7.2) @@ -1413,7 +1413,7 @@ importers: version: 29.7.0(@types/node@22.10.5)(ts-node@10.9.2(@types/node@22.10.5)(typescript@5.7.2)) ts-jest: specifier: 29.2.5 - version: 29.2.5(@babel/core@7.26.0)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.26.0))(jest@29.7.0(@types/node@22.10.5)(ts-node@10.9.2(@types/node@22.10.5)(typescript@5.7.2)))(typescript@5.7.2) + version: 29.2.5(@babel/core@7.26.0)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.26.0))(esbuild@0.24.2)(jest@29.7.0(@types/node@22.10.5)(ts-node@10.9.2(@types/node@22.10.5)(typescript@5.7.2)))(typescript@5.7.2) ts-node: specifier: 10.9.2 version: 10.9.2(@types/node@22.10.5)(typescript@5.7.2) @@ -1462,7 +1462,7 @@ importers: version: 29.7.0(@types/node@22.10.5)(ts-node@10.9.2(@types/node@22.10.5)(typescript@5.7.2)) ts-jest: specifier: 29.2.5 - version: 29.2.5(@babel/core@7.26.0)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.26.0))(jest@29.7.0(@types/node@22.10.5)(ts-node@10.9.2(@types/node@22.10.5)(typescript@5.7.2)))(typescript@5.7.2) + version: 29.2.5(@babel/core@7.26.0)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.26.0))(esbuild@0.24.2)(jest@29.7.0(@types/node@22.10.5)(ts-node@10.9.2(@types/node@22.10.5)(typescript@5.7.2)))(typescript@5.7.2) ts-node: specifier: 10.9.2 version: 10.9.2(@types/node@22.10.5)(typescript@5.7.2) @@ -1511,7 +1511,7 @@ importers: version: 14.0.0-beta.11 ts-jest: specifier: 29.2.5 - version: 29.2.5(@babel/core@7.26.0)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.26.0))(jest@29.7.0(@types/node@22.10.5)(ts-node@10.9.2(@types/node@22.10.5)(typescript@5.7.2)))(typescript@5.7.2) + version: 29.2.5(@babel/core@7.26.0)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.26.0))(esbuild@0.24.2)(jest@29.7.0(@types/node@22.10.5)(ts-node@10.9.2(@types/node@22.10.5)(typescript@5.7.2)))(typescript@5.7.2) ts-node: specifier: 10.9.2 version: 10.9.2(@types/node@22.10.5)(typescript@5.7.2) @@ -1575,7 +1575,7 @@ importers: version: 3.1.7 ts-jest: specifier: 29.2.5 - version: 29.2.5(@babel/core@7.26.0)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.26.0))(jest@29.7.0(@types/node@22.10.5)(ts-node@10.9.2(@types/node@22.10.5)(typescript@5.7.2)))(typescript@5.7.2) + version: 29.2.5(@babel/core@7.26.0)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.26.0))(esbuild@0.24.2)(jest@29.7.0(@types/node@22.10.5)(ts-node@10.9.2(@types/node@22.10.5)(typescript@5.7.2)))(typescript@5.7.2) ts-node: specifier: 10.9.2 version: 10.9.2(@types/node@22.10.5)(typescript@5.7.2) @@ -1633,7 +1633,7 @@ importers: version: 14.0.0-beta.11 ts-jest: specifier: 29.2.5 - version: 29.2.5(@babel/core@7.26.0)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.26.0))(jest@29.7.0(@types/node@22.10.5)(ts-node@10.9.2(@types/node@22.10.5)(typescript@5.7.2)))(typescript@5.7.2) + version: 29.2.5(@babel/core@7.26.0)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.26.0))(esbuild@0.24.2)(jest@29.7.0(@types/node@22.10.5)(ts-node@10.9.2(@types/node@22.10.5)(typescript@5.7.2)))(typescript@5.7.2) ts-node: specifier: 10.9.2 version: 10.9.2(@types/node@22.10.5)(typescript@5.7.2) @@ -1697,7 +1697,7 @@ importers: version: 14.0.0-beta.11 ts-jest: specifier: 29.2.5 - version: 29.2.5(@babel/core@7.26.0)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.26.0))(jest@29.7.0(@types/node@22.10.5)(ts-node@10.9.2(@types/node@22.10.5)(typescript@5.7.2)))(typescript@5.7.2) + version: 29.2.5(@babel/core@7.26.0)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.26.0))(esbuild@0.24.2)(jest@29.7.0(@types/node@22.10.5)(ts-node@10.9.2(@types/node@22.10.5)(typescript@5.7.2)))(typescript@5.7.2) ts-node: specifier: 10.9.2 version: 10.9.2(@types/node@22.10.5)(typescript@5.7.2) @@ -1743,7 +1743,7 @@ importers: version: 14.0.0-beta.11 ts-jest: specifier: 29.2.5 - version: 29.2.5(@babel/core@7.26.0)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.26.0))(jest@29.7.0(@types/node@22.10.5)(ts-node@10.9.2(@types/node@22.10.5)(typescript@5.7.2)))(typescript@5.7.2) + version: 29.2.5(@babel/core@7.26.0)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.26.0))(esbuild@0.24.2)(jest@29.7.0(@types/node@22.10.5)(ts-node@10.9.2(@types/node@22.10.5)(typescript@5.7.2)))(typescript@5.7.2) ts-node: specifier: 10.9.2 version: 10.9.2(@types/node@22.10.5)(typescript@5.7.2) @@ -1789,7 +1789,7 @@ importers: version: 14.0.0-beta.11 ts-jest: specifier: 29.2.5 - version: 29.2.5(@babel/core@7.26.0)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.26.0))(jest@29.7.0(@types/node@22.10.5)(ts-node@10.9.2(@types/node@22.10.5)(typescript@5.7.2)))(typescript@5.7.2) + version: 29.2.5(@babel/core@7.26.0)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.26.0))(esbuild@0.24.2)(jest@29.7.0(@types/node@22.10.5)(ts-node@10.9.2(@types/node@22.10.5)(typescript@5.7.2)))(typescript@5.7.2) ts-node: specifier: 10.9.2 version: 10.9.2(@types/node@22.10.5)(typescript@5.7.2) @@ -1847,7 +1847,7 @@ importers: version: 14.0.0-beta.11 ts-jest: specifier: 29.2.5 - version: 29.2.5(@babel/core@7.26.0)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.26.0))(jest@29.7.0(@types/node@22.10.5)(ts-node@10.9.2(@types/node@22.10.5)(typescript@5.7.2)))(typescript@5.7.2) + version: 29.2.5(@babel/core@7.26.0)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.26.0))(esbuild@0.24.2)(jest@29.7.0(@types/node@22.10.5)(ts-node@10.9.2(@types/node@22.10.5)(typescript@5.7.2)))(typescript@5.7.2) ts-node: specifier: 10.9.2 version: 10.9.2(@types/node@22.10.5)(typescript@5.7.2) @@ -1938,7 +1938,7 @@ importers: version: 8.0.2(semantic-release@24.2.0(typescript@5.7.2)) ts-jest: specifier: 29.2.5 - version: 29.2.5(@babel/core@7.26.0)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.26.0))(jest@29.7.0(@types/node@22.10.5)(ts-node@10.9.2(@types/node@22.10.5)(typescript@5.7.2)))(typescript@5.7.2) + version: 29.2.5(@babel/core@7.26.0)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.26.0))(esbuild@0.24.2)(jest@29.7.0(@types/node@22.10.5)(ts-node@10.9.2(@types/node@22.10.5)(typescript@5.7.2)))(typescript@5.7.2) ts-node: specifier: 10.9.2 version: 10.9.2(@types/node@22.10.5)(typescript@5.7.2) @@ -1978,7 +1978,7 @@ importers: version: 29.7.0(@types/node@22.10.5)(ts-node@10.9.2(@types/node@22.10.5)(typescript@5.7.2)) ts-jest: specifier: 29.2.5 - version: 29.2.5(@babel/core@7.26.0)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.26.0))(jest@29.7.0(@types/node@22.10.5)(ts-node@10.9.2(@types/node@22.10.5)(typescript@5.7.2)))(typescript@5.7.2) + version: 29.2.5(@babel/core@7.26.0)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.26.0))(esbuild@0.24.2)(jest@29.7.0(@types/node@22.10.5)(ts-node@10.9.2(@types/node@22.10.5)(typescript@5.7.2)))(typescript@5.7.2) ts-node: specifier: 10.9.2 version: 10.9.2(@types/node@22.10.5)(typescript@5.7.2) @@ -2084,7 +2084,7 @@ importers: version: 8.0.2(semantic-release@24.2.0(typescript@5.7.2)) ts-jest: specifier: 29.2.5 - version: 29.2.5(@babel/core@7.26.0)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.26.0))(jest@29.7.0(@types/node@22.10.5)(ts-node@10.9.2(@types/node@22.10.5)(typescript@5.7.2)))(typescript@5.7.2) + version: 29.2.5(@babel/core@7.26.0)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.26.0))(esbuild@0.24.2)(jest@29.7.0(@types/node@22.10.5)(ts-node@10.9.2(@types/node@22.10.5)(typescript@5.7.2)))(typescript@5.7.2) ts-json-schema-generator: specifier: 2.3.0 version: 2.3.0 @@ -2133,7 +2133,7 @@ importers: version: 8.0.2(semantic-release@24.2.0(typescript@5.7.2)) ts-jest: specifier: 29.2.5 - version: 29.2.5(@babel/core@7.26.0)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.26.0))(jest@29.7.0(@types/node@22.10.5)(ts-node@10.9.2(@types/node@22.10.5)(typescript@5.7.2)))(typescript@5.7.2) + version: 29.2.5(@babel/core@7.26.0)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.26.0))(esbuild@0.24.2)(jest@29.7.0(@types/node@22.10.5)(ts-node@10.9.2(@types/node@22.10.5)(typescript@5.7.2)))(typescript@5.7.2) ts-node: specifier: 10.9.2 version: 10.9.2(@types/node@22.10.5)(typescript@5.7.2) @@ -2182,7 +2182,7 @@ importers: version: 8.0.2(semantic-release@24.2.0(typescript@5.7.2)) ts-jest: specifier: 29.2.5 - version: 29.2.5(@babel/core@7.26.0)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.26.0))(jest@29.7.0(@types/node@22.10.5)(ts-node@10.9.2(@types/node@22.10.5)(typescript@5.7.2)))(typescript@5.7.2) + version: 29.2.5(@babel/core@7.26.0)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.26.0))(esbuild@0.24.2)(jest@29.7.0(@types/node@22.10.5)(ts-node@10.9.2(@types/node@22.10.5)(typescript@5.7.2)))(typescript@5.7.2) ts-node: specifier: 10.9.2 version: 10.9.2(@types/node@22.10.5)(typescript@5.7.2) @@ -2237,7 +2237,7 @@ importers: version: 29.7.0(@types/node@22.10.5)(ts-node@10.9.2(@types/node@22.10.5)(typescript@5.7.2)) ts-jest: specifier: 29.2.5 - version: 29.2.5(@babel/core@7.26.0)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.26.0))(jest@29.7.0(@types/node@22.10.5)(ts-node@10.9.2(@types/node@22.10.5)(typescript@5.7.2)))(typescript@5.7.2) + version: 29.2.5(@babel/core@7.26.0)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.26.0))(esbuild@0.24.2)(jest@29.7.0(@types/node@22.10.5)(ts-node@10.9.2(@types/node@22.10.5)(typescript@5.7.2)))(typescript@5.7.2) ts-node: specifier: 10.9.2 version: 10.9.2(@types/node@22.10.5)(typescript@5.7.2) @@ -2295,7 +2295,7 @@ importers: version: 8.0.2(semantic-release@24.2.0(typescript@5.7.2)) ts-jest: specifier: 29.2.5 - version: 29.2.5(@babel/core@7.26.0)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.26.0))(jest@29.7.0(@types/node@22.10.5)(ts-node@10.9.2(@types/node@22.10.5)(typescript@5.7.2)))(typescript@5.7.2) + version: 29.2.5(@babel/core@7.26.0)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.26.0))(esbuild@0.24.2)(jest@29.7.0(@types/node@22.10.5)(ts-node@10.9.2(@types/node@22.10.5)(typescript@5.7.2)))(typescript@5.7.2) ts-node: specifier: 10.9.2 version: 10.9.2(@types/node@22.10.5)(typescript@5.7.2) @@ -2347,7 +2347,7 @@ importers: version: 8.0.2(semantic-release@24.2.0(typescript@5.7.2)) ts-jest: specifier: 29.2.5 - version: 29.2.5(@babel/core@7.26.0)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.26.0))(jest@29.7.0(@types/node@22.10.5)(ts-node@10.9.2(@types/node@22.10.5)(typescript@5.7.2)))(typescript@5.7.2) + version: 29.2.5(@babel/core@7.26.0)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.26.0))(esbuild@0.24.2)(jest@29.7.0(@types/node@22.10.5)(ts-node@10.9.2(@types/node@22.10.5)(typescript@5.7.2)))(typescript@5.7.2) ts-node: specifier: 10.9.2 version: 10.9.2(@types/node@22.10.5)(typescript@5.7.2) @@ -2402,7 +2402,7 @@ importers: version: 8.0.2(semantic-release@24.2.0(typescript@5.7.2)) ts-jest: specifier: 29.2.5 - version: 29.2.5(@babel/core@7.26.0)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.26.0))(jest@29.7.0(@types/node@22.10.5)(ts-node@10.9.2(@types/node@22.10.5)(typescript@5.7.2)))(typescript@5.7.2) + version: 29.2.5(@babel/core@7.26.0)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.26.0))(esbuild@0.24.2)(jest@29.7.0(@types/node@22.10.5)(ts-node@10.9.2(@types/node@22.10.5)(typescript@5.7.2)))(typescript@5.7.2) ts-node: specifier: 10.9.2 version: 10.9.2(@types/node@22.10.5)(typescript@5.7.2) @@ -2444,7 +2444,7 @@ importers: version: 0.20.11(constructs@10.4.2) cdktf-cli: specifier: 0.20.11 - version: 0.20.11(encoding@0.1.13)(ink@3.2.0(react@18.3.1))(react@18.3.1) + version: 0.20.11(encoding@0.1.13)(ink@5.1.0(react-devtools-core@4.28.5)(react@18.3.1))(react@18.3.1) constructs: specifier: 10.4.2 version: 10.4.2 @@ -2487,7 +2487,7 @@ importers: version: 8.0.2(semantic-release@24.2.0(typescript@5.7.2)) ts-jest: specifier: 29.2.5 - version: 29.2.5(@babel/core@7.26.0)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.26.0))(jest@29.7.0(@types/node@22.10.5)(ts-node@10.9.2(@types/node@22.10.5)(typescript@5.7.2)))(typescript@5.7.2) + version: 29.2.5(@babel/core@7.26.0)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.26.0))(esbuild@0.24.2)(jest@29.7.0(@types/node@22.10.5)(ts-node@10.9.2(@types/node@22.10.5)(typescript@5.7.2)))(typescript@5.7.2) ts-node: specifier: 10.9.2 version: 10.9.2(@types/node@22.10.5)(typescript@5.7.2) @@ -2608,7 +2608,7 @@ importers: version: 8.0.2(semantic-release@24.2.0(typescript@5.7.2)) ts-jest: specifier: 29.2.5 - version: 29.2.5(@babel/core@7.26.0)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.26.0))(jest@29.7.0(@types/node@22.10.5)(ts-node@10.9.2(@types/node@22.10.5)(typescript@5.7.2)))(typescript@5.7.2) + version: 29.2.5(@babel/core@7.26.0)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.26.0))(esbuild@0.24.2)(jest@29.7.0(@types/node@22.10.5)(ts-node@10.9.2(@types/node@22.10.5)(typescript@5.7.2)))(typescript@5.7.2) ts-node: specifier: 10.9.2 version: 10.9.2(@types/node@22.10.5)(typescript@5.7.2) @@ -2660,7 +2660,7 @@ importers: version: 8.0.2(semantic-release@24.2.0(typescript@5.7.2)) ts-jest: specifier: 29.2.5 - version: 29.2.5(@babel/core@7.26.0)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.26.0))(jest@29.7.0(@types/node@22.10.5)(ts-node@10.9.2(@types/node@22.10.5)(typescript@5.7.2)))(typescript@5.7.2) + version: 29.2.5(@babel/core@7.26.0)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.26.0))(esbuild@0.24.2)(jest@29.7.0(@types/node@22.10.5)(ts-node@10.9.2(@types/node@22.10.5)(typescript@5.7.2)))(typescript@5.7.2) ts-node: specifier: 10.9.2 version: 10.9.2(@types/node@22.10.5)(typescript@5.7.2) @@ -2808,7 +2808,7 @@ importers: version: 7.0.0 ts-jest: specifier: 29.2.5 - version: 29.2.5(@babel/core@7.26.0)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.26.0))(jest@29.7.0(@types/node@22.10.5)(ts-node@10.9.2(@types/node@22.10.5)(typescript@5.7.2)))(typescript@5.7.2) + version: 29.2.5(@babel/core@7.26.0)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.26.0))(esbuild@0.24.2)(jest@29.7.0(@types/node@22.10.5)(ts-node@10.9.2(@types/node@22.10.5)(typescript@5.7.2)))(typescript@5.7.2) ts-node: specifier: 10.9.2 version: 10.9.2(@types/node@22.10.5)(typescript@5.7.2) @@ -2962,41 +2962,7 @@ importers: version: 7.0.0 ts-jest: specifier: 29.2.5 - version: 29.2.5(@babel/core@7.26.0)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.26.0))(jest@29.7.0(@types/node@22.10.5)(ts-node@10.9.2(@types/node@22.10.5)(typescript@5.7.2)))(typescript@5.7.2) - ts-node: - specifier: 10.9.2 - version: 10.9.2(@types/node@22.10.5)(typescript@5.7.2) - tsconfig: - specifier: workspace:* - version: link:../../packages/tsconfig - typescript: - specifier: 5.7.2 - version: 5.7.2 - - servers/auth-coprocessor: - dependencies: - express: - specifier: 4.21.2 - version: 4.21.2 - jwt-decode: - specifier: ^4.0.0 - version: 4.0.0 - multer: - specifier: 1.4.5-lts.1 - version: 1.4.5-lts.1 - devDependencies: - '@types/express': - specifier: 4.17.21 - version: 4.17.21 - '@types/multer': - specifier: ^1.4.12 - version: 1.4.12 - '@types/node': - specifier: ^22.8.2 - version: 22.10.5 - nodemon: - specifier: 3.1.7 - version: 3.1.7 + version: 29.2.5(@babel/core@7.26.0)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.26.0))(esbuild@0.24.2)(jest@29.7.0(@types/node@22.10.5)(ts-node@10.9.2(@types/node@22.10.5)(typescript@5.7.2)))(typescript@5.7.2) ts-node: specifier: 10.9.2 version: 10.9.2(@types/node@22.10.5)(typescript@5.7.2) @@ -3096,7 +3062,41 @@ importers: version: 7.0.0 ts-jest: specifier: 29.2.5 - version: 29.2.5(@babel/core@7.26.0)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.26.0))(jest@29.7.0(@types/node@22.10.5)(ts-node@10.9.2(@types/node@22.10.5)(typescript@5.7.2)))(typescript@5.7.2) + version: 29.2.5(@babel/core@7.26.0)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.26.0))(esbuild@0.24.2)(jest@29.7.0(@types/node@22.10.5)(ts-node@10.9.2(@types/node@22.10.5)(typescript@5.7.2)))(typescript@5.7.2) + ts-node: + specifier: 10.9.2 + version: 10.9.2(@types/node@22.10.5)(typescript@5.7.2) + tsconfig: + specifier: workspace:* + version: link:../../packages/tsconfig + typescript: + specifier: 5.7.2 + version: 5.7.2 + + servers/coprocessor: + dependencies: + express: + specifier: 4.21.2 + version: 4.21.2 + jwt-decode: + specifier: ^4.0.0 + version: 4.0.0 + multer: + specifier: 1.4.5-lts.1 + version: 1.4.5-lts.1 + devDependencies: + '@types/express': + specifier: 4.17.21 + version: 4.17.21 + '@types/multer': + specifier: ^1.4.12 + version: 1.4.12 + '@types/node': + specifier: ^22.8.2 + version: 22.10.5 + nodemon: + specifier: 3.1.7 + version: 3.1.7 ts-node: specifier: 10.9.2 version: 10.9.2(@types/node@22.10.5)(typescript@5.7.2) @@ -3208,7 +3208,7 @@ importers: version: 3.1.7 ts-jest: specifier: 29.2.5 - version: 29.2.5(@babel/core@7.26.0)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.26.0))(jest@29.7.0(@types/node@22.10.5)(ts-node@10.9.2(@types/node@22.10.5)(typescript@5.7.2)))(typescript@5.7.2) + version: 29.2.5(@babel/core@7.26.0)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.26.0))(esbuild@0.24.2)(jest@29.7.0(@types/node@22.10.5)(ts-node@10.9.2(@types/node@22.10.5)(typescript@5.7.2)))(typescript@5.7.2) ts-node: specifier: 10.9.2 version: 10.9.2(@types/node@22.10.5)(typescript@5.7.2) @@ -3308,7 +3308,7 @@ importers: version: 7.0.0 ts-jest: specifier: 29.2.5 - version: 29.2.5(@babel/core@7.26.0)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.26.0))(jest@29.7.0(@types/node@22.10.5)(ts-node@10.9.2(@types/node@22.10.5)(typescript@5.7.2)))(typescript@5.7.2) + version: 29.2.5(@babel/core@7.26.0)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.26.0))(esbuild@0.24.2)(jest@29.7.0(@types/node@22.10.5)(ts-node@10.9.2(@types/node@22.10.5)(typescript@5.7.2)))(typescript@5.7.2) ts-node: specifier: 10.9.2 version: 10.9.2(@types/node@22.10.5)(typescript@5.7.2) @@ -3483,7 +3483,7 @@ importers: version: 7.0.0 ts-jest: specifier: 29.2.5 - version: 29.2.5(@babel/core@7.26.0)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.26.0))(jest@29.7.0(@types/node@22.10.5)(ts-node@10.9.2(@types/node@22.10.5)(typescript@5.7.2)))(typescript@5.7.2) + version: 29.2.5(@babel/core@7.26.0)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.26.0))(esbuild@0.24.2)(jest@29.7.0(@types/node@22.10.5)(ts-node@10.9.2(@types/node@22.10.5)(typescript@5.7.2)))(typescript@5.7.2) ts-node: specifier: 10.9.2 version: 10.9.2(@types/node@22.10.5)(typescript@5.7.2) @@ -3634,7 +3634,7 @@ importers: version: 7.0.0 ts-jest: specifier: 29.2.5 - version: 29.2.5(@babel/core@7.26.0)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.26.0))(jest@29.7.0(@types/node@22.10.5)(ts-node@10.9.2(@types/node@22.10.5)(typescript@5.7.2)))(typescript@5.7.2) + version: 29.2.5(@babel/core@7.26.0)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.26.0))(esbuild@0.24.2)(jest@29.7.0(@types/node@22.10.5)(ts-node@10.9.2(@types/node@22.10.5)(typescript@5.7.2)))(typescript@5.7.2) ts-node: specifier: 10.9.2 version: 10.9.2(@types/node@22.10.5)(typescript@5.7.2) @@ -3821,7 +3821,7 @@ importers: version: 7.0.0 ts-jest: specifier: 29.2.5 - version: 29.2.5(@babel/core@7.26.0)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.26.0))(jest@29.7.0(@types/node@22.10.5)(ts-node@10.9.2(@types/node@22.10.5)(typescript@5.7.2)))(typescript@5.7.2) + version: 29.2.5(@babel/core@7.26.0)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.26.0))(esbuild@0.24.2)(jest@29.7.0(@types/node@22.10.5)(ts-node@10.9.2(@types/node@22.10.5)(typescript@5.7.2)))(typescript@5.7.2) ts-node: specifier: 10.9.2 version: 10.9.2(@types/node@22.10.5)(typescript@5.7.2) @@ -3882,7 +3882,7 @@ importers: version: 3.1.7 ts-jest: specifier: 29.2.5 - version: 29.2.5(@babel/core@7.26.0)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.26.0))(jest@29.7.0(@types/node@22.10.5)(ts-node@10.9.2(@types/node@22.10.5)(typescript@5.7.2)))(typescript@5.7.2) + version: 29.2.5(@babel/core@7.26.0)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.26.0))(esbuild@0.24.2)(jest@29.7.0(@types/node@22.10.5)(ts-node@10.9.2(@types/node@22.10.5)(typescript@5.7.2)))(typescript@5.7.2) ts-node: specifier: 10.9.2 version: 10.9.2(@types/node@22.10.5)(typescript@5.7.2) @@ -4009,7 +4009,7 @@ importers: version: 7.0.0 ts-jest: specifier: 29.2.5 - version: 29.2.5(@babel/core@7.26.0)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.26.0))(jest@29.7.0(@types/node@22.10.5)(ts-node@10.9.2(@types/node@22.10.5)(typescript@5.7.2)))(typescript@5.7.2) + version: 29.2.5(@babel/core@7.26.0)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.26.0))(esbuild@0.24.2)(jest@29.7.0(@types/node@22.10.5)(ts-node@10.9.2(@types/node@22.10.5)(typescript@5.7.2)))(typescript@5.7.2) ts-node: specifier: 10.9.2 version: 10.9.2(@types/node@22.10.5)(typescript@5.7.2) @@ -4064,7 +4064,7 @@ importers: version: link:../../packages/eslint-config '@snowplow/snowtype': specifier: ^0.10.1 - version: 0.10.2(commander@12.1.0)(encoding@0.1.13) + version: 0.10.2(commander@12.1.0) '@types/jest': specifier: 29.5.14 version: 29.5.14 @@ -4082,7 +4082,7 @@ importers: version: 3.1.7 ts-jest: specifier: 29.2.5 - version: 29.2.5(@babel/core@7.26.0)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.26.0))(jest@29.7.0(@types/node@22.10.5)(ts-node@10.9.2(@types/node@22.10.5)(typescript@5.7.2)))(typescript@5.7.2) + version: 29.2.5(@babel/core@7.26.0)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.26.0))(esbuild@0.24.2)(jest@29.7.0(@types/node@22.10.5)(ts-node@10.9.2(@types/node@22.10.5)(typescript@5.7.2)))(typescript@5.7.2) ts-node: specifier: 10.9.2 version: 10.9.2(@types/node@22.10.5)(typescript@5.7.2) @@ -4203,7 +4203,7 @@ importers: version: 7.0.0 ts-jest: specifier: 29.2.5 - version: 29.2.5(@babel/core@7.26.0)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.26.0))(jest@29.7.0(@types/node@22.10.5)(ts-node@10.9.2(@types/node@22.10.5)(typescript@5.7.2)))(typescript@5.7.2) + version: 29.2.5(@babel/core@7.26.0)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.26.0))(esbuild@0.24.2)(jest@29.7.0(@types/node@22.10.5)(ts-node@10.9.2(@types/node@22.10.5)(typescript@5.7.2)))(typescript@5.7.2) ts-node: specifier: 10.9.2 version: 10.9.2(@types/node@22.10.5)(typescript@5.7.2) @@ -4306,7 +4306,7 @@ importers: version: 7.0.0 ts-jest: specifier: 29.2.5 - version: 29.2.5(@babel/core@7.26.0)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.26.0))(jest@29.7.0(@types/node@22.10.5)(ts-node@10.9.2(@types/node@22.10.5)(typescript@5.7.2)))(typescript@5.7.2) + version: 29.2.5(@babel/core@7.26.0)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.26.0))(esbuild@0.24.2)(jest@29.7.0(@types/node@22.10.5)(ts-node@10.9.2(@types/node@22.10.5)(typescript@5.7.2)))(typescript@5.7.2) ts-node: specifier: 10.9.2 version: 10.9.2(@types/node@22.10.5)(typescript@5.7.2) @@ -4466,7 +4466,7 @@ importers: version: 7.0.0 ts-jest: specifier: 29.2.5 - version: 29.2.5(@babel/core@7.26.0)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.26.0))(jest@29.7.0(@types/node@22.10.5)(ts-node@10.9.2(@types/node@22.10.5)(typescript@5.7.2)))(typescript@5.7.2) + version: 29.2.5(@babel/core@7.26.0)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.26.0))(esbuild@0.24.2)(jest@29.7.0(@types/node@22.10.5)(ts-node@10.9.2(@types/node@22.10.5)(typescript@5.7.2)))(typescript@5.7.2) ts-node: specifier: 10.9.2 version: 10.9.2(@types/node@22.10.5)(typescript@5.7.2) @@ -4578,7 +4578,7 @@ importers: version: 7.0.0 ts-jest: specifier: 29.2.5 - version: 29.2.5(@babel/core@7.26.0)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.26.0))(jest@29.7.0(@types/node@22.10.5)(ts-node@10.9.2(@types/node@22.10.5)(typescript@5.7.2)))(typescript@5.7.2) + version: 29.2.5(@babel/core@7.26.0)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.26.0))(esbuild@0.24.2)(jest@29.7.0(@types/node@22.10.5)(ts-node@10.9.2(@types/node@22.10.5)(typescript@5.7.2)))(typescript@5.7.2) ts-node: specifier: 10.9.2 version: 10.9.2(@types/node@22.10.5)(typescript@5.7.2) @@ -14230,8 +14230,8 @@ packages: engines: {node: '>=14.17'} hasBin: true - typescript@5.8.0-dev.20250110: - resolution: {integrity: sha512-+qwHVEvUm4CeQGtZIvlwE8HmRFcBMV4F/8OPKv+mIyGRGx4Chrj2v0VCsReVJwRdjjs6Dat/lPzkJW1E18+eOg==} + typescript@5.8.0-dev.20250113: + resolution: {integrity: sha512-P0/9dr0Rwfs+XMXz2OyX9rVUu84x0qKUlTMDytq5GentLY1ebkyOHQSxvVeU/7L3hzrLFvdM4tVnuQJme1Webw==} engines: {node: '>=14.17'} hasBin: true @@ -16545,11 +16545,11 @@ snapshots: dependencies: commander: 12.1.0 - '@commitlint/cli@19.6.0(@types/node@22.10.5)(typescript@5.8.0-dev.20250110)': + '@commitlint/cli@19.6.0(@types/node@22.10.5)(typescript@5.8.0-dev.20250113)': dependencies: '@commitlint/format': 19.5.0 '@commitlint/lint': 19.6.0 - '@commitlint/load': 19.6.1(@types/node@22.10.5)(typescript@5.8.0-dev.20250110) + '@commitlint/load': 19.6.1(@types/node@22.10.5)(typescript@5.8.0-dev.20250113) '@commitlint/read': 19.5.0 '@commitlint/types': 19.5.0 tinyexec: 0.3.2 @@ -16596,15 +16596,15 @@ snapshots: '@commitlint/rules': 19.6.0 '@commitlint/types': 19.5.0 - '@commitlint/load@19.6.1(@types/node@22.10.5)(typescript@5.8.0-dev.20250110)': + '@commitlint/load@19.6.1(@types/node@22.10.5)(typescript@5.8.0-dev.20250113)': dependencies: '@commitlint/config-validator': 19.5.0 '@commitlint/execute-rule': 19.5.0 '@commitlint/resolve-extends': 19.5.0 '@commitlint/types': 19.5.0 chalk: 5.4.1 - cosmiconfig: 9.0.0(typescript@5.8.0-dev.20250110) - cosmiconfig-typescript-loader: 6.1.0(@types/node@22.10.5)(cosmiconfig@9.0.0(typescript@5.8.0-dev.20250110))(typescript@5.8.0-dev.20250110) + cosmiconfig: 9.0.0(typescript@5.8.0-dev.20250113) + cosmiconfig-typescript-loader: 6.1.0(@types/node@22.10.5)(cosmiconfig@9.0.0(typescript@5.8.0-dev.20250113))(typescript@5.8.0-dev.20250113) lodash.isplainobject: 4.0.6 lodash.merge: 4.6.2 lodash.uniq: 4.5.0 @@ -19861,20 +19861,20 @@ snapshots: got: 11.8.6 tslib: 2.8.0 - '@snowplow/snowtype-core@0.10.2(encoding@0.1.13)': + '@snowplow/snowtype-core@0.10.2': dependencies: '@fastify/merge-json-schemas': 0.2.0 handlebars: 4.7.8 json-pointer: 0.6.2 - quicktype-core: 23.0.170(encoding@0.1.13) + quicktype-core: 23.0.170 transitivePeerDependencies: - encoding - '@snowplow/snowtype@0.10.2(commander@12.1.0)(encoding@0.1.13)': + '@snowplow/snowtype@0.10.2(commander@12.1.0)': dependencies: '@commander-js/extra-typings': 11.1.0(commander@12.1.0) '@inquirer/prompts': 3.3.2 - '@snowplow/snowtype-core': 0.10.2(encoding@0.1.13) + '@snowplow/snowtype-core': 0.10.2 chalk: 4.1.2 cli-spinner: 0.2.10 dotenv: 16.4.5 @@ -21605,12 +21605,12 @@ snapshots: object-assign: 4.1.1 vary: 1.1.2 - cosmiconfig-typescript-loader@6.1.0(@types/node@22.10.5)(cosmiconfig@9.0.0(typescript@5.8.0-dev.20250110))(typescript@5.8.0-dev.20250110): + cosmiconfig-typescript-loader@6.1.0(@types/node@22.10.5)(cosmiconfig@9.0.0(typescript@5.8.0-dev.20250113))(typescript@5.8.0-dev.20250113): dependencies: '@types/node': 22.10.5 - cosmiconfig: 9.0.0(typescript@5.8.0-dev.20250110) + cosmiconfig: 9.0.0(typescript@5.8.0-dev.20250113) jiti: 2.4.2 - typescript: 5.8.0-dev.20250110 + typescript: 5.8.0-dev.20250113 cosmiconfig@8.3.6(typescript@5.7.2): dependencies: @@ -21630,14 +21630,14 @@ snapshots: optionalDependencies: typescript: 5.7.2 - cosmiconfig@9.0.0(typescript@5.8.0-dev.20250110): + cosmiconfig@9.0.0(typescript@5.8.0-dev.20250113): dependencies: env-paths: 2.2.1 import-fresh: 3.3.0 js-yaml: 4.1.0 parse-json: 5.2.0 optionalDependencies: - typescript: 5.8.0-dev.20250110 + typescript: 5.8.0-dev.20250113 cpu-features@0.0.2: dependencies: @@ -21971,7 +21971,7 @@ snapshots: dependencies: semver: 7.6.3 shelljs: 0.8.5 - typescript: 5.8.0-dev.20250110 + typescript: 5.8.0-dev.20250113 dreamopt@0.8.0: dependencies: @@ -25855,7 +25855,7 @@ snapshots: quick-lru@5.1.1: {} - quicktype-core@23.0.170(encoding@0.1.13): + quicktype-core@23.0.170: dependencies: '@glideapps/ts-necessities': 2.2.3 browser-or-node: 3.0.0 @@ -26859,13 +26859,13 @@ snapshots: '@pkgr/core': 0.1.1 tslib: 2.8.0 - syncpack@13.0.0(typescript@5.8.0-dev.20250110): + syncpack@13.0.0(typescript@5.8.0-dev.20250113): dependencies: '@effect/schema': 0.71.1(effect@3.6.5) chalk: 5.3.0 chalk-template: 1.1.0 commander: 12.1.0 - cosmiconfig: 9.0.0(typescript@5.8.0-dev.20250110) + cosmiconfig: 9.0.0(typescript@5.8.0-dev.20250113) effect: 3.6.5 enquirer: 2.4.1 fast-check: 3.21.0 @@ -27055,7 +27055,7 @@ snapshots: dependencies: tslib: 2.8.0 - ts-jest@29.2.5(@babel/core@7.26.0)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.26.0))(jest@29.7.0(@types/node@22.10.5)(ts-node@10.9.2(@types/node@22.10.5)(typescript@5.7.2)))(typescript@5.7.2): + ts-jest@29.2.5(@babel/core@7.26.0)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.26.0))(esbuild@0.24.2)(jest@29.7.0(@types/node@22.10.5)(ts-node@10.9.2(@types/node@22.10.5)(typescript@5.7.2)))(typescript@5.7.2): dependencies: bs-logger: 0.2.6 ejs: 3.1.10 @@ -27073,6 +27073,7 @@ snapshots: '@jest/transform': 29.7.0 '@jest/types': 29.6.3 babel-jest: 29.7.0(@babel/core@7.26.0) + esbuild: 0.24.2 ts-json-schema-generator@2.3.0: dependencies: @@ -27241,7 +27242,7 @@ snapshots: typescript@5.7.2: {} - typescript@5.8.0-dev.20250110: {} + typescript@5.8.0-dev.20250113: {} ua-parser-js@1.0.40: {} From 01ff7934a5b245999f453bda348713f2fb1efacf Mon Sep 17 00:00:00 2001 From: Kat Schelonka Date: Mon, 13 Jan 2025 14:27:47 -0800 Subject: [PATCH 05/14] chore: fix-mismatches --- packages/apollo-utils/package.json | 4 +- pnpm-lock.yaml | 148 ++++-------------- servers/account-data-deleter/package.json | 2 +- servers/annotations-api/package.json | 2 +- servers/braze-content-proxy/package.json | 2 +- servers/feature-flags/package.json | 2 +- servers/image-api/package.json | 2 +- servers/list-api/package.json | 2 +- servers/notes-api/package.json | 2 +- servers/parser-graphql-wrapper/package.json | 2 +- servers/shareable-lists-api/package.json | 2 +- servers/shared-snowplow-consumer/package.json | 2 +- servers/shares-api/package.json | 2 +- servers/user-api/package.json | 2 +- servers/user-list-search/package.json | 2 +- servers/v3-proxy-api/package.json | 2 +- 16 files changed, 46 insertions(+), 134 deletions(-) diff --git a/packages/apollo-utils/package.json b/packages/apollo-utils/package.json index 837fea925..6d14b210d 100644 --- a/packages/apollo-utils/package.json +++ b/packages/apollo-utils/package.json @@ -99,7 +99,7 @@ "@apollo/utils.keyvaluecache": "3.1.0", "@pocket-tools/ts-logger": "workspace:*", "@sentry/node": "8.47.0", - "express": "4.20.0", + "express": "4.21.2", "graphql": "16.9.0", "graphql-tag": "2.12.6", "ioredis": "5.4.1", @@ -129,7 +129,7 @@ "@apollo/subgraph": "2.9.3", "@apollo/utils.keyvadapter": "3.1.0", "@apollo/utils.keyvaluecache": "3.1.0", - "express": "4.20.0", + "express": "4.21.2", "graphql": "16.9.0", "graphql-tag": "2.12.6" }, diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 2d29bd441..8b0f5fdef 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -1885,8 +1885,8 @@ importers: specifier: 8.47.0 version: 8.47.0 express: - specifier: 4.20.0 - version: 4.20.0 + specifier: 4.21.2 + version: 4.21.2 graphql: specifier: 16.9.0 version: 16.9.0 @@ -2746,8 +2746,8 @@ importers: specifier: ^6.5.1 version: 6.5.2 express: - specifier: 4.20.0 - version: 4.20.0 + specifier: 4.21.2 + version: 4.21.2 express-validator: specifier: ^7.1.0 version: 7.2.1 @@ -2876,8 +2876,8 @@ importers: specifier: ^3.1.1 version: 3.1.1 express: - specifier: 4.20.0 - version: 4.20.0 + specifier: 4.21.2 + version: 4.21.2 express-validator: specifier: ^7.1.0 version: 7.2.1 @@ -3003,8 +3003,8 @@ importers: specifier: 2.2.2 version: 2.2.2 express: - specifier: 4.20.0 - version: 4.20.0 + specifier: 4.21.2 + version: 4.21.2 graphql-tag: specifier: 2.12.6 version: 2.12.6(graphql@16.9.0) @@ -3137,8 +3137,8 @@ importers: specifier: 2.8.5 version: 2.8.5 express: - specifier: 4.20.0 - version: 4.20.0 + specifier: 4.21.2 + version: 4.21.2 graphql: specifier: 16.9.0 version: 16.9.0 @@ -3264,8 +3264,8 @@ importers: specifier: 2.2.2 version: 2.2.2 express: - specifier: 4.20.0 - version: 4.20.0 + specifier: 4.21.2 + version: 4.21.2 graphql: specifier: 16.9.0 version: 16.9.0 @@ -3379,8 +3379,8 @@ importers: specifier: 2.2.2 version: 2.2.2 express: - specifier: 4.20.0 - version: 4.20.0 + specifier: 4.21.2 + version: 4.21.2 express-validator: specifier: ^7.1.0 version: 7.2.1 @@ -3530,8 +3530,8 @@ importers: specifier: 2.2.2 version: 2.2.2 express: - specifier: 4.20.0 - version: 4.20.0 + specifier: 4.21.2 + version: 4.21.2 graphql: specifier: 16.9.0 version: 16.9.0 @@ -3714,8 +3714,8 @@ importers: specifier: ^3.1.1 version: 3.1.1 express: - specifier: 4.20.0 - version: 4.20.0 + specifier: 4.21.2 + version: 4.21.2 graphql: specifier: 16.9.0 version: 16.9.0 @@ -3935,8 +3935,8 @@ importers: specifier: 2.8.5 version: 2.8.5 express: - specifier: 4.20.0 - version: 4.20.0 + specifier: 4.21.2 + version: 4.21.2 express-validator: specifier: ^7.1.0 version: 7.2.1 @@ -4047,8 +4047,8 @@ importers: specifier: 3.24.3 version: 3.24.3 express: - specifier: 4.20.0 - version: 4.20.0 + specifier: 4.21.2 + version: 4.21.2 express-validator: specifier: ^7.1.0 version: 7.2.1 @@ -4135,8 +4135,8 @@ importers: specifier: 2.8.5 version: 2.8.5 express: - specifier: 4.20.0 - version: 4.20.0 + specifier: 4.21.2 + version: 4.21.2 graphql: specifier: 16.9.0 version: 16.9.0 @@ -4250,8 +4250,8 @@ importers: specifier: 2.2.2 version: 2.2.2 express: - specifier: 4.20.0 - version: 4.20.0 + specifier: 4.21.2 + version: 4.21.2 graphql: specifier: 16.9.0 version: 16.9.0 @@ -4374,8 +4374,8 @@ importers: specifier: ^16.7.3 version: 16.7.3 express: - specifier: 4.20.0 - version: 4.20.0 + specifier: 4.21.2 + version: 4.21.2 express-validator: specifier: ^7.1.0 version: 7.2.1 @@ -4507,8 +4507,8 @@ importers: specifier: 2.8.5 version: 2.8.5 express: - specifier: 4.20.0 - version: 4.20.0 + specifier: 4.21.2 + version: 4.21.2 express-validator: specifier: ^7.1.0 version: 7.2.1 @@ -9170,10 +9170,6 @@ packages: resolution: {integrity: sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w==} engines: {node: '>= 0.6'} - cookie@1.0.2: - resolution: {integrity: sha512-9Kr/j4O16ISv8zBBhJoi4bXOYNTkFLOqSL3UDB0njXxCXNezjeyVrJyGOWtgfs/q2km1gwBcfH8q1yEGoMYunA==} - engines: {node: '>=18'} - cookiejar@2.1.4: resolution: {integrity: sha512-LDx6oHrK+PhzLKJU9j5S7/Y3jM/mUHvD/DeI1WQmJn652iPC5Y4TBzC9l+5OMOXlyTTA+SmVUPm0HQUwpD5Jqw==} @@ -9883,10 +9879,6 @@ packages: resolution: {integrity: sha512-CjNE6aakfpuwGaHQZ3m8ltCG2Qvivd7RHtVMS/6nVxOM7xVGqr4bhflsm4+N5FP5zI7Zxp+Hae+9RE+o8e3ZOQ==} engines: {node: '>= 8.0.0'} - express@4.20.0: - resolution: {integrity: sha512-pLdae7I6QqShF5PnNTCVn4hI91Dx0Grkn2+IAsMTgMIKuQVte2dN9PeGSSAME2FR8anOhVA62QDIUaWVfEXVLw==} - engines: {node: '>= 0.10.0'} - express@4.21.2: resolution: {integrity: sha512-28HqgMZAmih1Czt9ny7qr6ek2qddF4FclbMzwhCREB6OFfH+rXAnuNCwo1/wFvrtbgsQDb4kSbX9de9lFbrXnA==} engines: {node: '>= 0.10.0'} @@ -10049,10 +10041,6 @@ packages: final-fs@1.6.1: resolution: {integrity: sha512-r5dgz23H8qh1LxKVJK84zet2PhWSWkIOgbLVUd5PlNFAULD/kCDBH9JEMwJt9dpdTnLsSD4rEqS56p2MH7Wbvw==} - finalhandler@1.2.0: - resolution: {integrity: sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==} - engines: {node: '>= 0.8'} - finalhandler@1.3.1: resolution: {integrity: sha512-6BN9trH7bp3qvnrRyzsBz+g3lZxTNZTbVO2EV1CS0WIcDbawYVdYvGflME/9QP0h0pYlCDBCTjYa9nZzMDpyxQ==} engines: {node: '>= 0.8'} @@ -12682,9 +12670,6 @@ packages: resolution: {integrity: sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==} engines: {node: '>=16 || 14 >=14.18'} - path-to-regexp@0.1.10: - resolution: {integrity: sha512-7lf7qcQidTku0Gu3YDPc8DJ1q7OOucfa/BSsIwjuh56VU7katFvuM8hULfkwB3Fns/rsVF7PwPKVw1sl5KQS9w==} - path-to-regexp@0.1.12: resolution: {integrity: sha512-RA1GjUVMnvYFxuqovrEqZoxxW5NUZqbwKtYz/Tt7nXerk0LbLblQmrsgdeOxV5SFHf0UDggjS/bSeOZwt1pmEQ==} @@ -12999,10 +12984,6 @@ packages: pure-rand@6.1.0: resolution: {integrity: sha512-bVWawvoZoBYpp6yIoQtQXHZjmz35RSVHnUOTefl8Vcjr8snTPY1wnpSPMWekcFwbxI6gtmT7rSYPFvz71ldiOA==} - qs@6.11.0: - resolution: {integrity: sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==} - engines: {node: '>=0.6'} - qs@6.13.0: resolution: {integrity: sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg==} engines: {node: '>=0.6'} @@ -13404,10 +13385,6 @@ packages: resolution: {integrity: sha512-FMW2RvqNr03x+C0WxTyu6sOv21oOjkq5j8tjquWccwa6ScNyGFOGJVpuS1NmTVGBAHS07xnSKotgf2ehQmf9iA==} engines: {node: '>= 0.8.0'} - serve-static@1.16.0: - resolution: {integrity: sha512-pDLK8zwl2eKaYrs8mrPZBJua4hMplRWJ1tIFksVC3FtBEBnl8dxgeHtsaMS8DhS9i4fLObaon6ABoc4/hQGdPA==} - engines: {node: '>= 0.8.0'} - serve-static@1.16.2: resolution: {integrity: sha512-VqpjJZKadQB/PEbEwvFdO43Ax5dFBZ2UECszz8bQ7pi7wt//PWe1P6MN7eCnjsatYtBT6EuiClbjSWP2WrIoTw==} engines: {node: '>= 0.8.0'} @@ -21589,8 +21566,6 @@ snapshots: cookie@0.7.2: {} - cookie@1.0.2: {} - cookiejar@2.1.4: {} cookies@0.9.1: @@ -22416,42 +22391,6 @@ snapshots: lodash: 4.17.21 validator: 13.12.0 - express@4.20.0: - dependencies: - accepts: 1.3.8 - array-flatten: 1.1.1 - body-parser: 1.20.3 - content-disposition: 0.5.4 - content-type: 1.0.5 - cookie: 1.0.2 - cookie-signature: 1.0.6 - debug: 2.6.9 - depd: 2.0.0 - encodeurl: 2.0.0 - escape-html: 1.0.3 - etag: 1.8.1 - finalhandler: 1.2.0 - fresh: 0.5.2 - http-errors: 2.0.0 - merge-descriptors: 1.0.3 - methods: 1.1.2 - on-finished: 2.4.1 - parseurl: 1.3.3 - path-to-regexp: 0.1.10 - proxy-addr: 2.0.7 - qs: 6.11.0 - range-parser: 1.2.1 - safe-buffer: 5.2.1 - send: 0.19.0 - serve-static: 1.16.0 - setprototypeof: 1.2.0 - statuses: 2.0.1 - type-is: 1.6.18 - utils-merge: 1.0.1 - vary: 1.1.2 - transitivePeerDependencies: - - supports-color - express@4.21.2: dependencies: accepts: 1.3.8 @@ -22651,18 +22590,6 @@ snapshots: node-fs: 0.1.7 when: 2.0.1 - finalhandler@1.2.0: - dependencies: - debug: 2.6.9 - encodeurl: 1.0.2 - escape-html: 1.0.3 - on-finished: 2.4.1 - parseurl: 1.3.3 - statuses: 2.0.1 - unpipe: 1.0.0 - transitivePeerDependencies: - - supports-color - finalhandler@1.3.1: dependencies: debug: 2.6.9 @@ -25535,8 +25462,6 @@ snapshots: lru-cache: 10.4.3 minipass: 7.1.2 - path-to-regexp@0.1.10: {} - path-to-regexp@0.1.12: {} path-to-regexp@0.1.7: {} @@ -25839,10 +25764,6 @@ snapshots: pure-rand@6.1.0: {} - qs@6.11.0: - dependencies: - side-channel: 1.1.0 - qs@6.13.0: dependencies: side-channel: 1.1.0 @@ -26354,15 +26275,6 @@ snapshots: parseurl: 1.3.3 safe-buffer: 5.1.1 - serve-static@1.16.0: - dependencies: - encodeurl: 1.0.2 - escape-html: 1.0.3 - parseurl: 1.3.3 - send: 0.19.0 - transitivePeerDependencies: - - supports-color - serve-static@1.16.2: dependencies: encodeurl: 2.0.0 diff --git a/servers/account-data-deleter/package.json b/servers/account-data-deleter/package.json index 922982276..9958ecf88 100644 --- a/servers/account-data-deleter/package.json +++ b/servers/account-data-deleter/package.json @@ -38,7 +38,7 @@ "ajv": "8.17.1", "archiver": "^7.0.1", "csv-stringify": "^6.5.1", - "express": "4.20.0", + "express": "4.21.2", "express-validator": "^7.1.0", "knex": "3.1.0", "lodash": "4.17.21", diff --git a/servers/annotations-api/package.json b/servers/annotations-api/package.json index 3ecba7a10..6d24e7ea2 100644 --- a/servers/annotations-api/package.json +++ b/servers/annotations-api/package.json @@ -41,7 +41,7 @@ "cors": "2.8.5", "dataloader": "2.2.2", "exponential-backoff": "^3.1.1", - "express": "4.20.0", + "express": "4.21.2", "express-validator": "^7.1.0", "graphql": "16.9.0", "graphql-constraint-directive": "5.4.2", diff --git a/servers/braze-content-proxy/package.json b/servers/braze-content-proxy/package.json index 8714645ff..91a47620c 100644 --- a/servers/braze-content-proxy/package.json +++ b/servers/braze-content-proxy/package.json @@ -24,7 +24,7 @@ "@sentry/node": "8.47.0", "cross-fetch": "4.0.0", "dataloader": "2.2.2", - "express": "4.20.0", + "express": "4.21.2", "graphql-tag": "2.12.6", "tslib": "2.8.0" }, diff --git a/servers/feature-flags/package.json b/servers/feature-flags/package.json index 8d330f33b..353db3458 100644 --- a/servers/feature-flags/package.json +++ b/servers/feature-flags/package.json @@ -30,7 +30,7 @@ "@sentry/node": "8.47.0", "body-parser": "1.20.3", "cors": "2.8.5", - "express": "4.20.0", + "express": "4.21.2", "graphql": "16.9.0", "graphql-tag": "2.12.6", "jsonwebtoken": "^9.0.0", diff --git a/servers/image-api/package.json b/servers/image-api/package.json index 813f8b4e2..ef706e3d5 100644 --- a/servers/image-api/package.json +++ b/servers/image-api/package.json @@ -36,7 +36,7 @@ "axios": "1.7.7", "axios-retry": "4.5.0", "dataloader": "2.2.2", - "express": "4.20.0", + "express": "4.21.2", "graphql": "16.9.0", "graphql-tag": "2.12.6", "keyv": "4.5.4", diff --git a/servers/list-api/package.json b/servers/list-api/package.json index 77cde688b..84ead2822 100644 --- a/servers/list-api/package.json +++ b/servers/list-api/package.json @@ -39,7 +39,7 @@ "@snowplow/node-tracker": "3.24.3", "@snowplow/tracker-core": "3.24.3", "dataloader": "2.2.2", - "express": "4.20.0", + "express": "4.21.2", "express-validator": "^7.1.0", "graphql": "16.9.0", "graphql-constraint-directive": "5.4.2", diff --git a/servers/notes-api/package.json b/servers/notes-api/package.json index 343937f1c..f73b00090 100644 --- a/servers/notes-api/package.json +++ b/servers/notes-api/package.json @@ -47,7 +47,7 @@ "@sentry/node": "8.47.0", "cors": "2.8.5", "dataloader": "2.2.2", - "express": "4.20.0", + "express": "4.21.2", "graphql": "16.9.0", "graphql-constraint-directive": "5.4.2", "graphql-scalars": "^1.23.0", diff --git a/servers/parser-graphql-wrapper/package.json b/servers/parser-graphql-wrapper/package.json index b9cd9715b..619a3c80c 100644 --- a/servers/parser-graphql-wrapper/package.json +++ b/servers/parser-graphql-wrapper/package.json @@ -41,7 +41,7 @@ "dataloader": "2.2.2", "domino": "2.1.6", "exponential-backoff": "^3.1.1", - "express": "4.20.0", + "express": "4.21.2", "graphql": "16.9.0", "graphql-scalars": "^1.23.0", "graphql-tag": "2.12.6", diff --git a/servers/shareable-lists-api/package.json b/servers/shareable-lists-api/package.json index da8416389..80377644b 100644 --- a/servers/shareable-lists-api/package.json +++ b/servers/shareable-lists-api/package.json @@ -46,7 +46,7 @@ "@prisma/client": "5.22.0", "@sentry/node": "8.47.0", "cors": "2.8.5", - "express": "4.20.0", + "express": "4.21.2", "express-validator": "^7.1.0", "graphql": "16.9.0", "graphql-constraint-directive": "5.4.2", diff --git a/servers/shared-snowplow-consumer/package.json b/servers/shared-snowplow-consumer/package.json index 27c580736..53a8f6a98 100644 --- a/servers/shared-snowplow-consumer/package.json +++ b/servers/shared-snowplow-consumer/package.json @@ -28,7 +28,7 @@ "@sentry/node": "8.47.0", "@snowplow/node-tracker": "3.24.3", "@snowplow/tracker-core": "3.24.3", - "express": "4.20.0", + "express": "4.21.2", "express-validator": "^7.1.0", "tslib": "2.8.0" }, diff --git a/servers/shares-api/package.json b/servers/shares-api/package.json index 429168c28..22a9d4fad 100644 --- a/servers/shares-api/package.json +++ b/servers/shares-api/package.json @@ -37,7 +37,7 @@ "@sentry/node": "8.47.0", "@snowplow/tracker-core": "3.24.3", "cors": "2.8.5", - "express": "4.20.0", + "express": "4.21.2", "graphql": "16.9.0", "graphql-constraint-directive": "5.4.2", "graphql-scalars": "^1.23.0", diff --git a/servers/user-api/package.json b/servers/user-api/package.json index d8ce6913e..33167d05d 100644 --- a/servers/user-api/package.json +++ b/servers/user-api/package.json @@ -29,7 +29,7 @@ "@pocket-tools/ts-logger": "workspace:*", "@sentry/node": "8.47.0", "dataloader": "2.2.2", - "express": "4.20.0", + "express": "4.21.2", "graphql": "16.9.0", "graphql-tag": "2.12.6", "knex": "3.1.0", diff --git a/servers/user-list-search/package.json b/servers/user-list-search/package.json index 64f86cae7..56210762b 100644 --- a/servers/user-list-search/package.json +++ b/servers/user-list-search/package.json @@ -39,7 +39,7 @@ "@smithy/util-retry": "3.0.3", "elastic-builder": "^2.29.0", "elasticsearch": "^16.7.3", - "express": "4.20.0", + "express": "4.21.2", "express-validator": "^7.1.0", "graphql": "16.9.0", "graphql-constraint-directive": "5.4.2", diff --git a/servers/v3-proxy-api/package.json b/servers/v3-proxy-api/package.json index e80e0f8ce..a6ca81a08 100644 --- a/servers/v3-proxy-api/package.json +++ b/servers/v3-proxy-api/package.json @@ -24,7 +24,7 @@ "@sentry/node": "8.47.0", "content-type": "1.0.5", "cors": "2.8.5", - "express": "4.20.0", + "express": "4.21.2", "express-validator": "^7.1.0", "graphql-request": "^6.1.0", "luxon": "3.5.0", From 515688e1b080592cc999716d6fcf0a5e9e9f7b3b Mon Sep 17 00:00:00 2001 From: Kat Schelonka Date: Mon, 13 Jan 2025 14:44:51 -0800 Subject: [PATCH 06/14] feat(tfmodules): make deploymentConfigName configurable Enable different traffic patterns for deployment (defaults to All at Once) --- infrastructure/client-api/src/main.ts | 3 +++ .../src/base/ApplicationECSAlbCodeDeploy.ts | 6 +++++- .../terraform-modules/src/base/ApplicationECSService.ts | 3 +++ .../terraform-modules/src/pocket/PocketALBApplication.ts | 7 +++++++ 4 files changed, 18 insertions(+), 1 deletion(-) diff --git a/infrastructure/client-api/src/main.ts b/infrastructure/client-api/src/main.ts index 7932862b4..5cf16a58d 100644 --- a/infrastructure/client-api/src/main.ts +++ b/infrastructure/client-api/src/main.ts @@ -309,6 +309,9 @@ class ClientAPI extends TerraformStack { useCodeDeploy: true, useCodePipeline: false, useTerraformBasedCodeDeploy: false, + // Shifts 10 percent of traffic in the first increment. + // The remaining 90 percent is deployed five minutes later. + deploymentConfigName: 'CodeDeployDefault.ECSCanary10Percent5Minutes', generateAppSpec: false, snsNotificationTopicArn: snsTopic.arn, successTerminationWaitTimeInMinutes: 5, diff --git a/packages/terraform-modules/src/base/ApplicationECSAlbCodeDeploy.ts b/packages/terraform-modules/src/base/ApplicationECSAlbCodeDeploy.ts index f0802ef44..a566c90fc 100644 --- a/packages/terraform-modules/src/base/ApplicationECSAlbCodeDeploy.ts +++ b/packages/terraform-modules/src/base/ApplicationECSAlbCodeDeploy.ts @@ -25,6 +25,8 @@ export interface ApplicationECSAlbCodeDeployProps targetGroupNames: string[]; tags?: { [key: string]: string }; dependsOn?: TerraformResource[]; + // Docs at Terraform Registry: CodedeployDeploymentGroup#deployment_config_name + deploymentConfigName?: string | undefined; successTerminationWaitTimeInMinutes?: number; notifications?: { notifyOnStarted?: boolean; @@ -66,7 +68,9 @@ export class ApplicationECSAlbCodeDeploy extends Construct { { dependsOn: config.dependsOn, appName: codeDeployApp.name, - deploymentConfigName: 'CodeDeployDefault.ECSAllAtOnce', + deploymentConfigName: + this.config.deploymentConfigName ?? + 'CodeDeployDefault.ECSAllAtOnce', deploymentGroupName: `${this.config.prefix}-ECS`, serviceRoleArn: ecsCodeDeployRole.arn, autoRollbackConfiguration: { diff --git a/packages/terraform-modules/src/base/ApplicationECSService.ts b/packages/terraform-modules/src/base/ApplicationECSService.ts index f52beb52b..808d3b590 100644 --- a/packages/terraform-modules/src/base/ApplicationECSService.ts +++ b/packages/terraform-modules/src/base/ApplicationECSService.ts @@ -64,6 +64,8 @@ export interface ApplicationECSServiceProps extends TerraformMetaArguments { useCodePipeline?: boolean; generateAppSpec?: boolean; successTerminationWaitTimeInMinutes?: number; + // Docs at Terraform Registry: CodedeployDeploymentGroup#deployment_config_name + deploymentConfigName?: string | undefined; codeDeployNotifications?: { notifyOnStarted?: boolean; //defaults to true notifyOnSucceeded?: boolean; //defaults to true @@ -205,6 +207,7 @@ export class ApplicationECSService extends Construct { clusterName: this.config.ecsClusterName, targetGroupNames: targetGroupNames, listenerArn: this.config.albConfig.listenerArn, + deploymentConfigName: this.config.deploymentConfigName, snsNotificationTopicArn: this.config.codeDeploySnsNotificationTopicArn, tags: this.config.tags, diff --git a/packages/terraform-modules/src/pocket/PocketALBApplication.ts b/packages/terraform-modules/src/pocket/PocketALBApplication.ts index 3031f9153..be2b5f59f 100644 --- a/packages/terraform-modules/src/pocket/PocketALBApplication.ts +++ b/packages/terraform-modules/src/pocket/PocketALBApplication.ts @@ -123,6 +123,12 @@ export interface PocketALBApplicationProps extends TerraformMetaArguments { * Option to create a CodeDeploy application. */ useCodeDeploy: boolean; + /** + * How to do the blue/green deployment + * Docs at Terraform Registry: CodedeployDeploymentGroup#deployment_config_name + * See also: https://docs.aws.amazon.com/codedeploy/latest/userguide/deployment-configurations.html + */ + deploymentConfigName?: string | undefined; /** * Option to deploy a new version using terraform, instead of externally */ @@ -644,6 +650,7 @@ export class PocketALBApplication extends Construct { ecsClusterArn: ecsCluster.cluster.arn, ecsClusterName: ecsCluster.cluster.name, useCodeDeploy: this.config.codeDeploy.useCodeDeploy, + deploymentConfigName: this.config.codeDeploy.deploymentConfigName, codeDeployNotifications: this.config.codeDeploy.notifications, useCodePipeline: this.config.codeDeploy.useCodePipeline, useTerraformBasedCodeDeploy: From d63f51bebb57def52b57337a5b843318ed3d3fff Mon Sep 17 00:00:00 2001 From: Kat Schelonka Date: Mon, 13 Jan 2025 14:48:28 -0800 Subject: [PATCH 07/14] chore: fix build issues Forces build to use the docker file in the root directory Remove test files (since we have no tests atm) --- .github/workflows/client-api.yml | 1 - servers/coprocessor/package.json | 3 --- 2 files changed, 4 deletions(-) diff --git a/.github/workflows/client-api.yml b/.github/workflows/client-api.yml index 19ff2cd26..97514c9f1 100644 --- a/.github/workflows/client-api.yml +++ b/.github/workflows/client-api.yml @@ -39,7 +39,6 @@ jobs: with: scope: '@server/coprocessor' docker-repo-name-pattern: clientapi-{0}-coprocessor - context: servers/coprocessor app-path: servers/coprocessor # Do not pass terraform-output because we don't want to redo codedeploy # and it's conditional on this output diff --git a/servers/coprocessor/package.json b/servers/coprocessor/package.json index 4bd1d4b06..76ba2f971 100644 --- a/servers/coprocessor/package.json +++ b/servers/coprocessor/package.json @@ -12,9 +12,6 @@ "format": "eslint --fix", "lint": "eslint --fix-dry-run", "start": "node dist/index.js", - "test": "jest \"\\.spec\\.ts\"", - "test-ci": "npm test", - "test-integrations": "jest \"\\.integration\\.ts\" --runInBand --ci --watchAll=false --forceExit", "watch": "tsc -w --preserveWatchOutput & nodemon --inspect --config ../../nodemon.json" }, "dependencies": { From c4528cfa7804cde4600b6ff6814fb6c77070ba3f Mon Sep 17 00:00:00 2001 From: Kat Schelonka Date: Mon, 13 Jan 2025 14:55:16 -0800 Subject: [PATCH 08/14] fix(ci/cd): set default terraform-output Check for empty terraform input in code deploy docker image step --- .../workflows/reuse-build-and-push-image.yml | 218 +++++++++--------- 1 file changed, 109 insertions(+), 109 deletions(-) diff --git a/.github/workflows/reuse-build-and-push-image.yml b/.github/workflows/reuse-build-and-push-image.yml index c90deeef1..b0dead3e8 100644 --- a/.github/workflows/reuse-build-and-push-image.yml +++ b/.github/workflows/reuse-build-and-push-image.yml @@ -47,6 +47,7 @@ on: terraform-output: description: 'The terraform output which is used to get the ECS_Service and Task Defintion arns for codedeploy' required: false + default: '' type: string archive-download-name: description: 'If specified, download this archive instead of checkout' @@ -55,117 +56,116 @@ on: default: '' permissions: - contents: read # This is required for actions/checkout - id-token: write # Access the Github JWT for AWS access + contents: read # This is required for actions/checkout + id-token: write # Access the Github JWT for AWS access deployments: write jobs: - # Let's build the image on every pull request just like we would on production - pull-request: - # Only run this job on a pull request event - if: github.event_name == 'pull_request' - runs-on: ubuntu-latest - steps: - - name: Checkout - if: inputs.archive-download-name == '' - uses: actions/checkout@v4 - - name: Archive download - if: inputs.archive-download-name != '' - uses: actions/download-artifact@v4 - with: - name: ${{inputs.archive-download-name}} - - name: Build Docker Image - uses: pocket/pocket-monorepo/.github/actions/containerize@main - with: - docker-repo-name: "${{inputs.development-aws-registry }}/${{ format(inputs.docker-repo-name-pattern, 'dev') }}" - app-path: ${{inputs.app-path}} - app-port: ${{inputs.app-port}} - context: ${{inputs.context}} - sentry-project: ${{inputs.sentry-project}} - sentry-org: ${{inputs.sentry-org}} - sentry-token: ${{secrets.SENTRY_BEARER}} - dockerhub-username: ${{secrets.DOCKERHUB_USERNAME}} - dockerhub-token: ${{secrets.DOCKERHUB_TOKEN}} - scope: ${{inputs.scope}} - + # Let's build the image on every pull request just like we would on production + pull-request: + # Only run this job on a pull request event + if: github.event_name == 'pull_request' + runs-on: ubuntu-latest + steps: + - name: Checkout + if: inputs.archive-download-name == '' + uses: actions/checkout@v4 + - name: Archive download + if: inputs.archive-download-name != '' + uses: actions/download-artifact@v4 + with: + name: ${{inputs.archive-download-name}} + - name: Build Docker Image + uses: pocket/pocket-monorepo/.github/actions/containerize@main + with: + docker-repo-name: "${{inputs.development-aws-registry }}/${{ format(inputs.docker-repo-name-pattern, 'dev') }}" + app-path: ${{inputs.app-path}} + app-port: ${{inputs.app-port}} + context: ${{inputs.context}} + sentry-project: ${{inputs.sentry-project}} + sentry-org: ${{inputs.sentry-org}} + sentry-token: ${{secrets.SENTRY_BEARER}} + dockerhub-username: ${{secrets.DOCKERHUB_USERNAME}} + dockerhub-token: ${{secrets.DOCKERHUB_TOKEN}} + scope: ${{inputs.scope}} - development: - if: github.ref == 'refs/heads/dev' - runs-on: ubuntu-latest - steps: - - name: Checkout - if: inputs.archive-download-name == '' - uses: actions/checkout@v4 - - name: Archive download - if: inputs.archive-download-name != '' - uses: actions/download-artifact@v4 - with: - name: ${{inputs.archive-download-name}} - # Get the AWS credentials - - name: AWS Credentials - uses: aws-actions/configure-aws-credentials@v4 - with: - aws-region: us-east-1 - role-to-assume: arn:aws:iam::410318598490:role/PocketGHARole - - name: Build and Push Development Docker Image - id: dev-docker-build - uses: pocket/pocket-monorepo/.github/actions/containerize@main - with: - docker-repo-name: "${{inputs.development-aws-registry }}/${{ format(inputs.docker-repo-name-pattern, 'dev') }}" - app-path: ${{inputs.app-path}} - app-port: ${{inputs.app-port}} - context: ${{inputs.context}} - sentry-project: ${{inputs.sentry-project}} - sentry-org: ${{inputs.sentry-org}} - sentry-token: ${{secrets.SENTRY_BEARER}} - dockerhub-username: ${{secrets.DOCKERHUB_USERNAME}} - dockerhub-token: ${{secrets.DOCKERHUB_TOKEN}} - scope: ${{inputs.scope}} - push: true - - name: Code Deploy Docker Image - uses: pocket/pocket-monorepo/.github/actions/ecs-codedeploy@main - if: fromJSON(inputs.terraform-output).ecs-task-containerName.value != '' - with: - docker-image-name: ${{steps.dev-docker-build.outputs.docker-image-name}} - terraform-output: ${{ inputs.terraform-output }} - name: ${{inputs.scope}} + development: + if: github.ref == 'refs/heads/dev' + runs-on: ubuntu-latest + steps: + - name: Checkout + if: inputs.archive-download-name == '' + uses: actions/checkout@v4 + - name: Archive download + if: inputs.archive-download-name != '' + uses: actions/download-artifact@v4 + with: + name: ${{inputs.archive-download-name}} + # Get the AWS credentials + - name: AWS Credentials + uses: aws-actions/configure-aws-credentials@v4 + with: + aws-region: us-east-1 + role-to-assume: arn:aws:iam::410318598490:role/PocketGHARole + - name: Build and Push Development Docker Image + id: dev-docker-build + uses: pocket/pocket-monorepo/.github/actions/containerize@main + with: + docker-repo-name: "${{inputs.development-aws-registry }}/${{ format(inputs.docker-repo-name-pattern, 'dev') }}" + app-path: ${{inputs.app-path}} + app-port: ${{inputs.app-port}} + context: ${{inputs.context}} + sentry-project: ${{inputs.sentry-project}} + sentry-org: ${{inputs.sentry-org}} + sentry-token: ${{secrets.SENTRY_BEARER}} + dockerhub-username: ${{secrets.DOCKERHUB_USERNAME}} + dockerhub-token: ${{secrets.DOCKERHUB_TOKEN}} + scope: ${{inputs.scope}} + push: true + - name: Code Deploy Docker Image + uses: pocket/pocket-monorepo/.github/actions/ecs-codedeploy@main + if: inputs.terraform-output != '' && fromJSON(inputs.terraform-output).ecs-task-containerName.value != '' + with: + docker-image-name: ${{steps.dev-docker-build.outputs.docker-image-name}} + terraform-output: ${{ inputs.terraform-output }} + name: ${{inputs.scope}} - production: - if: github.ref == 'refs/heads/main' - runs-on: ubuntu-latest - steps: - - name: Checkout - if: inputs.archive-download-name == '' - uses: actions/checkout@v4 - - name: Archive download - if: inputs.archive-download-name != '' - uses: actions/download-artifact@v4 - with: - name: ${{inputs.archive-download-name}} - - name: AWS Credentials - uses: aws-actions/configure-aws-credentials@v4 - with: - aws-region: us-east-1 - role-to-assume: arn:aws:iam::996905175585:role/PocketGHARole - - name: Build and Push Production Docker Image - id: prod-docker-build - uses: pocket/pocket-monorepo/.github/actions/containerize@main - with: - docker-repo-name: "${{inputs.production-aws-registry }}/${{ format(inputs.docker-repo-name-pattern, 'prod') }}" - app-path: ${{inputs.app-path}} - app-port: ${{inputs.app-port}} - context: ${{inputs.context}} - sentry-project: ${{inputs.sentry-project}} - sentry-org: ${{inputs.sentry-org}} - sentry-token: ${{secrets.SENTRY_BEARER}} - dockerhub-username: ${{secrets.DOCKERHUB_USERNAME}} - dockerhub-token: ${{secrets.DOCKERHUB_TOKEN}} - scope: ${{inputs.scope}} - push: true - - name: Code Deploy Docker Image - uses: pocket/pocket-monorepo/.github/actions/ecs-codedeploy@main - if: fromJSON(inputs.terraform-output).ecs-task-containerName.value != '' - with: - docker-image-name: ${{steps.prod-docker-build.outputs.docker-image-name}} - terraform-output: ${{ inputs.terraform-output }} - name: ${{inputs.scope}} \ No newline at end of file + production: + if: github.ref == 'refs/heads/main' + runs-on: ubuntu-latest + steps: + - name: Checkout + if: inputs.archive-download-name == '' + uses: actions/checkout@v4 + - name: Archive download + if: inputs.archive-download-name != '' + uses: actions/download-artifact@v4 + with: + name: ${{inputs.archive-download-name}} + - name: AWS Credentials + uses: aws-actions/configure-aws-credentials@v4 + with: + aws-region: us-east-1 + role-to-assume: arn:aws:iam::996905175585:role/PocketGHARole + - name: Build and Push Production Docker Image + id: prod-docker-build + uses: pocket/pocket-monorepo/.github/actions/containerize@main + with: + docker-repo-name: "${{inputs.production-aws-registry }}/${{ format(inputs.docker-repo-name-pattern, 'prod') }}" + app-path: ${{inputs.app-path}} + app-port: ${{inputs.app-port}} + context: ${{inputs.context}} + sentry-project: ${{inputs.sentry-project}} + sentry-org: ${{inputs.sentry-org}} + sentry-token: ${{secrets.SENTRY_BEARER}} + dockerhub-username: ${{secrets.DOCKERHUB_USERNAME}} + dockerhub-token: ${{secrets.DOCKERHUB_TOKEN}} + scope: ${{inputs.scope}} + push: true + - name: Code Deploy Docker Image + uses: pocket/pocket-monorepo/.github/actions/ecs-codedeploy@main + if: inputs.terraform-output != '' && fromJSON(inputs.terraform-output).ecs-task-containerName.value != '' + with: + docker-image-name: ${{steps.prod-docker-build.outputs.docker-image-name}} + terraform-output: ${{ inputs.terraform-output }} + name: ${{inputs.scope}} From 370745153eb90208cf87a2ba71e9c335bf751a4d Mon Sep 17 00:00:00 2001 From: Kat Schelonka Date: Mon, 13 Jan 2025 15:18:32 -0800 Subject: [PATCH 09/14] fix: set env var for making request to coprocessor sidecar --- infrastructure/client-api/src/main.ts | 4 ++++ servers/client-api/config/router.yaml | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/infrastructure/client-api/src/main.ts b/infrastructure/client-api/src/main.ts index 5cf16a58d..72249a801 100644 --- a/infrastructure/client-api/src/main.ts +++ b/infrastructure/client-api/src/main.ts @@ -238,6 +238,10 @@ class ClientAPI extends TerraformStack { name: 'OTLP_COLLECTOR_URL', value: `${config.tracing.url}`, }, + { + name: 'COPROCESSOR_URL', + value: 'http://localhost:3007', + }, { name: 'REDIS_ENDPOINT', value: cache, diff --git a/servers/client-api/config/router.yaml b/servers/client-api/config/router.yaml index 23dfb80e3..4af5d2e59 100644 --- a/servers/client-api/config/router.yaml +++ b/servers/client-api/config/router.yaml @@ -294,7 +294,7 @@ apq: urls: ['${env.REDIS_PROTOCOL:-rediss-cluster}://${env.REDIS_ENDPOINT}'] ttl: 24h # optional, by default no expiration coprocessor: - url: ${env.COPROCESSOR_URL} + url: '${env.COPROCESSOR_URL:-http://localhost:3007}' timeout: 100s # The timeout for all coprocessor requests. Defaults to 1 second (1s) router: # This coprocessor hooks into the `RouterService` request: # By including this key, the `RouterService` sends a coprocessor request whenever it first receives a client request. From a5c76852a79fc30ef9afcd1e51f394b9647691f1 Mon Sep 17 00:00:00 2001 From: Kat Schelonka Date: Tue, 14 Jan 2025 10:32:15 -0800 Subject: [PATCH 10/14] fix(ci): try setting terraform-output explicitly to empty string --- .github/workflows/client-api.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/client-api.yml b/.github/workflows/client-api.yml index 97514c9f1..eaec7cfc9 100644 --- a/.github/workflows/client-api.yml +++ b/.github/workflows/client-api.yml @@ -42,6 +42,7 @@ jobs: app-path: servers/coprocessor # Do not pass terraform-output because we don't want to redo codedeploy # and it's conditional on this output + terraform-output: '' secrets: inherit api: From c03295c8836d9e52c0c7a466d2617adb25188cc3 Mon Sep 17 00:00:00 2001 From: Kat Schelonka Date: Tue, 14 Jan 2025 10:56:57 -0800 Subject: [PATCH 11/14] fix: try setting terraform-output to empty object --- .github/workflows/client-api.yml | 1 - .github/workflows/reuse-build-and-push-image.yml | 2 +- 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/.github/workflows/client-api.yml b/.github/workflows/client-api.yml index eaec7cfc9..97514c9f1 100644 --- a/.github/workflows/client-api.yml +++ b/.github/workflows/client-api.yml @@ -42,7 +42,6 @@ jobs: app-path: servers/coprocessor # Do not pass terraform-output because we don't want to redo codedeploy # and it's conditional on this output - terraform-output: '' secrets: inherit api: diff --git a/.github/workflows/reuse-build-and-push-image.yml b/.github/workflows/reuse-build-and-push-image.yml index b0dead3e8..1eba585e7 100644 --- a/.github/workflows/reuse-build-and-push-image.yml +++ b/.github/workflows/reuse-build-and-push-image.yml @@ -47,7 +47,7 @@ on: terraform-output: description: 'The terraform output which is used to get the ECS_Service and Task Defintion arns for codedeploy' required: false - default: '' + default: '{}' type: string archive-download-name: description: 'If specified, download this archive instead of checkout' From 41efbbe5f96257f44c3fa07846b279aed98609e0 Mon Sep 17 00:00:00 2001 From: Kat Schelonka Date: Tue, 14 Jan 2025 12:11:30 -0800 Subject: [PATCH 12/14] fix: trying another terraform-output default --- .github/workflows/reuse-build-and-push-image.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/reuse-build-and-push-image.yml b/.github/workflows/reuse-build-and-push-image.yml index 1eba585e7..3ce612718 100644 --- a/.github/workflows/reuse-build-and-push-image.yml +++ b/.github/workflows/reuse-build-and-push-image.yml @@ -47,7 +47,7 @@ on: terraform-output: description: 'The terraform output which is used to get the ECS_Service and Task Defintion arns for codedeploy' required: false - default: '{}' + default: '{"ecs-task-containerName": {"value":""}}' type: string archive-download-name: description: 'If specified, download this archive instead of checkout' From f1dfecce35f611066f6c3b1c7db18abccb9e6f02 Mon Sep 17 00:00:00 2001 From: Kat Schelonka Date: Tue, 14 Jan 2025 14:05:22 -0800 Subject: [PATCH 13/14] chore(deps): add tslib to coprocessor --- pnpm-lock.yaml | 39 +++++++++++++++++--------------- servers/coprocessor/package.json | 3 ++- 2 files changed, 23 insertions(+), 19 deletions(-) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 8b0f5fdef..f4dfdf497 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -36,7 +36,7 @@ importers: devDependencies: '@commitlint/cli': specifier: 19.6.0 - version: 19.6.0(@types/node@22.10.5)(typescript@5.8.0-dev.20250113) + version: 19.6.0(@types/node@22.10.5)(typescript@5.8.0-dev.20250114) '@commitlint/config-conventional': specifier: ^19.6.0 version: 19.6.0 @@ -45,7 +45,7 @@ importers: version: link:packages/eslint-config syncpack: specifier: ^13.0.0 - version: 13.0.0(typescript@5.8.0-dev.20250113) + version: 13.0.0(typescript@5.8.0-dev.20250114) tsconfig: specifier: workspace:* version: link:packages/tsconfig @@ -3084,6 +3084,9 @@ importers: multer: specifier: 1.4.5-lts.1 version: 1.4.5-lts.1 + tslib: + specifier: 2.8.0 + version: 2.8.0 devDependencies: '@types/express': specifier: 4.17.21 @@ -14207,8 +14210,8 @@ packages: engines: {node: '>=14.17'} hasBin: true - typescript@5.8.0-dev.20250113: - resolution: {integrity: sha512-P0/9dr0Rwfs+XMXz2OyX9rVUu84x0qKUlTMDytq5GentLY1ebkyOHQSxvVeU/7L3hzrLFvdM4tVnuQJme1Webw==} + typescript@5.8.0-dev.20250114: + resolution: {integrity: sha512-DGtuEPL692JPjTQHFmP810EklYi8ndHgCWt61kRjQfaO25LFpxuB9ZNVs79u15t9JpkeIB6WLKpjY/JiRCzYMw==} engines: {node: '>=14.17'} hasBin: true @@ -16522,11 +16525,11 @@ snapshots: dependencies: commander: 12.1.0 - '@commitlint/cli@19.6.0(@types/node@22.10.5)(typescript@5.8.0-dev.20250113)': + '@commitlint/cli@19.6.0(@types/node@22.10.5)(typescript@5.8.0-dev.20250114)': dependencies: '@commitlint/format': 19.5.0 '@commitlint/lint': 19.6.0 - '@commitlint/load': 19.6.1(@types/node@22.10.5)(typescript@5.8.0-dev.20250113) + '@commitlint/load': 19.6.1(@types/node@22.10.5)(typescript@5.8.0-dev.20250114) '@commitlint/read': 19.5.0 '@commitlint/types': 19.5.0 tinyexec: 0.3.2 @@ -16573,15 +16576,15 @@ snapshots: '@commitlint/rules': 19.6.0 '@commitlint/types': 19.5.0 - '@commitlint/load@19.6.1(@types/node@22.10.5)(typescript@5.8.0-dev.20250113)': + '@commitlint/load@19.6.1(@types/node@22.10.5)(typescript@5.8.0-dev.20250114)': dependencies: '@commitlint/config-validator': 19.5.0 '@commitlint/execute-rule': 19.5.0 '@commitlint/resolve-extends': 19.5.0 '@commitlint/types': 19.5.0 chalk: 5.4.1 - cosmiconfig: 9.0.0(typescript@5.8.0-dev.20250113) - cosmiconfig-typescript-loader: 6.1.0(@types/node@22.10.5)(cosmiconfig@9.0.0(typescript@5.8.0-dev.20250113))(typescript@5.8.0-dev.20250113) + cosmiconfig: 9.0.0(typescript@5.8.0-dev.20250114) + cosmiconfig-typescript-loader: 6.1.0(@types/node@22.10.5)(cosmiconfig@9.0.0(typescript@5.8.0-dev.20250114))(typescript@5.8.0-dev.20250114) lodash.isplainobject: 4.0.6 lodash.merge: 4.6.2 lodash.uniq: 4.5.0 @@ -21580,12 +21583,12 @@ snapshots: object-assign: 4.1.1 vary: 1.1.2 - cosmiconfig-typescript-loader@6.1.0(@types/node@22.10.5)(cosmiconfig@9.0.0(typescript@5.8.0-dev.20250113))(typescript@5.8.0-dev.20250113): + cosmiconfig-typescript-loader@6.1.0(@types/node@22.10.5)(cosmiconfig@9.0.0(typescript@5.8.0-dev.20250114))(typescript@5.8.0-dev.20250114): dependencies: '@types/node': 22.10.5 - cosmiconfig: 9.0.0(typescript@5.8.0-dev.20250113) + cosmiconfig: 9.0.0(typescript@5.8.0-dev.20250114) jiti: 2.4.2 - typescript: 5.8.0-dev.20250113 + typescript: 5.8.0-dev.20250114 cosmiconfig@8.3.6(typescript@5.7.2): dependencies: @@ -21605,14 +21608,14 @@ snapshots: optionalDependencies: typescript: 5.7.2 - cosmiconfig@9.0.0(typescript@5.8.0-dev.20250113): + cosmiconfig@9.0.0(typescript@5.8.0-dev.20250114): dependencies: env-paths: 2.2.1 import-fresh: 3.3.0 js-yaml: 4.1.0 parse-json: 5.2.0 optionalDependencies: - typescript: 5.8.0-dev.20250113 + typescript: 5.8.0-dev.20250114 cpu-features@0.0.2: dependencies: @@ -21946,7 +21949,7 @@ snapshots: dependencies: semver: 7.6.3 shelljs: 0.8.5 - typescript: 5.8.0-dev.20250113 + typescript: 5.8.0-dev.20250114 dreamopt@0.8.0: dependencies: @@ -26771,13 +26774,13 @@ snapshots: '@pkgr/core': 0.1.1 tslib: 2.8.0 - syncpack@13.0.0(typescript@5.8.0-dev.20250113): + syncpack@13.0.0(typescript@5.8.0-dev.20250114): dependencies: '@effect/schema': 0.71.1(effect@3.6.5) chalk: 5.3.0 chalk-template: 1.1.0 commander: 12.1.0 - cosmiconfig: 9.0.0(typescript@5.8.0-dev.20250113) + cosmiconfig: 9.0.0(typescript@5.8.0-dev.20250114) effect: 3.6.5 enquirer: 2.4.1 fast-check: 3.21.0 @@ -27154,7 +27157,7 @@ snapshots: typescript@5.7.2: {} - typescript@5.8.0-dev.20250113: {} + typescript@5.8.0-dev.20250114: {} ua-parser-js@1.0.40: {} diff --git a/servers/coprocessor/package.json b/servers/coprocessor/package.json index 76ba2f971..77fb54471 100644 --- a/servers/coprocessor/package.json +++ b/servers/coprocessor/package.json @@ -17,7 +17,8 @@ "dependencies": { "express": "4.21.2", "jwt-decode": "^4.0.0", - "multer": "1.4.5-lts.1" + "multer": "1.4.5-lts.1", + "tslib": "2.8.0" }, "devDependencies": { "@types/express": "4.17.21", From d4fc45088b4edf6e33ed8df95da8395ed83e4709 Mon Sep 17 00:00:00 2001 From: Kat Schelonka Date: Tue, 14 Jan 2025 14:22:38 -0800 Subject: [PATCH 14/14] chore: deploy all-at-once for dev builds --- infrastructure/client-api/src/main.ts | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/infrastructure/client-api/src/main.ts b/infrastructure/client-api/src/main.ts index 72249a801..288e36352 100644 --- a/infrastructure/client-api/src/main.ts +++ b/infrastructure/client-api/src/main.ts @@ -315,7 +315,9 @@ class ClientAPI extends TerraformStack { useTerraformBasedCodeDeploy: false, // Shifts 10 percent of traffic in the first increment. // The remaining 90 percent is deployed five minutes later. - deploymentConfigName: 'CodeDeployDefault.ECSCanary10Percent5Minutes', + deploymentConfigName: config.isProd + ? 'CodeDeployDefault.ECSCanary10Percent5Minutes' + : 'CodeDeployDefault.ECSAllAtOnce', generateAppSpec: false, snsNotificationTopicArn: snsTopic.arn, successTerminationWaitTimeInMinutes: 5,