Files
deepseek-harness/package.json
T
Tianyi Cui a6981c56f6 feat(persistence): add stable catalogs and policy-aware schema review
Traversal ordinals and first-owner paths gave shared persistence types
unstable display names. Keep authored names and source locations as metadata,
use structural digests for identity, and render complete kind/form groups
with bounded array labels. Preserve historical rendering and stored graphs.

Record supported source compatibility promises with their property binding,
policy version, discriminator, preservation rule, and qualified kind set.
The extractor and classifier require explicit opt-ins in both compared
schemas; ordinary or unsupported changes retain strict classification.
Policy-bearing graphs use the format-2 fingerprint domain while unannotated
graphs keep their format-1 fingerprints. Runtime owners activate bindings
only with the corresponding reader behavior; this tooling layer activates
none and changes no package source or Session generation.

Provide a read-only before/after review command that groups shared structural
evidence without replacing authoritative compatibility diagnostics. Match
changed alternatives only through unique literal discriminators and retain
ambiguous additions and removals as independent facts.

At the X baseline, all 61 roots and 472 schemas, digests, and source fields
are unchanged. The inventory remains format 1 and removes only 296 synthetic
names. Existing acknowledgement history still matches every root. All 195
focused tooling tests, Host build/full lint, and bilingual pairing pass.
2026-09-18 19:05:32 +08:00

247 lines
15 KiB
JSON

{
"name": "@deepseek-ai/dsh-root",
"version": "0.1.6-alpha.2",
"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": {
"build": "tsx scripts/build.ts",
"build:bench": "npm run build:native-system && npm run build:lib && tsdown --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 --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-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: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: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",
"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",
"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: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-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-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-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-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",
"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": "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/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-no-bare-dispatcher": "tsx scripts/verify-no-bare-dispatcher.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-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-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-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",
"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": "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",
"dev:web": "tsx scripts/dev-web.ts --poll",
"postinstall": "node scripts/install-lefthook.mjs"
},
"devDependencies": {
"@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-llm-replay": "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/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",
"fast-check": "^4.8.0",
"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",
"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",
"@deepseek-ai/dsh-skill-office": "workspace:^"
}
}