mirror of
https://github.com/deepseek-ai/deepseek-harness
synced 2026-08-15 21:04:50 +00:00
Every harness package declares cordis as a peer dependency, so publishing the harness publishes the vendored framework layer too; under the upstream names that publication would squat them on the registry. scripts/rescope-vendor.ts owns the rename: the nine-package mapping, a delimited-token rule that leaves cordis.yml, the Loader's cordis: builtins and vendor directory names alone, per-file exemptions where a name is a directory or an upstream runtime identifier, and the exact edits for sites a token rule cannot express — dot-notation lookups, unquoted manifest keys, a regex literal whose failure would make every Context-merge scan silently find nothing, the vendored-manifest table, and the contracts that told readers vendored packages keep their upstream names. Markdown follows the rename inside every fence, because a fence is code a reader copies or configuration they mount, and in `docs/` prose as well, where a sentence quoting a name teaches something this repository no longer resolves. Prose elsewhere records what was true when it was written, and the same spelling can mean something else: the Python SDK's `cordis` option, or the unvendored `@cordisjs/plugin-http`. `docs/rescope.md` states both names on purpose and is exempt. exactEditState() classifies every exact edit as pending, applied, or invalid. An insertion keeps its anchor and a deletion keeps its remainder, so each side counts the form that survives: a duplicated insertion, a half-applied replacement, and a deletion whose remainder moved are all invalid. The run classifies every edit before writing anything and aborts on the first invalid one, so a disagreement between the mapping and the tree cannot leave a half-rescoped checkout; each write re-reads its file, because two edits can target one. rescope-vendor.spec.ts pins those rejections, and --check asserts the whole post-state from the hygiene gate, so CI owns the invariant. --reverse restores the upstream names, verified as a round trip: reverse, then apply, reproduces this tree byte for byte. docs/rescope.md is the consumer-facing reference: the old-name/new-name table with each package's role, what the rename deliberately leaves alone, the sites callers must change, and the commands to apply, verify, and revert. The Agent Note carries the decision and its consequences. The rename itself lands in the next commit, produced by running the script.
173 lines
9.7 KiB
JSON
173 lines
9.7 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",
|
|
"dsh": "node --import tsx/esm apps/cli/src/bin.ts",
|
|
"demo:headless": "node --import tsx/esm apps/cli/src/bin.ts run",
|
|
"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"
|
|
}
|
|
}
|