@coze-arch/cli 0.0.1-alpha.912cd5 → 0.0.1-alpha.a1ca15

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.
@@ -29,19 +29,25 @@ check_command() {
29
29
  write_log() {
30
30
  local level="${1:-INFO}"
31
31
  local msg="${2:-}"
32
- python - "$LOG_FILE" "$level" "$msg" <<'PY'
33
- import os,sys,json,time
34
- from datetime import datetime, timezone, timedelta
35
- path, level, msg = sys.argv[1], sys.argv[2].upper(), sys.argv[3]
36
- ts = int(time.time()*1000)
37
- tz = timezone(timedelta(hours=8))
38
- dt_str = datetime.now(tz).strftime('%Y-%m-%d %H:%M:%S')
39
- msg = msg.replace('\\n', '\n')
40
- msg = f"{dt_str} [{level}] {msg}"
41
- with open(path,'a',encoding='utf-8',buffering=1) as f:
42
- f.write(json.dumps({"level":level,"message":msg,"timestamp":ts},ensure_ascii=False)+'\n')
43
- f.flush(); os.fsync(f.fileno())
44
- PY
32
+ node -e '
33
+ const fs=require("fs");
34
+ const path=process.argv[1];
35
+ const level=(process.argv[2]||"").toUpperCase();
36
+ let msg=String(process.argv[3]||"");
37
+ const ts=Date.now();
38
+ const dt=new Date();
39
+ const parts=new Intl.DateTimeFormat("en-GB",{timeZone:"Asia/Shanghai",year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit",hour12:false}).formatToParts(dt);
40
+ const o={};
41
+ for(const p of parts){o[p.type]=p.value}
42
+ const dt_str=`${o.year}-${o.month}-${o.day} ${o.hour}:${o.minute}:${o.second}`;
43
+ msg=msg.replace(/\\n/g,"\n");
44
+ msg=`${dt_str} [${level}] ${msg}`;
45
+ const record=JSON.stringify({level, message: msg, timestamp: ts},null,0);
46
+ const fd=fs.openSync(path,"a");
47
+ fs.writeSync(fd, record+"\n", null, "utf8");
48
+ fs.fsyncSync(fd);
49
+ fs.closeSync(fd);
50
+ ' "$LOG_FILE" "$level" "$msg"
45
51
 
46
52
  case "$level" in
47
53
  INFO) info "$msg" ;;
@@ -63,8 +69,8 @@ fi
63
69
  write_log "INFO" "开始执行构建脚本(build_dev.sh)..."
64
70
  write_log "INFO" "正在检查依赖命令是否存在..."
65
71
  # 检查核心命令
66
- check_command "pip"
67
- check_command "python"
72
+ # check_command "pip"
73
+ # check_command "python"
68
74
  check_command "pnpm"
69
75
  check_command "npm"
70
76
 
@@ -97,19 +97,25 @@ ensure_port() {
97
97
  write_log() {
98
98
  local level="${1:-INFO}"
99
99
  local msg="${2:-}"
100
- python - "$LOG_FILE" "$level" "$msg" <<'PY'
101
- import os,sys,json,time
102
- from datetime import datetime, timezone, timedelta
103
- path, level, msg = sys.argv[1], sys.argv[2].upper(), sys.argv[3]
104
- ts = int(time.time()*1000)
105
- msg = msg.replace('\\n', '\n')
106
- tz = timezone(timedelta(hours=8))
107
- dt_str = datetime.now(tz).strftime('%Y-%m-%d %H:%M:%S')
108
- msg = f"{dt_str} [{level}] {msg}"
109
- with open(path,'a',encoding='utf-8',buffering=1) as f:
110
- f.write(json.dumps({"level":level,"message":msg,"timestamp":ts},ensure_ascii=False)+'\n')
111
- f.flush(); os.fsync(f.fileno())
112
- PY
100
+ node -e '
101
+ const fs=require("fs");
102
+ const path=process.argv[1];
103
+ const level=(process.argv[2]||"").toUpperCase();
104
+ let msg=String(process.argv[3]||"");
105
+ const ts=Date.now();
106
+ msg=msg.replace(/\\n/g,"\n");
107
+ const dt=new Date();
108
+ const parts=new Intl.DateTimeFormat("en-GB",{timeZone:"Asia/Shanghai",year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit",hour12:false}).formatToParts(dt);
109
+ const o={};
110
+ for(const p of parts){o[p.type]=p.value}
111
+ const dt_str=`${o.year}-${o.month}-${o.day} ${o.hour}:${o.minute}:${o.second}`;
112
+ msg=`${dt_str} [${level}] ${msg}`;
113
+ const record=JSON.stringify({level, message: msg, timestamp: ts},null,0);
114
+ const fd=fs.openSync(path,"a");
115
+ fs.writeSync(fd, record+"\n", null, "utf8");
116
+ fs.fsyncSync(fd);
117
+ fs.closeSync(fd);
118
+ ' "$LOG_FILE" "$level" "$msg"
113
119
  case "$level" in
114
120
  INFO) echo -e "\033[32m[INFO] $msg\033[0m" ;;
115
121
  WARN) echo -e "\033[33m[WARN] $msg\033[0m" ;;
@@ -157,7 +163,7 @@ write_log "INFO" "==================== 开始启动 ===================="
157
163
  write_log "INFO" "开始执行服务启动脚本(start_dev.sh)..."
158
164
  write_log "INFO" "正在检查依赖命令和目录是否存在..."
159
165
  # 检查核心命令
160
- check_command "python"
166
+ # check_command "python"
161
167
  check_command "npm"
162
168
  check_command "pnpm"
163
169
  check_command "lsof"
@@ -254,4 +260,12 @@ if [ -f "$ROOT_DIR/post_run.py" ]; then
254
260
  write_log "INFO" "启动检查结束"
255
261
  fi
256
262
 
263
+ write_log "INFO" "检查 Nginx 端口 (5000)..."
264
+ if is_port_free 5000; then
265
+ write_log "INFO" "端口 5000 未被占用,正在启动 Nginx..."
266
+ service nginx start
267
+ else
268
+ write_log "INFO" "端口 5000 已被占用,跳过 Nginx 启动"
269
+ fi
270
+
257
271
  write_log "INFO" "==================== 服务启动完成 ===================="
@@ -1,4 +1,4 @@
1
- registry=https://registry.npmjs.org
1
+ registry=https://registry.npmmirror.com
2
2
 
3
3
  strictStorePkgContentCheck=false
4
4
  verifyStoreIntegrity=false
@@ -58,6 +58,7 @@
58
58
  "expo-system-ui": "~6.0.9",
59
59
  "expo-web-browser": "~15.0.10",
60
60
  "express": "^4.22.1",
61
+ "multer": "^2.0.2",
61
62
  "pg": "^8.16.3",
62
63
  "react": "19.1.0",
63
64
  "react-dom": "19.1.0",
@@ -81,6 +82,7 @@
81
82
  "@eslint/js": "^9.27.0",
82
83
  "@types/express": "^5.0.6",
83
84
  "@types/jest": "^29.5.12",
85
+ "@types/multer": "^2.0.0",
84
86
  "@types/pg": "^8.16.0",
85
87
  "@types/react": "~19.1.0",
86
88
  "@types/react-test-renderer": "19.1.0",
@@ -125,6 +125,9 @@ importers:
125
125
  express:
126
126
  specifier: ^4.22.1
127
127
  version: 4.22.1
128
+ multer:
129
+ specifier: ^2.0.2
130
+ version: 2.0.2
128
131
  pg:
129
132
  specifier: ^8.16.3
130
133
  version: 8.16.3
@@ -189,6 +192,9 @@ importers:
189
192
  '@types/jest':
190
193
  specifier: ^29.5.12
191
194
  version: 29.5.14
195
+ '@types/multer':
196
+ specifier: ^2.0.0
197
+ version: 2.0.0
192
198
  '@types/pg':
193
199
  specifier: ^8.16.0
194
200
  version: 8.16.0
@@ -2370,6 +2376,9 @@ packages:
2370
2376
  '@types/minimatch@3.0.5':
2371
2377
  resolution: {integrity: sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ==}
2372
2378
 
2379
+ '@types/multer@2.0.0':
2380
+ resolution: {integrity: sha512-C3Z9v9Evij2yST3RSBktxP9STm6OdMc5uR1xF1SGr98uv8dUlAL2hqwrZ3GVB3uyMyiegnscEK6PGtYvNrjTjw==}
2381
+
2373
2382
  '@types/node@25.0.3':
2374
2383
  resolution: {integrity: sha512-W609buLVRVmeW693xKfzHeIV6nJGGz98uCPfeXI1ELMLXVeKYZ9m15fAMSaUPBHYLGFsVRcMmSCksQOrZV9BYA==}
2375
2384
 
@@ -2513,41 +2522,49 @@ packages:
2513
2522
  resolution: {integrity: sha512-34gw7PjDGB9JgePJEmhEqBhWvCiiWCuXsL9hYphDF7crW7UgI05gyBAi6MF58uGcMOiOqSJ2ybEeCvHcq0BCmQ==}
2514
2523
  cpu: [arm64]
2515
2524
  os: [linux]
2525
+ libc: [glibc]
2516
2526
 
2517
2527
  '@unrs/resolver-binding-linux-arm64-musl@1.11.1':
2518
2528
  resolution: {integrity: sha512-RyMIx6Uf53hhOtJDIamSbTskA99sPHS96wxVE/bJtePJJtpdKGXO1wY90oRdXuYOGOTuqjT8ACccMc4K6QmT3w==}
2519
2529
  cpu: [arm64]
2520
2530
  os: [linux]
2531
+ libc: [musl]
2521
2532
 
2522
2533
  '@unrs/resolver-binding-linux-ppc64-gnu@1.11.1':
2523
2534
  resolution: {integrity: sha512-D8Vae74A4/a+mZH0FbOkFJL9DSK2R6TFPC9M+jCWYia/q2einCubX10pecpDiTmkJVUH+y8K3BZClycD8nCShA==}
2524
2535
  cpu: [ppc64]
2525
2536
  os: [linux]
2537
+ libc: [glibc]
2526
2538
 
2527
2539
  '@unrs/resolver-binding-linux-riscv64-gnu@1.11.1':
2528
2540
  resolution: {integrity: sha512-frxL4OrzOWVVsOc96+V3aqTIQl1O2TjgExV4EKgRY09AJ9leZpEg8Ak9phadbuX0BA4k8U5qtvMSQQGGmaJqcQ==}
2529
2541
  cpu: [riscv64]
2530
2542
  os: [linux]
2543
+ libc: [glibc]
2531
2544
 
2532
2545
  '@unrs/resolver-binding-linux-riscv64-musl@1.11.1':
2533
2546
  resolution: {integrity: sha512-mJ5vuDaIZ+l/acv01sHoXfpnyrNKOk/3aDoEdLO/Xtn9HuZlDD6jKxHlkN8ZhWyLJsRBxfv9GYM2utQ1SChKew==}
2534
2547
  cpu: [riscv64]
2535
2548
  os: [linux]
2549
+ libc: [musl]
2536
2550
 
2537
2551
  '@unrs/resolver-binding-linux-s390x-gnu@1.11.1':
2538
2552
  resolution: {integrity: sha512-kELo8ebBVtb9sA7rMe1Cph4QHreByhaZ2QEADd9NzIQsYNQpt9UkM9iqr2lhGr5afh885d/cB5QeTXSbZHTYPg==}
2539
2553
  cpu: [s390x]
2540
2554
  os: [linux]
2555
+ libc: [glibc]
2541
2556
 
2542
2557
  '@unrs/resolver-binding-linux-x64-gnu@1.11.1':
2543
2558
  resolution: {integrity: sha512-C3ZAHugKgovV5YvAMsxhq0gtXuwESUKc5MhEtjBpLoHPLYM+iuwSj3lflFwK3DPm68660rZ7G8BMcwSro7hD5w==}
2544
2559
  cpu: [x64]
2545
2560
  os: [linux]
2561
+ libc: [glibc]
2546
2562
 
2547
2563
  '@unrs/resolver-binding-linux-x64-musl@1.11.1':
2548
2564
  resolution: {integrity: sha512-rV0YSoyhK2nZ4vEswT/QwqzqQXw5I6CjoaYMOX0TqBlWhojUf8P94mvI7nuJTeaCkkds3QE4+zS8Ko+GdXuZtA==}
2549
2565
  cpu: [x64]
2550
2566
  os: [linux]
2567
+ libc: [musl]
2551
2568
 
2552
2569
  '@unrs/resolver-binding-wasm32-wasi@1.11.1':
2553
2570
  resolution: {integrity: sha512-5u4RkfxJm+Ng7IWgkzi3qrFOvLvQYnPBmjmZQ8+szTK/b31fQCnleNl1GgEt7nIsZRIf5PLhPwT0WM+q45x/UQ==}
@@ -2689,6 +2706,9 @@ packages:
2689
2706
  resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==}
2690
2707
  engines: {node: '>= 8'}
2691
2708
 
2709
+ append-field@1.0.0:
2710
+ resolution: {integrity: sha512-klpgFSWLW1ZEs8svjfb7g4qWY0YS5imI82dTg+QahUvJ8YqAY0P10Uk8tTyh9ZGuYEZEMaeJYCF5BFuX552hsw==}
2711
+
2692
2712
  arg@5.0.2:
2693
2713
  resolution: {integrity: sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==}
2694
2714
 
@@ -2902,6 +2922,10 @@ packages:
2902
2922
  buffer@5.7.1:
2903
2923
  resolution: {integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==}
2904
2924
 
2925
+ busboy@1.6.0:
2926
+ resolution: {integrity: sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==}
2927
+ engines: {node: '>=10.16.0'}
2928
+
2905
2929
  bytes@3.1.2:
2906
2930
  resolution: {integrity: sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==}
2907
2931
  engines: {node: '>= 0.8'}
@@ -3077,6 +3101,10 @@ packages:
3077
3101
  concat-map@0.0.1:
3078
3102
  resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==}
3079
3103
 
3104
+ concat-stream@2.0.0:
3105
+ resolution: {integrity: sha512-MWufYdFw53ccGjCA+Ol7XJYpAlW6/prSMzuPOTRnJGcGzuhLn4Scrz7qf6o8bROZ514ltazcIFJZevcfbo0x7A==}
3106
+ engines: {'0': node >= 6.0}
3107
+
3080
3108
  connect@3.7.0:
3081
3109
  resolution: {integrity: sha512-ZqRXc+tZukToSNmh5C2iWMSoV3X1YUcPbqEM4DkEG5tNQXrQUZCNVGGv3IuicnkMtPfGf3Xtp8WCXs295iQ1pQ==}
3082
3110
  engines: {node: '>= 0.10.0'}
@@ -4776,24 +4804,28 @@ packages:
4776
4804
  engines: {node: '>= 12.0.0'}
4777
4805
  cpu: [arm64]
4778
4806
  os: [linux]
4807
+ libc: [glibc]
4779
4808
 
4780
4809
  lightningcss-linux-arm64-musl@1.30.2:
4781
4810
  resolution: {integrity: sha512-5Vh9dGeblpTxWHpOx8iauV02popZDsCYMPIgiuw97OJ5uaDsL86cnqSFs5LZkG3ghHoX5isLgWzMs+eD1YzrnA==}
4782
4811
  engines: {node: '>= 12.0.0'}
4783
4812
  cpu: [arm64]
4784
4813
  os: [linux]
4814
+ libc: [musl]
4785
4815
 
4786
4816
  lightningcss-linux-x64-gnu@1.30.2:
4787
4817
  resolution: {integrity: sha512-Cfd46gdmj1vQ+lR6VRTTadNHu6ALuw2pKR9lYq4FnhvgBc4zWY1EtZcAc6EffShbb1MFrIPfLDXD6Xprbnni4w==}
4788
4818
  engines: {node: '>= 12.0.0'}
4789
4819
  cpu: [x64]
4790
4820
  os: [linux]
4821
+ libc: [glibc]
4791
4822
 
4792
4823
  lightningcss-linux-x64-musl@1.30.2:
4793
4824
  resolution: {integrity: sha512-XJaLUUFXb6/QG2lGIW6aIk6jKdtjtcffUT0NKvIqhSBY3hh9Ch+1LCeH80dR9q9LBjG3ewbDjnumefsLsP6aiA==}
4794
4825
  engines: {node: '>= 12.0.0'}
4795
4826
  cpu: [x64]
4796
4827
  os: [linux]
4828
+ libc: [musl]
4797
4829
 
4798
4830
  lightningcss-win32-arm64-msvc@1.30.2:
4799
4831
  resolution: {integrity: sha512-FZn+vaj7zLv//D/192WFFVA0RgHawIcHqLX9xuWiQt7P0PtdFEVaxgF9rjM/IRYHQXNnk61/H/gb2Ei+kUQ4xQ==}
@@ -5029,6 +5061,10 @@ packages:
5029
5061
  resolution: {integrity: sha512-KZxYo1BUkWD2TVFLr0MQoM8vUUigWD3LlD83a/75BqC+4qE0Hb1Vo5v1FgcfaNXvfXzr+5EhQ6ing/CaBijTlw==}
5030
5062
  engines: {node: '>= 18'}
5031
5063
 
5064
+ mkdirp@0.5.6:
5065
+ resolution: {integrity: sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==}
5066
+ hasBin: true
5067
+
5032
5068
  mkdirp@1.0.4:
5033
5069
  resolution: {integrity: sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==}
5034
5070
  engines: {node: '>=10'}
@@ -5040,6 +5076,10 @@ packages:
5040
5076
  ms@2.1.3:
5041
5077
  resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==}
5042
5078
 
5079
+ multer@2.0.2:
5080
+ resolution: {integrity: sha512-u7f2xaZ/UG8oLXHvtF/oWTRvT44p9ecwBBqTwgJVq0+4BW1g8OW01TyMEGWBHbyMOYVHXslaut7qEQ1meATXgw==}
5081
+ engines: {node: '>= 10.16.0'}
5082
+
5043
5083
  multimatch@5.0.0:
5044
5084
  resolution: {integrity: sha512-ypMKuglUrZUD99Tk2bUQ+xNQj43lPEfAeX2o9cTteAmShXy2VHDJpuwu1o0xqoKCt9jLVAvwyFKdLTPXKAfJyA==}
5045
5085
  engines: {node: '>=10'}
@@ -6017,6 +6057,10 @@ packages:
6017
6057
  resolution: {integrity: sha512-uyQK/mx5QjHun80FLJTfaWE7JtwfRMKBLkMne6udYOmvH0CawotVa7TfgYHzAnpphn4+TweIx1QKMnRIbipmUg==}
6018
6058
  engines: {node: '>= 0.10.0'}
6019
6059
 
6060
+ streamsearch@1.1.0:
6061
+ resolution: {integrity: sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==}
6062
+ engines: {node: '>=10.0.0'}
6063
+
6020
6064
  strict-uri-encode@2.0.0:
6021
6065
  resolution: {integrity: sha512-QwiXZgpRcKkhTj2Scnn++4PKtWsH0kpzZ62L2R6c/LUVYv7hVnZqcg2+sMuT6R7Jusu1vviK/MFsu6kNJfWlEQ==}
6022
6066
  engines: {node: '>=4'}
@@ -6241,6 +6285,9 @@ packages:
6241
6285
  resolution: {integrity: sha512-3KS2b+kL7fsuk/eJZ7EQdnEmQoaho/r6KUef7hxvltNA5DR8NAUM+8wJMbJyZ4G9/7i3v5zPBIMN5aybAh2/Jg==}
6242
6286
  engines: {node: '>= 0.4'}
6243
6287
 
6288
+ typedarray@0.0.6:
6289
+ resolution: {integrity: sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==}
6290
+
6244
6291
  typescript-eslint@8.51.0:
6245
6292
  resolution: {integrity: sha512-jh8ZuM5oEh2PSdyQG9YAEM1TCGuWenLSuSUhf/irbVUNW9O5FhbFVONviN2TgMTBnUmyHv7E56rYnfLZK6TkiA==}
6246
6293
  engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
@@ -9394,6 +9441,10 @@ snapshots:
9394
9441
 
9395
9442
  '@types/minimatch@3.0.5': {}
9396
9443
 
9444
+ '@types/multer@2.0.0':
9445
+ dependencies:
9446
+ '@types/express': 5.0.6
9447
+
9397
9448
  '@types/node@25.0.3':
9398
9449
  dependencies:
9399
9450
  undici-types: 7.16.0
@@ -9720,6 +9771,8 @@ snapshots:
9720
9771
  normalize-path: 3.0.0
9721
9772
  picomatch: 2.3.1
9722
9773
 
9774
+ append-field@1.0.0: {}
9775
+
9723
9776
  arg@5.0.2: {}
9724
9777
 
9725
9778
  argparse@1.0.10:
@@ -10044,6 +10097,10 @@ snapshots:
10044
10097
  base64-js: 1.5.1
10045
10098
  ieee754: 1.2.1
10046
10099
 
10100
+ busboy@1.6.0:
10101
+ dependencies:
10102
+ streamsearch: 1.1.0
10103
+
10047
10104
  bytes@3.1.2: {}
10048
10105
 
10049
10106
  call-bind-apply-helpers@1.0.2:
@@ -10211,6 +10268,13 @@ snapshots:
10211
10268
 
10212
10269
  concat-map@0.0.1: {}
10213
10270
 
10271
+ concat-stream@2.0.0:
10272
+ dependencies:
10273
+ buffer-from: 1.1.2
10274
+ inherits: 2.0.4
10275
+ readable-stream: 3.6.2
10276
+ typedarray: 0.0.6
10277
+
10214
10278
  connect@3.7.0:
10215
10279
  dependencies:
10216
10280
  debug: 2.6.9
@@ -12688,12 +12752,26 @@ snapshots:
12688
12752
  dependencies:
12689
12753
  minipass: 7.1.2
12690
12754
 
12755
+ mkdirp@0.5.6:
12756
+ dependencies:
12757
+ minimist: 1.2.8
12758
+
12691
12759
  mkdirp@1.0.4: {}
12692
12760
 
12693
12761
  ms@2.0.0: {}
12694
12762
 
12695
12763
  ms@2.1.3: {}
12696
12764
 
12765
+ multer@2.0.2:
12766
+ dependencies:
12767
+ append-field: 1.0.0
12768
+ busboy: 1.6.0
12769
+ concat-stream: 2.0.0
12770
+ mkdirp: 0.5.6
12771
+ object-assign: 4.1.1
12772
+ type-is: 1.6.18
12773
+ xtend: 4.0.2
12774
+
12697
12775
  multimatch@5.0.0:
12698
12776
  dependencies:
12699
12777
  '@types/minimatch': 3.0.5
@@ -13726,6 +13804,8 @@ snapshots:
13726
13804
 
13727
13805
  stream-buffers@2.2.0: {}
13728
13806
 
13807
+ streamsearch@1.1.0: {}
13808
+
13729
13809
  strict-uri-encode@2.0.0: {}
13730
13810
 
13731
13811
  string-length@4.0.2:
@@ -13990,6 +14070,8 @@ snapshots:
13990
14070
  possible-typed-array-names: 1.1.0
13991
14071
  reflect.getprototypeof: 1.0.10
13992
14072
 
14073
+ typedarray@0.0.6: {}
14074
+
13993
14075
  typescript-eslint@8.51.0(eslint@9.39.2)(typescript@5.9.3):
13994
14076
  dependencies:
13995
14077
  '@typescript-eslint/eslint-plugin': 8.51.0(@typescript-eslint/parser@8.51.0(eslint@9.39.2)(typescript@5.9.3))(eslint@9.39.2)(typescript@5.9.3)
@@ -2,10 +2,10 @@
2
2
  requires = ["nodejs-24"]
3
3
 
4
4
  [dev]
5
- run = ["npm", "run", "dev"]
5
+ run = ["bash", "./scripts/dev.sh"]
6
6
  deps = ["git"] # -> apt install git
7
7
 
8
8
  [deploy]
9
- build = ["npm", "run", "build"]
10
- run = ["npm", "run", "start"]
9
+ build = ["bash","./scripts/build.sh"]
10
+ run = ["bash","./scripts/start.sh"]
11
11
  deps = ["git"] # -> apt install git
@@ -1,4 +1,4 @@
1
- registry=https://registry.npmjs.org
1
+ registry=https://registry.npmmirror.com
2
2
 
3
3
  strictStorePkgContentCheck=false
4
4
  verifyStoreIntegrity=false
@@ -10,6 +10,8 @@
10
10
  "start": "bash ./scripts/start.sh"
11
11
  },
12
12
  "dependencies": {
13
+ "@aws-sdk/client-s3": "^3.958.0",
14
+ "@aws-sdk/lib-storage": "^3.958.0",
13
15
  "@hookform/resolvers": "^5.2.2",
14
16
  "@radix-ui/react-accordion": "^1.2.12",
15
17
  "@radix-ui/react-alert-dialog": "^1.1.15",
@@ -40,12 +42,17 @@
40
42
  "class-variance-authority": "^0.7.1",
41
43
  "clsx": "^2.1.1",
42
44
  "cmdk": "^1.1.1",
45
+ "coze-coding-dev-sdk": "0.5.0",
43
46
  "date-fns": "^4.1.0",
47
+ "drizzle-kit": "^0.31.8",
48
+ "drizzle-orm": "^0.45.1",
49
+ "drizzle-zod": "^0.8.3",
44
50
  "embla-carousel-react": "^8.6.0",
45
51
  "input-otp": "^1.4.2",
46
52
  "lucide-react": "^0.468.0",
47
53
  "next": "16.1.1",
48
54
  "next-themes": "^0.4.6",
55
+ "pg": "^8.16.3",
49
56
  "react": "19.2.3",
50
57
  "react-day-picker": "^9.13.0",
51
58
  "react-dom": "19.2.3",
@@ -54,20 +61,19 @@
54
61
  "recharts": "2.15.4",
55
62
  "sonner": "^2.0.7",
56
63
  "tailwind-merge": "^2.6.0",
64
+ "tw-animate-css": "^1.4.0",
57
65
  "vaul": "^1.1.2",
58
66
  "zod": "^4.3.5"
59
67
  },
60
68
  "devDependencies": {
61
- "@react-dev-inspector/babel-plugin": "^2.0.1",
62
- "@react-dev-inspector/middleware": "^2.0.1",
63
69
  "@tailwindcss/postcss": "^4",
64
70
  "@types/node": "^20",
71
+ "@types/pg": "^8.16.0",
65
72
  "@types/react": "^19",
66
73
  "@types/react-dom": "^19",
67
74
  "eslint": "^9",
68
75
  "eslint-config-next": "16.1.1",
69
76
  "only-allow": "^1.2.2",
70
- "react-dev-inspector": "^2.0.1",
71
77
  "shadcn": "latest",
72
78
  "tailwindcss": "^4",
73
79
  "typescript": "^5"