@programinglive/dev-workflow-mcp-server 1.7.11 → 1.7.13
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.dockerignore +60 -0
- package/.env.example +1 -0
- package/.env.production +16 -0
- package/CHANGELOG.md +35 -0
- package/Dockerfile +32 -0
- package/README.md +20 -0
- package/db/migrations/002_create_users_table.sql +22 -0
- package/db/migrations/003_create_workflow_history.sql +14 -0
- package/db/migrations/004_fix_workflow_history.sql +3 -0
- package/docker-compose.yml +24 -0
- package/docs/GCP_DEPLOYMENT.md +298 -0
- package/docs/product/PRD.md +1 -1
- package/docs/release-notes/RELEASE_NOTES.md +34 -0
- package/package.json +7 -2
- package/scripts/add-user.js +52 -0
- package/scripts/create-admin.js +47 -0
- package/scripts/deploy-gcloud.ps1 +160 -0
- package/scripts/deploy-gcloud.sh +154 -0
- package/scripts/health-check.js +50 -0
- package/scripts/test-history.js +56 -0
- package/web/__tests__/api/workflow-history.test.js +61 -0
- package/web/app/api/history-fallback/route.ts +56 -0
- package/web/app/docs/page.tsx +1 -1
- package/web/app/history/page.tsx +213 -0
- package/web/app/layout.tsx +1 -1
- package/web/app/login/page.tsx +144 -0
- package/web/app/page.tsx +0 -2
- package/web/components/Hero.tsx +1 -1
- package/web/components/History.tsx +63 -16
- package/web/components/Navbar.tsx +111 -9
- package/web/lib/auth.js +75 -0
- package/web/middleware/auth.js +26 -0
- package/web/next.config.ts +8 -1
- package/web/package-lock.json +239 -54
- package/web/package.json +10 -5
- package/web/scripts/db-query-history.js +120 -0
- package/web/scripts/smoke-test.js +30 -0
- package/web/server.js +171 -18
- package/verify-db-mysql.js +0 -92
package/web/package-lock.json
CHANGED
|
@@ -8,16 +8,20 @@
|
|
|
8
8
|
"name": "web",
|
|
9
9
|
"version": "0.1.0",
|
|
10
10
|
"dependencies": {
|
|
11
|
+
"dotenv": "^17.2.3",
|
|
11
12
|
"lucide-react": "^0.555.0",
|
|
12
|
-
"next": "16.0.
|
|
13
|
+
"next": "^16.0.10",
|
|
14
|
+
"pg": "^8.16.3",
|
|
13
15
|
"react": "19.2.0",
|
|
14
16
|
"react-dom": "19.2.0"
|
|
15
17
|
},
|
|
16
18
|
"devDependencies": {
|
|
17
19
|
"@types/node": "^20",
|
|
20
|
+
"@types/pg": "^8.16.0",
|
|
18
21
|
"@types/react": "^19",
|
|
19
22
|
"@types/react-dom": "^19",
|
|
20
23
|
"autoprefixer": "^10.4.22",
|
|
24
|
+
"cross-env": "^10.1.0",
|
|
21
25
|
"eslint": "^9",
|
|
22
26
|
"eslint-config-next": "16.0.4",
|
|
23
27
|
"postcss": "^8.5.6",
|
|
@@ -69,7 +73,6 @@
|
|
|
69
73
|
"integrity": "sha512-e7jT4DxYvIDLk1ZHmU/m/mB19rex9sv0c2ftBtjSBv+kVM/902eh0fINUzD7UwLLNR+jU585GxUJ8/EBfAM5fw==",
|
|
70
74
|
"dev": true,
|
|
71
75
|
"license": "MIT",
|
|
72
|
-
"peer": true,
|
|
73
76
|
"dependencies": {
|
|
74
77
|
"@babel/code-frame": "^7.27.1",
|
|
75
78
|
"@babel/generator": "^7.28.5",
|
|
@@ -312,6 +315,13 @@
|
|
|
312
315
|
"tslib": "^2.4.0"
|
|
313
316
|
}
|
|
314
317
|
},
|
|
318
|
+
"node_modules/@epic-web/invariant": {
|
|
319
|
+
"version": "1.0.0",
|
|
320
|
+
"resolved": "https://registry.npmjs.org/@epic-web/invariant/-/invariant-1.0.0.tgz",
|
|
321
|
+
"integrity": "sha512-lrTPqgvfFQtR/eY/qkIzp98OGdNJu0m5ji3q/nJI8v3SXkRKEnWiOxMmbvcSoAIzv/cGiuvRy57k4suKQSAdwA==",
|
|
322
|
+
"dev": true,
|
|
323
|
+
"license": "MIT"
|
|
324
|
+
},
|
|
315
325
|
"node_modules/@eslint-community/eslint-utils": {
|
|
316
326
|
"version": "4.9.0",
|
|
317
327
|
"resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.9.0.tgz",
|
|
@@ -1038,9 +1048,9 @@
|
|
|
1038
1048
|
}
|
|
1039
1049
|
},
|
|
1040
1050
|
"node_modules/@next/env": {
|
|
1041
|
-
"version": "16.0.
|
|
1042
|
-
"resolved": "https://registry.npmjs.org/@next/env/-/env-16.0.
|
|
1043
|
-
"integrity": "sha512-
|
|
1051
|
+
"version": "16.0.10",
|
|
1052
|
+
"resolved": "https://registry.npmjs.org/@next/env/-/env-16.0.10.tgz",
|
|
1053
|
+
"integrity": "sha512-8tuaQkyDVgeONQ1MeT9Mkk8pQmZapMKFh5B+OrFUlG3rVmYTXcXlBetBgTurKXGaIZvkoqRT9JL5K3phXcgang==",
|
|
1044
1054
|
"license": "MIT"
|
|
1045
1055
|
},
|
|
1046
1056
|
"node_modules/@next/eslint-plugin-next": {
|
|
@@ -1054,9 +1064,9 @@
|
|
|
1054
1064
|
}
|
|
1055
1065
|
},
|
|
1056
1066
|
"node_modules/@next/swc-darwin-arm64": {
|
|
1057
|
-
"version": "16.0.
|
|
1058
|
-
"resolved": "https://registry.npmjs.org/@next/swc-darwin-arm64/-/swc-darwin-arm64-16.0.
|
|
1059
|
-
"integrity": "sha512-
|
|
1067
|
+
"version": "16.0.10",
|
|
1068
|
+
"resolved": "https://registry.npmjs.org/@next/swc-darwin-arm64/-/swc-darwin-arm64-16.0.10.tgz",
|
|
1069
|
+
"integrity": "sha512-4XgdKtdVsaflErz+B5XeG0T5PeXKDdruDf3CRpnhN+8UebNa5N2H58+3GDgpn/9GBurrQ1uWW768FfscwYkJRg==",
|
|
1060
1070
|
"cpu": [
|
|
1061
1071
|
"arm64"
|
|
1062
1072
|
],
|
|
@@ -1070,9 +1080,9 @@
|
|
|
1070
1080
|
}
|
|
1071
1081
|
},
|
|
1072
1082
|
"node_modules/@next/swc-darwin-x64": {
|
|
1073
|
-
"version": "16.0.
|
|
1074
|
-
"resolved": "https://registry.npmjs.org/@next/swc-darwin-x64/-/swc-darwin-x64-16.0.
|
|
1075
|
-
"integrity": "sha512-
|
|
1083
|
+
"version": "16.0.10",
|
|
1084
|
+
"resolved": "https://registry.npmjs.org/@next/swc-darwin-x64/-/swc-darwin-x64-16.0.10.tgz",
|
|
1085
|
+
"integrity": "sha512-spbEObMvRKkQ3CkYVOME+ocPDFo5UqHb8EMTS78/0mQ+O1nqE8toHJVioZo4TvebATxgA8XMTHHrScPrn68OGw==",
|
|
1076
1086
|
"cpu": [
|
|
1077
1087
|
"x64"
|
|
1078
1088
|
],
|
|
@@ -1086,9 +1096,9 @@
|
|
|
1086
1096
|
}
|
|
1087
1097
|
},
|
|
1088
1098
|
"node_modules/@next/swc-linux-arm64-gnu": {
|
|
1089
|
-
"version": "16.0.
|
|
1090
|
-
"resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-16.0.
|
|
1091
|
-
"integrity": "sha512-
|
|
1099
|
+
"version": "16.0.10",
|
|
1100
|
+
"resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-16.0.10.tgz",
|
|
1101
|
+
"integrity": "sha512-uQtWE3X0iGB8apTIskOMi2w/MKONrPOUCi5yLO+v3O8Mb5c7K4Q5KD1jvTpTF5gJKa3VH/ijKjKUq9O9UhwOYw==",
|
|
1092
1102
|
"cpu": [
|
|
1093
1103
|
"arm64"
|
|
1094
1104
|
],
|
|
@@ -1102,9 +1112,9 @@
|
|
|
1102
1112
|
}
|
|
1103
1113
|
},
|
|
1104
1114
|
"node_modules/@next/swc-linux-arm64-musl": {
|
|
1105
|
-
"version": "16.0.
|
|
1106
|
-
"resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-16.0.
|
|
1107
|
-
"integrity": "sha512-
|
|
1115
|
+
"version": "16.0.10",
|
|
1116
|
+
"resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-16.0.10.tgz",
|
|
1117
|
+
"integrity": "sha512-llA+hiDTrYvyWI21Z0L1GiXwjQaanPVQQwru5peOgtooeJ8qx3tlqRV2P7uH2pKQaUfHxI/WVarvI5oYgGxaTw==",
|
|
1108
1118
|
"cpu": [
|
|
1109
1119
|
"arm64"
|
|
1110
1120
|
],
|
|
@@ -1118,9 +1128,9 @@
|
|
|
1118
1128
|
}
|
|
1119
1129
|
},
|
|
1120
1130
|
"node_modules/@next/swc-linux-x64-gnu": {
|
|
1121
|
-
"version": "16.0.
|
|
1122
|
-
"resolved": "https://registry.npmjs.org/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-16.0.
|
|
1123
|
-
"integrity": "sha512-
|
|
1131
|
+
"version": "16.0.10",
|
|
1132
|
+
"resolved": "https://registry.npmjs.org/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-16.0.10.tgz",
|
|
1133
|
+
"integrity": "sha512-AK2q5H0+a9nsXbeZ3FZdMtbtu9jxW4R/NgzZ6+lrTm3d6Zb7jYrWcgjcpM1k8uuqlSy4xIyPR2YiuUr+wXsavA==",
|
|
1124
1134
|
"cpu": [
|
|
1125
1135
|
"x64"
|
|
1126
1136
|
],
|
|
@@ -1134,9 +1144,9 @@
|
|
|
1134
1144
|
}
|
|
1135
1145
|
},
|
|
1136
1146
|
"node_modules/@next/swc-linux-x64-musl": {
|
|
1137
|
-
"version": "16.0.
|
|
1138
|
-
"resolved": "https://registry.npmjs.org/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-16.0.
|
|
1139
|
-
"integrity": "sha512-
|
|
1147
|
+
"version": "16.0.10",
|
|
1148
|
+
"resolved": "https://registry.npmjs.org/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-16.0.10.tgz",
|
|
1149
|
+
"integrity": "sha512-1TDG9PDKivNw5550S111gsO4RGennLVl9cipPhtkXIFVwo31YZ73nEbLjNC8qG3SgTz/QZyYyaFYMeY4BKZR/g==",
|
|
1140
1150
|
"cpu": [
|
|
1141
1151
|
"x64"
|
|
1142
1152
|
],
|
|
@@ -1150,9 +1160,9 @@
|
|
|
1150
1160
|
}
|
|
1151
1161
|
},
|
|
1152
1162
|
"node_modules/@next/swc-win32-arm64-msvc": {
|
|
1153
|
-
"version": "16.0.
|
|
1154
|
-
"resolved": "https://registry.npmjs.org/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-16.0.
|
|
1155
|
-
"integrity": "sha512-
|
|
1163
|
+
"version": "16.0.10",
|
|
1164
|
+
"resolved": "https://registry.npmjs.org/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-16.0.10.tgz",
|
|
1165
|
+
"integrity": "sha512-aEZIS4Hh32xdJQbHz121pyuVZniSNoqDVx1yIr2hy+ZwJGipeqnMZBJHyMxv2tiuAXGx6/xpTcQJ6btIiBjgmg==",
|
|
1156
1166
|
"cpu": [
|
|
1157
1167
|
"arm64"
|
|
1158
1168
|
],
|
|
@@ -1166,9 +1176,9 @@
|
|
|
1166
1176
|
}
|
|
1167
1177
|
},
|
|
1168
1178
|
"node_modules/@next/swc-win32-x64-msvc": {
|
|
1169
|
-
"version": "16.0.
|
|
1170
|
-
"resolved": "https://registry.npmjs.org/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-16.0.
|
|
1171
|
-
"integrity": "sha512-
|
|
1179
|
+
"version": "16.0.10",
|
|
1180
|
+
"resolved": "https://registry.npmjs.org/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-16.0.10.tgz",
|
|
1181
|
+
"integrity": "sha512-E+njfCoFLb01RAFEnGZn6ERoOqhK1Gl3Lfz1Kjnj0Ulfu7oJbuMyvBKNj/bw8XZnenHDASlygTjZICQW+rYW1Q==",
|
|
1172
1182
|
"cpu": [
|
|
1173
1183
|
"x64"
|
|
1174
1184
|
],
|
|
@@ -1287,13 +1297,24 @@
|
|
|
1287
1297
|
"undici-types": "~6.21.0"
|
|
1288
1298
|
}
|
|
1289
1299
|
},
|
|
1300
|
+
"node_modules/@types/pg": {
|
|
1301
|
+
"version": "8.16.0",
|
|
1302
|
+
"resolved": "https://registry.npmjs.org/@types/pg/-/pg-8.16.0.tgz",
|
|
1303
|
+
"integrity": "sha512-RmhMd/wD+CF8Dfo+cVIy3RR5cl8CyfXQ0tGgW6XBL8L4LM/UTEbNXYRbLwU6w+CgrKBNbrQWt4FUtTfaU5jSYQ==",
|
|
1304
|
+
"dev": true,
|
|
1305
|
+
"license": "MIT",
|
|
1306
|
+
"dependencies": {
|
|
1307
|
+
"@types/node": "*",
|
|
1308
|
+
"pg-protocol": "*",
|
|
1309
|
+
"pg-types": "^2.2.0"
|
|
1310
|
+
}
|
|
1311
|
+
},
|
|
1290
1312
|
"node_modules/@types/react": {
|
|
1291
1313
|
"version": "19.2.7",
|
|
1292
1314
|
"resolved": "https://registry.npmjs.org/@types/react/-/react-19.2.7.tgz",
|
|
1293
1315
|
"integrity": "sha512-MWtvHrGZLFttgeEj28VXHxpmwYbor/ATPYbBfSFZEIRK0ecCFLl2Qo55z52Hss+UV9CRN7trSeq1zbgx7YDWWg==",
|
|
1294
1316
|
"dev": true,
|
|
1295
1317
|
"license": "MIT",
|
|
1296
|
-
"peer": true,
|
|
1297
1318
|
"dependencies": {
|
|
1298
1319
|
"csstype": "^3.2.2"
|
|
1299
1320
|
}
|
|
@@ -1354,7 +1375,6 @@
|
|
|
1354
1375
|
"integrity": "sha512-jCzKdm/QK0Kg4V4IK/oMlRZlY+QOcdjv89U2NgKHZk1CYTj82/RVSx1mV/0gqCVMJ/DA+Zf/S4NBWNF8GQ+eqQ==",
|
|
1355
1376
|
"dev": true,
|
|
1356
1377
|
"license": "MIT",
|
|
1357
|
-
"peer": true,
|
|
1358
1378
|
"dependencies": {
|
|
1359
1379
|
"@typescript-eslint/scope-manager": "8.48.0",
|
|
1360
1380
|
"@typescript-eslint/types": "8.48.0",
|
|
@@ -1854,7 +1874,6 @@
|
|
|
1854
1874
|
"integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==",
|
|
1855
1875
|
"dev": true,
|
|
1856
1876
|
"license": "MIT",
|
|
1857
|
-
"peer": true,
|
|
1858
1877
|
"bin": {
|
|
1859
1878
|
"acorn": "bin/acorn"
|
|
1860
1879
|
},
|
|
@@ -2275,7 +2294,6 @@
|
|
|
2275
2294
|
}
|
|
2276
2295
|
],
|
|
2277
2296
|
"license": "MIT",
|
|
2278
|
-
"peer": true,
|
|
2279
2297
|
"dependencies": {
|
|
2280
2298
|
"baseline-browser-mapping": "^2.8.25",
|
|
2281
2299
|
"caniuse-lite": "^1.0.30001754",
|
|
@@ -2485,6 +2503,24 @@
|
|
|
2485
2503
|
"dev": true,
|
|
2486
2504
|
"license": "MIT"
|
|
2487
2505
|
},
|
|
2506
|
+
"node_modules/cross-env": {
|
|
2507
|
+
"version": "10.1.0",
|
|
2508
|
+
"resolved": "https://registry.npmjs.org/cross-env/-/cross-env-10.1.0.tgz",
|
|
2509
|
+
"integrity": "sha512-GsYosgnACZTADcmEyJctkJIoqAhHjttw7RsFrVoJNXbsWWqaq6Ym+7kZjq6mS45O0jij6vtiReppKQEtqWy6Dw==",
|
|
2510
|
+
"dev": true,
|
|
2511
|
+
"license": "MIT",
|
|
2512
|
+
"dependencies": {
|
|
2513
|
+
"@epic-web/invariant": "^1.0.0",
|
|
2514
|
+
"cross-spawn": "^7.0.6"
|
|
2515
|
+
},
|
|
2516
|
+
"bin": {
|
|
2517
|
+
"cross-env": "dist/bin/cross-env.js",
|
|
2518
|
+
"cross-env-shell": "dist/bin/cross-env-shell.js"
|
|
2519
|
+
},
|
|
2520
|
+
"engines": {
|
|
2521
|
+
"node": ">=20"
|
|
2522
|
+
}
|
|
2523
|
+
},
|
|
2488
2524
|
"node_modules/cross-spawn": {
|
|
2489
2525
|
"version": "7.0.6",
|
|
2490
2526
|
"resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz",
|
|
@@ -2679,6 +2715,18 @@
|
|
|
2679
2715
|
"node": ">=0.10.0"
|
|
2680
2716
|
}
|
|
2681
2717
|
},
|
|
2718
|
+
"node_modules/dotenv": {
|
|
2719
|
+
"version": "17.2.3",
|
|
2720
|
+
"resolved": "https://registry.npmjs.org/dotenv/-/dotenv-17.2.3.tgz",
|
|
2721
|
+
"integrity": "sha512-JVUnt+DUIzu87TABbhPmNfVdBDt18BLOWjMUFJMSi/Qqg7NTYtabbvSNJGOJ7afbRuv9D/lngizHtP7QyLQ+9w==",
|
|
2722
|
+
"license": "BSD-2-Clause",
|
|
2723
|
+
"engines": {
|
|
2724
|
+
"node": ">=12"
|
|
2725
|
+
},
|
|
2726
|
+
"funding": {
|
|
2727
|
+
"url": "https://dotenvx.com"
|
|
2728
|
+
}
|
|
2729
|
+
},
|
|
2682
2730
|
"node_modules/dunder-proto": {
|
|
2683
2731
|
"version": "1.0.1",
|
|
2684
2732
|
"resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz",
|
|
@@ -2914,7 +2962,6 @@
|
|
|
2914
2962
|
"integrity": "sha512-BhHmn2yNOFA9H9JmmIVKJmd288g9hrVRDkdoIgRCRuSySRUHH7r/DI6aAXW9T1WwUuY3DFgrcaqB+deURBLR5g==",
|
|
2915
2963
|
"dev": true,
|
|
2916
2964
|
"license": "MIT",
|
|
2917
|
-
"peer": true,
|
|
2918
2965
|
"dependencies": {
|
|
2919
2966
|
"@eslint-community/eslint-utils": "^4.8.0",
|
|
2920
2967
|
"@eslint-community/regexpp": "^4.12.1",
|
|
@@ -3100,7 +3147,6 @@
|
|
|
3100
3147
|
"integrity": "sha512-whOE1HFo/qJDyX4SnXzP4N6zOWn79WhnCUY/iDR0mPfQZO8wcYE4JClzI2oZrhBnnMUCBCHZhO6VQyoBU95mZA==",
|
|
3101
3148
|
"dev": true,
|
|
3102
3149
|
"license": "MIT",
|
|
3103
|
-
"peer": true,
|
|
3104
3150
|
"dependencies": {
|
|
3105
3151
|
"@rtsao/scc": "^1.1.0",
|
|
3106
3152
|
"array-includes": "^3.1.9",
|
|
@@ -4327,7 +4373,6 @@
|
|
|
4327
4373
|
"integrity": "sha512-/imKNG4EbWNrVjoNC/1H5/9GFy+tqjGBHCaSsN+P2RnPqjsLmv6UD3Ej+Kj8nBWaRAwyk7kK5ZUc+OEatnTR3A==",
|
|
4328
4374
|
"dev": true,
|
|
4329
4375
|
"license": "MIT",
|
|
4330
|
-
"peer": true,
|
|
4331
4376
|
"bin": {
|
|
4332
4377
|
"jiti": "bin/jiti.js"
|
|
4333
4378
|
}
|
|
@@ -4652,12 +4697,12 @@
|
|
|
4652
4697
|
"license": "MIT"
|
|
4653
4698
|
},
|
|
4654
4699
|
"node_modules/next": {
|
|
4655
|
-
"version": "16.0.
|
|
4656
|
-
"resolved": "https://registry.npmjs.org/next/-/next-16.0.
|
|
4657
|
-
"integrity": "sha512-
|
|
4700
|
+
"version": "16.0.10",
|
|
4701
|
+
"resolved": "https://registry.npmjs.org/next/-/next-16.0.10.tgz",
|
|
4702
|
+
"integrity": "sha512-RtWh5PUgI+vxlV3HdR+IfWA1UUHu0+Ram/JBO4vWB54cVPentCD0e+lxyAYEsDTqGGMg7qpjhKh6dc6aW7W/sA==",
|
|
4658
4703
|
"license": "MIT",
|
|
4659
4704
|
"dependencies": {
|
|
4660
|
-
"@next/env": "16.0.
|
|
4705
|
+
"@next/env": "16.0.10",
|
|
4661
4706
|
"@swc/helpers": "0.5.15",
|
|
4662
4707
|
"caniuse-lite": "^1.0.30001579",
|
|
4663
4708
|
"postcss": "8.4.31",
|
|
@@ -4670,14 +4715,14 @@
|
|
|
4670
4715
|
"node": ">=20.9.0"
|
|
4671
4716
|
},
|
|
4672
4717
|
"optionalDependencies": {
|
|
4673
|
-
"@next/swc-darwin-arm64": "16.0.
|
|
4674
|
-
"@next/swc-darwin-x64": "16.0.
|
|
4675
|
-
"@next/swc-linux-arm64-gnu": "16.0.
|
|
4676
|
-
"@next/swc-linux-arm64-musl": "16.0.
|
|
4677
|
-
"@next/swc-linux-x64-gnu": "16.0.
|
|
4678
|
-
"@next/swc-linux-x64-musl": "16.0.
|
|
4679
|
-
"@next/swc-win32-arm64-msvc": "16.0.
|
|
4680
|
-
"@next/swc-win32-x64-msvc": "16.0.
|
|
4718
|
+
"@next/swc-darwin-arm64": "16.0.10",
|
|
4719
|
+
"@next/swc-darwin-x64": "16.0.10",
|
|
4720
|
+
"@next/swc-linux-arm64-gnu": "16.0.10",
|
|
4721
|
+
"@next/swc-linux-arm64-musl": "16.0.10",
|
|
4722
|
+
"@next/swc-linux-x64-gnu": "16.0.10",
|
|
4723
|
+
"@next/swc-linux-x64-musl": "16.0.10",
|
|
4724
|
+
"@next/swc-win32-arm64-msvc": "16.0.10",
|
|
4725
|
+
"@next/swc-win32-x64-msvc": "16.0.10",
|
|
4681
4726
|
"sharp": "^0.34.4"
|
|
4682
4727
|
},
|
|
4683
4728
|
"peerDependencies": {
|
|
@@ -4999,6 +5044,95 @@
|
|
|
4999
5044
|
"dev": true,
|
|
5000
5045
|
"license": "MIT"
|
|
5001
5046
|
},
|
|
5047
|
+
"node_modules/pg": {
|
|
5048
|
+
"version": "8.16.3",
|
|
5049
|
+
"resolved": "https://registry.npmjs.org/pg/-/pg-8.16.3.tgz",
|
|
5050
|
+
"integrity": "sha512-enxc1h0jA/aq5oSDMvqyW3q89ra6XIIDZgCX9vkMrnz5DFTw/Ny3Li2lFQ+pt3L6MCgm/5o2o8HW9hiJji+xvw==",
|
|
5051
|
+
"license": "MIT",
|
|
5052
|
+
"dependencies": {
|
|
5053
|
+
"pg-connection-string": "^2.9.1",
|
|
5054
|
+
"pg-pool": "^3.10.1",
|
|
5055
|
+
"pg-protocol": "^1.10.3",
|
|
5056
|
+
"pg-types": "2.2.0",
|
|
5057
|
+
"pgpass": "1.0.5"
|
|
5058
|
+
},
|
|
5059
|
+
"engines": {
|
|
5060
|
+
"node": ">= 16.0.0"
|
|
5061
|
+
},
|
|
5062
|
+
"optionalDependencies": {
|
|
5063
|
+
"pg-cloudflare": "^1.2.7"
|
|
5064
|
+
},
|
|
5065
|
+
"peerDependencies": {
|
|
5066
|
+
"pg-native": ">=3.0.1"
|
|
5067
|
+
},
|
|
5068
|
+
"peerDependenciesMeta": {
|
|
5069
|
+
"pg-native": {
|
|
5070
|
+
"optional": true
|
|
5071
|
+
}
|
|
5072
|
+
}
|
|
5073
|
+
},
|
|
5074
|
+
"node_modules/pg-cloudflare": {
|
|
5075
|
+
"version": "1.2.7",
|
|
5076
|
+
"resolved": "https://registry.npmjs.org/pg-cloudflare/-/pg-cloudflare-1.2.7.tgz",
|
|
5077
|
+
"integrity": "sha512-YgCtzMH0ptvZJslLM1ffsY4EuGaU0cx4XSdXLRFae8bPP4dS5xL1tNB3k2o/N64cHJpwU7dxKli/nZ2lUa5fLg==",
|
|
5078
|
+
"license": "MIT",
|
|
5079
|
+
"optional": true
|
|
5080
|
+
},
|
|
5081
|
+
"node_modules/pg-connection-string": {
|
|
5082
|
+
"version": "2.9.1",
|
|
5083
|
+
"resolved": "https://registry.npmjs.org/pg-connection-string/-/pg-connection-string-2.9.1.tgz",
|
|
5084
|
+
"integrity": "sha512-nkc6NpDcvPVpZXxrreI/FOtX3XemeLl8E0qFr6F2Lrm/I8WOnaWNhIPK2Z7OHpw7gh5XJThi6j6ppgNoaT1w4w==",
|
|
5085
|
+
"license": "MIT"
|
|
5086
|
+
},
|
|
5087
|
+
"node_modules/pg-int8": {
|
|
5088
|
+
"version": "1.0.1",
|
|
5089
|
+
"resolved": "https://registry.npmjs.org/pg-int8/-/pg-int8-1.0.1.tgz",
|
|
5090
|
+
"integrity": "sha512-WCtabS6t3c8SkpDBUlb1kjOs7l66xsGdKpIPZsg4wR+B3+u9UAum2odSsF9tnvxg80h4ZxLWMy4pRjOsFIqQpw==",
|
|
5091
|
+
"license": "ISC",
|
|
5092
|
+
"engines": {
|
|
5093
|
+
"node": ">=4.0.0"
|
|
5094
|
+
}
|
|
5095
|
+
},
|
|
5096
|
+
"node_modules/pg-pool": {
|
|
5097
|
+
"version": "3.10.1",
|
|
5098
|
+
"resolved": "https://registry.npmjs.org/pg-pool/-/pg-pool-3.10.1.tgz",
|
|
5099
|
+
"integrity": "sha512-Tu8jMlcX+9d8+QVzKIvM/uJtp07PKr82IUOYEphaWcoBhIYkoHpLXN3qO59nAI11ripznDsEzEv8nUxBVWajGg==",
|
|
5100
|
+
"license": "MIT",
|
|
5101
|
+
"peerDependencies": {
|
|
5102
|
+
"pg": ">=8.0"
|
|
5103
|
+
}
|
|
5104
|
+
},
|
|
5105
|
+
"node_modules/pg-protocol": {
|
|
5106
|
+
"version": "1.10.3",
|
|
5107
|
+
"resolved": "https://registry.npmjs.org/pg-protocol/-/pg-protocol-1.10.3.tgz",
|
|
5108
|
+
"integrity": "sha512-6DIBgBQaTKDJyxnXaLiLR8wBpQQcGWuAESkRBX/t6OwA8YsqP+iVSiond2EDy6Y/dsGk8rh/jtax3js5NeV7JQ==",
|
|
5109
|
+
"license": "MIT"
|
|
5110
|
+
},
|
|
5111
|
+
"node_modules/pg-types": {
|
|
5112
|
+
"version": "2.2.0",
|
|
5113
|
+
"resolved": "https://registry.npmjs.org/pg-types/-/pg-types-2.2.0.tgz",
|
|
5114
|
+
"integrity": "sha512-qTAAlrEsl8s4OiEQY69wDvcMIdQN6wdz5ojQiOy6YRMuynxenON0O5oCpJI6lshc6scgAY8qvJ2On/p+CXY0GA==",
|
|
5115
|
+
"license": "MIT",
|
|
5116
|
+
"dependencies": {
|
|
5117
|
+
"pg-int8": "1.0.1",
|
|
5118
|
+
"postgres-array": "~2.0.0",
|
|
5119
|
+
"postgres-bytea": "~1.0.0",
|
|
5120
|
+
"postgres-date": "~1.0.4",
|
|
5121
|
+
"postgres-interval": "^1.1.0"
|
|
5122
|
+
},
|
|
5123
|
+
"engines": {
|
|
5124
|
+
"node": ">=4"
|
|
5125
|
+
}
|
|
5126
|
+
},
|
|
5127
|
+
"node_modules/pgpass": {
|
|
5128
|
+
"version": "1.0.5",
|
|
5129
|
+
"resolved": "https://registry.npmjs.org/pgpass/-/pgpass-1.0.5.tgz",
|
|
5130
|
+
"integrity": "sha512-FdW9r/jQZhSeohs1Z3sI1yxFQNFvMcnmfuj4WBMUTxOrAyLMaTcE1aAMBiTlbMNaXvBCQuVi0R7hd8udDSP7ug==",
|
|
5131
|
+
"license": "MIT",
|
|
5132
|
+
"dependencies": {
|
|
5133
|
+
"split2": "^4.1.0"
|
|
5134
|
+
}
|
|
5135
|
+
},
|
|
5002
5136
|
"node_modules/picocolors": {
|
|
5003
5137
|
"version": "1.1.1",
|
|
5004
5138
|
"resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz",
|
|
@@ -5068,7 +5202,6 @@
|
|
|
5068
5202
|
}
|
|
5069
5203
|
],
|
|
5070
5204
|
"license": "MIT",
|
|
5071
|
-
"peer": true,
|
|
5072
5205
|
"dependencies": {
|
|
5073
5206
|
"nanoid": "^3.3.11",
|
|
5074
5207
|
"picocolors": "^1.1.1",
|
|
@@ -5212,6 +5345,45 @@
|
|
|
5212
5345
|
"dev": true,
|
|
5213
5346
|
"license": "MIT"
|
|
5214
5347
|
},
|
|
5348
|
+
"node_modules/postgres-array": {
|
|
5349
|
+
"version": "2.0.0",
|
|
5350
|
+
"resolved": "https://registry.npmjs.org/postgres-array/-/postgres-array-2.0.0.tgz",
|
|
5351
|
+
"integrity": "sha512-VpZrUqU5A69eQyW2c5CA1jtLecCsN2U/bD6VilrFDWq5+5UIEVO7nazS3TEcHf1zuPYO/sqGvUvW62g86RXZuA==",
|
|
5352
|
+
"license": "MIT",
|
|
5353
|
+
"engines": {
|
|
5354
|
+
"node": ">=4"
|
|
5355
|
+
}
|
|
5356
|
+
},
|
|
5357
|
+
"node_modules/postgres-bytea": {
|
|
5358
|
+
"version": "1.0.1",
|
|
5359
|
+
"resolved": "https://registry.npmjs.org/postgres-bytea/-/postgres-bytea-1.0.1.tgz",
|
|
5360
|
+
"integrity": "sha512-5+5HqXnsZPE65IJZSMkZtURARZelel2oXUEO8rH83VS/hxH5vv1uHquPg5wZs8yMAfdv971IU+kcPUczi7NVBQ==",
|
|
5361
|
+
"license": "MIT",
|
|
5362
|
+
"engines": {
|
|
5363
|
+
"node": ">=0.10.0"
|
|
5364
|
+
}
|
|
5365
|
+
},
|
|
5366
|
+
"node_modules/postgres-date": {
|
|
5367
|
+
"version": "1.0.7",
|
|
5368
|
+
"resolved": "https://registry.npmjs.org/postgres-date/-/postgres-date-1.0.7.tgz",
|
|
5369
|
+
"integrity": "sha512-suDmjLVQg78nMK2UZ454hAG+OAW+HQPZ6n++TNDUX+L0+uUlLywnoxJKDou51Zm+zTCjrCl0Nq6J9C5hP9vK/Q==",
|
|
5370
|
+
"license": "MIT",
|
|
5371
|
+
"engines": {
|
|
5372
|
+
"node": ">=0.10.0"
|
|
5373
|
+
}
|
|
5374
|
+
},
|
|
5375
|
+
"node_modules/postgres-interval": {
|
|
5376
|
+
"version": "1.2.0",
|
|
5377
|
+
"resolved": "https://registry.npmjs.org/postgres-interval/-/postgres-interval-1.2.0.tgz",
|
|
5378
|
+
"integrity": "sha512-9ZhXKM/rw350N1ovuWHbGxnGh/SNJ4cnxHiM0rxE4VN41wsg8P8zWn9hv/buK00RP4WvlOyr/RBDiptyxVbkZQ==",
|
|
5379
|
+
"license": "MIT",
|
|
5380
|
+
"dependencies": {
|
|
5381
|
+
"xtend": "^4.0.0"
|
|
5382
|
+
},
|
|
5383
|
+
"engines": {
|
|
5384
|
+
"node": ">=0.10.0"
|
|
5385
|
+
}
|
|
5386
|
+
},
|
|
5215
5387
|
"node_modules/prelude-ls": {
|
|
5216
5388
|
"version": "1.2.1",
|
|
5217
5389
|
"resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz",
|
|
@@ -5270,7 +5442,6 @@
|
|
|
5270
5442
|
"resolved": "https://registry.npmjs.org/react/-/react-19.2.0.tgz",
|
|
5271
5443
|
"integrity": "sha512-tmbWg6W31tQLeB5cdIBOicJDJRR2KzXsV7uSK9iNfLWQ5bIZfxuPEHp7M8wiHyHnn0DD1i7w3Zmin0FtkrwoCQ==",
|
|
5272
5444
|
"license": "MIT",
|
|
5273
|
-
"peer": true,
|
|
5274
5445
|
"engines": {
|
|
5275
5446
|
"node": ">=0.10.0"
|
|
5276
5447
|
}
|
|
@@ -5280,7 +5451,6 @@
|
|
|
5280
5451
|
"resolved": "https://registry.npmjs.org/react-dom/-/react-dom-19.2.0.tgz",
|
|
5281
5452
|
"integrity": "sha512-UlbRu4cAiGaIewkPyiRGJk0imDN2T3JjieT6spoL2UeSf5od4n5LB/mQ4ejmxhCFT1tYe8IvaFulzynWovsEFQ==",
|
|
5282
5453
|
"license": "MIT",
|
|
5283
|
-
"peer": true,
|
|
5284
5454
|
"dependencies": {
|
|
5285
5455
|
"scheduler": "^0.27.0"
|
|
5286
5456
|
},
|
|
@@ -5724,6 +5894,15 @@
|
|
|
5724
5894
|
"node": ">=0.10.0"
|
|
5725
5895
|
}
|
|
5726
5896
|
},
|
|
5897
|
+
"node_modules/split2": {
|
|
5898
|
+
"version": "4.2.0",
|
|
5899
|
+
"resolved": "https://registry.npmjs.org/split2/-/split2-4.2.0.tgz",
|
|
5900
|
+
"integrity": "sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==",
|
|
5901
|
+
"license": "ISC",
|
|
5902
|
+
"engines": {
|
|
5903
|
+
"node": ">= 10.x"
|
|
5904
|
+
}
|
|
5905
|
+
},
|
|
5727
5906
|
"node_modules/stable-hash": {
|
|
5728
5907
|
"version": "0.0.5",
|
|
5729
5908
|
"resolved": "https://registry.npmjs.org/stable-hash/-/stable-hash-0.0.5.tgz",
|
|
@@ -6085,7 +6264,6 @@
|
|
|
6085
6264
|
"integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==",
|
|
6086
6265
|
"dev": true,
|
|
6087
6266
|
"license": "MIT",
|
|
6088
|
-
"peer": true,
|
|
6089
6267
|
"engines": {
|
|
6090
6268
|
"node": ">=12"
|
|
6091
6269
|
},
|
|
@@ -6255,7 +6433,6 @@
|
|
|
6255
6433
|
"integrity": "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==",
|
|
6256
6434
|
"dev": true,
|
|
6257
6435
|
"license": "Apache-2.0",
|
|
6258
|
-
"peer": true,
|
|
6259
6436
|
"bin": {
|
|
6260
6437
|
"tsc": "bin/tsc",
|
|
6261
6438
|
"tsserver": "bin/tsserver"
|
|
@@ -6512,6 +6689,15 @@
|
|
|
6512
6689
|
"node": ">=0.10.0"
|
|
6513
6690
|
}
|
|
6514
6691
|
},
|
|
6692
|
+
"node_modules/xtend": {
|
|
6693
|
+
"version": "4.0.2",
|
|
6694
|
+
"resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz",
|
|
6695
|
+
"integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==",
|
|
6696
|
+
"license": "MIT",
|
|
6697
|
+
"engines": {
|
|
6698
|
+
"node": ">=0.4"
|
|
6699
|
+
}
|
|
6700
|
+
},
|
|
6515
6701
|
"node_modules/yallist": {
|
|
6516
6702
|
"version": "3.1.1",
|
|
6517
6703
|
"resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz",
|
|
@@ -6538,7 +6724,6 @@
|
|
|
6538
6724
|
"integrity": "sha512-AvvthqfqrAhNH9dnfmrfKzX5upOdjUVJYFqNSlkmGf64gRaTzlPwz99IHYnVs28qYAybvAlBV+H7pn0saFY4Ig==",
|
|
6539
6725
|
"dev": true,
|
|
6540
6726
|
"license": "MIT",
|
|
6541
|
-
"peer": true,
|
|
6542
6727
|
"funding": {
|
|
6543
6728
|
"url": "https://github.com/sponsors/colinhacks"
|
|
6544
6729
|
}
|
package/web/package.json
CHANGED
|
@@ -2,27 +2,32 @@
|
|
|
2
2
|
"name": "web",
|
|
3
3
|
"version": "0.1.0",
|
|
4
4
|
"private": true,
|
|
5
|
+
"type": "module",
|
|
5
6
|
"scripts": {
|
|
6
|
-
"dev": "
|
|
7
|
+
"dev": "node server.js",
|
|
7
8
|
"build": "next build",
|
|
8
|
-
"start": "
|
|
9
|
-
"lint": "
|
|
9
|
+
"start": "cross-env NODE_ENV=production node server.js",
|
|
10
|
+
"lint": "next lint"
|
|
10
11
|
},
|
|
11
12
|
"dependencies": {
|
|
13
|
+
"dotenv": "^17.2.3",
|
|
12
14
|
"lucide-react": "^0.555.0",
|
|
13
|
-
"next": "16.0.
|
|
15
|
+
"next": "^16.0.10",
|
|
16
|
+
"pg": "^8.16.3",
|
|
14
17
|
"react": "19.2.0",
|
|
15
18
|
"react-dom": "19.2.0"
|
|
16
19
|
},
|
|
17
20
|
"devDependencies": {
|
|
18
21
|
"@types/node": "^20",
|
|
22
|
+
"@types/pg": "^8.16.0",
|
|
19
23
|
"@types/react": "^19",
|
|
20
24
|
"@types/react-dom": "^19",
|
|
21
25
|
"autoprefixer": "^10.4.22",
|
|
26
|
+
"cross-env": "^10.1.0",
|
|
22
27
|
"eslint": "^9",
|
|
23
28
|
"eslint-config-next": "16.0.4",
|
|
24
29
|
"postcss": "^8.5.6",
|
|
25
30
|
"tailwindcss": "^3.4.18",
|
|
26
31
|
"typescript": "^5"
|
|
27
32
|
}
|
|
28
|
-
}
|
|
33
|
+
}
|