A release family owns its member discovery, version baseline, tag naming, and packed-payload rule; the dsh family shares one version across packages/ and apps/, while every vendor/ package keeps its own version line. Publish order is topological over runtime dependencies so no package reaches the registry before one it depends on. pack packs the whole family into one directory and records the upload order; publish decides per package against the registry, skipping a version whose published tarball has the same integrity and failing when it differs, which is what makes re-running publish over one artifact safe. The vendored packages keep upstream's payload: their manifests export ./src/*, so the harness rule that rejects sources and declaration maps would publish an export map pointing at absent files.
176 lines
9.9 KiB
JSON
176 lines
9.9 KiB
JSON
{
|
|
"name": "@deepseek-ai/dsh-root",
|
|
"version": "0.0.1",
|
|
"private": true,
|
|
"type": "module",
|
|
"packageManager": "pnpm@11.7.0",
|
|
"engines": {
|
|
"node": "^22.19.0 || >=24.0.0"
|
|
},
|
|
"workspaces": [
|
|
"vendor/*",
|
|
"packages/*/*",
|
|
"native/landlock-run",
|
|
"native/landlock-run/packages/*",
|
|
"apps/*",
|
|
"website"
|
|
],
|
|
"scripts": {
|
|
"build": "npm run build:lib && npm run build:web",
|
|
"build:lib": "npm run build:lib:host && npm run build:lib:client",
|
|
"build:lib:host": "tsc -b tsconfig.host.json && tsdown --env.DSH_BUILD_FACE host",
|
|
"build:lib:client": "tsc -b tsconfig.client.json && tsdown --env.DSH_BUILD_FACE client",
|
|
"build:web": "pnpm --filter @deepseek-ai/dsh-frontend run build",
|
|
"clean": "tsx scripts/clean.ts",
|
|
"change-scope": "tsx scripts/change-scope.ts",
|
|
"typecheck": "npm run build:lib:host && npm run typecheck:contracts-ready",
|
|
"typecheck:contracts-ready": "tsc -b tsconfig.client.json",
|
|
"lint": "npm run build:lib:host && npm run lint:contracts-ready",
|
|
"lint:contracts-ready": "tsx scripts/run-oxlint.ts .",
|
|
"lint:fix": "npm run build:lib:host && npm run lint:fix:contracts-ready",
|
|
"lint:fix:contracts-ready": "tsx scripts/run-oxlint.ts --config .oxlintrc.staged.json packages/typert/generator/tests/fixtures/type-model --fix && tsx scripts/run-oxlint.ts . --fix",
|
|
"duplication": "jscpd --config .jscpd.json packages scripts",
|
|
"test": "vitest run",
|
|
"test:coverage": "vitest run --coverage",
|
|
"test:e2e": "vitest run --config vitest.e2e.config.ts",
|
|
"test:issue-management": "node .github/issue-management/policy.test.mjs",
|
|
"test:snapshot": "vitest run --config vitest.snapshot.config.ts",
|
|
"test:snapshot:record": "DSH_SNAPSHOT=record vitest run --config vitest.snapshot.config.ts --update",
|
|
"test:snapshot:refresh": "DSH_SNAPSHOT=refresh vitest run --config vitest.snapshot.config.ts",
|
|
"migrate:packed-session-fixtures": "tsx scripts/migrate-packed-session-fixtures.ts",
|
|
"test:web": "npm run build && npm run test:web:built",
|
|
"test:web:refresh": "npm run build && DSH_SNAPSHOT=refresh vitest run --config vitest.web.config.ts",
|
|
"test:web:built": "vitest run --config vitest.web.config.ts",
|
|
"test:web:perf": "npm run build && npm run test:web:perf:built",
|
|
"test:web:perf:built": "DSH_SNAPSHOT=replay vitest run --config vitest.web.perf.config.ts",
|
|
"test:web:stress": "npm run build && vitest run --config vitest.web-stress.config.ts",
|
|
"test:gui": "vitest run packages/client packages/host",
|
|
"check:all": "tsx scripts/run-gates.ts check-all",
|
|
"check:ci": "tsx scripts/run-gates.ts ci-primary",
|
|
"check:ci:linux-primary": "tsx scripts/run-gates.ts ci-linux-primary",
|
|
"check:ci:static": "tsx scripts/run-gates.ts ci-static",
|
|
"check:ci:lint:contracts-ready": "tsx scripts/run-gates.ts ci-lint-contracts-ready",
|
|
"check:ci:coverage": "tsx scripts/run-gates.ts ci-coverage",
|
|
"check:ci:snapshot": "tsx scripts/run-gates.ts ci-snapshot",
|
|
"check:ci:artifacts": "tsx scripts/run-gates.ts ci-artifacts",
|
|
"check:ci:consumers": "tsx scripts/run-gates.ts ci-consumers",
|
|
"check:ci:windows-blocking": "tsx scripts/run-gates.ts ci-windows-blocking",
|
|
"check:ci:windows-complete": "tsx scripts/run-gates.ts ci-windows-complete",
|
|
"check:ci:windows-observational": "tsx scripts/run-gates.ts ci-windows-observational",
|
|
"check:windows-wine": "bash scripts/wine-windows-gates.sh",
|
|
"check:node-compat": "tsx scripts/run-gates.ts node-compat",
|
|
"knip": "knip --treat-config-hints-as-errors",
|
|
"publint": "tsx scripts/publint-all.ts",
|
|
"doc-typecheck": "npm run build:lib:host && npm run doc-typecheck:contracts-ready",
|
|
"doc-typecheck:contracts-ready": "tsx scripts/doc-typecheck.ts",
|
|
"verify-md-wrap": "tsx scripts/verify-md-wrap.ts",
|
|
"verify-md-links": "tsx scripts/verify-md-links.ts",
|
|
"verify-public-repository-links": "tsx scripts/verify-public-repository-links.ts",
|
|
"verify-doc-refs": "tsx scripts/verify-doc-refs.ts",
|
|
"verify-package-paths": "tsx scripts/verify-package-paths.ts",
|
|
"verify-config-source-ownership": "tsx scripts/verify-config-source-ownership.ts",
|
|
"verify-package-invariants": "tsx scripts/verify-package-invariants.ts",
|
|
"verify-built-package-invariants": "node scripts/verify-built-package-invariants.mjs",
|
|
"verify-package-readme-model-experience": "tsx scripts/verify-package-readme-model-experience.ts",
|
|
"verify-mermaid": "tsx scripts/verify-mermaid.ts",
|
|
"verify-agent-note-classification": "tsx scripts/verify-agent-note-classification.ts",
|
|
"verify-agent-note-format": "tsx scripts/verify-agent-note-format.ts",
|
|
"verify-archived-agent-notes": "tsx scripts/verify-archived-agent-notes.ts",
|
|
"verify-type-equiv": "tsx scripts/verify-type-equiv.ts",
|
|
"verify-skill-invocation-metadata": "tsx scripts/verify-skill-invocation-metadata.ts",
|
|
"verify-translation-prompt": "tsx scripts/verify-translation-prompt.ts",
|
|
"verify-translation-pairing": "tsx scripts/verify-translation-pairing.ts",
|
|
"resolve-translation-pairing-conflicts": "tsx scripts/merge-translation-pairing.ts --resolve",
|
|
"gen-translation-brief": "tsx scripts/gen-translation-brief.ts",
|
|
"verify-doc-budgets": "tsx scripts/verify-doc-budgets.ts",
|
|
"docs:dev": "pnpm --filter @deepseek-ai/website run dev",
|
|
"docs:build": "pnpm --filter @deepseek-ai/website run build",
|
|
"docs:build:mpa": "pnpm --filter @deepseek-ai/website exec vitepress build . --mpa",
|
|
"docs:preview": "pnpm --filter @deepseek-ai/website run preview",
|
|
"docs:check": "pnpm exec vitest run scripts/project-doc-site.spec.ts && pnpm run docs:build",
|
|
"website:dev": "pnpm run docs:dev",
|
|
"website:build": "pnpm run docs:build",
|
|
"verify-package-readme-limitations": "tsx scripts/verify-package-readme-limitations.ts",
|
|
"verify-node-next-types": "tsx scripts/verify-node-next-types.ts",
|
|
"verify-runtime-closure": "tsx scripts/verify-runtime-closure.ts",
|
|
"verify-vendored-links": "tsx scripts/verify-vendored-links.ts",
|
|
"verify-cordis-config": "tsx scripts/verify-cordis-config.ts",
|
|
"rescope-vendor": "tsx scripts/rescope-vendor.ts",
|
|
"rescope-vendor:check": "tsx scripts/rescope-vendor.ts --check",
|
|
"verify-client-domain-graph": "tsx scripts/verify-client-domain-graph.ts",
|
|
"gen-cordis-catalog": "tsx scripts/gen-cordis-catalog.ts",
|
|
"verify-cordis-catalog": "tsx scripts/gen-cordis-catalog.ts --check",
|
|
"gen-cordis-api": "tsx scripts/gen-cordis-api.ts",
|
|
"verify-cordis-api": "tsx scripts/gen-cordis-api.ts --check",
|
|
"verify-export-jsdoc": "tsx scripts/verify-export-jsdoc.ts",
|
|
"gen-tool-catalog": "tsx scripts/gen-tool-catalog.ts",
|
|
"verify-tool-catalog": "tsx scripts/gen-tool-catalog.ts --check",
|
|
"gen-config-catalog": "tsx scripts/gen-config-catalog.ts",
|
|
"verify-config-catalog": "tsx scripts/gen-config-catalog.ts --check",
|
|
"gen-doc-graphs": "tsx scripts/gen-doc-graphs.ts",
|
|
"verify-doc-graphs": "tsx scripts/gen-doc-graphs.ts --check",
|
|
"gen-persistence-catalog": "tsx scripts/gen-persistence-catalog.ts",
|
|
"verify-persistence-catalog": "tsx scripts/gen-persistence-catalog.ts --check",
|
|
"gen-third-party-notices": "tsx scripts/gen-third-party-notices.ts",
|
|
"verify-third-party-notices": "tsx scripts/gen-third-party-notices.ts --check",
|
|
"gen-module-graph": "tsx scripts/gen-module-graph.ts",
|
|
"gen-scoped-events": "tsx scripts/gen-scoped-events.ts",
|
|
"verify-scoped-events": "tsx scripts/gen-scoped-events.ts --check",
|
|
"verify-module-graph": "tsx scripts/gen-module-graph.ts --check",
|
|
"constraints": "tsx scripts/check-workspace-constraints.ts",
|
|
"doc-sync": "tsx scripts/run-gates.ts doc-sync",
|
|
"hygiene": "pnpm run rescope-vendor:check && pnpm run knip && pnpm run publint && pnpm run constraints && pnpm run verify-package-invariants && pnpm run verify-built-package-invariants && pnpm run verify-cordis-config && pnpm run verify-node-next-types && pnpm run verify-runtime-closure && pnpm run verify-vendored-links",
|
|
"publish:npm-baseline": "tsx scripts/publish-npm-baseline.ts",
|
|
"release:verify": "tsx scripts/release/verify.ts",
|
|
"release:pack": "tsx scripts/release/pack.ts",
|
|
"release:publish": "tsx scripts/release/publish.ts",
|
|
"dsh": "node --import tsx/esm apps/cli/src/bin.ts",
|
|
"demo:headless": "node --import tsx/esm apps/cli/src/bin.ts --profile headless",
|
|
"demo:code-mode": "node scripts/demo-code-mode.mjs",
|
|
"demo:cordis": "node scripts/demo-cordis.mjs",
|
|
"demo:acp": "node --import tsx packages/examples/acp-demo/src/bin.ts --config examples/acp-agent/cordis.yml",
|
|
"demo:web": "npm run build && node --import tsx/esm apps/cli/src/bin.ts web",
|
|
"mock:llm": "node --import tsx packages/support/llm-mock-server/src/bin.ts",
|
|
"dev:web": "tsx scripts/dev-web.ts --poll",
|
|
"postinstall": "node scripts/install-lefthook.mjs"
|
|
},
|
|
"devDependencies": {
|
|
"@agentclientprotocol/sdk": "0.25.1",
|
|
"@deepseek-ai/dsh-tool-session-query": "workspace:^",
|
|
"@stylistic/eslint-plugin": "^5.10.0",
|
|
"@testing-library/dom": "^10.4.1",
|
|
"@testing-library/react": "^16.3.2",
|
|
"@types/js-yaml": "^4.0.9",
|
|
"@types/jsdom": "^28.0.3",
|
|
"@types/mdast": "^4.0.4",
|
|
"@types/node": "^22.20.0",
|
|
"@types/spdx-expression-parse": "^4.0.0",
|
|
"@vitest/coverage-v8": "^4.1.8",
|
|
"@yarnpkg/cli-dist": "4.17.1",
|
|
"eslint-plugin-sonarjs": "^4.1.0",
|
|
"execa": "^10.0.0",
|
|
"fast-check": "^4.8.0",
|
|
"istanbul-lib-report": "^3.0.1",
|
|
"js-yaml": "^4.2.0",
|
|
"jscpd": "^5.0.12",
|
|
"jsdom": "29.1.1",
|
|
"knip": "^6.16.1",
|
|
"lefthook": "^2.1.9",
|
|
"lightningcss": "^1.32.0",
|
|
"mdast-util-from-markdown": "^2.0.3",
|
|
"mdast-util-gfm": "^3.1.0",
|
|
"mermaid": "11.16.0",
|
|
"micromark-extension-gfm": "^3.0.0",
|
|
"oxlint": "1.76.0",
|
|
"oxlint-tsgolint": "7.0.2001",
|
|
"publint": "^0.3.21",
|
|
"smol-toml": "^1.7.1",
|
|
"spdx-expression-parse": "^5.0.0",
|
|
"tsdown": "^0.22.2",
|
|
"tsx": "^4.22.4",
|
|
"typescript": "^6.0.3",
|
|
"vite-tsconfig-paths": "^6.1.1",
|
|
"vitest": "^4.1.8"
|
|
}
|
|
}
|