feat: HSAP platform v2 — modular navigation, quality review, audit log, world model simulation

Major changes:
- New frontend (platform/web/): Vite + React 18 + TypeScript + Tailwind
- 4-module navigation: 数据送标 / 模型管理 / 车队管理 / 系统管理
- Data catalog with charts (DMS/ADAS/Lane 3-tab view)
- Quality review workflow (标注质检): Good/Fine/Bad scoring with auto-advance
- Audit enhancements: batch operations, rejection categories, Feishu notifications
- Operation audit log (操作日志)
- World model simulation studio (仿真工坊)
- Dataset version management with snapshots and diff
- ADAS 7-class dataset integration (138K images organized + compressed)
- User management with Feishu integration and pagination
- CRUD/search/filter on all pages, card layout redesign
- PIL-optimized image overlay rendering
- Auto-snapshot on build, in_review workflow stage
- Removed embedded algorithm code (now in workspace)
This commit is contained in:
2026-06-03 11:40:21 +08:00
parent 7c43b44c57
commit e72bc061c5
5487 changed files with 979207 additions and 6197 deletions

21
platform/web/node_modules/jiti/LICENSE generated vendored Normal file
View File

@@ -0,0 +1,21 @@
MIT License
Copyright (c) Pooya Parsa <pooya@pi0.io>
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

164
platform/web/node_modules/jiti/README.md generated vendored Normal file
View File

@@ -0,0 +1,164 @@
# jiti
[![npm version][npm-version-src]][npm-version-href]
[![npm downloads][npm-downloads-src]][npm-downloads-href]
[![bundle][bundle-src]][bundle-href]
[![License][license-src]][license-href]
Runtime Typescript and ESM support for Node.js.
> [!IMPORTANT]
> This is the support branch for jiti v1. Check out [jiti/main](https://github.com/unjs/jiti/tree/main) for the latest version and [unjs/jiti#174](https://github.com/unjs/jiti/issues/174) for the roadmap.
## Features
- Seamless typescript and ESM syntax support
- Seamless interoperability between ESM and CommonJS
- Synchronous API to replace `require`
- Super slim and zero dependency
- Smart syntax detection to avoid extra transforms
- CommonJS cache integration
- Filesystem transpile hard cache
- V8 compile cache
- Custom resolve alias
## Usage
### Programmatic
```js
const jiti = require("jiti")(__filename);
jiti("./path/to/file.ts");
```
You can also pass options as second argument:
```js
const jiti = require("jiti")(__filename, { debug: true });
```
### CLI
```bash
jiti index.ts
# or npx jiti index.ts
```
### Register require hook
```bash
node -r jiti/register index.ts
```
Alternatively, you can register `jiti` as a require hook programmatically:
```js
const jiti = require("jiti")();
const unregister = jiti.register();
```
## Options
### `debug`
- Type: Boolean
- Default: `false`
- Environment Variable: `JITI_DEBUG`
Enable debug to see which files are transpiled
### `cache`
- Type: Boolean | String
- Default: `true`
- Environment Variable: `JITI_CACHE`
Use transpile cache
If set to `true` will use `node_modules/.cache/jiti` (if exists) or `{TMP_DIR}/node-jiti`
### `esmResolve`
- Type: Boolean | String
- Default: `false`
- Environment Variable: `JITI_ESM_RESOLVE`
Using esm resolution algorithm to support `import` condition.
### `transform`
- Type: Function
- Default: Babel (lazy loaded)
Transform function. See [src/babel](./src/babel.ts) for more details
### `sourceMaps`
- Type: Boolean
- Default `false`
- Environment Variable: `JITI_SOURCE_MAPS`
Add inline source map to transformed source for better debugging.
### `interopDefault`
- Type: Boolean
- Default: `false`
Return the `.default` export of a module at the top-level.
### `alias`
- Type: Object
- Default: -
- Environment Variable: `JITI_ALIAS`
Custom alias map used to resolve ids.
### `nativeModules`
- Type: Array
- Default: ['typescript`]
- Environment Variable: `JITI_NATIVE_MODULES`
List of modules (within `node_modules`) to always use native require for them.
### `transformModules`
- Type: Array
- Default: []
- Environment Variable: `JITI_TRANSFORM_MODULES`
List of modules (within `node_modules`) to transform them regardless of syntax.
### `experimentalBun`
- Type: Boolean
- Default: Enabled if `process.versions.bun` exists (Bun runtime)
- Environment Variable: `JITI_EXPERIMENTAL_BUN`
Enable experimental native Bun support for transformations.
## Development
- Clone this repository
- Enable [Corepack](https://github.com/nodejs/corepack) using `corepack enable`
- Install dependencies using `pnpm install`
- Run `pnpm dev`
- Run `pnpm jiti ./test/path/to/file.ts`
## License
MIT. Made with 💖
<!-- Badged -->
[npm-version-src]: https://img.shields.io/npm/v/jiti?style=flat&colorA=18181B&colorB=F0DB4F
[npm-version-href]: https://npmjs.com/package/jiti
[npm-downloads-src]: https://img.shields.io/npm/dm/jiti?style=flat&colorA=18181B&colorB=F0DB4F
[npm-downloads-href]: https://npmjs.com/package/jiti
[bundle-src]: https://img.shields.io/bundlephobia/minzip/jiti?style=flat&colorA=18181B&colorB=F0DB4F
[bundle-href]: https://bundlephobia.com/result?p=h3
[license-src]: https://img.shields.io/github/license/unjs/jiti.svg?style=flat&colorA=18181B&colorB=F0DB4F
[license-href]: https://github.com/unjs/jiti/blob/main/LICENSE

16
platform/web/node_modules/jiti/bin/jiti.js generated vendored Executable file
View File

@@ -0,0 +1,16 @@
#!/usr/bin/env node
const { resolve } = require("node:path");
const script = process.argv.splice(2, 1)[0];
if (!script) {
console.error("Usage: jiti <path> [...arguments]");
process.exit(1);
}
const pwd = process.cwd();
const jiti = require("..")(pwd);
const resolved = (process.argv[1] = jiti.resolve(resolve(pwd, script)));
jiti(resolved);

15
platform/web/node_modules/jiti/lib/index.js generated vendored Normal file
View File

@@ -0,0 +1,15 @@
function onError(err) {
throw err; /* ↓ Check stack trace ↓ */
}
module.exports = function jiti(filename, opts) {
const jiti = require("../dist/jiti");
opts = { onError, ...opts };
if (!opts.transform) {
opts.transform = require("../dist/babel");
}
return jiti(filename, opts);
};

81
platform/web/node_modules/jiti/package.json generated vendored Normal file
View File

@@ -0,0 +1,81 @@
{
"name": "jiti",
"version": "1.21.7",
"description": "Runtime typescript and ESM support for Node.js",
"repository": "unjs/jiti",
"license": "MIT",
"main": "./lib/index.js",
"types": "dist/jiti.d.ts",
"bin": "bin/jiti.js",
"files": [
"lib",
"dist",
"register.js"
],
"scripts": {
"build": "pnpm clean && NODE_ENV=production pnpm webpack",
"clean": "rm -rf dist",
"dev": "pnpm clean && pnpm webpack --watch",
"jiti": "JITI_DEBUG=1 JITI_CACHE=false JITI_REQUIRE_CACHE=false ./bin/jiti.js",
"jiti:legacy": "JITI_DEBUG=1 npx node@12 ./bin/jiti.js",
"lint": "eslint . && prettier -c src lib test stubs",
"lint:fix": "eslint --fix . && prettier -w src lib test stubs",
"release": "pnpm build && pnpm test && changelogen --release --push && npm publish --tag 1x",
"test": "pnpm lint && vitest run --coverage && pnpm test:bun",
"test:bun": "bun --bun test test/bun"
},
"devDependencies": {
"@babel/core": "^7.26.0",
"@babel/plugin-proposal-decorators": "^7.25.9",
"@babel/plugin-syntax-class-properties": "^7.12.13",
"@babel/plugin-syntax-import-assertions": "^7.26.0",
"@babel/plugin-transform-export-namespace-from": "^7.25.9",
"@babel/plugin-transform-modules-commonjs": "^7.26.3",
"@babel/plugin-transform-nullish-coalescing-operator": "^7.25.9",
"@babel/plugin-transform-optional-chaining": "^7.25.9",
"@babel/plugin-transform-typescript": "^7.26.3",
"@babel/preset-typescript": "^7.26.0",
"@babel/template": "^7.25.9",
"@babel/types": "^7.26.3",
"@types/babel__core": "^7.20.5",
"@types/babel__template": "^7.4.4",
"@types/node": "^22.10.2",
"@types/object-hash": "^3.0.6",
"@types/resolve": "^1.20.6",
"@types/semver": "^7.5.8",
"@vitest/coverage-v8": "^2.1.8",
"acorn": "^8.14.0",
"babel-plugin-dynamic-import-node": "^2.3.3",
"babel-plugin-parameter-decorator": "^1.0.16",
"babel-plugin-transform-typescript-metadata": "^0.3.2",
"changelogen": "^0.5.7",
"config": "^3.3.12",
"create-require": "^1.1.1",
"destr": "^2.0.3",
"escape-string-regexp": "^5.0.0",
"eslint": "^9.17.0",
"eslint-config-unjs": "^0.4.2",
"esm": "^3.2.25",
"estree-walker": "^3.0.3",
"execa": "^9.5.2",
"fast-glob": "^3.3.2",
"mlly": "^1.7.3",
"object-hash": "^3.0.0",
"pathe": "^1.1.2",
"pirates": "^4.0.6",
"pkg-types": "^1.2.1",
"prettier": "^3.4.2",
"reflect-metadata": "^0.2.2",
"semver": "^7.6.3",
"std-env": "^3.8.0",
"terser-webpack-plugin": "^5.3.11",
"ts-loader": "^9.5.1",
"tslib": "^2.8.1",
"typescript": "^5.7.2",
"vite": "^6.0.3",
"vitest": "^2.1.8",
"webpack": "^5.97.1",
"webpack-cli": "^5.1.4"
},
"packageManager": "pnpm@9.15.0"
}

3
platform/web/node_modules/jiti/register.js generated vendored Normal file
View File

@@ -0,0 +1,3 @@
const jiti = require(".")();
jiti.register();