pnpm 11.7.0 can finish its work, print `Done in Xs`, and then never exit (pnpm/pnpm#12297, pnpm/pnpm#13617): finishWorkers() clears the worker pool reference, and a later worker API call recreates a pool that is never finished, so idle worker threads keep the event loop alive. The upstream fix (pnpm/pnpm#13226) shipped in 11.23.0, and 11.25.0 fixed the hoisted-linker rename race as well. The hang surfaces in this repository as a packed-profile rehearsal that runs `pnpm remove` through the plugin manager and then waits for the test deadline, holding the profile write lock for the whole time. Bump packageManager and devDependencies.pnpm in the root, the pinned pnpm in apps/desktop, and the native/system packageManager; relock; exempt the fresh package manager from the release-age window; follow the development guide pair.
282 lines
18 KiB
JSON
282 lines
18 KiB
JSON
{
|
|
"name": "@deepseek-ai/dsh-root",
|
|
"version": "0.2.1-alpha.1",
|
|
"license": "MIT",
|
|
"private": true,
|
|
"type": "module",
|
|
"packageManager": "[email protected]",
|
|
"engines": {
|
|
"node": "^22.19.0 || >=24.0.0"
|
|
},
|
|
"workspaces": [
|
|
"vendor/*",
|
|
"packages/*/*",
|
|
"native/system",
|
|
"native/system/packages/*",
|
|
"apps/*",
|
|
"website"
|
|
],
|
|
"scripts": {
|
|
"prepare:primary-runtime": "tsx scripts/primary-runtime/prepare.ts",
|
|
"build": "tsx scripts/build.ts",
|
|
"build:bench": "npm run build:native-system && npm run build:lib && tsdown --config-loader native --config benchmarks/tsdown.config.ts",
|
|
"build:official": "tsx scripts/build.ts --profile official",
|
|
"build:lib": "pnpm run build:lib:host && pnpm run build:lib:client",
|
|
"build:lib:host": "node --max-old-space-size=4096 ./node_modules/typescript/bin/tsc -b tsconfig.host.json && tsdown --config-loader native --env.DSH_BUILD_FACE host && pnpm --filter @deepseek-ai/dsh-desktop run bundle",
|
|
"build:lib:client": "tsc -b tsconfig.client.json && tsdown --config-loader native --env.DSH_BUILD_FACE client",
|
|
"build:web": "pnpm --filter @deepseek-ai/dsh-web-frontend run build",
|
|
"build:desktop": "pnpm --filter @deepseek-ai/dsh-desktop run build",
|
|
"dev:desktop": "pnpm --filter @deepseek-ai/dsh-desktop run dev",
|
|
"start:desktop": "pnpm --filter @deepseek-ai/dsh-desktop run start",
|
|
"prepare:desktop": "pnpm --filter @deepseek-ai/dsh-desktop run prepare:package",
|
|
"package:desktop": "pnpm --filter @deepseek-ai/dsh-desktop run package",
|
|
"package:desktop:dir": "pnpm --filter @deepseek-ai/dsh-desktop run package:dir",
|
|
"package:desktop:mac:arm64": "pnpm --filter @deepseek-ai/dsh-desktop run package:mac:arm64",
|
|
"package:desktop:mac:arm64:unsigned": "pnpm --filter @deepseek-ai/dsh-desktop run package:mac:arm64:unsigned",
|
|
"package:desktop:mac:arm64:dir": "pnpm --filter @deepseek-ai/dsh-desktop run package:mac:arm64:dir",
|
|
"package:desktop:mac:x64": "pnpm --filter @deepseek-ai/dsh-desktop run package:mac:x64",
|
|
"package:desktop:mac:x64:unsigned": "pnpm --filter @deepseek-ai/dsh-desktop run package:mac:x64:unsigned",
|
|
"package:desktop:mac:x64:dir": "pnpm --filter @deepseek-ai/dsh-desktop run package:mac:x64:dir",
|
|
"package:desktop:win:x64": "pnpm --filter @deepseek-ai/dsh-desktop run package:win:x64",
|
|
"package:desktop:win:x64:unsigned": "pnpm --filter @deepseek-ai/dsh-desktop run package:win:x64:unsigned",
|
|
"package:desktop:win:x64:dir": "pnpm --filter @deepseek-ai/dsh-desktop run package:win:x64:dir",
|
|
"upload:mac:arm64": "pnpm --filter @deepseek-ai/dsh-desktop run upload:mac:arm64",
|
|
"upload:mac:x64": "pnpm --filter @deepseek-ai/dsh-desktop run upload:mac:x64",
|
|
"upload:win:x64": "pnpm --filter @deepseek-ai/dsh-desktop run upload:win:x64",
|
|
"upload:latest:mac:arm64": "pnpm --filter @deepseek-ai/dsh-desktop run upload:latest:mac:arm64",
|
|
"upload:latest:mac:x64": "pnpm --filter @deepseek-ai/dsh-desktop run upload:latest:mac:x64",
|
|
"upload:latest:win:x64": "pnpm --filter @deepseek-ai/dsh-desktop run upload:latest:win:x64",
|
|
"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": "pnpm run build:native-system && vitest run",
|
|
"test:coverage": "pnpm run build:native-system && vitest run --coverage",
|
|
"build:native-system": "tsx native/system/scripts/build.ts --host-addon-only",
|
|
"test:coverage:partitioned": "tsx scripts/run-coverage-partitions.ts",
|
|
"test:e2e": "vitest run --config vitest.e2e.config.ts",
|
|
"test:bench": "npm run build:bench && npm run build:web && npm run test:bench:built",
|
|
"test:bench:built": "vitest run --config vitest.bench.config.ts",
|
|
"test:expected": "vitest run --config vitest.expected.config.ts",
|
|
"test:expected:refresh": "DSH_SNAPSHOT=refresh vitest run --config vitest.expected.config.ts",
|
|
"test:approval-policy": "node --test .github/review-ownership/check-approval.test.mjs .github/review-ownership/blame-ownership.test.mjs .github/review-ownership/author-weight.test.mjs",
|
|
"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",
|
|
"migrate:sessions-to-v4": "tsx scripts/migrate-sessions-to-v4.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:ci": "tsx scripts/run-web-snapshots.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",
|
|
"benchmark:npm-resolution": "tsx scripts/benchmark-npm-resolution.ts",
|
|
"benchmark:npm-resolution:next": "tsx scripts/benchmark-next-package-dependency.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:unit": "tsx scripts/run-gates.ts ci-unit",
|
|
"check:ci:bench": "tsx scripts/run-gates.ts ci-bench",
|
|
"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:windows-wine": "bash scripts/wine-windows-gates.sh",
|
|
"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-ready": "tsx scripts/run-gates.ts ci-windows-observational-ready",
|
|
"check:node-compat": "tsx scripts/run-gates.ts node-compat",
|
|
"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-doc-site-fragments": "tsx scripts/verify-doc-site-fragments.ts",
|
|
"verify-public-repository-links": "tsx scripts/verify-public-repository-links.ts",
|
|
"verify-repository-references": "tsx scripts/verify-repository-references.ts",
|
|
"verify-concrete-terms": "tsx scripts/verify-concrete-terms.ts",
|
|
"verify-no-unknown-casts": "tsx scripts/verify-no-unknown-casts.ts",
|
|
"verify-doc-refs": "tsx scripts/verify-doc-refs.ts",
|
|
"verify-subsystem-pages": "tsx scripts/verify-subsystem-pages.ts",
|
|
"verify-package-paths": "tsx scripts/verify-package-paths.ts",
|
|
"verify-dsh-package-licenses": "tsx scripts/verify-dsh-package-licenses.ts",
|
|
"verify-config-source-ownership": "tsx scripts/verify-config-source-ownership.ts",
|
|
"verify-package-meta": "tsx scripts/verify-package-meta.ts",
|
|
"verify-package-readme-model-experience": "tsx scripts/verify-package-readme-model-experience.ts",
|
|
"verify-package-readme-summaries": "tsx scripts/verify-package-readme-summaries.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-upgrade-guides": "tsx scripts/verify-upgrade-guides.ts",
|
|
"verify-translation-prompt": "tsx scripts/verify-translation-prompt.ts",
|
|
"verify-translation-pairing": "tsx scripts/verify-translation-pairing.ts",
|
|
"test:docs": "tsx scripts/run-gates.ts doc-quick",
|
|
"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": "tsx website/build.ts && pnpm run verify-doc-site-fragments",
|
|
"docs:build:mpa": "tsx website/build.ts --mpa && pnpm run verify-doc-site-fragments",
|
|
"docs:preview": "pnpm --filter @deepseek-ai/website run preview",
|
|
"docs:check": "pnpm exec vitest run scripts/project-doc-site.spec.ts scripts/verify-doc-site-fragments.spec.ts website/tests/mermaid-viewer.spec.ts website/tests/image-viewer.spec.ts website/tests/code-groups.spec.ts website/tests/page-markdown-actions.spec.ts website/tests/raw-markdown.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-optional-dependency-imports": "tsx scripts/verify-optional-dependency-imports.ts",
|
|
"verify-runtime-closure": "tsx scripts/verify-runtime-closure.ts",
|
|
"verify-default-product-isolation": "tsx scripts/verify-default-product-isolation.ts",
|
|
"verify-application-entrypoints": "tsx scripts/verify-application-entrypoints.ts",
|
|
"verify-package-dependencies": "tsx scripts/verify-package-dependencies.ts",
|
|
"verify-npm-install-layout": "tsx scripts/verify-npm-install-layout.ts",
|
|
"verify-client-packages": "tsx scripts/verify-client-packages.ts",
|
|
"verify-client-ui-i18n": "tsx scripts/verify-client-ui-i18n.ts",
|
|
"verify-client-route-resolution": "tsx scripts/verify-client-route-resolution.ts",
|
|
"verify-no-bare-dispatcher": "tsx scripts/verify-no-bare-dispatcher.ts",
|
|
"verify-plugin-record-callers": "tsx scripts/verify-plugin-record-callers.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-tsconfig-paths": "tsx scripts/gen-tsconfig-paths.ts",
|
|
"verify-tsconfig-paths": "tsx scripts/gen-tsconfig-paths.ts --check",
|
|
"gen-cli-help": "tsx scripts/gen-cli-help.ts",
|
|
"verify-cli-help": "tsx scripts/gen-cli-help.ts --check",
|
|
"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",
|
|
"gen-client-catalog": "tsx scripts/gen-client-catalog.ts",
|
|
"gen-cordis-inspect-catalog": "tsx scripts/gen-cordis-inspect-catalog.ts",
|
|
"verify-cordis-inspect-catalog": "tsx scripts/gen-cordis-inspect-catalog.ts --check",
|
|
"verify-client-catalog": "tsx scripts/gen-client-catalog.ts --check",
|
|
"verify-export-jsdoc": "tsx scripts/verify-export-jsdoc.ts",
|
|
"gen-tool-catalog": "tsx scripts/gen-tool-catalog.ts",
|
|
"gen-workflow-guest": "tsx scripts/gen-workflow-guest.ts",
|
|
"verify-workflow-guest": "tsx scripts/gen-workflow-guest.ts --check",
|
|
"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-plugin-packages": "tsx scripts/gen-plugin-packages.ts",
|
|
"verify-plugin-packages": "tsx scripts/gen-plugin-packages.ts --check",
|
|
"gen-dependency-catalog": "tsx scripts/gen-dependency-catalog.ts",
|
|
"verify-dependency-catalog": "tsx scripts/gen-dependency-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",
|
|
"persistence-changes": "tsx scripts/persistence-changes.ts",
|
|
"persistence-review": "tsx scripts/persistence-review.ts",
|
|
"verify-persistence-changes": "tsx scripts/persistence-changes.ts --check",
|
|
"verify-persistence-releases": "tsx scripts/persistence-releases.ts",
|
|
"verify-persistence-formats": "tsx scripts/persistence-formats.ts",
|
|
"gen-session-format-catalog": "tsx scripts/gen-session-format-catalog.ts",
|
|
"verify-v3-event-vocabulary": "tsx scripts/verify-v3-event-vocabulary.ts",
|
|
"verify-session-format-catalog": "tsx scripts/gen-session-format-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",
|
|
"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": "tsx scripts/run-gates.ts hygiene",
|
|
"publish:npm-baseline": "tsx scripts/publish-npm-baseline.ts",
|
|
"release:dsh": "tsx scripts/release/bump.ts --family dsh",
|
|
"release:vendor": "tsx scripts/release/bump.ts --family vendor",
|
|
"release:verify": "tsx scripts/release/verify.ts",
|
|
"release:pack": "tsx scripts/release/pack.ts",
|
|
"release:verify-packed-install": "tsx scripts/release/verify-packed-install.ts",
|
|
"release:publish": "tsx scripts/release/publish.ts",
|
|
"dsh": "node --import tsx/esm apps/cli/src/bin.ts",
|
|
"demo:ptc": "node scripts/demo-ptc.mjs",
|
|
"demo:inspector": "node --import tsx/esm apps/cli/src/bin.ts web --patch ./packages/experimental/inspector/cordis.source.patch.yml",
|
|
"mock:llm": "node --import tsx packages/test-support/llm-mock-server/src/bin.ts",
|
|
"start:web": "node --import tsx/esm apps/cli/src/bin.ts web",
|
|
"dev:web": "tsx scripts/dev-web.ts --poll",
|
|
"postinstall": "node scripts/install-lefthook.mjs",
|
|
"gen-official-bundle-catalog": "tsx scripts/gen-official-bundle-catalog.ts",
|
|
"verify-official-bundle-catalog": "tsx scripts/gen-official-bundle-catalog.ts --check",
|
|
"verify-product-use": "tsx scripts/verify-product-use.ts"
|
|
},
|
|
"devDependencies": {
|
|
"@deepseek-ai/dsh-hooks-claude-code": "workspace:*",
|
|
"@deepseek-ai/dsh-hooks-codex": "workspace:*",
|
|
"@deepseek-ai/dsh-tool-ralph": "workspace:*",
|
|
"@deepseek-ai/dsh-tool-terminal": "workspace:*",
|
|
"@deepseek-ai/dsh-agent": "workspace:*",
|
|
"@deepseek-ai/dsh-browser-use": "workspace:*",
|
|
"@deepseek-ai/dsh-experimental-browser-use-runtime": "workspace:*",
|
|
"@deepseek-ai/dsh-experimental-browser-use-playwright-mcp": "workspace:*",
|
|
"@deepseek-ai/dsh-experimental-browser-use-chrome-devtools-mcp": "workspace:*",
|
|
"@deepseek-ai/dsh-experimental-browser-use-stagehand-native": "workspace:*",
|
|
"@deepseek-ai/dsh-computer-use": "workspace:*",
|
|
"@deepseek-ai/dsh-experimental-computer-use-cua-driver-mcp": "workspace:*",
|
|
"@deepseek-ai/dsh-experimental-computer-use-cua-driver-native": "workspace:*",
|
|
"@deepseek-ai/dsh-experimental-claude-code-mods": "workspace:*",
|
|
"@deepseek-ai/dsh-llm-replay": "workspace:*",
|
|
"@deepseek-ai/dsh-mcp-client": "workspace:*",
|
|
"@deepseek-ai/dsh-tool-session-query": "workspace:*",
|
|
"@deepseek-ai/dsh-web-fetch-http": "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/semver": "^7.8.0",
|
|
"@types/spdx-expression-parse": "^4.0.0",
|
|
"@vitest/coverage-v8": "^4.1.8",
|
|
"@yao-pkg/pkg": "6.21.0",
|
|
"@yarnpkg/cli-dist": "4.17.1",
|
|
"eslint-plugin-sonarjs": "^4.1.0",
|
|
"execa": "^10.0.0",
|
|
"extract-zip": "^2.0.1",
|
|
"fast-check": "^4.8.0",
|
|
"fflate": "^0.8.2",
|
|
"istanbul-lib-report": "^3.0.1",
|
|
"js-yaml": "^4.2.0",
|
|
"jscpd": "^5.0.12",
|
|
"jsdom": "29.1.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",
|
|
"pnpm": "11.28.5",
|
|
"publint": "^0.3.21",
|
|
"semver": "^7.8.5",
|
|
"smol-toml": "^1.7.1",
|
|
"spdx-expression-parse": "^5.0.0",
|
|
"tar": "^7.5.0",
|
|
"tsdown": "^0.22.2",
|
|
"tsx": "^4.22.4",
|
|
"typescript": "^6.0.3",
|
|
"vite": "8.0.16",
|
|
"vite-tsconfig-paths": "^6.1.1",
|
|
"vitest": "^4.1.8",
|
|
"@deepseek-ai/dsh-skill-office": "workspace:*",
|
|
"@deepseek-ai/dsh-tool-workspace-dependencies": "workspace:*",
|
|
"@deepseek-ai/dsh-tool-working-directory": "workspace:*",
|
|
"@deepseek-ai/dsh-working-directory": "workspace:*",
|
|
"@deepseek-ai/dsh-experimental-worktree": "workspace:*",
|
|
"@deepseek-ai/dsh-experimental-tool-worktree": "workspace:*"
|
|
}
|
|
}
|