* feat(gates): reject value exports on function plugin entries
A function plugin entry may export only the Loader fields (name, inject,
Config, apply), types, and classes whose instances extend Cordis Service or
Error, as docs/defensive-patterns/package-surface.md requires. The new
verify-plugin-entry-exports gate reads every packages/*/*/src/index.ts that
exports a value apply through the Host and then the Client compiler face,
and rejects any other value export, including a default export beside
apply, values that arrive through export *, and exports that do not resolve.
Exports that predate the gate are listed per package in
scripts/plugin-entry-existing-exports.ts. A listed export passes; a line
fails when its package has no function plugin entry, its list is empty or
repeats a name, or it names an export the entry no longer reports.
* docs(gates): mark new existing-export lines as rule exceptions
A line added to scripts/plugin-entry-existing-exports.ts after the gate's
introduction is an exception under the plugin entry rule in
docs/defensive-patterns/package-surface.md, which requires the domain
owner's confirmation.
* fix(gates): report a default export beside apply even when it is a class
The class allowance also covered the default export, so a function plugin
entry that default-exported a class extending Cordis Service or Error beside
apply passed the gate. The Loader then loads that default export instead of
the module namespace, which is the mixed plugin form the rule forbids. A
default export beside apply is now reported whatever it holds.
* fix(gates): judge plugin entry exports by their run-time export paths
The gate read TypeScript's export table, which differs from what the entry
exports at run time in two forms. An `export type { x }` hid a value that
`export *` brings in under the same name, although the type-only export is
erased and the value stays. A name that a nested `export type *` reaches was
reported as a value, although nothing reaches the entry at run time.
The gate now walks the emitted export forms: type-only exports and declare
declarations emit nothing, a re-export emits only a run-time export of its
target, and `export *` brings in every run-time name of its target except
default and the names the module exports itself. An `export *` whose module
does not resolve is reported as `*`.
* feat(gates): check service plugin entries for value exports
The plugin entry rule in docs/defensive-patterns/package-surface.md covers
both entry forms: a function plugin exports the Loader fields, a service
plugin default-exports its plugin class, and beyond those a Host entry may
export only Service Definition classes and error types. The gate checked
only function plugins, so a value on a service plugin entry, which another
package imports past the Loader row just the same, went unreported, and an
entry could escape the gate by default-exporting a class.
An entry without apply whose default export is a class the Loader can
construct is now a service plugin. Its default class passes under any name,
as do types and classes extending Cordis Service or Error; name, inject,
Config, and every other value are reported. Libraries, a default export
that is not a class, and an abstract default class, which defines a
capability seam, stay unchecked. The corpus guard now requires both forms.
The existing-export list is regenerated to cover the service plugin
entries' current value exports.
* fix(gates): admit the plugin entry export list as a plugin record name
The plugin entry export list now records the session service entry's
existing value exports, appendPluginRecord among them. Like the published
dependency policy, the list names the function without calling it, so the
plugin record caller gate admits it.
* chore(gates): list the plugin entry exports that landed on master
Master gained value exports on the plugin-manager, llm, and subagent
service entries and renamed office-to-pdf to office-kit before the gate
lands. They predate the gate, so the existing-export list records them.
313 lines
20 KiB
JSON
313 lines
20 KiB
JSON
{
|
|
"name": "@deepseek-ai/dsh-root",
|
|
"version": "0.2.2-rc.1",
|
|
"license": "MIT",
|
|
"private": true,
|
|
"type": "module",
|
|
"packageManager": "[email protected]",
|
|
"engines": {
|
|
"node": ">=24.9.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:artifacts": "tsx scripts/build.ts --scope artifacts",
|
|
"build:check": "tsx scripts/build.ts --scope check",
|
|
"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": "tsx scripts/compile-referenced-projects.ts host-libraries && node --max-old-space-size=8192 ./node_modules/typescript/bin/tsc -p tsconfig.host.json && 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",
|
|
"purge:latest": "pnpm --filter @deepseek-ai/dsh-desktop run purge:latest",
|
|
"clean": "tsx scripts/clean.ts",
|
|
"change-scope": "tsx scripts/change-scope.ts",
|
|
"typecheck": "tsx scripts/build.ts --scope typecheck",
|
|
"typecheck:contracts-ready": "tsc -b tsconfig.client.json",
|
|
"lint": "tsx scripts/compile-referenced-projects.ts host-contracts && npm run lint:contracts-ready",
|
|
"lint:contracts-ready": "tsx scripts/run-oxlint.ts .",
|
|
"lint:fix": "tsx scripts/compile-referenced-projects.ts host-contracts && 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": "tsx scripts/run-bench-suite.ts",
|
|
"test:bench:memory": "tsx scripts/run-memory-pressure-bench.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": "tsx scripts/compile-referenced-projects.ts host-contracts && 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 website/tests/table-filter.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",
|
|
"check:i18n": "tsx scripts/run-gates.ts i18n",
|
|
"verify-installer-locales": "node apps/desktop/scripts/installer-locales.mjs",
|
|
"verify-locale-metadata": "tsx scripts/verify-locale-metadata.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-no-top-level-await": "tsx scripts/verify-no-top-level-await.ts",
|
|
"verify-plugin-record-callers": "tsx scripts/verify-plugin-record-callers.ts",
|
|
"verify-plugin-entry-exports": "tsx scripts/verify-plugin-entry-exports.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",
|
|
"dev:bundle-registry": "tsx scripts/dev-bundle-registry.ts",
|
|
"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",
|
|
"gen-provider-data": "tsx packages/llm/llm-pi-ai/scripts/gen-provider-data.ts",
|
|
"verify-provider-data": "tsx packages/llm/llm-pi-ai/scripts/gen-provider-data.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-executor-native": "workspace:*",
|
|
"@deepseek-ai/dsh-tool-executor-ptc": "workspace:*",
|
|
"@deepseek-ai/dsh-tool-ralph": "workspace:*",
|
|
"@deepseek-ai/dsh-tool-terminal": "workspace:*",
|
|
"@deepseek-ai/dsh-terminal-panel": "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-cua": "workspace:*",
|
|
"@deepseek-ai/dsh-experimental-claude-code-mods": "workspace:*",
|
|
"@deepseek-ai/dsh-llm-replay": "workspace:*",
|
|
"@deepseek-ai/dsh-subagent-dsh-sdk": "workspace:*",
|
|
"@deepseek-ai/dsh-llm": "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.3",
|
|
"@types/js-yaml": "^4.0.9",
|
|
"@types/jsdom": "^28.0.3",
|
|
"@types/mdast": "^4.0.4",
|
|
"@types/papaparse": "^5.5.2",
|
|
"@types/node": "^22.20.1",
|
|
"@types/react": "~18.3.1",
|
|
"@types/react-dom": "~18.3.0",
|
|
"@types/semver": "^7.8.0",
|
|
"@types/spdx-expression-parse": "^4.0.0",
|
|
"@vitest/coverage-v8": "^4.1.11",
|
|
"@yao-pkg/pkg": "6.21.0",
|
|
"@yarnpkg/cli-dist": "4.18.0",
|
|
"eslint-plugin-sonarjs": "^4.2.0",
|
|
"execa": "^10.0.1",
|
|
"zod": "4.6.6",
|
|
"extract-zip": "^2.0.1",
|
|
"fast-check": "^4.9.0",
|
|
"fflate": "^0.8.2",
|
|
"istanbul-lib-report": "^3.0.1",
|
|
"js-yaml": "^4.3.2",
|
|
"jscpd": "^5.1.2",
|
|
"jsdom": "29.1.1",
|
|
"lefthook": "^2.1.12",
|
|
"lightningcss": "^1.33.0",
|
|
"mdast-util-from-markdown": "^2.0.3",
|
|
"mdast-util-gfm": "^3.1.0",
|
|
"mermaid": "11.17.2",
|
|
"micromark-extension-gfm": "^3.0.0",
|
|
"oxlint": "1.81.0",
|
|
"oxlint-tsgolint": "7.0.2001",
|
|
"papaparse": "5.5.3",
|
|
"pnpm": "11.28.5",
|
|
"publint": "^0.3.24",
|
|
"semver": "^7.8.5",
|
|
"smol-toml": "^1.9.0",
|
|
"spdx-expression-parse": "^5.0.0",
|
|
"tar": "^7.5.22",
|
|
"tsdown": "^0.22.2",
|
|
"tsx": "^4.23.13",
|
|
"typescript": "^6.0.3",
|
|
"vite": "8.2.2",
|
|
"vite-tsconfig-paths": "^6.1.1",
|
|
"vitest": "^4.1.11",
|
|
"@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:*",
|
|
"@deepseek-ai/dsh-cua-bundle": "workspace:*",
|
|
"@deepseek-ai/dsh-experimental-subagent-oar": "workspace:*",
|
|
"@deepseek-ai/dsh-experimental-tool-subagent-oar": "workspace:*",
|
|
"@deepseek-ai/dsh-experimental-cua-macos": "workspace:*",
|
|
"@deepseek-ai/dsh-experimental-forge": "workspace:*",
|
|
"@deepseek-ai/dsh-experimental-forge-github": "workspace:*",
|
|
"@deepseek-ai/dsh-experimental-forge-session": "workspace:*",
|
|
"@deepseek-ai/dsh-action-cards": "workspace:*"
|
|
}
|
|
}
|