diff --git a/web/package-lock.json b/web/package-lock.json
index 5f241dc..049db37 100644
--- a/web/package-lock.json
+++ b/web/package-lock.json
@@ -10,11 +10,12 @@
"@ant-design/pro-components": "^3.1.14-7",
"@umijs/max": "^4.7.19",
"antd": "^6.6.5",
- "umi": "^4.7.19"
+ "react": "^19.3.0",
+ "react-dom": "^19.3.0"
},
"devDependencies": {
- "@types/react": "^18.0.33",
- "@types/react-dom": "^18.0.11",
+ "@types/react": "^19.3.0",
+ "@types/react-dom": "^19.3.0",
"typescript": "^5.0.3"
}
},
@@ -5255,30 +5256,23 @@
"integrity": "sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw==",
"license": "MIT"
},
- "node_modules/@types/prop-types": {
- "version": "15.7.15",
- "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.15.tgz",
- "integrity": "sha512-F6bEyamV9jKGAFBEmlQnesRPGOQqS2+Uwi0Em15xenOxHaf2hv6L8YCVn3rPdPJOiJfPiCnLIRyvwVaqMY3MIw==",
- "license": "MIT"
- },
"node_modules/@types/react": {
- "version": "18.3.31",
- "resolved": "https://registry.npmjs.org/@types/react/-/react-18.3.31.tgz",
- "integrity": "sha512-vfEqpXTvwT91yhmwdfouStN2hSKwTvyRs8qpLfADyrq/kxDw0hZM7Wk9Ug1FELj8hIby+S/+kQCSRFF32nv2Qw==",
+ "version": "19.3.0",
+ "resolved": "https://registry.npmjs.org/@types/react/-/react-19.3.0.tgz",
+ "integrity": "sha512-N0rFCuH9YoxG9/m61l9MfpJKfmLOVU0em7ipIz6TRgSSkvReLB9vL85GB+yr8Bs5leqpvg96JSwF4ZS1s4viQg==",
"license": "MIT",
"dependencies": {
- "@types/prop-types": "*",
"csstype": "^3.2.2"
}
},
"node_modules/@types/react-dom": {
- "version": "18.3.7",
- "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.3.7.tgz",
- "integrity": "sha512-MEe3UeoENYVFXzoXEWsvcpg6ZvlrFNlOQ7EOsvhI3CfAXwzPfO8Qwuxd40nepsYKqyyVQnTdEfv68q91yLcKrQ==",
- "devOptional": true,
+ "version": "19.3.0",
+ "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-19.3.0.tgz",
+ "integrity": "sha512-ZI7bU42mZXXKHn/qNLEw2IrbiINU7X5+vfgdixBHkCNpYWXjKgfQ/P+uyGb5CjOLB9UcnTeg3rylQtV2hym44Q==",
+ "dev": true,
"license": "MIT",
"peerDependencies": {
- "@types/react": "^18.0.0"
+ "@types/react": "^19.3.0"
}
},
"node_modules/@types/react-router": {
@@ -8675,6 +8669,40 @@
"isarray": "0.0.1"
}
},
+ "node_modules/@umijs/preset-umi/node_modules/react": {
+ "version": "18.3.1",
+ "resolved": "https://registry.npmjs.org/react/-/react-18.3.1.tgz",
+ "integrity": "sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==",
+ "license": "MIT",
+ "dependencies": {
+ "loose-envify": "^1.1.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/@umijs/preset-umi/node_modules/react-dom": {
+ "version": "18.3.1",
+ "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.3.1.tgz",
+ "integrity": "sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==",
+ "license": "MIT",
+ "dependencies": {
+ "loose-envify": "^1.1.0",
+ "scheduler": "^0.23.2"
+ },
+ "peerDependencies": {
+ "react": "^18.3.1"
+ }
+ },
+ "node_modules/@umijs/preset-umi/node_modules/scheduler": {
+ "version": "0.23.2",
+ "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.2.tgz",
+ "integrity": "sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==",
+ "license": "MIT",
+ "dependencies": {
+ "loose-envify": "^1.1.0"
+ }
+ },
"node_modules/@umijs/react-refresh-webpack-plugin": {
"version": "0.5.11",
"resolved": "https://registry.npmjs.org/@umijs/react-refresh-webpack-plugin/-/react-refresh-webpack-plugin-0.5.11.tgz",
@@ -8778,6 +8806,23 @@
"node": ">=6.9.0"
}
},
+ "node_modules/@umijs/renderer-react/node_modules/react-helmet-async": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/react-helmet-async/-/react-helmet-async-1.3.0.tgz",
+ "integrity": "sha512-9jZ57/dAn9t3q6hneQS0wukqC2ENOBgMNVEhb/ZG9ZSxUetzVIw4iAmEU38IaVg3QGYauQPhSeUTuIUtFglWpg==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@babel/runtime": "^7.12.5",
+ "invariant": "^2.2.4",
+ "prop-types": "^15.7.2",
+ "react-fast-compare": "^3.2.0",
+ "shallowequal": "^1.1.0"
+ },
+ "peerDependencies": {
+ "react": "^16.6.0 || ^17.0.0 || ^18.0.0",
+ "react-dom": "^16.6.0 || ^17.0.0 || ^18.0.0"
+ }
+ },
"node_modules/@umijs/renderer-react/node_modules/regenerator-runtime": {
"version": "0.14.1",
"resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz",
@@ -8803,6 +8848,40 @@
"react-router-dom": "6.3.0"
}
},
+ "node_modules/@umijs/server/node_modules/react": {
+ "version": "18.3.1",
+ "resolved": "https://registry.npmjs.org/react/-/react-18.3.1.tgz",
+ "integrity": "sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==",
+ "license": "MIT",
+ "dependencies": {
+ "loose-envify": "^1.1.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/@umijs/server/node_modules/react-dom": {
+ "version": "18.3.1",
+ "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.3.1.tgz",
+ "integrity": "sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==",
+ "license": "MIT",
+ "dependencies": {
+ "loose-envify": "^1.1.0",
+ "scheduler": "^0.23.2"
+ },
+ "peerDependencies": {
+ "react": "^18.3.1"
+ }
+ },
+ "node_modules/@umijs/server/node_modules/scheduler": {
+ "version": "0.23.2",
+ "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.2.tgz",
+ "integrity": "sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==",
+ "license": "MIT",
+ "dependencies": {
+ "loose-envify": "^1.1.0"
+ }
+ },
"node_modules/@umijs/test": {
"version": "4.7.19",
"resolved": "https://registry.npmjs.org/@umijs/test/-/test-4.7.19.tgz",
@@ -19629,28 +19708,24 @@
}
},
"node_modules/react": {
- "version": "18.3.1",
- "resolved": "https://registry.npmjs.org/react/-/react-18.3.1.tgz",
- "integrity": "sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==",
+ "version": "19.3.0",
+ "resolved": "https://registry.npmjs.org/react/-/react-19.3.0.tgz",
+ "integrity": "sha512-E8LUcbtBWt20bbl2YoHfx4ZDBdxVTfOKtCZn9cDSJ4l6/nuoApcpIBcj47t2wZoVX8g2ZHuMHbiShgCR1T5Sog==",
"license": "MIT",
- "dependencies": {
- "loose-envify": "^1.1.0"
- },
"engines": {
"node": ">=0.10.0"
}
},
"node_modules/react-dom": {
- "version": "18.3.1",
- "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.3.1.tgz",
- "integrity": "sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==",
+ "version": "19.3.0",
+ "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-19.3.0.tgz",
+ "integrity": "sha512-JDk8dgif51OjFoDE70+OT9ICyYr+69HlmihNwp1+Nsfbna3t5sIiCa9ZJktDmQ4/1b/rn26hIAR2uYXDMr5r0Q==",
"license": "MIT",
"dependencies": {
- "loose-envify": "^1.1.0",
- "scheduler": "^0.23.2"
+ "scheduler": "^0.28.0"
},
"peerDependencies": {
- "react": "^18.3.1"
+ "react": "^19.3.0"
}
},
"node_modules/react-draggable": {
@@ -19688,23 +19763,6 @@
"integrity": "sha512-nsO+KSNgo1SbJqJEYRE9ERzo7YtYbou/OqjSQKxV7jcKox7+usiUVZOAC+XnDOABXggQTno0Y1CpVnuWEc1boQ==",
"license": "MIT"
},
- "node_modules/react-helmet-async": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/react-helmet-async/-/react-helmet-async-1.3.0.tgz",
- "integrity": "sha512-9jZ57/dAn9t3q6hneQS0wukqC2ENOBgMNVEhb/ZG9ZSxUetzVIw4iAmEU38IaVg3QGYauQPhSeUTuIUtFglWpg==",
- "license": "Apache-2.0",
- "dependencies": {
- "@babel/runtime": "^7.12.5",
- "invariant": "^2.2.4",
- "prop-types": "^15.7.2",
- "react-fast-compare": "^3.2.0",
- "shallowequal": "^1.1.0"
- },
- "peerDependencies": {
- "react": "^16.6.0 || ^17.0.0 || ^18.0.0",
- "react-dom": "^16.6.0 || ^17.0.0 || ^18.0.0"
- }
- },
"node_modules/react-is": {
"version": "19.3.0",
"resolved": "https://registry.npmjs.org/react-is/-/react-is-19.3.0.tgz",
@@ -20622,13 +20680,10 @@
}
},
"node_modules/scheduler": {
- "version": "0.23.2",
- "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.2.tgz",
- "integrity": "sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==",
- "license": "MIT",
- "dependencies": {
- "loose-envify": "^1.1.0"
- }
+ "version": "0.28.0",
+ "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.28.0.tgz",
+ "integrity": "sha512-juorfCmIkIw8tT+p5BXSm6PJjQF/ycEYmKyzURCIt/RaZIhL+PulbQ9Yu2z1HdOJDdqDTlxA1+xKBmHXJsczAw==",
+ "license": "MIT"
},
"node_modules/schema-utils": {
"version": "3.3.0",
diff --git a/web/package.json b/web/package.json
index 6b37632..b2bafb1 100644
--- a/web/package.json
+++ b/web/package.json
@@ -10,11 +10,13 @@
"@ant-design/icons": "^6.3.4",
"@ant-design/pro-components": "^3.1.14-7",
"@umijs/max": "^4.7.19",
- "antd": "^6.6.5"
+ "antd": "^6.6.5",
+ "react": "^19.3.0",
+ "react-dom": "^19.3.0"
},
"devDependencies": {
- "@types/react": "^18.0.33",
- "@types/react-dom": "^18.0.11",
+ "@types/react": "^19.3.0",
+ "@types/react-dom": "^19.3.0",
"typescript": "^5.0.3"
},
"name": "creator-hub-web"
diff --git a/web/src/.umi/appData.json b/web/src/.umi/appData.json
index bf58191..67464ea 100644
--- a/web/src/.umi/appData.json
+++ b/web/src/.umi/appData.json
@@ -12,11 +12,13 @@
"@ant-design/icons": "^6.3.4",
"@ant-design/pro-components": "^3.1.14-7",
"@umijs/max": "^4.7.19",
- "antd": "^6.6.5"
+ "antd": "^6.6.5",
+ "react": "^19.3.0",
+ "react-dom": "^19.3.0"
},
"devDependencies": {
- "@types/react": "^18.0.33",
- "@types/react-dom": "^18.0.11",
+ "@types/react": "^19.3.0",
+ "@types/react-dom": "^19.3.0",
"typescript": "^5.0.3"
},
"name": "creator-hub-web"
@@ -40,7 +42,7 @@
"config": {},
"time": {
"hooks": {},
- "register": 6
+ "register": 5
},
"enableBy": "register",
"type": "preset",
@@ -84,10 +86,10 @@
"time": {
"hooks": {
"onStart": [
- 2
+ 3
]
},
- "register": 4
+ "register": 3
},
"enableBy": "register",
"type": "plugin",
@@ -104,7 +106,7 @@
0
]
},
- "register": 0
+ "register": 1
},
"enableBy": "register",
"type": "plugin",
@@ -116,7 +118,13 @@
"./node_modules/@umijs/preset-umi/dist/features/aiDev/aiDev": {
"config": {},
"time": {
- "hooks": {},
+ "hooks": {
+ "onDevCompileDone": [
+ 19,
+ 6,
+ 6
+ ]
+ },
"register": 1
},
"enableBy": "register",
@@ -131,7 +139,10 @@
"time": {
"hooks": {
"modifyAppData": [
- 13
+ 14
+ ],
+ "onGenerateFiles": [
+ 2
]
},
"register": 36
@@ -146,8 +157,12 @@
"./node_modules/@umijs/preset-umi/dist/features/appData/umiInfo": {
"config": {},
"time": {
- "hooks": {},
- "register": 0
+ "hooks": {
+ "addEntryCode": [
+ 0
+ ]
+ },
+ "register": 1
},
"enableBy": "register",
"type": "plugin",
@@ -165,6 +180,27 @@
],
"onCheck": [
1
+ ],
+ "onPrepareBuildSuccess": [
+ 0,
+ 0,
+ 0
+ ],
+ "onCheckCode": [
+ 0,
+ 0,
+ 0,
+ 1,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 1
]
},
"register": 1
@@ -184,7 +220,7 @@
0
]
},
- "register": 0
+ "register": 1
},
"enableBy": "register",
"type": "plugin",
@@ -214,7 +250,7 @@
0
]
},
- "register": 9
+ "register": 8
},
"enableBy": "register",
"type": "plugin",
@@ -1095,7 +1131,11 @@
"./node_modules/@umijs/preset-umi/dist/features/devTool/devTool": {
"config": {},
"time": {
- "hooks": {},
+ "hooks": {
+ "addBeforeMiddlewares": [
+ 20
+ ]
+ },
"register": 1
},
"enableBy": "register",
@@ -1109,7 +1149,7 @@
"config": {},
"time": {
"hooks": {},
- "register": 156
+ "register": 158
},
"enableBy": "register",
"type": "plugin",
@@ -1122,7 +1162,7 @@
"config": {},
"time": {
"hooks": {},
- "register": 43
+ "register": 42
},
"enableBy": "config",
"type": "plugin",
@@ -1135,7 +1175,7 @@
"config": {},
"time": {
"hooks": {},
- "register": 24
+ "register": 25
},
"enableBy": "config",
"type": "plugin",
@@ -1150,9 +1190,15 @@
"hooks": {
"modifyAppData": [
0
+ ],
+ "addBeforeMiddlewares": [
+ 0
+ ],
+ "modifyHTMLFavicon": [
+ 0
]
},
- "register": 0
+ "register": 1
},
"enableBy": "register",
"type": "plugin",
@@ -1164,7 +1210,14 @@
"./node_modules/@umijs/preset-umi/dist/features/helmet/helmet": {
"config": {},
"time": {
- "hooks": {},
+ "hooks": {
+ "onGenerateFiles": [
+ 0
+ ],
+ "addRuntimePlugin": [
+ 0
+ ]
+ },
"register": 1
},
"enableBy": "register",
@@ -1192,10 +1245,13 @@
"time": {
"hooks": {
"onStart": [
- 3
+ 2
+ ],
+ "addBeforeMiddlewares": [
+ 4
]
},
- "register": 51
+ "register": 49
},
"type": "plugin",
"path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/@umijs/preset-umi/dist/features/mock/mock.js",
@@ -1207,7 +1263,7 @@
"config": {},
"time": {
"hooks": {},
- "register": 1
+ "register": 2
},
"enableBy": "config",
"type": "plugin",
@@ -1231,7 +1287,15 @@
"./node_modules/@umijs/preset-umi/dist/features/overrides/overrides": {
"config": {},
"time": {
- "hooks": {},
+ "hooks": {
+ "onGenerateFiles": [
+ 0
+ ],
+ "addEntryImports": [
+ 0,
+ 0
+ ]
+ },
"register": 0
},
"enableBy": "register",
@@ -1245,7 +1309,7 @@
"config": {},
"time": {
"hooks": {},
- "register": 2
+ "register": 1
},
"enableBy": "config",
"type": "plugin",
@@ -1260,9 +1324,16 @@
"hooks": {
"modifyConfig": [
1
+ ],
+ "onGenerateFiles": [
+ 142
+ ],
+ "addPolyfillImports": [
+ 1,
+ 0
]
},
- "register": 1
+ "register": 2
},
"type": "plugin",
"path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/@umijs/preset-umi/dist/features/polyfill/polyfill.js",
@@ -1273,8 +1344,13 @@
"./node_modules/@umijs/preset-umi/dist/features/polyfill/publicPathPolyfill": {
"config": {},
"time": {
- "hooks": {},
- "register": 1
+ "hooks": {
+ "addPolyfillImports": [
+ 0,
+ 0
+ ]
+ },
+ "register": 0
},
"enableBy": "register",
"type": "plugin",
@@ -1286,7 +1362,11 @@
"./node_modules/@umijs/preset-umi/dist/features/prepare/prepare": {
"config": {},
"time": {
- "hooks": {},
+ "hooks": {
+ "onGenerateFiles": [
+ 115
+ ]
+ },
"register": 1
},
"enableBy": "register",
@@ -1300,7 +1380,7 @@
"config": {},
"time": {
"hooks": {},
- "register": 1
+ "register": 0
},
"enableBy": "config",
"type": "plugin",
@@ -1325,7 +1405,14 @@
"./node_modules/@umijs/preset-umi/dist/features/terminal/terminal": {
"config": {},
"time": {
- "hooks": {},
+ "hooks": {
+ "onGenerateFiles": [
+ 0
+ ],
+ "addBeforeMiddlewares": [
+ 0
+ ]
+ },
"register": 1
},
"enableBy": "register",
@@ -1338,7 +1425,12 @@
"./node_modules/@umijs/preset-umi/dist/features/tmpFiles/tmpFiles": {
"config": {},
"time": {
- "hooks": {},
+ "hooks": {
+ "onGenerateFiles": [
+ 18,
+ 5
+ ]
+ },
"register": 5
},
"enableBy": "register",
@@ -1365,7 +1457,7 @@
"config": {},
"time": {
"hooks": {},
- "register": 1
+ "register": 0
},
"type": "plugin",
"path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/@umijs/preset-umi/dist/features/routeProps/routeProps.js",
@@ -1389,8 +1481,12 @@
"./node_modules/@umijs/preset-umi/dist/features/tmpFiles/configTypes": {
"config": {},
"time": {
- "hooks": {},
- "register": 3
+ "hooks": {
+ "onGenerateFiles": [
+ 766
+ ]
+ },
+ "register": 2
},
"enableBy": "register",
"type": "plugin",
@@ -1402,7 +1498,11 @@
"./node_modules/@umijs/preset-umi/dist/features/transform/transform": {
"config": {},
"time": {
- "hooks": {},
+ "hooks": {
+ "addBeforeBabelPresets": [
+ 1
+ ]
+ },
"register": 5
},
"enableBy": "register",
@@ -1442,7 +1542,7 @@
"config": {},
"time": {
"hooks": {},
- "register": 6
+ "register": 5
},
"type": "plugin",
"path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/@umijs/preset-umi/dist/features/apiRoute/apiRoute.js",
@@ -1454,7 +1554,7 @@
"config": {},
"time": {
"hooks": {},
- "register": 39
+ "register": 38
},
"enableBy": "config",
"type": "plugin",
@@ -1466,7 +1566,11 @@
"./node_modules/@umijs/preset-umi/dist/features/test/test": {
"config": {},
"time": {
- "hooks": {},
+ "hooks": {
+ "onGenerateFiles": [
+ 2
+ ]
+ },
"register": 1
},
"type": "plugin",
@@ -1492,7 +1596,7 @@
"config": {},
"time": {
"hooks": {},
- "register": 943
+ "register": 997
},
"enableBy": "config",
"type": "plugin",
@@ -1505,7 +1609,7 @@
"config": {},
"time": {
"hooks": {},
- "register": 1
+ "register": 0
},
"enableBy": "config",
"type": "plugin",
@@ -1518,7 +1622,7 @@
"config": {},
"time": {
"hooks": {},
- "register": 1
+ "register": 2
},
"type": "plugin",
"path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/@umijs/preset-umi/dist/features/webpack/webpack.js",
@@ -1531,10 +1635,10 @@
"time": {
"hooks": {
"addOnDemandDeps": [
- 0
+ 1
]
},
- "register": 1
+ "register": 0
},
"enableBy": "register",
"type": "plugin",
@@ -1547,7 +1651,7 @@
"config": {},
"time": {
"hooks": {},
- "register": 3
+ "register": 4
},
"type": "plugin",
"path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/@umijs/preset-umi/dist/features/ui/ui.js",
@@ -1572,7 +1676,7 @@
"config": {},
"time": {
"hooks": {},
- "register": 1
+ "register": 0
},
"enableBy": "config",
"type": "plugin",
@@ -1609,7 +1713,7 @@
"config": {},
"time": {
"hooks": {},
- "register": 3
+ "register": 4
},
"type": "plugin",
"path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/@umijs/preset-umi/dist/features/hmrGuardian/hmrGuardian.js",
@@ -1620,8 +1724,12 @@
"./node_modules/@umijs/preset-umi/dist/features/routePreloadOnLoad/routePreloadOnLoad": {
"config": {},
"time": {
- "hooks": {},
- "register": 47
+ "hooks": {
+ "addHTMLHeadScripts": [
+ 0
+ ]
+ },
+ "register": 50
},
"type": "plugin",
"path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/@umijs/preset-umi/dist/features/routePreloadOnLoad/routePreloadOnLoad.js",
@@ -1632,8 +1740,12 @@
"./node_modules/@umijs/preset-umi/dist/features/bundler/bundler": {
"config": {},
"time": {
- "hooks": {},
- "register": 2
+ "hooks": {
+ "modifyUniBundler": [
+ 0
+ ]
+ },
+ "register": 1
},
"enableBy": "register",
"type": "plugin",
@@ -1646,7 +1758,7 @@
"config": {},
"time": {
"hooks": {},
- "register": 4
+ "register": 5
},
"enableBy": "register",
"type": "plugin",
@@ -1659,7 +1771,7 @@
"config": {},
"time": {
"hooks": {},
- "register": 57
+ "register": 61
},
"enableBy": "register",
"type": "plugin",
@@ -1673,10 +1785,10 @@
"time": {
"hooks": {
"modifyAppData": [
- 109
+ 106
]
},
- "register": 26
+ "register": 30
},
"type": "plugin",
"path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/@umijs/preset-umi/dist/commands/dev/dev.js",
@@ -1688,7 +1800,7 @@
"config": {},
"time": {
"hooks": {},
- "register": 0
+ "register": 1
},
"enableBy": "register",
"type": "plugin",
@@ -1714,7 +1826,7 @@
"config": {},
"time": {
"hooks": {},
- "register": 1
+ "register": 0
},
"enableBy": "register",
"type": "plugin",
@@ -1740,7 +1852,7 @@
"config": {},
"time": {
"hooks": {},
- "register": 1
+ "register": 0
},
"enableBy": "register",
"type": "plugin",
@@ -1753,7 +1865,7 @@
"config": {},
"time": {
"hooks": {},
- "register": 2
+ "register": 3
},
"enableBy": "register",
"type": "plugin",
@@ -1766,7 +1878,7 @@
"config": {},
"time": {
"hooks": {},
- "register": 1
+ "register": 0
},
"enableBy": "register",
"type": "plugin",
@@ -1818,7 +1930,7 @@
"config": {},
"time": {
"hooks": {},
- "register": 1
+ "register": 0
},
"enableBy": "register",
"type": "plugin",
@@ -1844,7 +1956,7 @@
"config": {},
"time": {
"hooks": {},
- "register": 0
+ "register": 1
},
"enableBy": "register",
"type": "plugin",
@@ -1870,7 +1982,7 @@
"config": {},
"time": {
"hooks": {},
- "register": 1
+ "register": 0
},
"enableBy": "register",
"type": "plugin",
@@ -1896,7 +2008,7 @@
"config": {},
"time": {
"hooks": {},
- "register": 0
+ "register": 1
},
"enableBy": "register",
"type": "plugin",
@@ -1909,7 +2021,7 @@
"config": {},
"time": {
"hooks": {},
- "register": 2
+ "register": 1
},
"enableBy": "register",
"type": "plugin",
@@ -1922,7 +2034,7 @@
"config": {},
"time": {
"hooks": {},
- "register": 1
+ "register": 2
},
"enableBy": "register",
"type": "plugin",
@@ -1976,7 +2088,7 @@
},
"time": {
"hooks": {},
- "register": 0
+ "register": 1
},
"type": "plugin",
"path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/@umijs/plugins/dist/analytics.js",
@@ -2092,7 +2204,11 @@
"./node_modules/@umijs/plugins/dist/qiankun": {
"config": {},
"time": {
- "hooks": {},
+ "hooks": {
+ "addRuntimePluginKey": [
+ 0
+ ]
+ },
"register": 1
},
"enableBy": "register",
@@ -2182,7 +2298,7 @@
"config": {},
"time": {
"hooks": {},
- "register": 1
+ "register": 0
},
"enableBy": "config",
"type": "plugin",
@@ -2216,7 +2332,7 @@
0
]
},
- "register": 0
+ "register": 1
},
"enableBy": "register",
"type": "plugin",
@@ -2233,7 +2349,7 @@
0
]
},
- "register": 1
+ "register": 0
},
"enableBy": "register",
"type": "plugin",
@@ -2246,7 +2362,7 @@
"config": {},
"time": {
"hooks": {},
- "register": 0
+ "register": 1
},
"enableBy": "register",
"type": "plugin",
@@ -2508,7 +2624,7 @@
"file": "@/pages/login.tsx",
"id": "1",
"absPath": "/login",
- "__content": "// TODO: 从 web.archived 迁移 login\nexport default function Page() {\n return null;\n}\n",
+ "__content": "import { history } from '@umijs/max';\nimport { Alert, Button, Card, Form, Input } from 'antd';\nimport { useState } from 'react';\nimport { request } from '@/requestErrorConfig';\n\n// 语义对齐 web.archived/src/app/LoginPage.jsx:\n// 提交 GET /api/gateways 校验 Basic 凭证,成功后写入 localStorage('creatorhub.auth')。\nexport default function LoginPage() {\n const [form] = Form.useForm<{ username: string; password: string }>();\n const [busy, setBusy] = useState(false);\n const [error, setError] = useState('');\n\n async function onFinish({ username, password }: { username: string; password: string }) {\n setBusy(true);\n setError('');\n const controller = new AbortController();\n const timer = window.setTimeout(() => controller.abort(), 15000);\n try {\n const response = await fetch('/api/gateways', {\n headers: { Authorization: `Basic ${btoa(`${username}:${password}`)}` },\n signal: controller.signal,\n });\n if (response.status === 401) throw new Error('用户名或密码不正确');\n if (!response.ok) throw new Error(`认证服务不可用(${response.status})`);\n localStorage.setItem('creatorhub.auth', `${username}:${password}`);\n history.replace('/');\n } catch (reason: any) {\n setError(\n reason.name === 'AbortError'\n ? '认证请求超时,请检查控制面连接'\n : reason.message || '登录失败',\n );\n } finally {\n window.clearTimeout(timer);\n setBusy(false);\n }\n }\n\n return (\n
\n );\n}\n",
"__isJSFile": true,
"__absFile": "/home/yanghao05/Workspace/creator-hub/web/src/pages/login.tsx"
},
@@ -2739,17 +2855,26 @@
"cliName": "max"
},
"bundleStatus": {
- "done": false
+ "done": true,
+ "progresses": [
+ {
+ "percent": 1,
+ "status": "",
+ "details": []
+ }
+ ]
},
"mfsuBundleStatus": {
- "done": false
+ "done": true,
+ "percent": 0.3750000000000001,
+ "status": "building"
},
"react": {
- "version": "18.3.1",
+ "version": "19.3.0",
"path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/react"
},
"react-dom": {
- "version": "18.3.1",
+ "version": "19.3.0",
"path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/react-dom"
},
"appJS": null,
@@ -2769,5 +2894,2869 @@
"faviconFiles": [],
"port": 8001,
"host": "0.0.0.0",
- "ip": "10.58.144.6"
+ "ip": "10.58.144.6",
+ "prepare": {
+ "buildResult": {
+ "errors": [],
+ "warnings": [],
+ "metafile": {
+ "inputs": {
+ "src/.umi/core/polyfill.ts": {
+ "bytes": 23416,
+ "imports": [
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/es.error.cause.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/es.aggregate-error.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/es.aggregate-error.cause.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/es.array.at.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/es.array.find-last.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/es.array.find-last-index.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/es.array.push.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/es.array.reduce.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/es.array.reduce-right.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/es.array.to-reversed.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/es.array.to-sorted.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/es.array.to-spliced.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/es.array.with.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/es.map.group-by.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/es.object.group-by.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/es.object.has-own.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/es.promise.any.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/es.promise.with-resolvers.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/es.reflect.to-string-tag.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/es.regexp.flags.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/es.string.at-alternative.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/es.string.is-well-formed.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/es.string.replace-all.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/es.string.to-well-formed.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/es.typed-array.at.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/es.typed-array.find-last.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/es.typed-array.find-last-index.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/es.typed-array.set.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/es.typed-array.to-reversed.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/es.typed-array.to-sorted.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/es.typed-array.with.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.suppressed-error.constructor.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.array.from-async.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.array.filter-out.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.array.filter-reject.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.array.group.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.array.group-by.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.array.group-by-to-map.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.array.group-to-map.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.array.is-template-object.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.array.last-index.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.array.last-item.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.array.unique-by.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.array-buffer.detached.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.array-buffer.transfer.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.array-buffer.transfer-to-fixed-length.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.async-disposable-stack.constructor.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.async-iterator.constructor.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.async-iterator.as-indexed-pairs.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.async-iterator.async-dispose.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.async-iterator.drop.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.async-iterator.every.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.async-iterator.filter.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.async-iterator.find.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.async-iterator.flat-map.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.async-iterator.for-each.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.async-iterator.from.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.async-iterator.indexed.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.async-iterator.map.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.async-iterator.reduce.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.async-iterator.some.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.async-iterator.take.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.async-iterator.to-array.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.bigint.range.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.composite-key.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.composite-symbol.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.data-view.get-float16.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.data-view.get-uint8-clamped.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.data-view.set-float16.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.data-view.set-uint8-clamped.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.disposable-stack.constructor.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.function.demethodize.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.function.is-callable.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.function.is-constructor.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.function.metadata.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.function.un-this.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.iterator.constructor.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.iterator.as-indexed-pairs.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.iterator.dispose.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.iterator.drop.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.iterator.every.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.iterator.filter.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.iterator.find.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.iterator.flat-map.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.iterator.for-each.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.iterator.from.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.iterator.indexed.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.iterator.map.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.iterator.range.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.iterator.reduce.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.iterator.some.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.iterator.take.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.iterator.to-array.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.iterator.to-async.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.json.is-raw-json.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.json.parse.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.json.raw-json.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.map.delete-all.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.map.emplace.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.map.every.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.map.filter.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.map.find.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.map.find-key.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.map.from.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.map.includes.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.map.key-by.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.map.key-of.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.map.map-keys.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.map.map-values.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.map.merge.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.map.of.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.map.reduce.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.map.some.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.map.update.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.map.update-or-insert.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.map.upsert.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.math.clamp.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.math.deg-per-rad.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.math.degrees.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.math.fscale.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.math.f16round.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.math.iaddh.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.math.imulh.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.math.isubh.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.math.rad-per-deg.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.math.radians.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.math.scale.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.math.seeded-prng.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.math.signbit.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.math.umulh.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.number.from-string.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.number.range.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.object.iterate-entries.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.object.iterate-keys.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.object.iterate-values.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.observable.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.promise.try.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.reflect.define-metadata.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.reflect.delete-metadata.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.reflect.get-metadata.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.reflect.get-metadata-keys.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.reflect.get-own-metadata.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.reflect.get-own-metadata-keys.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.reflect.has-metadata.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.reflect.has-own-metadata.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.reflect.metadata.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.regexp.escape.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.set.add-all.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.set.delete-all.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.set.difference.v2.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.set.difference.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.set.every.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.set.filter.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.set.find.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.set.from.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.set.intersection.v2.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.set.intersection.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.set.is-disjoint-from.v2.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.set.is-disjoint-from.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.set.is-subset-of.v2.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.set.is-subset-of.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.set.is-superset-of.v2.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.set.is-superset-of.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.set.join.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.set.map.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.set.of.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.set.reduce.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.set.some.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.set.symmetric-difference.v2.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.set.symmetric-difference.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.set.union.v2.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.set.union.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.string.at.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.string.cooked.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.string.code-points.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.string.dedent.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.symbol.async-dispose.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.symbol.dispose.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.symbol.is-registered-symbol.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.symbol.is-registered.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.symbol.is-well-known-symbol.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.symbol.is-well-known.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.symbol.matcher.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.symbol.metadata.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.symbol.metadata-key.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.symbol.observable.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.symbol.pattern-match.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.symbol.replace-all.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.typed-array.from-async.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.typed-array.filter-out.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.typed-array.filter-reject.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.typed-array.group-by.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.typed-array.to-spliced.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.typed-array.unique-by.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.uint8-array.from-base64.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.uint8-array.from-hex.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.uint8-array.to-base64.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.uint8-array.to-hex.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.weak-map.delete-all.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.weak-map.from.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.weak-map.of.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.weak-map.emplace.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.weak-map.upsert.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.weak-set.add-all.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.weak-set.delete-all.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.weak-set.from.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.weak-set.of.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/web.dom-exception.stack.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/web.immediate.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/web.self.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/web.structured-clone.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/web.url.can-parse.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/web.url-search-params.delete.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/web.url-search-params.has.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/web.url-search-params.size.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/regenerator-runtime/runtime.js",
+ "kind": "import-statement",
+ "external": true
+ }
+ ],
+ "format": "esm"
+ },
+ "src/.umi/core/defineApp.ts": {
+ "bytes": 784,
+ "imports": [],
+ "format": "esm"
+ },
+ "src/.umi/core/history.ts": {
+ "bytes": 1721,
+ "imports": [
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/@umijs/renderer-react",
+ "kind": "import-statement",
+ "external": true
+ }
+ ],
+ "format": "esm"
+ },
+ "src/.umi/core/terminal.ts": {
+ "bytes": 1417,
+ "imports": [],
+ "format": "esm"
+ },
+ "src/.umi/core/helmetContext.ts": {
+ "bytes": 119,
+ "imports": [],
+ "format": "esm"
+ },
+ "src/.umi/core/helmet.ts": {
+ "bytes": 392,
+ "imports": [
+ {
+ "path": "react",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/@umijs/renderer-react",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "src/.umi/core/helmetContext.ts",
+ "kind": "import-statement",
+ "original": "./helmetContext"
+ }
+ ],
+ "format": "esm"
+ },
+ "src/.umi/core/plugin.ts": {
+ "bytes": 1049,
+ "imports": [
+ {
+ "path": "src/.umi/core/helmet.ts",
+ "kind": "import-statement",
+ "original": "@@/core/helmet.ts"
+ },
+ {
+ "path": "src/.umi/exports.ts",
+ "kind": "import-statement",
+ "original": "umi"
+ }
+ ],
+ "format": "esm"
+ },
+ "src/.umi/testBrowser.tsx": {
+ "bytes": 2473,
+ "imports": [
+ {
+ "path": "react",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "src/.umi/exports.ts",
+ "kind": "import-statement",
+ "original": "umi"
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/@umijs/renderer-react",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "src/.umi/core/history.ts",
+ "kind": "import-statement",
+ "original": "./core/history"
+ },
+ {
+ "path": "src/.umi/core/plugin.ts",
+ "kind": "import-statement",
+ "original": "./core/plugin"
+ },
+ {
+ "path": "src/.umi/core/route.tsx",
+ "kind": "import-statement",
+ "original": "./core/route"
+ },
+ {
+ "path": "react/jsx-runtime",
+ "kind": "import-statement",
+ "external": true
+ }
+ ],
+ "format": "esm"
+ },
+ "src/.umi/exports.ts": {
+ "bytes": 1340,
+ "imports": [
+ {
+ "path": "src/.umi/core/defineApp.ts",
+ "kind": "import-statement",
+ "original": "./core/defineApp"
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/@umijs/renderer-react",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/umi/client/client/plugin.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "src/.umi/core/history.ts",
+ "kind": "import-statement",
+ "original": "./core/history"
+ },
+ {
+ "path": "src/.umi/core/terminal.ts",
+ "kind": "import-statement",
+ "original": "./core/terminal"
+ },
+ {
+ "path": "src/.umi/testBrowser.tsx",
+ "kind": "import-statement",
+ "original": "./testBrowser"
+ }
+ ],
+ "format": "esm"
+ },
+ "src/pages/login.tsx": {
+ "bytes": 2440,
+ "imports": [
+ {
+ "path": "src/.umi/exports.ts",
+ "kind": "import-statement",
+ "original": "@umijs/max"
+ },
+ {
+ "path": "antd",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "react",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "@/requestErrorConfig",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "react/jsx-runtime",
+ "kind": "import-statement",
+ "external": true
+ }
+ ],
+ "format": "esm"
+ },
+ "src/pages/layout-wrapper/index.tsx": {
+ "bytes": 2060,
+ "imports": [
+ {
+ "path": "src/.umi/exports.ts",
+ "kind": "import-statement",
+ "original": "@umijs/max"
+ },
+ {
+ "path": "@ant-design/pro-components",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "antd",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "@ant-design/icons",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "react/jsx-runtime",
+ "kind": "import-statement",
+ "external": true
+ }
+ ],
+ "format": "esm"
+ },
+ "src/.umi/core/EmptyRoute.tsx": {
+ "bytes": 285,
+ "imports": [
+ {
+ "path": "react",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "src/.umi/exports.ts",
+ "kind": "import-statement",
+ "original": "umi"
+ },
+ {
+ "path": "react/jsx-runtime",
+ "kind": "import-statement",
+ "external": true
+ }
+ ],
+ "format": "esm"
+ },
+ "src/pages/accounts/index.tsx": {
+ "bytes": 98,
+ "imports": [],
+ "format": "esm"
+ },
+ "src/pages/accounts/monitoring.tsx": {
+ "bytes": 103,
+ "imports": [],
+ "format": "esm"
+ },
+ "src/pages/accounts/import.tsx": {
+ "bytes": 99,
+ "imports": [],
+ "format": "esm"
+ },
+ "src/pages/accounts/new.tsx": {
+ "bytes": 96,
+ "imports": [],
+ "format": "esm"
+ },
+ "src/pages/accounts/$id.tsx": {
+ "bytes": 96,
+ "imports": [],
+ "format": "esm"
+ },
+ "src/pages/accounts/$id/edit.tsx": {
+ "bytes": 101,
+ "imports": [],
+ "format": "esm"
+ },
+ "src/pages/tasks/index.tsx": {
+ "bytes": 95,
+ "imports": [],
+ "format": "esm"
+ },
+ "src/pages/tasks/$id.tsx": {
+ "bytes": 93,
+ "imports": [],
+ "format": "esm"
+ },
+ "src/pages/attempts/$id.tsx": {
+ "bytes": 96,
+ "imports": [],
+ "format": "esm"
+ },
+ "src/pages/drafts/$id.tsx": {
+ "bytes": 94,
+ "imports": [],
+ "format": "esm"
+ },
+ "src/pages/browsers/index.tsx": {
+ "bytes": 98,
+ "imports": [],
+ "format": "esm"
+ },
+ "src/pages/browsers/new.tsx": {
+ "bytes": 96,
+ "imports": [],
+ "format": "esm"
+ },
+ "src/pages/browsers/$id.tsx": {
+ "bytes": 96,
+ "imports": [],
+ "format": "esm"
+ },
+ "src/pages/network-exits/index.tsx": {
+ "bytes": 103,
+ "imports": [],
+ "format": "esm"
+ },
+ "src/pages/network-exits/$id.tsx": {
+ "bytes": 101,
+ "imports": [],
+ "format": "esm"
+ },
+ "src/pages/gateways.tsx": {
+ "bytes": 92,
+ "imports": [],
+ "format": "esm"
+ },
+ "src/pages/creator/competitors/index.tsx": {
+ "bytes": 109,
+ "imports": [],
+ "format": "esm"
+ },
+ "src/pages/creator/competitors/$id.tsx": {
+ "bytes": 107,
+ "imports": [],
+ "format": "esm"
+ },
+ "src/pages/creator/workbench.tsx": {
+ "bytes": 101,
+ "imports": [],
+ "format": "esm"
+ },
+ "src/pages/creator/settings.tsx": {
+ "bytes": 100,
+ "imports": [],
+ "format": "esm"
+ },
+ "src/.umi/core/route.tsx": {
+ "bytes": 3868,
+ "imports": [
+ {
+ "path": "react",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "src/pages/login.tsx",
+ "kind": "dynamic-import",
+ "original": "@/pages/login.tsx"
+ },
+ {
+ "path": "src/pages/layout-wrapper/index.tsx",
+ "kind": "dynamic-import",
+ "original": "@/pages/layout-wrapper/index.tsx"
+ },
+ {
+ "path": "src/.umi/core/EmptyRoute.tsx",
+ "kind": "dynamic-import",
+ "original": "./EmptyRoute"
+ },
+ {
+ "path": "src/pages/accounts/index.tsx",
+ "kind": "dynamic-import",
+ "original": "@/pages/accounts/index.tsx"
+ },
+ {
+ "path": "src/pages/accounts/monitoring.tsx",
+ "kind": "dynamic-import",
+ "original": "@/pages/accounts/monitoring.tsx"
+ },
+ {
+ "path": "src/pages/accounts/import.tsx",
+ "kind": "dynamic-import",
+ "original": "@/pages/accounts/import.tsx"
+ },
+ {
+ "path": "src/pages/accounts/new.tsx",
+ "kind": "dynamic-import",
+ "original": "@/pages/accounts/new.tsx"
+ },
+ {
+ "path": "src/pages/accounts/$id.tsx",
+ "kind": "dynamic-import",
+ "original": "@/pages/accounts/$id.tsx"
+ },
+ {
+ "path": "src/pages/accounts/$id/edit.tsx",
+ "kind": "dynamic-import",
+ "original": "@/pages/accounts/$id/edit.tsx"
+ },
+ {
+ "path": "src/pages/tasks/index.tsx",
+ "kind": "dynamic-import",
+ "original": "@/pages/tasks/index.tsx"
+ },
+ {
+ "path": "src/pages/tasks/$id.tsx",
+ "kind": "dynamic-import",
+ "original": "@/pages/tasks/$id.tsx"
+ },
+ {
+ "path": "src/pages/attempts/$id.tsx",
+ "kind": "dynamic-import",
+ "original": "@/pages/attempts/$id.tsx"
+ },
+ {
+ "path": "src/pages/drafts/$id.tsx",
+ "kind": "dynamic-import",
+ "original": "@/pages/drafts/$id.tsx"
+ },
+ {
+ "path": "src/pages/browsers/index.tsx",
+ "kind": "dynamic-import",
+ "original": "@/pages/browsers/index.tsx"
+ },
+ {
+ "path": "src/pages/browsers/new.tsx",
+ "kind": "dynamic-import",
+ "original": "@/pages/browsers/new.tsx"
+ },
+ {
+ "path": "src/pages/browsers/$id.tsx",
+ "kind": "dynamic-import",
+ "original": "@/pages/browsers/$id.tsx"
+ },
+ {
+ "path": "src/pages/network-exits/index.tsx",
+ "kind": "dynamic-import",
+ "original": "@/pages/network-exits/index.tsx"
+ },
+ {
+ "path": "src/pages/network-exits/$id.tsx",
+ "kind": "dynamic-import",
+ "original": "@/pages/network-exits/$id.tsx"
+ },
+ {
+ "path": "src/pages/gateways.tsx",
+ "kind": "dynamic-import",
+ "original": "@/pages/gateways.tsx"
+ },
+ {
+ "path": "src/pages/creator/competitors/index.tsx",
+ "kind": "dynamic-import",
+ "original": "@/pages/creator/competitors/index.tsx"
+ },
+ {
+ "path": "src/pages/creator/competitors/$id.tsx",
+ "kind": "dynamic-import",
+ "original": "@/pages/creator/competitors/$id.tsx"
+ },
+ {
+ "path": "src/pages/creator/workbench.tsx",
+ "kind": "dynamic-import",
+ "original": "@/pages/creator/workbench.tsx"
+ },
+ {
+ "path": "src/pages/creator/settings.tsx",
+ "kind": "dynamic-import",
+ "original": "@/pages/creator/settings.tsx"
+ }
+ ],
+ "format": "esm"
+ },
+ "src/.umi/umi.ts": {
+ "bytes": 2110,
+ "imports": [
+ {
+ "path": "src/.umi/core/polyfill.ts",
+ "kind": "import-statement",
+ "original": "./core/polyfill"
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/@umijs/renderer-react",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "src/.umi/core/route.tsx",
+ "kind": "import-statement",
+ "original": "./core/route"
+ },
+ {
+ "path": "src/.umi/core/plugin.ts",
+ "kind": "import-statement",
+ "original": "./core/plugin"
+ },
+ {
+ "path": "src/.umi/core/history.ts",
+ "kind": "import-statement",
+ "original": "./core/history"
+ },
+ {
+ "path": "src/.umi/exports.ts",
+ "kind": "import-statement",
+ "original": "umi"
+ }
+ ],
+ "format": "esm"
+ }
+ },
+ "outputs": {
+ "src/.umi/out/umi.js": {
+ "imports": [
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/@umijs/renderer-react",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "react",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/@umijs/renderer-react",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "react",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/@umijs/renderer-react",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "react/jsx-runtime",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/@umijs/renderer-react",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/umi/client/client/plugin.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "antd",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "react",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "react/jsx-runtime",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "@ant-design/pro-components",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "antd",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "@ant-design/icons",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "react/jsx-runtime",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "react/jsx-runtime",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "react",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/es.error.cause.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/es.aggregate-error.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/es.aggregate-error.cause.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/es.array.at.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/es.array.find-last.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/es.array.find-last-index.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/es.array.push.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/es.array.reduce.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/es.array.reduce-right.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/es.array.to-reversed.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/es.array.to-sorted.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/es.array.to-spliced.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/es.array.with.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/es.map.group-by.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/es.object.group-by.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/es.object.has-own.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/es.promise.any.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/es.promise.with-resolvers.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/es.reflect.to-string-tag.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/es.regexp.flags.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/es.string.at-alternative.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/es.string.is-well-formed.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/es.string.replace-all.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/es.string.to-well-formed.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/es.typed-array.at.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/es.typed-array.find-last.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/es.typed-array.find-last-index.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/es.typed-array.set.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/es.typed-array.to-reversed.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/es.typed-array.to-sorted.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/es.typed-array.with.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.suppressed-error.constructor.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.array.from-async.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.array.filter-out.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.array.filter-reject.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.array.group.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.array.group-by.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.array.group-by-to-map.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.array.group-to-map.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.array.is-template-object.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.array.last-index.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.array.last-item.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.array.unique-by.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.array-buffer.detached.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.array-buffer.transfer.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.array-buffer.transfer-to-fixed-length.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.async-disposable-stack.constructor.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.async-iterator.constructor.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.async-iterator.as-indexed-pairs.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.async-iterator.async-dispose.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.async-iterator.drop.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.async-iterator.every.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.async-iterator.filter.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.async-iterator.find.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.async-iterator.flat-map.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.async-iterator.for-each.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.async-iterator.from.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.async-iterator.indexed.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.async-iterator.map.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.async-iterator.reduce.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.async-iterator.some.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.async-iterator.take.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.async-iterator.to-array.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.bigint.range.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.composite-key.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.composite-symbol.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.data-view.get-float16.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.data-view.get-uint8-clamped.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.data-view.set-float16.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.data-view.set-uint8-clamped.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.disposable-stack.constructor.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.function.demethodize.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.function.is-callable.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.function.is-constructor.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.function.metadata.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.function.un-this.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.iterator.constructor.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.iterator.as-indexed-pairs.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.iterator.dispose.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.iterator.drop.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.iterator.every.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.iterator.filter.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.iterator.find.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.iterator.flat-map.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.iterator.for-each.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.iterator.from.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.iterator.indexed.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.iterator.map.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.iterator.range.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.iterator.reduce.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.iterator.some.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.iterator.take.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.iterator.to-array.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.iterator.to-async.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.json.is-raw-json.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.json.parse.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.json.raw-json.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.map.delete-all.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.map.emplace.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.map.every.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.map.filter.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.map.find.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.map.find-key.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.map.from.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.map.includes.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.map.key-by.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.map.key-of.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.map.map-keys.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.map.map-values.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.map.merge.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.map.of.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.map.reduce.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.map.some.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.map.update.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.map.update-or-insert.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.map.upsert.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.math.clamp.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.math.deg-per-rad.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.math.degrees.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.math.fscale.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.math.f16round.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.math.iaddh.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.math.imulh.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.math.isubh.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.math.rad-per-deg.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.math.radians.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.math.scale.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.math.seeded-prng.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.math.signbit.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.math.umulh.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.number.from-string.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.number.range.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.object.iterate-entries.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.object.iterate-keys.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.object.iterate-values.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.observable.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.promise.try.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.reflect.define-metadata.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.reflect.delete-metadata.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.reflect.get-metadata.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.reflect.get-metadata-keys.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.reflect.get-own-metadata.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.reflect.get-own-metadata-keys.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.reflect.has-metadata.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.reflect.has-own-metadata.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.reflect.metadata.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.regexp.escape.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.set.add-all.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.set.delete-all.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.set.difference.v2.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.set.difference.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.set.every.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.set.filter.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.set.find.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.set.from.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.set.intersection.v2.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.set.intersection.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.set.is-disjoint-from.v2.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.set.is-disjoint-from.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.set.is-subset-of.v2.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.set.is-subset-of.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.set.is-superset-of.v2.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.set.is-superset-of.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.set.join.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.set.map.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.set.of.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.set.reduce.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.set.some.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.set.symmetric-difference.v2.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.set.symmetric-difference.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.set.union.v2.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.set.union.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.string.at.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.string.cooked.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.string.code-points.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.string.dedent.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.symbol.async-dispose.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.symbol.dispose.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.symbol.is-registered-symbol.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.symbol.is-registered.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.symbol.is-well-known-symbol.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.symbol.is-well-known.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.symbol.matcher.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.symbol.metadata.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.symbol.metadata-key.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.symbol.observable.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.symbol.pattern-match.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.symbol.replace-all.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.typed-array.from-async.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.typed-array.filter-out.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.typed-array.filter-reject.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.typed-array.group-by.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.typed-array.to-spliced.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.typed-array.unique-by.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.uint8-array.from-base64.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.uint8-array.from-hex.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.uint8-array.to-base64.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.uint8-array.to-hex.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.weak-map.delete-all.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.weak-map.from.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.weak-map.of.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.weak-map.emplace.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.weak-map.upsert.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.weak-set.add-all.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.weak-set.delete-all.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.weak-set.from.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/esnext.weak-set.of.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/web.dom-exception.stack.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/web.immediate.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/web.self.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/web.structured-clone.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/web.url.can-parse.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/web.url-search-params.delete.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/web.url-search-params.has.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/core-js/modules/web.url-search-params.size.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/regenerator-runtime/runtime.js",
+ "kind": "import-statement",
+ "external": true
+ },
+ {
+ "path": "/home/yanghao05/Workspace/creator-hub/web/node_modules/@umijs/renderer-react",
+ "kind": "import-statement",
+ "external": true
+ }
+ ],
+ "exports": [],
+ "entryPoint": "src/.umi/umi.ts",
+ "inputs": {
+ "src/.umi/core/defineApp.ts": {
+ "bytesInOutput": 90
+ },
+ "src/.umi/core/history.ts": {
+ "bytesInOutput": 1319
+ },
+ "src/.umi/core/terminal.ts": {
+ "bytesInOutput": 88
+ },
+ "src/.umi/core/helmetContext.ts": {
+ "bytesInOutput": 129
+ },
+ "src/.umi/core/helmet.ts": {
+ "bytesInOutput": 478
+ },
+ "src/.umi/core/plugin.ts": {
+ "bytesInOutput": 757
+ },
+ "src/.umi/testBrowser.tsx": {
+ "bytesInOutput": 370
+ },
+ "src/.umi/exports.ts": {
+ "bytesInOutput": 983
+ },
+ "src/pages/login.tsx": {
+ "bytesInOutput": 2633
+ },
+ "src/pages/layout-wrapper/index.tsx": {
+ "bytesInOutput": 2357
+ },
+ "src/.umi/core/EmptyRoute.tsx": {
+ "bytesInOutput": 381
+ },
+ "src/pages/accounts/index.tsx": {
+ "bytesInOutput": 208
+ },
+ "src/pages/accounts/monitoring.tsx": {
+ "bytesInOutput": 221
+ },
+ "src/pages/accounts/import.tsx": {
+ "bytesInOutput": 205
+ },
+ "src/pages/accounts/new.tsx": {
+ "bytesInOutput": 193
+ },
+ "src/pages/accounts/$id.tsx": {
+ "bytesInOutput": 190
+ },
+ "src/pages/accounts/$id/edit.tsx": {
+ "bytesInOutput": 201
+ },
+ "src/pages/tasks/index.tsx": {
+ "bytesInOutput": 198
+ },
+ "src/pages/tasks/$id.tsx": {
+ "bytesInOutput": 190
+ },
+ "src/pages/attempts/$id.tsx": {
+ "bytesInOutput": 193
+ },
+ "src/pages/drafts/$id.tsx": {
+ "bytesInOutput": 193
+ },
+ "src/pages/browsers/index.tsx": {
+ "bytesInOutput": 212
+ },
+ "src/pages/browsers/new.tsx": {
+ "bytesInOutput": 198
+ },
+ "src/pages/browsers/$id.tsx": {
+ "bytesInOutput": 195
+ },
+ "src/pages/network-exits/index.tsx": {
+ "bytesInOutput": 232
+ },
+ "src/pages/network-exits/$id.tsx": {
+ "bytesInOutput": 200
+ },
+ "src/pages/gateways.tsx": {
+ "bytesInOutput": 206
+ },
+ "src/pages/creator/competitors/index.tsx": {
+ "bytesInOutput": 232
+ },
+ "src/pages/creator/competitors/$id.tsx": {
+ "bytesInOutput": 206
+ },
+ "src/pages/creator/workbench.tsx": {
+ "bytesInOutput": 218
+ },
+ "src/pages/creator/settings.tsx": {
+ "bytesInOutput": 214
+ },
+ "src/.umi/core/route.tsx": {
+ "bytesInOutput": 3826
+ },
+ "src/.umi/core/polyfill.ts": {
+ "bytesInOutput": 23313
+ },
+ "src/.umi/umi.ts": {
+ "bytesInOutput": 1872
+ }
+ },
+ "bytes": 44205
+ }
+ }
+ }
+ }
+ }
}
diff --git a/web/src/access.ts b/web/src/access.ts
new file mode 100644
index 0000000..99da5fb
--- /dev/null
+++ b/web/src/access.ts
@@ -0,0 +1,15 @@
+import { history } from '@umijs/max';
+
+// 全局认证守卫(对齐 web.archived AuthGate 语义):
+// - localStorage('creatorhub.auth') 缺失 → 一律重定向 /login
+// - /login 已登录 → 重定向 /(避免重复登录)
+export function onRouteChange(clientRoutes: unknown, location: { pathname: string }) {
+ const authed = localStorage.getItem('creatorhub.auth') !== null;
+ if (!authed && location.pathname !== '/login') {
+ history.replace('/login');
+ return;
+ }
+ if (authed && location.pathname === '/login') {
+ history.replace('/');
+ }
+}
diff --git a/web/src/pages/layout-wrapper/index.tsx b/web/src/pages/layout-wrapper/index.tsx
index b4b09d6..97f01e1 100644
--- a/web/src/pages/layout-wrapper/index.tsx
+++ b/web/src/pages/layout-wrapper/index.tsx
@@ -1,4 +1,70 @@
-// TODO: 从 web.archived 迁移 layout-wrapper/index
-export default function Page() {
- return null;
+import { history } from '@umijs/max';
+import { ProLayout } from '@ant-design/pro-components';
+import { Dropdown } from 'antd';
+import { LogoutOutlined } from '@ant-design/icons';
+import type { MenuDataItem } from '@ant-design/pro-components';
+import type { ReactNode } from 'react';
+
+// 菜单结构与 web.archived/src/app/Layout.jsx 完全一致(运营 / 资源 两组)。
+const menu: MenuDataItem[] = [
+ {
+ name: '运营',
+ children: [
+ { path: '/accounts/import', name: '账号导入' },
+ { path: '/accounts', name: '我的账号' },
+ { path: '/accounts/monitoring', name: '监控账号' },
+ { path: '/creator/competitors', name: '竞品分析' },
+ { path: '/creator/workbench', name: '运营工作台' },
+ { path: '/creator/settings', name: '采集设置' },
+ { path: '/tasks', name: '任务中心' },
+ ],
+ },
+ {
+ name: '资源',
+ children: [
+ { path: '/browsers', name: '运行环境' },
+ { path: '/network-exits', name: '网络出口' },
+ { path: '/gateways', name: '网关管理' },
+ ],
+ },
+];
+
+export default function Layout({ children }: { children: ReactNode }) {
+ return (
+ (
+ item.path && history.push(item.path)}>{dom}
+ )}
+ avatarProps={{
+ icon: ,
+ size: 'small',
+ render: (_props, dom) => (
+ ,
+ label: '退出登录',
+ onClick: () => {
+ localStorage.removeItem('creatorhub.auth');
+ history.replace('/login');
+ },
+ },
+ ],
+ }}
+ >
+ {dom}
+
+ ),
+ }}
+ >
+ {children}
+
+ );
}
diff --git a/web/src/pages/login.tsx b/web/src/pages/login.tsx
index a3e9e13..ac0fb19 100644
--- a/web/src/pages/login.tsx
+++ b/web/src/pages/login.tsx
@@ -1,4 +1,57 @@
-// TODO: 从 web.archived 迁移 login
-export default function Page() {
- return null;
+import { history } from '@umijs/max';
+import { Alert, Button, Card, Form, Input } from 'antd';
+import { useState } from 'react';
+import { request } from '@/requestErrorConfig';
+
+// 语义对齐 web.archived/src/app/LoginPage.jsx:
+// 提交 GET /api/gateways 校验 Basic 凭证,成功后写入 localStorage('creatorhub.auth')。
+export default function LoginPage() {
+ const [form] = Form.useForm<{ username: string; password: string }>();
+ const [busy, setBusy] = useState(false);
+ const [error, setError] = useState('');
+
+ async function onFinish({ username, password }: { username: string; password: string }) {
+ setBusy(true);
+ setError('');
+ const controller = new AbortController();
+ const timer = window.setTimeout(() => controller.abort(), 15000);
+ try {
+ const response = await fetch('/api/gateways', {
+ headers: { Authorization: `Basic ${btoa(`${username}:${password}`)}` },
+ signal: controller.signal,
+ });
+ if (response.status === 401) throw new Error('用户名或密码不正确');
+ if (!response.ok) throw new Error(`认证服务不可用(${response.status})`);
+ localStorage.setItem('creatorhub.auth', `${username}:${password}`);
+ history.replace('/');
+ } catch (reason: any) {
+ setError(
+ reason.name === 'AbortError'
+ ? '认证请求超时,请检查控制面连接'
+ : reason.message || '登录失败',
+ );
+ } finally {
+ window.clearTimeout(timer);
+ setBusy(false);
+ }
+ }
+
+ return (
+
+ );
}
diff --git a/web/src/requestErrorConfig.ts b/web/src/requestErrorConfig.ts
new file mode 100644
index 0000000..51b3d13
--- /dev/null
+++ b/web/src/requestErrorConfig.ts
@@ -0,0 +1,52 @@
+// 对齐 web.archived dataProvider 的请求语义(fetch → Basic Auth → 401 全局登出)。
+export const AUTH_STORAGE_KEY = 'creatorhub.auth';
+
+export class RequestError extends Error {
+ status: number;
+ body?: unknown;
+ constructor(message: string, status: number, body?: unknown) {
+ super(message);
+ this.status = status;
+ this.body = body;
+ }
+}
+
+export function unauthorized(): never {
+ localStorage.removeItem(AUTH_STORAGE_KEY);
+ if (window.location.pathname !== '/login') {
+ window.history.replaceState({}, '', '/login');
+ window.dispatchEvent(new PopStateEvent('popstate'));
+ }
+ throw new RequestError('认证已过期,请重新登录', 401);
+}
+
+export async function request(path: string, options: RequestInit = {}): Promise {
+ const auth = localStorage.getItem(AUTH_STORAGE_KEY);
+ const headers: Record = { ...(options.headers as Record) };
+ if (auth) headers.Authorization = `Basic ${btoa(auth)}`;
+ let response: Response;
+ try {
+ response = await fetch(`/api${path}`, { ...options, headers });
+ } catch (networkError: any) {
+ throw new RequestError(`网络请求失败:${networkError?.message ?? networkError}`, 0);
+ }
+ if (response.status === 401) unauthorized();
+ if (!response.ok) {
+ const body = await response.json().catch(() => ({}));
+ throw new RequestError(body.error || `请求失败 (${response.status})`, response.status, body);
+ }
+ if (response.status === 204) return null;
+ const contentType = response.headers?.get?.('content-type') || '';
+ if (contentType.toLowerCase().includes('text/html')) {
+ throw new RequestError('API 返回了非 JSON 响应,请检查控制面路由', response.status);
+ }
+ return response.json();
+}
+
+export function jsonOptions(method: string, data: unknown): RequestInit {
+ return {
+ method,
+ headers: { 'Content-Type': 'application/json' },
+ body: JSON.stringify(data),
+ };
+}
diff --git a/web/src/services/api.ts b/web/src/services/api.ts
new file mode 100644
index 0000000..98df760
--- /dev/null
+++ b/web/src/services/api.ts
@@ -0,0 +1,158 @@
+// 领域 API 层:资源路径与语义逐一对照 web.archived/src/shared/api/dataProvider.js。
+// 全部经由 requestErrorConfig.request(Basic Auth + 401 全局登出)。
+import { jsonOptions, request } from '@/requestErrorConfig';
+
+export const resourcePaths = {
+ browsers: '/browsers',
+ gateways: '/gateways',
+ accounts: '/phase-a/accounts',
+ drafts: '/phase-a/drafts',
+ confirmations: '/phase-a/confirmations',
+ tasks: '/phase-a/tasks',
+ attempts: '/phase-a/attempts',
+ 'network-exits': '/network-exits',
+ 'creator-accounts': '/creator/accounts',
+ 'creator-competitors': '/creator/competitors',
+ 'creator-competitor-share-jobs': '/creator/competitor-share-jobs',
+ 'creator-works': '/creator/works',
+ 'creator-comments': '/creator/comments',
+ 'creator-leads': '/creator/leads',
+ 'creator-rules': '/creator/rules',
+ 'creator-operations': '/creator/operations',
+ 'creator-conversations': '/creator/conversations',
+ 'creator-events': '/creator/events',
+ 'creator-listeners': '/creator/listeners',
+} as const;
+
+export type Resource = keyof typeof resourcePaths;
+
+// 与归档版 filterKeys 一致:资源 → 允许透传的查询字段。
+const filterKeys: Partial> = {
+ drafts: ['account_id'],
+ confirmations: ['draft_id'],
+ tasks: ['account_id', 'draft_id', 'state'],
+ 'creator-competitors': ['platform'],
+ 'creator-competitor-share-jobs': ['platform', 'status'],
+ 'creator-works': ['platform', 'source_id', 'source_type', 'published_after', 'published_before', 'min_likes', 'min_comments', 'min_shares'],
+ 'creator-comments': ['platform', 'work_id'],
+ 'creator-leads': ['platform'],
+ 'creator-operations': ['account_id'],
+ 'creator-conversations': ['account_id'],
+ 'creator-events': ['account_id'],
+};
+
+export interface ListParams {
+ resource: Resource;
+ page?: number;
+ pageSize?: number;
+ filters?: Record;
+}
+
+// creator-* 走 page/page_size 分页;其余资源由后端返回全量或自带 total。
+export async function getList({ resource, page, pageSize, filters = {} }: ListParams): Promise<{ data: T[]; total: number; hasNext?: boolean }> {
+ const path = resourcePaths[resource];
+ const query = new URLSearchParams();
+ const allowed = filterKeys[resource] ?? [];
+ for (const key of allowed) {
+ const value = filters[key];
+ if (value !== undefined && value !== null && `${value}` !== '') query.set(key, `${value}`);
+ }
+ if (resource.startsWith('creator-')) {
+ if (page) query.set('page', `${page}`);
+ if (pageSize) query.set('page_size', `${pageSize}`);
+ }
+ const records = await request(`${path}${query.size ? `?${query}` : ''}`);
+ const data: T[] = Array.isArray(records) ? records : records.data;
+ return {
+ data: data.map((record: any, index: number) => ({ ...record, id: record.id ?? record.alias ?? record.version ?? record.name ?? index })),
+ total: records.total ?? data.length,
+ ...(records && !Array.isArray(records) && Object.hasOwn(records, 'has_next') ? { hasNext: Boolean(records.has_next) } : {}),
+ };
+}
+
+const GETONE_ALLOWED: Resource[] = ['accounts', 'network-exits', 'browsers', 'drafts', 'confirmations', 'tasks', 'attempts', 'creator-accounts', 'creator-competitors', 'creator-competitor-share-jobs', 'creator-works', 'creator-comments', 'creator-rules', 'creator-operations'];
+
+export async function getOne(resource: Resource, id: string | number): Promise {
+ if (!GETONE_ALLOWED.includes(resource)) throw new Error(`${resource} 不支持 getOne`);
+ return request(`${resourcePaths[resource]}/${encodeURIComponent(id)}`);
+}
+
+export async function create(resource: Resource, variables: unknown): Promise {
+ return request(resourcePaths[resource], jsonOptions('POST', variables));
+}
+
+export async function update(resource: Resource, id: string | number, variables: unknown): Promise {
+ if (resource === 'browsers') throw new Error('browsers 不支持 update');
+ await request(`${resourcePaths[resource]}/${encodeURIComponent(id)}`, jsonOptions('PUT', variables));
+}
+
+export async function remove(resource: Resource, id: string | number): Promise {
+ if (!['accounts', 'creator-competitors'].includes(resource)) throw new Error(`${resource} 不支持 deleteOne`);
+ await request(`${resourcePaths[resource]}/${encodeURIComponent(id)}`, { method: 'DELETE' });
+}
+
+// ===== 显式动词的领域动作(不伪装成 CRUD)=====
+
+export async function browserAction(alias: string, action: 'start' | 'stop' | 'recycle'): Promise {
+ const targets: Record = {
+ start: [`/browsers/${encodeURIComponent(alias)}/start`, 'POST'],
+ stop: [`/browsers/${encodeURIComponent(alias)}/stop`, 'POST'],
+ recycle: [`/browsers/${encodeURIComponent(alias)}`, 'DELETE'],
+ };
+ const target = targets[action];
+ if (!target) throw new Error(`未知运行环境操作: ${action}`);
+ await request(target[0], { method: target[1] });
+}
+
+export async function accountAction(id: string, action: 'pause' | 'resume'): Promise {
+ if (action !== 'pause' && action !== 'resume') throw new Error(`未知账号操作: ${action}`);
+ await request(`/phase-a/accounts/${encodeURIComponent(id)}/${action}`, { method: 'POST' });
+}
+
+export function createDraft(accountID: string, content: string) {
+ return request('/phase-a/drafts', jsonOptions('POST', { account_id: accountID, content }));
+}
+
+export function confirmDraft(draftID: string, accountVersion: number, draftVersion: number) {
+ return request('/phase-a/confirmations', jsonOptions('POST', { draft_id: draftID, account_version: accountVersion, draft_version: draftVersion }));
+}
+
+export function enqueueConfirmation(confirmationID: string) {
+ return request('/phase-a/tasks', jsonOptions('POST', { confirmation_id: confirmationID }));
+}
+
+export async function taskAction(id: string, action: 'verify' | 'resume' | 'finish' | 'cancel', data?: unknown): Promise {
+ if (!['verify', 'resume', 'finish', 'cancel'].includes(action)) throw new Error(`未知任务操作: ${action}`);
+ const options = data ? jsonOptions('POST', data) : { method: 'POST' };
+ await request(`/phase-a/tasks/${encodeURIComponent(id)}/${action}`, options);
+}
+
+export async function networkExitAction(id: string, action: 'check' | 'disable' | 'enable'): Promise {
+ if (!['check', 'disable', 'enable'].includes(action)) throw new Error(`未知网络出口操作: ${action}`);
+ return request(`/network-exits/${encodeURIComponent(id)}/${action}`, { method: 'POST' });
+}
+
+// creator-* 领域的透传请求(路径由调用方给出,含列表页/actions)。
+export function creatorRequest(path: string, options?: RequestInit) {
+ return request(path, options);
+}
+
+export function creatorAction(path: string, data?: unknown) {
+ return request(path, data === undefined ? { method: 'POST' } : jsonOptions('POST', data));
+}
+
+export function creatorCreate(path: string, data: unknown) {
+ return request(path, jsonOptions('POST', data));
+}
+
+export function creatorGet(path: string) {
+ return request(path);
+}
+
+export function creatorUpdate(path: string, data: unknown) {
+ return request(path, jsonOptions('PUT', data));
+}
+
+export function creatorSyncConversation(id: string, limit = 200) {
+ return request(`/creator/conversations/${encodeURIComponent(id)}/sync?limit=${encodeURIComponent(limit)}`, { method: 'POST' });
+}