Refactor bootstrap to use a managed web runtime lifecycle instead of ad-hoc standalone server spawning. The managed runtime copies packaged Next.js assets into ~/.openclaw-dench/web-runtime/, tracks deployment state via manifest/process metadata, and cleanly separates Dench-owned processes from foreign listeners on the target port. - Fix false-negative web readiness when /api/profiles returns null activeProfile (first-run regression). - Add `dench start` (start without updating assets), `dench stop` (terminate only Dench-managed web server), and `dench update` (refresh web runtime with major-version OpenClaw update gate). - Major-version transitions (e.g. v2->v3) require mandatory OpenClaw update; non-interactive mode fails closed without --yes. - All lifecycle commands show the ASCII banner/logo animation. - Deploy smoke checks now verify update/stop/start --help paths.
83 lines
2.4 KiB
JSON
83 lines
2.4 KiB
JSON
{
|
|
"name": "denchclaw",
|
|
"version": "2.0.1",
|
|
"description": "AI-powered CRM platform with multi-channel agent gateway, DuckDB workspace, and knowledge management",
|
|
"keywords": [],
|
|
"homepage": "https://github.com/openclaw/openclaw#readme",
|
|
"bugs": {
|
|
"url": "https://github.com/openclaw/openclaw/issues"
|
|
},
|
|
"license": "MIT",
|
|
"author": "",
|
|
"repository": {
|
|
"type": "git",
|
|
"url": "git+https://github.com/openclaw/openclaw.git"
|
|
},
|
|
"bin": {
|
|
"dench": "denchclaw.mjs",
|
|
"denchclaw": "denchclaw.mjs"
|
|
},
|
|
"files": [
|
|
"apps/web/.next/standalone/",
|
|
"apps/web/.next/static/",
|
|
"apps/web/public/",
|
|
"LICENSE",
|
|
"denchclaw.mjs",
|
|
"README.md",
|
|
"assets/",
|
|
"dist/",
|
|
"skills/"
|
|
],
|
|
"type": "module",
|
|
"main": "dist/entry.js",
|
|
"exports": {
|
|
".": "./dist/entry.js",
|
|
"./cli-entry": "./denchclaw.mjs"
|
|
},
|
|
"scripts": {
|
|
"build": "tsdown",
|
|
"check": "pnpm format:check && pnpm lint",
|
|
"denchclaw": "node denchclaw.mjs",
|
|
"dev": "node denchclaw.mjs",
|
|
"format": "oxfmt --write",
|
|
"format:check": "oxfmt --check",
|
|
"lint": "oxlint --type-aware",
|
|
"prepack": "pnpm build && pnpm web:build && pnpm web:prepack",
|
|
"start": "node denchclaw.mjs",
|
|
"test": "pnpm test:cli && pnpm --dir apps/web test",
|
|
"test:cli": "vitest run --config vitest.unit.config.ts src/cli/run-main.test.ts src/cli/bootstrap-external.test.ts src/cli/bootstrap-external.bootstrap-command.test.ts src/cli/workspace-seed.test.ts src/cli/web-runtime.test.ts src/cli/web-runtime-command.test.ts",
|
|
"test:web": "pnpm --dir apps/web test",
|
|
"web:build": "pnpm --dir apps/web build",
|
|
"web:dev": "pnpm --dir apps/web dev",
|
|
"web:install": "pnpm --dir apps/web install",
|
|
"web:prepack": "cp -r apps/web/public apps/web/.next/standalone/apps/web/public && cp -r apps/web/.next/static apps/web/.next/standalone/apps/web/.next/static"
|
|
},
|
|
"dependencies": {
|
|
"@clack/prompts": "^1.0.1",
|
|
"chalk": "^5.6.2",
|
|
"commander": "^14.0.3",
|
|
"gradient-string": "^3.0.0",
|
|
"json5": "^2.2.3",
|
|
"tslog": "^4.10.2"
|
|
},
|
|
"devDependencies": {
|
|
"@types/node": "^25.3.0",
|
|
"oxfmt": "0.34.0",
|
|
"oxlint": "^1.49.0",
|
|
"oxlint-tsgolint": "^0.14.2",
|
|
"tsdown": "^0.20.3",
|
|
"typescript": "^5.9.3",
|
|
"vitest": "^4.0.18"
|
|
},
|
|
"peerDependencies": {
|
|
"openclaw": ">=2026.1.0"
|
|
},
|
|
"engines": {
|
|
"node": ">=22.12.0"
|
|
},
|
|
"packageManager": "pnpm@10.23.0",
|
|
"pnpm": {
|
|
"minimumReleaseAge": 2880
|
|
}
|
|
}
|