feat: bootstrap commercial AI drama platform

This commit is contained in:
xz
2026-08-24 10:24:34 +08:00
commit ffb27d845b
100 changed files with 35314 additions and 0 deletions
+57
View File
@@ -0,0 +1,57 @@
import { spawn } from "node:child_process";
const scripts = [
"smoke:tenant",
"smoke:mfa",
"smoke:security-events",
"smoke:device-risk",
"smoke:audit",
"smoke:identity",
"smoke:system-users",
"smoke:commercial-governance",
"smoke:invitations",
"smoke:commercial-ops",
"smoke:billing-ledger",
"smoke:release-workflow",
"smoke:delivery-portal",
"smoke:oidc",
"smoke:creator-suite",
"smoke:model-connectors",
"smoke:api-clients",
"smoke:api-rate-limit",
"smoke:ops",
"smoke:production-catalog",
"smoke:production-controls",
"smoke:worker",
"smoke:readiness",
"smoke:media-evidence",
"smoke:api-media",
"smoke:compose-evidence",
"smoke:work-items",
"smoke:tasks",
"smoke:notifications",
"smoke:project-isolation",
"smoke:project-lifecycle"
];
function run(script) {
return new Promise((resolve, reject) => {
const child = spawn(process.platform === "win32" ? "npm.cmd" : "npm", ["run", script], {
cwd: process.cwd(),
env: process.env,
stdio: "inherit"
});
child.once("error", reject);
child.once("exit", (code, signal) => {
if (code === 0) resolve();
else reject(new Error(`${script} failed${signal ? ` with ${signal}` : ` with exit code ${code}`}`));
});
});
}
for (const script of scripts) {
console.log(`\n[smoke ${scripts.indexOf(script) + 1}/${scripts.length}] ${script}`);
await run(script);
}
console.log(`\nall smoke tests passed: ${scripts.length}`);