docs: generate published npm dependency catalog
This commit is contained in:
1 parent
03888a1619
commit
313768f520
16 files changed
+10375
-2
No files matched your search
+6
@@ -0,0 +1,6 @@
|
||||
# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each
|
||||
# side as of the last confirmed-consistent state. Both languages carry equal authority;
|
||||
# after editing either side, bring the other along and re-record with:
|
||||
# pnpm run verify-translation-pairing --write .agents/notes/implemented/process/2026-09-12-published-npm-dependency-catalog.md
|
||||
2026-09-12-published-npm-dependency-catalog.md: abae1bdbef403a76d6e26f5771f8d1f784e9c980
|
||||
2026-09-12-published-npm-dependency-catalog.zh.md: c11c588532e33e5406d1e7fef6fc222b17b9fb1e
|
||||
@@ -0,0 +1,29 @@
|
||||
# Agent Note: Published npm dependency catalog
|
||||
|
||||
Status: implemented
|
||||
|
||||
English | [中文](2026-09-12-published-npm-dependency-catalog.zh.md)
|
||||
|
||||
## Problem
|
||||
|
||||
The README runs `npx @deepseek-ai/dsh web`. Workspace package lists and the development lockfile cannot identify the packages npm resolves for that command: the published `latest` tag can differ from the source version, npm installs required peers, and package ranges can resolve independently of the CLI version.
|
||||
|
||||
## Decision
|
||||
|
||||
The [dependency catalog](../../../../docs/dependency-catalog.md) records the published CLI's complete npm dependency resolution. Its [generator](../../../../scripts/gen-dependency-catalog.ts) asks npm to resolve only `@deepseek-ai/dsh@latest` in a temporary consumer with install scripts disabled. The committed npm lockfile and resolver metadata retain the registry, capture time, tool versions, and host platform. Normal generation and `doc-sync` compare deterministic English, Chinese, and pairing-record output without network access.
|
||||
|
||||
The catalog retains nested versions and duplicate package locations, excludes development-only entries, and distinguishes direct dependencies, transitive dependencies, automatically installed peers, and optional candidates. Package platform declarations remain visible. Optional installation failures, optional ancestor paths, install-script downloads, npm configuration, and an existing local installation or cache prevent a static record from promising an identical installation on every host.
|
||||
|
||||
The [third-party notices decision](2026-07-30-generated-third-party-notices.md) remains active: notices disclose licenses across distributed plugins and browser bundles, while this catalog records packages in the default npm installation. Neither inventory replaces the other.
|
||||
|
||||
## Alternatives considered
|
||||
|
||||
**Traverse workspace manifests or the pnpm lockfile.** Those describe source development and may include unpublished packages, build dependencies, and resolutions that npm does not choose.
|
||||
|
||||
**Resolve the live registry during each documentation check.** Registry changes would fail unrelated pull requests and make identical commits produce different documentation. An explicit refresh replaces the recorded resolution; ordinary checks remain offline.
|
||||
|
||||
**List every resolved entry as unconditionally installed.** npm records optional packages for multiple platforms, and optional installation can fail. The catalog identifies these candidates and states the limits of its lockfile-only evidence.
|
||||
|
||||
## Consequences
|
||||
|
||||
Readers can inspect exact resolved versions for the latest recorded public release, and contributors can refresh the record with one command. The capture time exposes when that evidence was gathered; the freshness check proves agreement with the committed resolution, not that npm's `latest` tag has remained unchanged. Focused tests cover runtime selection, nested versions, aliases, peers, optional platform entries, and stale generated files or translations.
|
||||
@@ -0,0 +1,29 @@
|
||||
# Agent Note: 已发布 npm 包的依赖目录
|
||||
|
||||
Status: implemented
|
||||
|
||||
[English](2026-09-12-published-npm-dependency-catalog.md) | 中文
|
||||
|
||||
## 问题
|
||||
|
||||
README 运行 `npx @deepseek-ai/dsh web`。Workspace 包列表和开发用 lockfile 无法确定 npm 为该命令解析的包:已发布的 `latest` tag 可能不同于源码版本,npm 会自动安装必需的 Peer 依赖,各包的版本范围也可能独立于 CLI(命令行界面)版本解析。
|
||||
|
||||
## 决策
|
||||
|
||||
[依赖目录](../../../../docs/dependency-catalog.zh.md)记录已发布 CLI 的完整 npm 依赖解析结果。[生成器](../../../../scripts/gen-dependency-catalog.ts)要求 npm 在临时消费项目中仅解析 `@deepseek-ai/dsh@latest`,并禁用安装脚本。提交的 npm lockfile 和解析元数据保留 registry、采集时间、工具版本及宿主平台。普通生成和 `doc-sync`(文档同步门禁)使用确定性的英文、中文及配对记录内容进行比较,无需访问网络。
|
||||
|
||||
目录保留嵌套版本和重复的包安装位置,排除仅用于开发的条目,并区分直接依赖、传递依赖、自动安装的 Peer 依赖及可选候选项。包的平台声明仍然可见。可选依赖安装失败、可选祖先路径、安装脚本下载、npm 配置,以及现有本地安装或缓存,使静态记录无法承诺每台宿主机上的安装完全相同。
|
||||
|
||||
[第三方声明决策](2026-07-30-generated-third-party-notices.zh.md)仍然有效:声明披露已分发插件和浏览器 bundle 的许可证,目录则记录默认 npm 安装中的包。两份清单互不替代。
|
||||
|
||||
## 考虑过的替代方案
|
||||
|
||||
**遍历 workspace manifest 或 pnpm lockfile。** 它们描述源码开发环境,可能包含未发布包、构建依赖,以及 npm 不会选择的解析结果。
|
||||
|
||||
**每次文档检查都访问实时 registry。** Registry 变化会使无关 PR(Pull Request)失败,并使同一提交产生不同文档。显式刷新替换记录的解析结果,普通检查保持离线。
|
||||
|
||||
**将所有解析条目列为无条件安装。** npm 会记录多个平台的可选包,可选安装也可能失败。目录标明这些候选项,并说明仅生成 lockfile 的证据范围。
|
||||
|
||||
## 影响
|
||||
|
||||
读者可以查看最近记录的公开发布版本对应的精确解析版本,贡献者可以用一个命令刷新记录。采集时间显示证据的获取时点;新鲜度检查证明生成内容与提交的解析结果一致,不证明 npm 的 `latest` tag 未发生变化。定向测试覆盖运行时依赖筛选、嵌套版本、别名、Peer 依赖、可选平台条目,以及过期的生成文件或译文。
|
||||
+2
-2
@@ -2,5 +2,5 @@
|
||||
# side as of the last confirmed-consistent state. Both languages carry equal authority;
|
||||
# after editing either side, bring the other along and re-record with:
|
||||
# pnpm run verify-translation-pairing --write README.md
|
||||
README.md: 36adfe913902e75ce0673adc2cb5cb692151a291
|
||||
README.zh.md: f6861b4c9490741b5e5f2d825a370766178dd9f6
|
||||
README.md: bc449f85ac123238c8ba128986f22f794f5c063d
|
||||
README.zh.md: e86d7f15958fdb70511aff6f60727e0dd896977f
|
||||
@@ -24,6 +24,8 @@ Install `Node.js`, then run:
|
||||
npx @deepseek-ai/dsh web
|
||||
```
|
||||
|
||||
See the generated [dependency catalog](docs/dependency-catalog.md) for the latest recorded npm installation dependencies.
|
||||
|
||||
The command starts the Web UI at `http://127.0.0.1:3080` by default and opens it in the default browser for a local launch. An SSH launch only prints the host URL because the SSH client or editor owns the local forwarded address. Pass `--no-open` to run the server without opening a browser. See [Web UI guide](docs/user/guide/index.md).
|
||||
|
||||
### Run from source
|
||||
|
||||
@@ -26,6 +26,8 @@ DeepSeek Harness 处于 _开发者预览_ 阶段,正在快速迭代。**未来
|
||||
npx @deepseek-ai/dsh web
|
||||
```
|
||||
|
||||
参见自动生成的[依赖目录](docs/dependency-catalog.zh.md),了解最近记录的 npm 安装依赖。
|
||||
|
||||
该命令默认会在 `http://127.0.0.1:3080` 启动 Web UI,本机启动时还会用默认浏览器打开页面。通过 SSH 启动时只打印宿主机 URL,因为本地转发地址由 SSH 客户端或编辑器持有。传入 `--no-open` 可仅运行服务器而不打开浏览器。详见 [Web UI 指南](docs/user/guide/index.zh.md)。
|
||||
|
||||
<a id="run-from-source"></a>
|
||||
|
||||
@@ -0,0 +1,6 @@
|
||||
# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each
|
||||
# side as of the last confirmed-consistent state. Both languages carry equal authority;
|
||||
# after editing either side, bring the other along and re-record with:
|
||||
# pnpm run verify-translation-pairing --write docs/dependency-catalog.md
|
||||
dependency-catalog.md: bbf3c122ef40eec085f5153510311bbcc3e6c7bf
|
||||
dependency-catalog.zh.md: 21526914f3ce29910a9bc364a590e418d97aa753
|
||||
@@ -0,0 +1,650 @@
|
||||
<!-- Generated by scripts/gen-dependency-catalog.ts. Do not edit by hand. -->
|
||||
|
||||
# Dependency catalog
|
||||
|
||||
English | [中文](dependency-catalog.zh.md)
|
||||
|
||||
## Summary
|
||||
|
||||
Look up the direct and transitive dependencies of `@deepseek-ai/dsh` installed by the [README npm command](../README.md). The recorded npm `latest` release is **0.1.5-rc.1**; there are 581 dependency locations representing 561 distinct package/version pairs.
|
||||
|
||||
## Table of Contents
|
||||
|
||||
- [Scope](#scope)
|
||||
- [Direct dependencies](#direct-dependencies)
|
||||
- [Transitive dependencies](#transitive-dependencies)
|
||||
- [Regeneration](#regeneration)
|
||||
|
||||
<a id="scope"></a>
|
||||
|
||||
## Scope
|
||||
|
||||
```sh
|
||||
npx @deepseek-ai/dsh web
|
||||
```
|
||||
|
||||
Captured: `2026-09-12T08:31:20.812Z`. Resolver: npm `11.17.0`, Node.js `24.19.0`, `darwin/arm64`. Registry: https://registry.npmjs.org/
|
||||
|
||||
This record resolves published packages in an empty npm consumer, including required dependencies, automatically installed peers, and optional dependency candidates. The `web` argument selects a launch mode; it does not narrow the CLI installation. Repository development dependencies and unreferenced workspace packages are outside this scope.
|
||||
|
||||
Optional entries appear only when their platform matches and installation succeeds; dependencies reached through optional parents can also be omitted. The platform column shows each package’s own `os`, `cpu`, and `libc` declarations; `—` means no restriction declared by that package. Repeated rows retain identical package versions installed at different locations. This catalog comes from a lockfile-only resolution and does not verify install scripts or additional files they download.
|
||||
|
||||
This is a dated resolution: npm tags, version ranges, npm/Node.js versions, platform, configuration, and existing local installations or caches can change the actual result. Normal generation and CI checks use the committed record; only the refresh command queries the registry. See the [npx documentation](https://docs.npmjs.com/cli/v11/commands/npx/) and [npm lockfile documentation](https://docs.npmjs.com/cli/v11/configuring-npm/package-lock-json/).
|
||||
|
||||
<a id="direct-dependencies"></a>
|
||||
|
||||
## Direct dependencies
|
||||
|
||||
72 locations are referenced directly by the published CLI dependency fields.
|
||||
|
||||
| Package | Resolved version | Installation | Declared platform restrictions |
|
||||
| --- | --- | --- | --- |
|
||||
| [`@deepseek-ai/cordis`](https://www.npmjs.com/package/@deepseek-ai/cordis/v/4.0.2) | `4.0.2` | Required | — |
|
||||
| [`@deepseek-ai/cordis-plugin-hmr`](https://www.npmjs.com/package/@deepseek-ai/cordis-plugin-hmr/v/1.0.17) | `1.0.17` | Required | — |
|
||||
| [`@deepseek-ai/cordis-plugin-include`](https://www.npmjs.com/package/@deepseek-ai/cordis-plugin-include/v/1.0.7) | `1.0.7` | Required | — |
|
||||
| [`@deepseek-ai/cordis-plugin-loader`](https://www.npmjs.com/package/@deepseek-ai/cordis-plugin-loader/v/1.0.3) | `1.0.3` | Required | — |
|
||||
| [`@deepseek-ai/cordis-plugin-timer`](https://www.npmjs.com/package/@deepseek-ai/cordis-plugin-timer/v/1.1.4) | `1.1.4` | Required | — |
|
||||
| [`@deepseek-ai/dsh-acp-app`](https://www.npmjs.com/package/@deepseek-ai/dsh-acp-app/v/0.1.5-rc.2) | `0.1.5-rc.2` | Required | — |
|
||||
| [`@deepseek-ai/dsh-agent-instructions`](https://www.npmjs.com/package/@deepseek-ai/dsh-agent-instructions/v/0.1.5-rc.2) | `0.1.5-rc.2` | Required | — |
|
||||
| [`@deepseek-ai/dsh-agent-tool-presentation`](https://www.npmjs.com/package/@deepseek-ai/dsh-agent-tool-presentation/v/0.1.5-rc.2) | `0.1.5-rc.2` | Required | — |
|
||||
| [`@deepseek-ai/dsh-app-boot`](https://www.npmjs.com/package/@deepseek-ai/dsh-app-boot/v/0.1.5-rc.2) | `0.1.5-rc.2` | Required | — |
|
||||
| [`@deepseek-ai/dsh-base`](https://www.npmjs.com/package/@deepseek-ai/dsh-base/v/0.1.5-rc.2) | `0.1.5-rc.2` | Required | — |
|
||||
| [`@deepseek-ai/dsh-client-ui-agent-preset`](https://www.npmjs.com/package/@deepseek-ai/dsh-client-ui-agent-preset/v/0.1.5-rc.2) | `0.1.5-rc.2` | Required | — |
|
||||
| [`@deepseek-ai/dsh-client-ui-cordis`](https://www.npmjs.com/package/@deepseek-ai/dsh-client-ui-cordis/v/0.1.5-rc.2) | `0.1.5-rc.2` | Required | — |
|
||||
| [`@deepseek-ai/dsh-cmdline`](https://www.npmjs.com/package/@deepseek-ai/dsh-cmdline/v/0.1.5-rc.2) | `0.1.5-rc.2` | Required | — |
|
||||
| [`@deepseek-ai/dsh-command-compact`](https://www.npmjs.com/package/@deepseek-ai/dsh-command-compact/v/0.1.5-rc.2) | `0.1.5-rc.2` | Required | — |
|
||||
| [`@deepseek-ai/dsh-command-goal`](https://www.npmjs.com/package/@deepseek-ai/dsh-command-goal/v/0.1.5-rc.2) | `0.1.5-rc.2` | Required | — |
|
||||
| [`@deepseek-ai/dsh-compaction-basic`](https://www.npmjs.com/package/@deepseek-ai/dsh-compaction-basic/v/0.1.5-rc.2) | `0.1.5-rc.2` | Required | — |
|
||||
| [`@deepseek-ai/dsh-compaction-tool-result-pruner`](https://www.npmjs.com/package/@deepseek-ai/dsh-compaction-tool-result-pruner/v/0.1.5-rc.2) | `0.1.5-rc.2` | Required | — |
|
||||
| [`@deepseek-ai/dsh-cordis-client-runner`](https://www.npmjs.com/package/@deepseek-ai/dsh-cordis-client-runner/v/0.1.5-rc.2) | `0.1.5-rc.2` | Required | — |
|
||||
| [`@deepseek-ai/dsh-fs-local`](https://www.npmjs.com/package/@deepseek-ai/dsh-fs-local/v/0.1.5-rc.2) | `0.1.5-rc.2` | Required | — |
|
||||
| [`@deepseek-ai/dsh-goal`](https://www.npmjs.com/package/@deepseek-ai/dsh-goal/v/0.1.5-rc.2) | `0.1.5-rc.2` | Required | — |
|
||||
| [`@deepseek-ai/dsh-goal-round-driver`](https://www.npmjs.com/package/@deepseek-ai/dsh-goal-round-driver/v/0.1.5-rc.2) | `0.1.5-rc.2` | Required | — |
|
||||
| [`@deepseek-ai/dsh-headless`](https://www.npmjs.com/package/@deepseek-ai/dsh-headless/v/0.1.5-rc.2) | `0.1.5-rc.2` | Required | — |
|
||||
| [`@deepseek-ai/dsh-home-paths`](https://www.npmjs.com/package/@deepseek-ai/dsh-home-paths/v/0.1.5-rc.2) | `0.1.5-rc.2` | Required | — |
|
||||
| [`@deepseek-ai/dsh-hooks-claude-code`](https://www.npmjs.com/package/@deepseek-ai/dsh-hooks-claude-code/v/0.1.5-rc.2) | `0.1.5-rc.2` | Required | — |
|
||||
| [`@deepseek-ai/dsh-hooks-codex`](https://www.npmjs.com/package/@deepseek-ai/dsh-hooks-codex/v/0.1.5-rc.2) | `0.1.5-rc.2` | Required | — |
|
||||
| [`@deepseek-ai/dsh-http-proxy`](https://www.npmjs.com/package/@deepseek-ai/dsh-http-proxy/v/0.1.5-rc.2) | `0.1.5-rc.2` | Required | — |
|
||||
| [`@deepseek-ai/dsh-jobs-local`](https://www.npmjs.com/package/@deepseek-ai/dsh-jobs-local/v/0.1.5-rc.2) | `0.1.5-rc.2` | Required | — |
|
||||
| [`@deepseek-ai/dsh-launch-environment`](https://www.npmjs.com/package/@deepseek-ai/dsh-launch-environment/v/0.1.5-rc.2) | `0.1.5-rc.2` | Required | — |
|
||||
| [`@deepseek-ai/dsh-mcp-client`](https://www.npmjs.com/package/@deepseek-ai/dsh-mcp-client/v/0.1.5-rc.2) | `0.1.5-rc.2` | Required | — |
|
||||
| [`@deepseek-ai/dsh-persona`](https://www.npmjs.com/package/@deepseek-ai/dsh-persona/v/0.1.5-rc.2) | `0.1.5-rc.2` | Required | — |
|
||||
| [`@deepseek-ai/dsh-plan-mode`](https://www.npmjs.com/package/@deepseek-ai/dsh-plan-mode/v/0.1.5-rc.2) | `0.1.5-rc.2` | Required | — |
|
||||
| [`@deepseek-ai/dsh-pwsh-local`](https://www.npmjs.com/package/@deepseek-ai/dsh-pwsh-local/v/0.1.5-rc.2) | `0.1.5-rc.2` | Required | — |
|
||||
| [`@deepseek-ai/dsh-pwsh-sandbox`](https://www.npmjs.com/package/@deepseek-ai/dsh-pwsh-sandbox/v/0.1.5-rc.2) | `0.1.5-rc.2` | Required | — |
|
||||
| [`@deepseek-ai/dsh-schedule`](https://www.npmjs.com/package/@deepseek-ai/dsh-schedule/v/0.1.5-rc.2) | `0.1.5-rc.2` | Required | — |
|
||||
| [`@deepseek-ai/dsh-sdk-app`](https://www.npmjs.com/package/@deepseek-ai/dsh-sdk-app/v/0.1.5-rc.2) | `0.1.5-rc.2` | Required | — |
|
||||
| [`@deepseek-ai/dsh-sdk-minimal`](https://www.npmjs.com/package/@deepseek-ai/dsh-sdk-minimal/v/0.1.5-rc.2) | `0.1.5-rc.2` | Required | — |
|
||||
| [`@deepseek-ai/dsh-session-projection`](https://www.npmjs.com/package/@deepseek-ai/dsh-session-projection/v/0.1.5-rc.2) | `0.1.5-rc.2` | Required | — |
|
||||
| [`@deepseek-ai/dsh-session-reference`](https://www.npmjs.com/package/@deepseek-ai/dsh-session-reference/v/0.1.5-rc.2) | `0.1.5-rc.2` | Required | — |
|
||||
| [`@deepseek-ai/dsh-skill`](https://www.npmjs.com/package/@deepseek-ai/dsh-skill/v/0.1.5-rc.2) | `0.1.5-rc.2` | Required | — |
|
||||
| [`@deepseek-ai/dsh-skill-filesystem`](https://www.npmjs.com/package/@deepseek-ai/dsh-skill-filesystem/v/0.1.5-rc.2) | `0.1.5-rc.2` | Required | — |
|
||||
| [`@deepseek-ai/dsh-terminal`](https://www.npmjs.com/package/@deepseek-ai/dsh-terminal/v/0.1.5-rc.2) | `0.1.5-rc.2` | Required | — |
|
||||
| [`@deepseek-ai/dsh-terminal-bash`](https://www.npmjs.com/package/@deepseek-ai/dsh-terminal-bash/v/0.1.5-rc.2) | `0.1.5-rc.2` | Required | — |
|
||||
| [`@deepseek-ai/dsh-time-context`](https://www.npmjs.com/package/@deepseek-ai/dsh-time-context/v/0.1.5-rc.2) | `0.1.5-rc.2` | Required | — |
|
||||
| [`@deepseek-ai/dsh-tmux-context`](https://www.npmjs.com/package/@deepseek-ai/dsh-tmux-context/v/0.1.5-rc.2) | `0.1.5-rc.2` | Required | — |
|
||||
| [`@deepseek-ai/dsh-token-meter`](https://www.npmjs.com/package/@deepseek-ai/dsh-token-meter/v/0.1.5-rc.2) | `0.1.5-rc.2` | Required | — |
|
||||
| [`@deepseek-ai/dsh-tool-ask-user`](https://www.npmjs.com/package/@deepseek-ai/dsh-tool-ask-user/v/0.1.5-rc.2) | `0.1.5-rc.2` | Required | — |
|
||||
| [`@deepseek-ai/dsh-tool-bash`](https://www.npmjs.com/package/@deepseek-ai/dsh-tool-bash/v/0.1.5-rc.2) | `0.1.5-rc.2` | Required | — |
|
||||
| [`@deepseek-ai/dsh-tool-bash-persistent`](https://www.npmjs.com/package/@deepseek-ai/dsh-tool-bash-persistent/v/0.1.5-rc.2) | `0.1.5-rc.2` | Required | — |
|
||||
| [`@deepseek-ai/dsh-tool-cordis`](https://www.npmjs.com/package/@deepseek-ai/dsh-tool-cordis/v/0.1.5-rc.2) | `0.1.5-rc.2` | Required | — |
|
||||
| [`@deepseek-ai/dsh-tool-fs`](https://www.npmjs.com/package/@deepseek-ai/dsh-tool-fs/v/0.1.5-rc.2) | `0.1.5-rc.2` | Required | — |
|
||||
| [`@deepseek-ai/dsh-tool-fs-search`](https://www.npmjs.com/package/@deepseek-ai/dsh-tool-fs-search/v/0.1.5-rc.2) | `0.1.5-rc.2` | Required | — |
|
||||
| [`@deepseek-ai/dsh-tool-goal`](https://www.npmjs.com/package/@deepseek-ai/dsh-tool-goal/v/0.1.5-rc.2) | `0.1.5-rc.2` | Required | — |
|
||||
| [`@deepseek-ai/dsh-tool-jobs`](https://www.npmjs.com/package/@deepseek-ai/dsh-tool-jobs/v/0.1.5-rc.2) | `0.1.5-rc.2` | Required | — |
|
||||
| [`@deepseek-ai/dsh-tool-present`](https://www.npmjs.com/package/@deepseek-ai/dsh-tool-present/v/0.1.5-rc.2) | `0.1.5-rc.2` | Required | — |
|
||||
| [`@deepseek-ai/dsh-tool-pwsh`](https://www.npmjs.com/package/@deepseek-ai/dsh-tool-pwsh/v/0.1.5-rc.2) | `0.1.5-rc.2` | Required | — |
|
||||
| [`@deepseek-ai/dsh-tool-pwsh-persistent`](https://www.npmjs.com/package/@deepseek-ai/dsh-tool-pwsh-persistent/v/0.1.5-rc.2) | `0.1.5-rc.2` | Required | — |
|
||||
| [`@deepseek-ai/dsh-tool-ralph`](https://www.npmjs.com/package/@deepseek-ai/dsh-tool-ralph/v/0.1.5-rc.2) | `0.1.5-rc.2` | Required | — |
|
||||
| [`@deepseek-ai/dsh-tool-skill`](https://www.npmjs.com/package/@deepseek-ai/dsh-tool-skill/v/0.1.5-rc.2) | `0.1.5-rc.2` | Required | — |
|
||||
| [`@deepseek-ai/dsh-tool-str-replace-editor`](https://www.npmjs.com/package/@deepseek-ai/dsh-tool-str-replace-editor/v/0.1.5-rc.2) | `0.1.5-rc.2` | Required | — |
|
||||
| [`@deepseek-ai/dsh-tool-subagent`](https://www.npmjs.com/package/@deepseek-ai/dsh-tool-subagent/v/0.1.5-rc.2) | `0.1.5-rc.2` | Required | — |
|
||||
| [`@deepseek-ai/dsh-tool-subagent-control`](https://www.npmjs.com/package/@deepseek-ai/dsh-tool-subagent-control/v/0.1.5-rc.2) | `0.1.5-rc.2` | Required | — |
|
||||
| [`@deepseek-ai/dsh-tool-todo`](https://www.npmjs.com/package/@deepseek-ai/dsh-tool-todo/v/0.1.5-rc.2) | `0.1.5-rc.2` | Required | — |
|
||||
| [`@deepseek-ai/dsh-tool-web`](https://www.npmjs.com/package/@deepseek-ai/dsh-tool-web/v/0.1.5-rc.2) | `0.1.5-rc.2` | Required | — |
|
||||
| [`@deepseek-ai/dsh-tool-workflow`](https://www.npmjs.com/package/@deepseek-ai/dsh-tool-workflow/v/0.1.5-rc.2) | `0.1.5-rc.2` | Required | — |
|
||||
| [`@deepseek-ai/dsh-web-app`](https://www.npmjs.com/package/@deepseek-ai/dsh-web-app/v/0.1.5-rc.2) | `0.1.5-rc.2` | Required | — |
|
||||
| [`@deepseek-ai/dsh-webhook`](https://www.npmjs.com/package/@deepseek-ai/dsh-webhook/v/0.1.5-rc.2) | `0.1.5-rc.2` | Required | — |
|
||||
| [`@deepseek-ai/dsh-webhook-github`](https://www.npmjs.com/package/@deepseek-ai/dsh-webhook-github/v/0.1.5-rc.2) | `0.1.5-rc.2` | Required | — |
|
||||
| [`@deepseek-ai/dsh-workflow-worker-thread`](https://www.npmjs.com/package/@deepseek-ai/dsh-workflow-worker-thread/v/0.1.5-rc.2) | `0.1.5-rc.2` | Required | — |
|
||||
| [`@deepseek-ai/schemastery`](https://www.npmjs.com/package/@deepseek-ai/schemastery/v/3.18.2) | `3.18.2` | Required | — |
|
||||
| [`commander`](https://www.npmjs.com/package/commander/v/15.0.0) | `15.0.0` | Required | — |
|
||||
| [`js-yaml`](https://www.npmjs.com/package/js-yaml/v/4.3.2) | `4.3.2` | Required | — |
|
||||
| [`node-addon-require-builtin`](https://www.npmjs.com/package/node-addon-require-builtin/v/0.1.5) | `0.1.5` | Required | — |
|
||||
|
||||
<a id="transitive-dependencies"></a>
|
||||
|
||||
## Transitive dependencies
|
||||
|
||||
509 further locations are brought in by the dependency tree.
|
||||
|
||||
| Package | Resolved version | Installation | Declared platform restrictions |
|
||||
| --- | --- | --- | --- |
|
||||
| [`@agentclientprotocol/sdk`](https://www.npmjs.com/package/@agentclientprotocol/sdk/v/1.4.0) | `1.4.0` | Required | — |
|
||||
| [`@anthropic-ai/sdk`](https://www.npmjs.com/package/@anthropic-ai/sdk/v/0.123.0) | `0.123.0` | Required | — |
|
||||
| [`@aws-crypto/sha256-browser`](https://www.npmjs.com/package/@aws-crypto/sha256-browser/v/5.2.0) | `5.2.0` | Required | — |
|
||||
| [`@aws-crypto/sha256-js`](https://www.npmjs.com/package/@aws-crypto/sha256-js/v/5.2.0) | `5.2.0` | Required | — |
|
||||
| [`@aws-crypto/supports-web-crypto`](https://www.npmjs.com/package/@aws-crypto/supports-web-crypto/v/5.2.0) | `5.2.0` | Required | — |
|
||||
| [`@aws-crypto/util`](https://www.npmjs.com/package/@aws-crypto/util/v/5.2.0) | `5.2.0` | Required | — |
|
||||
| [`@aws-sdk/client-bedrock-runtime`](https://www.npmjs.com/package/@aws-sdk/client-bedrock-runtime/v/3.1048.0) | `3.1048.0` | Required | — |
|
||||
| [`@aws-sdk/core`](https://www.npmjs.com/package/@aws-sdk/core/v/3.978.0) | `3.978.0` | Required | — |
|
||||
| [`@aws-sdk/credential-provider-env`](https://www.npmjs.com/package/@aws-sdk/credential-provider-env/v/3.972.71) | `3.972.71` | Required | — |
|
||||
| [`@aws-sdk/credential-provider-http`](https://www.npmjs.com/package/@aws-sdk/credential-provider-http/v/3.972.73) | `3.972.73` | Required | — |
|
||||
| [`@aws-sdk/credential-provider-ini`](https://www.npmjs.com/package/@aws-sdk/credential-provider-ini/v/3.973.16) | `3.973.16` | Required | — |
|
||||
| [`@aws-sdk/credential-provider-login`](https://www.npmjs.com/package/@aws-sdk/credential-provider-login/v/3.972.78) | `3.972.78` | Required | — |
|
||||
| [`@aws-sdk/credential-provider-node`](https://www.npmjs.com/package/@aws-sdk/credential-provider-node/v/3.972.83) | `3.972.83` | Required | — |
|
||||
| [`@aws-sdk/credential-provider-process`](https://www.npmjs.com/package/@aws-sdk/credential-provider-process/v/3.972.71) | `3.972.71` | Required | — |
|
||||
| [`@aws-sdk/credential-provider-sso`](https://www.npmjs.com/package/@aws-sdk/credential-provider-sso/v/3.973.15) | `3.973.15` | Required | — |
|
||||
| [`@aws-sdk/credential-provider-web-identity`](https://www.npmjs.com/package/@aws-sdk/credential-provider-web-identity/v/3.972.77) | `3.972.77` | Required | — |
|
||||
| [`@aws-sdk/eventstream-handler-node`](https://www.npmjs.com/package/@aws-sdk/eventstream-handler-node/v/3.972.34) | `3.972.34` | Required | — |
|
||||
| [`@aws-sdk/middleware-eventstream`](https://www.npmjs.com/package/@aws-sdk/middleware-eventstream/v/3.972.29) | `3.972.29` | Required | — |
|
||||
| [`@aws-sdk/middleware-websocket`](https://www.npmjs.com/package/@aws-sdk/middleware-websocket/v/3.972.53) | `3.972.53` | Required | — |
|
||||
| [`@aws-sdk/nested-clients`](https://www.npmjs.com/package/@aws-sdk/nested-clients/v/3.997.45) | `3.997.45` | Required | — |
|
||||
| [`@aws-sdk/signature-v4-multi-region`](https://www.npmjs.com/package/@aws-sdk/signature-v4-multi-region/v/3.996.46) | `3.996.46` | Required | — |
|
||||
| [`@aws-sdk/token-providers`](https://www.npmjs.com/package/@aws-sdk/token-providers/v/3.1048.0) | `3.1048.0` | Required | — |
|
||||
| [`@aws-sdk/token-providers`](https://www.npmjs.com/package/@aws-sdk/token-providers/v/3.1129.0) | `3.1129.0` | Required | — |
|
||||
| [`@aws-sdk/types`](https://www.npmjs.com/package/@aws-sdk/types/v/3.974.5) | `3.974.5` | Required | — |
|
||||
| [`@aws-sdk/util-locate-window`](https://www.npmjs.com/package/@aws-sdk/util-locate-window/v/3.965.10) | `3.965.10` | Required | — |
|
||||
| [`@aws-sdk/xml-builder`](https://www.npmjs.com/package/@aws-sdk/xml-builder/v/3.972.40) | `3.972.40` | Required | — |
|
||||
| [`@aws/lambda-invoke-store`](https://www.npmjs.com/package/@aws/lambda-invoke-store/v/0.3.0) | `0.3.0` | Required | — |
|
||||
| [`@babel/code-frame`](https://www.npmjs.com/package/@babel/code-frame/v/7.29.7) | `7.29.7` | Required | — |
|
||||
| [`@babel/helper-validator-identifier`](https://www.npmjs.com/package/@babel/helper-validator-identifier/v/7.29.7) | `7.29.7` | Required | — |
|
||||
| [`@babel/runtime`](https://www.npmjs.com/package/@babel/runtime/v/7.29.7) | `7.29.7` | Required | — |
|
||||
| [`@deepseek-ai/cordis-plugin-group`](https://www.npmjs.com/package/@deepseek-ai/cordis-plugin-group/v/1.0.2) | `1.0.2` | Required; Auto-installed peer | — |
|
||||
| [`@deepseek-ai/cosmokit`](https://www.npmjs.com/package/@deepseek-ai/cosmokit/v/1.8.3) | `1.8.3` | Required | — |
|
||||
| [`@deepseek-ai/dsh-acp`](https://www.npmjs.com/package/@deepseek-ai/dsh-acp/v/0.1.5-rc.2) | `0.1.5-rc.2` | Required | — |
|
||||
| [`@deepseek-ai/dsh-agent`](https://www.npmjs.com/package/@deepseek-ai/dsh-agent/v/0.1.5-rc.2) | `0.1.5-rc.2` | Required | — |
|
||||
| [`@deepseek-ai/dsh-agent-default-model`](https://www.npmjs.com/package/@deepseek-ai/dsh-agent-default-model/v/0.1.5-rc.2) | `0.1.5-rc.2` | Required | — |
|
||||
| [`@deepseek-ai/dsh-agent-loop`](https://www.npmjs.com/package/@deepseek-ai/dsh-agent-loop/v/0.1.5-rc.2) | `0.1.5-rc.2` | Required | — |
|
||||
| [`@deepseek-ai/dsh-agent-presets`](https://www.npmjs.com/package/@deepseek-ai/dsh-agent-presets/v/0.1.5-rc.2) | `0.1.5-rc.2` | Required | — |
|
||||
| [`@deepseek-ai/dsh-anonymous-user-id`](https://www.npmjs.com/package/@deepseek-ai/dsh-anonymous-user-id/v/0.1.5-rc.2) | `0.1.5-rc.2` | Required; Auto-installed peer | — |
|
||||
| [`@deepseek-ai/dsh-api-gateway`](https://www.npmjs.com/package/@deepseek-ai/dsh-api-gateway/v/0.1.5-rc.2) | `0.1.5-rc.2` | Required | — |
|
||||
| [`@deepseek-ai/dsh-api-remotes`](https://www.npmjs.com/package/@deepseek-ai/dsh-api-remotes/v/0.1.5-rc.2) | `0.1.5-rc.2` | Required | — |
|
||||
| [`@deepseek-ai/dsh-api-session-controller`](https://www.npmjs.com/package/@deepseek-ai/dsh-api-session-controller/v/0.1.5-rc.2) | `0.1.5-rc.2` | Required | — |
|
||||
| [`@deepseek-ai/dsh-api-settings-controller`](https://www.npmjs.com/package/@deepseek-ai/dsh-api-settings-controller/v/0.1.5-rc.2) | `0.1.5-rc.2` | Required | — |
|
||||
| [`@deepseek-ai/dsh-api-workspace-controller`](https://www.npmjs.com/package/@deepseek-ai/dsh-api-workspace-controller/v/0.1.5-rc.2) | `0.1.5-rc.2` | Required | — |
|
||||
| [`@deepseek-ai/dsh-api-workspace-files`](https://www.npmjs.com/package/@deepseek-ai/dsh-api-workspace-files/v/0.1.5-rc.2) | `0.1.5-rc.2` | Required | — |
|
||||
| [`@deepseek-ai/dsh-atomic-write`](https://www.npmjs.com/package/@deepseek-ai/dsh-atomic-write/v/0.1.5-rc.2) | `0.1.5-rc.2` | Required | — |
|
||||
| [`@deepseek-ai/dsh-attachment`](https://www.npmjs.com/package/@deepseek-ai/dsh-attachment/v/0.1.5-rc.2) | `0.1.5-rc.2` | Required; Auto-installed peer | — |
|
||||
| [`@deepseek-ai/dsh-attachment-local`](https://www.npmjs.com/package/@deepseek-ai/dsh-attachment-local/v/0.1.5-rc.2) | `0.1.5-rc.2` | Required | — |
|
||||
| [`@deepseek-ai/dsh-authorization`](https://www.npmjs.com/package/@deepseek-ai/dsh-authorization/v/0.1.5-rc.2) | `0.1.5-rc.2` | Required; Auto-installed peer | — |
|
||||
| [`@deepseek-ai/dsh-bash-local`](https://www.npmjs.com/package/@deepseek-ai/dsh-bash-local/v/0.1.5-rc.2) | `0.1.5-rc.2` | Required; Auto-installed peer | — |
|
||||
| [`@deepseek-ai/dsh-bash-sandbox`](https://www.npmjs.com/package/@deepseek-ai/dsh-bash-sandbox/v/0.1.5-rc.2) | `0.1.5-rc.2` | Required | — |
|
||||
| [`@deepseek-ai/dsh-brand`](https://www.npmjs.com/package/@deepseek-ai/dsh-brand/v/0.1.5-rc.2) | `0.1.5-rc.2` | Required | — |
|
||||
| [`@deepseek-ai/dsh-chunked-list`](https://www.npmjs.com/package/@deepseek-ai/dsh-chunked-list/v/0.1.5-rc.2) | `0.1.5-rc.2` | Required | — |
|
||||
| [`@deepseek-ai/dsh-client-connection`](https://www.npmjs.com/package/@deepseek-ai/dsh-client-connection/v/0.1.5-rc.2) | `0.1.5-rc.2` | Required | — |
|
||||
| [`@deepseek-ai/dsh-client-file-upload`](https://www.npmjs.com/package/@deepseek-ai/dsh-client-file-upload/v/0.1.5-rc.2) | `0.1.5-rc.2` | Required | — |
|
||||
| [`@deepseek-ai/dsh-client-hmr`](https://www.npmjs.com/package/@deepseek-ai/dsh-client-hmr/v/0.1.5-rc.2) | `0.1.5-rc.2` | Required | — |
|
||||
| [`@deepseek-ai/dsh-client-locale`](https://www.npmjs.com/package/@deepseek-ai/dsh-client-locale/v/0.1.5-rc.2) | `0.1.5-rc.2` | Required | — |
|
||||
| [`@deepseek-ai/dsh-client-modules`](https://www.npmjs.com/package/@deepseek-ai/dsh-client-modules/v/0.1.5-rc.2) | `0.1.5-rc.2` | Required | — |
|
||||
| [`@deepseek-ai/dsh-client-resources`](https://www.npmjs.com/package/@deepseek-ai/dsh-client-resources/v/0.1.5-rc.2) | `0.1.5-rc.2` | Required | — |
|
||||
| [`@deepseek-ai/dsh-client-ui-approval`](https://www.npmjs.com/package/@deepseek-ai/dsh-client-ui-approval/v/0.1.5-rc.2) | `0.1.5-rc.2` | Required | — |
|
||||
| [`@deepseek-ai/dsh-client-ui-attachment`](https://www.npmjs.com/package/@deepseek-ai/dsh-client-ui-attachment/v/0.1.5-rc.2) | `0.1.5-rc.2` | Required | — |
|
||||
| [`@deepseek-ai/dsh-client-ui-brand-official`](https://www.npmjs.com/package/@deepseek-ai/dsh-client-ui-brand-official/v/0.1.5-rc.2) | `0.1.5-rc.2` | Required | — |
|
||||
| [`@deepseek-ai/dsh-client-ui-chat`](https://www.npmjs.com/package/@deepseek-ai/dsh-client-ui-chat/v/0.1.5-rc.2) | `0.1.5-rc.2` | Required | — |
|
||||
| [`@deepseek-ai/dsh-client-ui-commands`](https://www.npmjs.com/package/@deepseek-ai/dsh-client-ui-commands/v/0.1.5-rc.2) | `0.1.5-rc.2` | Required | — |
|
||||
| [`@deepseek-ai/dsh-client-ui-conversation`](https://www.npmjs.com/package/@deepseek-ai/dsh-client-ui-conversation/v/0.1.5-rc.2) | `0.1.5-rc.2` | Required | — |
|
||||
| [`@deepseek-ai/dsh-client-ui-deliverables`](https://www.npmjs.com/package/@deepseek-ai/dsh-client-ui-deliverables/v/0.1.5-rc.2) | `0.1.5-rc.2` | Required | — |
|
||||
| [`@deepseek-ai/dsh-client-ui-directory-picker-browse`](https://www.npmjs.com/package/@deepseek-ai/dsh-client-ui-directory-picker-browse/v/0.1.5-rc.2) | `0.1.5-rc.2` | Required | — |
|
||||
| [`@deepseek-ai/dsh-client-ui-directory-picker-native`](https://www.npmjs.com/package/@deepseek-ai/dsh-client-ui-directory-picker-native/v/0.1.5-rc.2) | `0.1.5-rc.2` | Required | — |
|
||||
| [`@deepseek-ai/dsh-client-ui-goal`](https://www.npmjs.com/package/@deepseek-ai/dsh-client-ui-goal/v/0.1.5-rc.2) | `0.1.5-rc.2` | Required | — |
|
||||
| [`@deepseek-ai/dsh-client-ui-input-trigger`](https://www.npmjs.com/package/@deepseek-ai/dsh-client-ui-input-trigger/v/0.1.5-rc.2) | `0.1.5-rc.2` | Required | — |
|
||||
| [`@deepseek-ai/dsh-client-ui-jobs`](https://www.npmjs.com/package/@deepseek-ai/dsh-client-ui-jobs/v/0.1.5-rc.2) | `0.1.5-rc.2` | Required | — |
|
||||
| [`@deepseek-ai/dsh-client-ui-layout`](https://www.npmjs.com/package/@deepseek-ai/dsh-client-ui-layout/v/0.1.5-rc.2) | `0.1.5-rc.2` | Required | — |
|
||||
| [`@deepseek-ai/dsh-client-ui-message-feedback`](https://www.npmjs.com/package/@deepseek-ai/dsh-client-ui-message-feedback/v/0.1.5-rc.2) | `0.1.5-rc.2` | Required | — |
|
||||
| [`@deepseek-ai/dsh-client-ui-model-selection`](https://www.npmjs.com/package/@deepseek-ai/dsh-client-ui-model-selection/v/0.1.5-rc.2) | `0.1.5-rc.2` | Required | — |
|
||||
| [`@deepseek-ai/dsh-client-ui-open-in-app`](https://www.npmjs.com/package/@deepseek-ai/dsh-client-ui-open-in-app/v/0.1.5-rc.2) | `0.1.5-rc.2` | Required | — |
|
||||
| [`@deepseek-ai/dsh-client-ui-permission-presets`](https://www.npmjs.com/package/@deepseek-ai/dsh-client-ui-permission-presets/v/0.1.5-rc.2) | `0.1.5-rc.2` | Required | — |
|
||||
| [`@deepseek-ai/dsh-client-ui-plan`](https://www.npmjs.com/package/@deepseek-ai/dsh-client-ui-plan/v/0.1.5-rc.2) | `0.1.5-rc.2` | Required | — |
|
||||
| [`@deepseek-ai/dsh-client-ui-reference`](https://www.npmjs.com/package/@deepseek-ai/dsh-client-ui-reference/v/0.1.5-rc.2) | `0.1.5-rc.2` | Required | — |
|
||||
| [`@deepseek-ai/dsh-client-ui-renderer`](https://www.npmjs.com/package/@deepseek-ai/dsh-client-ui-renderer/v/0.1.5-rc.2) | `0.1.5-rc.2` | Required | — |
|
||||
| [`@deepseek-ai/dsh-client-ui-schedule`](https://www.npmjs.com/package/@deepseek-ai/dsh-client-ui-schedule/v/0.1.5-rc.2) | `0.1.5-rc.2` | Required | — |
|
||||
| [`@deepseek-ai/dsh-client-ui-session`](https://www.npmjs.com/package/@deepseek-ai/dsh-client-ui-session/v/0.1.5-rc.2) | `0.1.5-rc.2` | Required | — |
|
||||
| [`@deepseek-ai/dsh-client-ui-settings`](https://www.npmjs.com/package/@deepseek-ai/dsh-client-ui-settings/v/0.1.5-rc.2) | `0.1.5-rc.2` | Required | — |
|
||||
| [`@deepseek-ai/dsh-client-ui-settings-general`](https://www.npmjs.com/package/@deepseek-ai/dsh-client-ui-settings-general/v/0.1.5-rc.2) | `0.1.5-rc.2` | Required | — |
|
||||
| [`@deepseek-ai/dsh-client-ui-settings-models`](https://www.npmjs.com/package/@deepseek-ai/dsh-client-ui-settings-models/v/0.1.5-rc.2) | `0.1.5-rc.2` | Required | — |
|
||||
| [`@deepseek-ai/dsh-client-ui-settings-plugin-inventory`](https://www.npmjs.com/package/@deepseek-ai/dsh-client-ui-settings-plugin-inventory/v/0.1.5-rc.2) | `0.1.5-rc.2` | Required | — |
|
||||
| [`@deepseek-ai/dsh-client-ui-settings-plugins`](https://www.npmjs.com/package/@deepseek-ai/dsh-client-ui-settings-plugins/v/0.1.5-rc.2) | `0.1.5-rc.2` | Required | — |
|
||||
| [`@deepseek-ai/dsh-client-ui-sidebar`](https://www.npmjs.com/package/@deepseek-ai/dsh-client-ui-sidebar/v/0.1.5-rc.2) | `0.1.5-rc.2` | Required | — |
|
||||
| [`@deepseek-ai/dsh-client-ui-sidebar-documentpreview`](https://www.npmjs.com/package/@deepseek-ai/dsh-client-ui-sidebar-documentpreview/v/0.1.5-rc.2) | `0.1.5-rc.2` | Required | — |
|
||||
| [`@deepseek-ai/dsh-client-ui-sidebar-files`](https://www.npmjs.com/package/@deepseek-ai/dsh-client-ui-sidebar-files/v/0.1.5-rc.2) | `0.1.5-rc.2` | Required | — |
|
||||
| [`@deepseek-ai/dsh-client-ui-sidebar-right`](https://www.npmjs.com/package/@deepseek-ai/dsh-client-ui-sidebar-right/v/0.1.5-rc.2) | `0.1.5-rc.2` | Required | — |
|
||||
| [`@deepseek-ai/dsh-client-ui-skill`](https://www.npmjs.com/package/@deepseek-ai/dsh-client-ui-skill/v/0.1.5-rc.2) | `0.1.5-rc.2` | Required | — |
|
||||
| [`@deepseek-ai/dsh-client-ui-subagent`](https://www.npmjs.com/package/@deepseek-ai/dsh-client-ui-subagent/v/0.1.5-rc.2) | `0.1.5-rc.2` | Required | — |
|
||||
| [`@deepseek-ai/dsh-client-ui-theme`](https://www.npmjs.com/package/@deepseek-ai/dsh-client-ui-theme/v/0.1.5-rc.2) | `0.1.5-rc.2` | Required | — |
|
||||
| [`@deepseek-ai/dsh-client-ui-tool`](https://www.npmjs.com/package/@deepseek-ai/dsh-client-ui-tool/v/0.1.5-rc.2) | `0.1.5-rc.2` | Required | — |
|
||||
| [`@deepseek-ai/dsh-client-ui-trajectory`](https://www.npmjs.com/package/@deepseek-ai/dsh-client-ui-trajectory/v/0.1.5-rc.2) | `0.1.5-rc.2` | Required | — |
|
||||
| [`@deepseek-ai/dsh-client-ui-user-questions`](https://www.npmjs.com/package/@deepseek-ai/dsh-client-ui-user-questions/v/0.1.5-rc.2) | `0.1.5-rc.2` | Required | — |
|
||||
| [`@deepseek-ai/dsh-client-ui-workflow-run`](https://www.npmjs.com/package/@deepseek-ai/dsh-client-ui-workflow-run/v/0.1.5-rc.2) | `0.1.5-rc.2` | Required | — |
|
||||
| [`@deepseek-ai/dsh-client-ui-workspace`](https://www.npmjs.com/package/@deepseek-ai/dsh-client-ui-workspace/v/0.1.5-rc.2) | `0.1.5-rc.2` | Required | — |
|
||||
| [`@deepseek-ai/dsh-code-runtime`](https://www.npmjs.com/package/@deepseek-ai/dsh-code-runtime/v/0.1.5-rc.2) | `0.1.5-rc.2` | Required; Auto-installed peer | — |
|
||||
| [`@deepseek-ai/dsh-code-runtime-worker-thread`](https://www.npmjs.com/package/@deepseek-ai/dsh-code-runtime-worker-thread/v/0.1.5-rc.2) | `0.1.5-rc.2` | Required | — |
|
||||
| [`@deepseek-ai/dsh-command-feedback`](https://www.npmjs.com/package/@deepseek-ai/dsh-command-feedback/v/0.1.5-rc.2) | `0.1.5-rc.2` | Required | — |
|
||||
| [`@deepseek-ai/dsh-commands`](https://www.npmjs.com/package/@deepseek-ai/dsh-commands/v/0.1.5-rc.2) | `0.1.5-rc.2` | Required | — |
|
||||
| [`@deepseek-ai/dsh-compaction`](https://www.npmjs.com/package/@deepseek-ai/dsh-compaction/v/0.1.5-rc.2) | `0.1.5-rc.2` | Required; Auto-installed peer | — |
|
||||
| [`@deepseek-ai/dsh-cordis-host-runner`](https://www.npmjs.com/package/@deepseek-ai/dsh-cordis-host-runner/v/0.1.5-rc.2) | `0.1.5-rc.2` | Required | — |
|
||||
| [`@deepseek-ai/dsh-credentials`](https://www.npmjs.com/package/@deepseek-ai/dsh-credentials/v/0.1.5-rc.2) | `0.1.5-rc.2` | Required | — |
|
||||
| [`@deepseek-ai/dsh-credentials-local`](https://www.npmjs.com/package/@deepseek-ai/dsh-credentials-local/v/0.1.5-rc.2) | `0.1.5-rc.2` | Required | — |
|
||||
| [`@deepseek-ai/dsh-deepseek-llm-api-extensions`](https://www.npmjs.com/package/@deepseek-ai/dsh-deepseek-llm-api-extensions/v/0.1.5-rc.2) | `0.1.5-rc.2` | Required | — |
|
||||
| [`@deepseek-ai/dsh-deque`](https://www.npmjs.com/package/@deepseek-ai/dsh-deque/v/0.1.5-rc.2) | `0.1.5-rc.2` | Required | — |
|
||||
| [`@deepseek-ai/dsh-file-reference`](https://www.npmjs.com/package/@deepseek-ai/dsh-file-reference/v/0.1.5-rc.2) | `0.1.5-rc.2` | Required | — |
|
||||
| [`@deepseek-ai/dsh-file-reference-local`](https://www.npmjs.com/package/@deepseek-ai/dsh-file-reference-local/v/0.1.5-rc.2) | `0.1.5-rc.2` | Required | — |
|
||||
| [`@deepseek-ai/dsh-fs`](https://www.npmjs.com/package/@deepseek-ai/dsh-fs/v/0.1.5-rc.2) | `0.1.5-rc.2` | Required; Auto-installed peer | — |
|
||||
| [`@deepseek-ai/dsh-fs-observation-policy`](https://www.npmjs.com/package/@deepseek-ai/dsh-fs-observation-policy/v/0.1.5-rc.2) | `0.1.5-rc.2` | Required | — |
|
||||
| [`@deepseek-ai/dsh-fs-sandbox`](https://www.npmjs.com/package/@deepseek-ai/dsh-fs-sandbox/v/0.1.5-rc.2) | `0.1.5-rc.2` | Required | — |
|
||||
| [`@deepseek-ai/dsh-hook-protocol`](https://www.npmjs.com/package/@deepseek-ai/dsh-hook-protocol/v/0.1.5-rc.2) | `0.1.5-rc.2` | Required; Auto-installed peer | — |
|
||||
| [`@deepseek-ai/dsh-host-directory-picker`](https://www.npmjs.com/package/@deepseek-ai/dsh-host-directory-picker/v/0.1.5-rc.2) | `0.1.5-rc.2` | Required | — |
|
||||
| [`@deepseek-ai/dsh-host-directory-picker-auto`](https://www.npmjs.com/package/@deepseek-ai/dsh-host-directory-picker-auto/v/0.1.5-rc.2) | `0.1.5-rc.2` | Required | — |
|
||||
| [`@deepseek-ai/dsh-host-directory-picker-browse`](https://www.npmjs.com/package/@deepseek-ai/dsh-host-directory-picker-browse/v/0.1.5-rc.2) | `0.1.5-rc.2` | Required | — |
|
||||
| [`@deepseek-ai/dsh-host-directory-picker-native`](https://www.npmjs.com/package/@deepseek-ai/dsh-host-directory-picker-native/v/0.1.5-rc.2) | `0.1.5-rc.2` | Required | — |
|
||||
| [`@deepseek-ai/dsh-host-frontend-static`](https://www.npmjs.com/package/@deepseek-ai/dsh-host-frontend-static/v/0.1.5-rc.2) | `0.1.5-rc.2` | Required | — |
|
||||
| [`@deepseek-ai/dsh-host-open-in-app`](https://www.npmjs.com/package/@deepseek-ai/dsh-host-open-in-app/v/0.1.5-rc.2) | `0.1.5-rc.2` | Required | — |
|
||||
| [`@deepseek-ai/dsh-host-plugin-inventory`](https://www.npmjs.com/package/@deepseek-ai/dsh-host-plugin-inventory/v/0.1.5-rc.2) | `0.1.5-rc.2` | Required | — |
|
||||
| [`@deepseek-ai/dsh-host-webserver`](https://www.npmjs.com/package/@deepseek-ai/dsh-host-webserver/v/0.1.5-rc.2) | `0.1.5-rc.2` | Required | — |
|
||||
| [`@deepseek-ai/dsh-invariants`](https://www.npmjs.com/package/@deepseek-ai/dsh-invariants/v/0.1.5-rc.2) | `0.1.5-rc.2` | Required | — |
|
||||
| [`@deepseek-ai/dsh-jobs`](https://www.npmjs.com/package/@deepseek-ai/dsh-jobs/v/0.1.5-rc.2) | `0.1.5-rc.2` | Required; Auto-installed peer | — |
|
||||
| [`@deepseek-ai/dsh-llm`](https://www.npmjs.com/package/@deepseek-ai/dsh-llm/v/0.1.5-rc.2) | `0.1.5-rc.2` | Required | — |
|
||||
| [`@deepseek-ai/dsh-llm-deepseek`](https://www.npmjs.com/package/@deepseek-ai/dsh-llm-deepseek/v/0.1.5-rc.2) | `0.1.5-rc.2` | Required | — |
|
||||
| [`@deepseek-ai/dsh-llm-pi-ai`](https://www.npmjs.com/package/@deepseek-ai/dsh-llm-pi-ai/v/0.1.5-rc.2) | `0.1.5-rc.2` | Required | — |
|
||||
| [`@deepseek-ai/dsh-llm-retry`](https://www.npmjs.com/package/@deepseek-ai/dsh-llm-retry/v/0.1.5-rc.2) | `0.1.5-rc.2` | Required | — |
|
||||
| [`@deepseek-ai/dsh-message-feedback`](https://www.npmjs.com/package/@deepseek-ai/dsh-message-feedback/v/0.1.5-rc.2) | `0.1.5-rc.2` | Required | — |
|
||||
| [`@deepseek-ai/dsh-native-command`](https://www.npmjs.com/package/@deepseek-ai/dsh-native-command/v/0.1.5-rc.2) | `0.1.5-rc.2` | Required | — |
|
||||
| [`@deepseek-ai/dsh-output-retention`](https://www.npmjs.com/package/@deepseek-ai/dsh-output-retention/v/0.1.5-rc.2) | `0.1.5-rc.2` | Required; Auto-installed peer | — |
|
||||
| [`@deepseek-ai/dsh-package-manifest`](https://www.npmjs.com/package/@deepseek-ai/dsh-package-manifest/v/0.1.5-rc.2) | `0.1.5-rc.2` | Required | — |
|
||||
| [`@deepseek-ai/dsh-permission-presets`](https://www.npmjs.com/package/@deepseek-ai/dsh-permission-presets/v/0.1.5-rc.2) | `0.1.5-rc.2` | Required | — |
|
||||
| [`@deepseek-ai/dsh-plugin-package-inventory-deepseek`](https://www.npmjs.com/package/@deepseek-ai/dsh-plugin-package-inventory-deepseek/v/0.1.5-rc.2) | `0.1.5-rc.2` | Required | — |
|
||||
| [`@deepseek-ai/dsh-repeat-tool-reminder`](https://www.npmjs.com/package/@deepseek-ai/dsh-repeat-tool-reminder/v/0.1.5-rc.2) | `0.1.5-rc.2` | Required | — |
|
||||
| [`@deepseek-ai/dsh-sandbox`](https://www.npmjs.com/package/@deepseek-ai/dsh-sandbox/v/0.1.5-rc.2) | `0.1.5-rc.2` | Required; Auto-installed peer | — |
|
||||
| [`@deepseek-ai/dsh-sandbox-local`](https://www.npmjs.com/package/@deepseek-ai/dsh-sandbox-local/v/0.1.5-rc.2) | `0.1.5-rc.2` | Required | — |
|
||||
| [`@deepseek-ai/dsh-sandbox-policy`](https://www.npmjs.com/package/@deepseek-ai/dsh-sandbox-policy/v/0.1.5-rc.2) | `0.1.5-rc.2` | Required | — |
|
||||
| [`@deepseek-ai/dsh-sandbox-windows-acl`](https://www.npmjs.com/package/@deepseek-ai/dsh-sandbox-windows-acl/v/0.1.5-rc.2) | `0.1.5-rc.2` | Required | — |
|
||||
| [`@deepseek-ai/dsh-scope`](https://www.npmjs.com/package/@deepseek-ai/dsh-scope/v/0.1.5-rc.2) | `0.1.5-rc.2` | Required | — |
|
||||
| [`@deepseek-ai/dsh-sdk-jsonrpc-server`](https://www.npmjs.com/package/@deepseek-ai/dsh-sdk-jsonrpc-server/v/0.1.5-rc.2) | `0.1.5-rc.2` | Required | — |
|
||||
| [`@deepseek-ai/dsh-sdk-protocol`](https://www.npmjs.com/package/@deepseek-ai/dsh-sdk-protocol/v/0.1.5-rc.2) | `0.1.5-rc.2` | Required; Auto-installed peer | — |
|
||||
| [`@deepseek-ai/dsh-session`](https://www.npmjs.com/package/@deepseek-ai/dsh-session/v/0.1.5-rc.2) | `0.1.5-rc.2` | Required | — |
|
||||
| [`@deepseek-ai/dsh-session-checkpoint-policy`](https://www.npmjs.com/package/@deepseek-ai/dsh-session-checkpoint-policy/v/0.1.5-rc.2) | `0.1.5-rc.2` | Required | — |
|
||||
| [`@deepseek-ai/dsh-session-format`](https://www.npmjs.com/package/@deepseek-ai/dsh-session-format/v/0.1.5-rc.2) | `0.1.5-rc.2` | Required | — |
|
||||
| [`@deepseek-ai/dsh-session-format-catalog`](https://www.npmjs.com/package/@deepseek-ai/dsh-session-format-catalog/v/0.1.5-rc.2) | `0.1.5-rc.2` | Required | — |
|
||||
| [`@deepseek-ai/dsh-session-format-v0-to-v1`](https://www.npmjs.com/package/@deepseek-ai/dsh-session-format-v0-to-v1/v/0.1.5-rc.2) | `0.1.5-rc.2` | Required | — |
|
||||
| [`@deepseek-ai/dsh-session-format-v1-to-v2`](https://www.npmjs.com/package/@deepseek-ai/dsh-session-format-v1-to-v2/v/0.1.5-rc.2) | `0.1.5-rc.2` | Required | — |
|
||||
| [`@deepseek-ai/dsh-session-format-v2-to-v3`](https://www.npmjs.com/package/@deepseek-ai/dsh-session-format-v2-to-v3/v/0.1.5-rc.2) | `0.1.5-rc.2` | Required | — |
|
||||
| [`@deepseek-ai/dsh-session-log-deepseek`](https://www.npmjs.com/package/@deepseek-ai/dsh-session-log-deepseek/v/0.1.5-rc.2) | `0.1.5-rc.2` | Required | — |
|
||||
| [`@deepseek-ai/dsh-session-log-export`](https://www.npmjs.com/package/@deepseek-ai/dsh-session-log-export/v/0.1.5-rc.2) | `0.1.5-rc.2` | Required | — |
|
||||
| [`@deepseek-ai/dsh-session-persistence`](https://www.npmjs.com/package/@deepseek-ai/dsh-session-persistence/v/0.1.5-rc.2) | `0.1.5-rc.2` | Required; Auto-installed peer | — |
|
||||
| [`@deepseek-ai/dsh-session-persistence-jsonl`](https://www.npmjs.com/package/@deepseek-ai/dsh-session-persistence-jsonl/v/0.1.5-rc.2) | `0.1.5-rc.2` | Required | — |
|
||||
| [`@deepseek-ai/dsh-session-projection-cache`](https://www.npmjs.com/package/@deepseek-ai/dsh-session-projection-cache/v/0.1.5-rc.2) | `0.1.5-rc.2` | Required | — |
|
||||
| [`@deepseek-ai/dsh-session-query`](https://www.npmjs.com/package/@deepseek-ai/dsh-session-query/v/0.1.5-rc.2) | `0.1.5-rc.2` | Required; Auto-installed peer | — |
|
||||
| [`@deepseek-ai/dsh-session-query-sqlite`](https://www.npmjs.com/package/@deepseek-ai/dsh-session-query-sqlite/v/0.1.5-rc.2) | `0.1.5-rc.2` | Required | — |
|
||||
| [`@deepseek-ai/dsh-session-stats`](https://www.npmjs.com/package/@deepseek-ai/dsh-session-stats/v/0.1.5-rc.2) | `0.1.5-rc.2` | Required | — |
|
||||
| [`@deepseek-ai/dsh-session-telemetry`](https://www.npmjs.com/package/@deepseek-ai/dsh-session-telemetry/v/0.1.5-rc.2) | `0.1.5-rc.2` | Required; Auto-installed peer | — |
|
||||
| [`@deepseek-ai/dsh-session-telemetry-otel`](https://www.npmjs.com/package/@deepseek-ai/dsh-session-telemetry-otel/v/0.1.5-rc.2) | `0.1.5-rc.2` | Required | — |
|
||||
| [`@deepseek-ai/dsh-session-title`](https://www.npmjs.com/package/@deepseek-ai/dsh-session-title/v/0.1.5-rc.2) | `0.1.5-rc.2` | Required | — |
|
||||
| [`@deepseek-ai/dsh-session-title-first-prompt-llm`](https://www.npmjs.com/package/@deepseek-ai/dsh-session-title-first-prompt-llm/v/0.1.5-rc.2) | `0.1.5-rc.2` | Required | — |
|
||||
| [`@deepseek-ai/dsh-session-title-llm`](https://www.npmjs.com/package/@deepseek-ai/dsh-session-title-llm/v/0.1.5-rc.2) | `0.1.5-rc.2` | Required; Auto-installed peer | — |
|
||||
| [`@deepseek-ai/dsh-session-turn-outline`](https://www.npmjs.com/package/@deepseek-ai/dsh-session-turn-outline/v/0.1.5-rc.2) | `0.1.5-rc.2` | Required | — |
|
||||
| [`@deepseek-ai/dsh-settings`](https://www.npmjs.com/package/@deepseek-ai/dsh-settings/v/0.1.5-rc.2) | `0.1.5-rc.2` | Required; Auto-installed peer | — |
|
||||
| [`@deepseek-ai/dsh-settings-file`](https://www.npmjs.com/package/@deepseek-ai/dsh-settings-file/v/0.1.5-rc.2) | `0.1.5-rc.2` | Required | — |
|
||||
| [`@deepseek-ai/dsh-shell`](https://www.npmjs.com/package/@deepseek-ai/dsh-shell/v/0.1.5-rc.2) | `0.1.5-rc.2` | Required; Auto-installed peer | — |
|
||||
| [`@deepseek-ai/dsh-shell-env`](https://www.npmjs.com/package/@deepseek-ai/dsh-shell-env/v/0.1.5-rc.2) | `0.1.5-rc.2` | Required | — |
|
||||
| [`@deepseek-ai/dsh-skill-badge`](https://www.npmjs.com/package/@deepseek-ai/dsh-skill-badge/v/0.1.5-rc.2) | `0.1.5-rc.2` | Required | — |
|
||||
| [`@deepseek-ai/dsh-spill`](https://www.npmjs.com/package/@deepseek-ai/dsh-spill/v/0.1.5-rc.2) | `0.1.5-rc.2` | Required; Auto-installed peer | — |
|
||||
| [`@deepseek-ai/dsh-spill-local`](https://www.npmjs.com/package/@deepseek-ai/dsh-spill-local/v/0.1.5-rc.2) | `0.1.5-rc.2` | Required | — |
|
||||
| [`@deepseek-ai/dsh-spill-policy`](https://www.npmjs.com/package/@deepseek-ai/dsh-spill-policy/v/0.1.5-rc.2) | `0.1.5-rc.2` | Required | — |
|
||||
| [`@deepseek-ai/dsh-storage`](https://www.npmjs.com/package/@deepseek-ai/dsh-storage/v/0.1.5-rc.2) | `0.1.5-rc.2` | Required | — |
|
||||
| [`@deepseek-ai/dsh-storage-domain`](https://www.npmjs.com/package/@deepseek-ai/dsh-storage-domain/v/0.1.5-rc.2) | `0.1.5-rc.2` | Required | — |
|
||||
| [`@deepseek-ai/dsh-storage-json`](https://www.npmjs.com/package/@deepseek-ai/dsh-storage-json/v/0.1.5-rc.2) | `0.1.5-rc.2` | Required | — |
|
||||
| [`@deepseek-ai/dsh-subagent`](https://www.npmjs.com/package/@deepseek-ai/dsh-subagent/v/0.1.5-rc.2) | `0.1.5-rc.2` | Required | — |
|
||||
| [`@deepseek-ai/dsh-subagent-fork-in-process`](https://www.npmjs.com/package/@deepseek-ai/dsh-subagent-fork-in-process/v/0.1.5-rc.2) | `0.1.5-rc.2` | Required | — |
|
||||
| [`@deepseek-ai/dsh-subagent-in-process-driver`](https://www.npmjs.com/package/@deepseek-ai/dsh-subagent-in-process-driver/v/0.1.5-rc.2) | `0.1.5-rc.2` | Required; Auto-installed peer | — |
|
||||
| [`@deepseek-ai/dsh-subagent-spawn-in-process`](https://www.npmjs.com/package/@deepseek-ai/dsh-subagent-spawn-in-process/v/0.1.5-rc.2) | `0.1.5-rc.2` | Required | — |
|
||||
| [`@deepseek-ai/dsh-subprocess`](https://www.npmjs.com/package/@deepseek-ai/dsh-subprocess/v/0.1.5-rc.2) | `0.1.5-rc.2` | Required | — |
|
||||
| [`@deepseek-ai/dsh-subprocess-local`](https://www.npmjs.com/package/@deepseek-ai/dsh-subprocess-local/v/0.1.5-rc.2) | `0.1.5-rc.2` | Required | — |
|
||||
| [`@deepseek-ai/dsh-system-prompt`](https://www.npmjs.com/package/@deepseek-ai/dsh-system-prompt/v/0.1.5-rc.2) | `0.1.5-rc.2` | Required | — |
|
||||
| [`@deepseek-ai/dsh-timeout`](https://www.npmjs.com/package/@deepseek-ai/dsh-timeout/v/0.1.5-rc.2) | `0.1.5-rc.2` | Required | — |
|
||||
| [`@deepseek-ai/dsh-tool-call-timeout-policy`](https://www.npmjs.com/package/@deepseek-ai/dsh-tool-call-timeout-policy/v/0.1.5-rc.2) | `0.1.5-rc.2` | Required | — |
|
||||
| [`@deepseek-ai/dsh-tools`](https://www.npmjs.com/package/@deepseek-ai/dsh-tools/v/0.1.5-rc.2) | `0.1.5-rc.2` | Required | — |
|
||||
| [`@deepseek-ai/dsh-typert-loader`](https://www.npmjs.com/package/@deepseek-ai/dsh-typert-loader/v/0.1.5-rc.2) | `0.1.5-rc.2` | Required | — |
|
||||
| [`@deepseek-ai/dsh-typert-protocol`](https://www.npmjs.com/package/@deepseek-ai/dsh-typert-protocol/v/0.1.5-rc.2) | `0.1.5-rc.2` | Required | — |
|
||||
| [`@deepseek-ai/dsh-typert-registry`](https://www.npmjs.com/package/@deepseek-ai/dsh-typert-registry/v/0.1.5-rc.2) | `0.1.5-rc.2` | Required | — |
|
||||
| [`@deepseek-ai/dsh-user-approval`](https://www.npmjs.com/package/@deepseek-ai/dsh-user-approval/v/0.1.5-rc.2) | `0.1.5-rc.2` | Required | — |
|
||||
| [`@deepseek-ai/dsh-user-questions`](https://www.npmjs.com/package/@deepseek-ai/dsh-user-questions/v/0.1.5-rc.2) | `0.1.5-rc.2` | Required | — |
|
||||
| [`@deepseek-ai/dsh-util-crypto`](https://www.npmjs.com/package/@deepseek-ai/dsh-util-crypto/v/0.1.5-rc.2) | `0.1.5-rc.2` | Required | — |
|
||||
| [`@deepseek-ai/dsh-util-time`](https://www.npmjs.com/package/@deepseek-ai/dsh-util-time/v/0.1.5-rc.2) | `0.1.5-rc.2` | Required; Auto-installed peer | — |
|
||||
| [`@deepseek-ai/dsh-util-values`](https://www.npmjs.com/package/@deepseek-ai/dsh-util-values/v/0.1.5-rc.2) | `0.1.5-rc.2` | Required | — |
|
||||
| [`@deepseek-ai/dsh-util-workspace-path`](https://www.npmjs.com/package/@deepseek-ai/dsh-util-workspace-path/v/0.1.5-rc.2) | `0.1.5-rc.2` | Required; Auto-installed peer | — |
|
||||
| [`@deepseek-ai/dsh-web`](https://www.npmjs.com/package/@deepseek-ai/dsh-web/v/0.1.5-rc.2) | `0.1.5-rc.2` | Required | — |
|
||||
| [`@deepseek-ai/dsh-web-fetch-http`](https://www.npmjs.com/package/@deepseek-ai/dsh-web-fetch-http/v/0.1.5-rc.2) | `0.1.5-rc.2` | Required | — |
|
||||
| [`@deepseek-ai/dsh-web-frontend`](https://www.npmjs.com/package/@deepseek-ai/dsh-web-frontend/v/0.1.5-rc.2) | `0.1.5-rc.2` | Required | — |
|
||||
| [`@deepseek-ai/dsh-web-search-deepseek`](https://www.npmjs.com/package/@deepseek-ai/dsh-web-search-deepseek/v/0.1.5-rc.2) | `0.1.5-rc.2` | Required | — |
|
||||
| [`@deepseek-ai/dsh-win32-process`](https://www.npmjs.com/package/@deepseek-ai/dsh-win32-process/v/0.1.5-rc.2) | `0.1.5-rc.2` | Required | — |
|
||||
| [`@deepseek-ai/dsh-workflow`](https://www.npmjs.com/package/@deepseek-ai/dsh-workflow/v/0.1.5-rc.2) | `0.1.5-rc.2` | Required; Auto-installed peer | — |
|
||||
| [`@deepseek-ai/dsh-workspace`](https://www.npmjs.com/package/@deepseek-ai/dsh-workspace/v/0.1.5-rc.2) | `0.1.5-rc.2` | Required | — |
|
||||
| [`@deepseek-ai/node-addon-system`](https://www.npmjs.com/package/@deepseek-ai/node-addon-system/v/0.1.2) | `0.1.2` | Required | — |
|
||||
| [`@deepseek-ai/node-addon-system-darwin-arm64`](https://www.npmjs.com/package/@deepseek-ai/node-addon-system-darwin-arm64/v/0.1.2) | `0.1.2` | Optional | os: darwin; cpu: arm64 |
|
||||
| [`@deepseek-ai/node-addon-system-darwin-x64`](https://www.npmjs.com/package/@deepseek-ai/node-addon-system-darwin-x64/v/0.1.2) | `0.1.2` | Optional | os: darwin; cpu: x64 |
|
||||
| [`@deepseek-ai/node-addon-system-linux-arm64`](https://www.npmjs.com/package/@deepseek-ai/node-addon-system-linux-arm64/v/0.1.2) | `0.1.2` | Optional | os: linux; cpu: arm64 |
|
||||
| [`@deepseek-ai/node-addon-system-linux-x64`](https://www.npmjs.com/package/@deepseek-ai/node-addon-system-linux-x64/v/0.1.2) | `0.1.2` | Optional | os: linux; cpu: x64 |
|
||||
| [`@earendil-works/pi-ai`](https://www.npmjs.com/package/@earendil-works/pi-ai/v/0.85.1) | `0.85.1` | Required | — |
|
||||
| [`@earendil-works/pi-telemetry`](https://www.npmjs.com/package/@earendil-works/pi-telemetry/v/0.85.1) | `0.85.1` | Required | — |
|
||||
| [`@emnapi/runtime`](https://www.npmjs.com/package/@emnapi/runtime/v/1.11.3) | `1.11.3` | Optional | — |
|
||||
| [`@google/genai`](https://www.npmjs.com/package/@google/genai/v/1.52.0) | `1.52.0` | Required | — |
|
||||
| [`@hono/node-server`](https://www.npmjs.com/package/@hono/node-server/v/2.1.1) | `2.1.1` | Required | — |
|
||||
| [`@img/colour`](https://www.npmjs.com/package/@img/colour/v/1.1.0) | `1.1.0` | Required | — |
|
||||
| [`@img/sharp-darwin-arm64`](https://www.npmjs.com/package/@img/sharp-darwin-arm64/v/0.35.4) | `0.35.4` | Optional | os: darwin; cpu: arm64 |
|
||||
| [`@img/sharp-darwin-x64`](https://www.npmjs.com/package/@img/sharp-darwin-x64/v/0.35.4) | `0.35.4` | Optional | os: darwin; cpu: x64 |
|
||||
| [`@img/sharp-freebsd-wasm32`](https://www.npmjs.com/package/@img/sharp-freebsd-wasm32/v/0.35.4) | `0.35.4` | Optional | os: freebsd |
|
||||
| [`@img/sharp-libvips-darwin-arm64`](https://www.npmjs.com/package/@img/sharp-libvips-darwin-arm64/v/1.3.3) | `1.3.3` | Optional | os: darwin; cpu: arm64 |
|
||||
| [`@img/sharp-libvips-darwin-x64`](https://www.npmjs.com/package/@img/sharp-libvips-darwin-x64/v/1.3.3) | `1.3.3` | Optional | os: darwin; cpu: x64 |
|
||||
| [`@img/sharp-libvips-linux-arm`](https://www.npmjs.com/package/@img/sharp-libvips-linux-arm/v/1.3.3) | `1.3.3` | Optional | os: linux; cpu: arm; libc: glibc |
|
||||
| [`@img/sharp-libvips-linux-arm64`](https://www.npmjs.com/package/@img/sharp-libvips-linux-arm64/v/1.3.3) | `1.3.3` | Optional | os: linux; cpu: arm64; libc: glibc |
|
||||
| [`@img/sharp-libvips-linux-ppc64`](https://www.npmjs.com/package/@img/sharp-libvips-linux-ppc64/v/1.3.3) | `1.3.3` | Optional | os: linux; cpu: ppc64; libc: glibc |
|
||||
| [`@img/sharp-libvips-linux-riscv64`](https://www.npmjs.com/package/@img/sharp-libvips-linux-riscv64/v/1.3.3) | `1.3.3` | Optional | os: linux; cpu: riscv64; libc: glibc |
|
||||
| [`@img/sharp-libvips-linux-s390x`](https://www.npmjs.com/package/@img/sharp-libvips-linux-s390x/v/1.3.3) | `1.3.3` | Optional | os: linux; cpu: s390x; libc: glibc |
|
||||
| [`@img/sharp-libvips-linux-x64`](https://www.npmjs.com/package/@img/sharp-libvips-linux-x64/v/1.3.3) | `1.3.3` | Optional | os: linux; cpu: x64; libc: glibc |
|
||||
| [`@img/sharp-libvips-linuxmusl-arm64`](https://www.npmjs.com/package/@img/sharp-libvips-linuxmusl-arm64/v/1.3.3) | `1.3.3` | Optional | os: linux; cpu: arm64; libc: musl |
|
||||
| [`@img/sharp-libvips-linuxmusl-x64`](https://www.npmjs.com/package/@img/sharp-libvips-linuxmusl-x64/v/1.3.3) | `1.3.3` | Optional | os: linux; cpu: x64; libc: musl |
|
||||
| [`@img/sharp-linux-arm`](https://www.npmjs.com/package/@img/sharp-linux-arm/v/0.35.4) | `0.35.4` | Optional | os: linux; cpu: arm; libc: glibc |
|
||||
| [`@img/sharp-linux-arm64`](https://www.npmjs.com/package/@img/sharp-linux-arm64/v/0.35.4) | `0.35.4` | Optional | os: linux; cpu: arm64; libc: glibc |
|
||||
| [`@img/sharp-linux-ppc64`](https://www.npmjs.com/package/@img/sharp-linux-ppc64/v/0.35.4) | `0.35.4` | Optional | os: linux; cpu: ppc64; libc: glibc |
|
||||
| [`@img/sharp-linux-riscv64`](https://www.npmjs.com/package/@img/sharp-linux-riscv64/v/0.35.4) | `0.35.4` | Optional | os: linux; cpu: riscv64; libc: glibc |
|
||||
| [`@img/sharp-linux-s390x`](https://www.npmjs.com/package/@img/sharp-linux-s390x/v/0.35.4) | `0.35.4` | Optional | os: linux; cpu: s390x; libc: glibc |
|
||||
| [`@img/sharp-linux-x64`](https://www.npmjs.com/package/@img/sharp-linux-x64/v/0.35.4) | `0.35.4` | Optional | os: linux; cpu: x64; libc: glibc |
|
||||
| [`@img/sharp-linuxmusl-arm64`](https://www.npmjs.com/package/@img/sharp-linuxmusl-arm64/v/0.35.4) | `0.35.4` | Optional | os: linux; cpu: arm64; libc: musl |
|
||||
| [`@img/sharp-linuxmusl-x64`](https://www.npmjs.com/package/@img/sharp-linuxmusl-x64/v/0.35.4) | `0.35.4` | Optional | os: linux; cpu: x64; libc: musl |
|
||||
| [`@img/sharp-wasm32`](https://www.npmjs.com/package/@img/sharp-wasm32/v/0.35.4) | `0.35.4` | Optional | — |
|
||||
| [`@img/sharp-webcontainers-wasm32`](https://www.npmjs.com/package/@img/sharp-webcontainers-wasm32/v/0.35.4) | `0.35.4` | Optional | cpu: wasm32 |
|
||||
| [`@img/sharp-win32-arm64`](https://www.npmjs.com/package/@img/sharp-win32-arm64/v/0.35.4) | `0.35.4` | Optional | os: win32; cpu: arm64 |
|
||||
| [`@img/sharp-win32-ia32`](https://www.npmjs.com/package/@img/sharp-win32-ia32/v/0.35.4) | `0.35.4` | Optional | os: win32; cpu: ia32 |
|
||||
| [`@img/sharp-win32-x64`](https://www.npmjs.com/package/@img/sharp-win32-x64/v/0.35.4) | `0.35.4` | Optional | os: win32; cpu: x64 |
|
||||
| [`@joplin/turndown-plugin-gfm`](https://www.npmjs.com/package/@joplin/turndown-plugin-gfm/v/1.0.68) | `1.0.68` | Required | — |
|
||||
| [`@koromix/koffi-android-arm64`](https://www.npmjs.com/package/@koromix/koffi-android-arm64/v/3.2.1) | `3.2.1` | Optional | os: android; cpu: arm64 |
|
||||
| [`@koromix/koffi-android-x64`](https://www.npmjs.com/package/@koromix/koffi-android-x64/v/3.2.1) | `3.2.1` | Optional | os: android; cpu: x64 |
|
||||
| [`@koromix/koffi-darwin-arm64`](https://www.npmjs.com/package/@koromix/koffi-darwin-arm64/v/3.2.1) | `3.2.1` | Optional | os: darwin; cpu: arm64 |
|
||||
| [`@koromix/koffi-darwin-x64`](https://www.npmjs.com/package/@koromix/koffi-darwin-x64/v/3.2.1) | `3.2.1` | Optional | os: darwin; cpu: x64 |
|
||||
| [`@koromix/koffi-freebsd-arm64`](https://www.npmjs.com/package/@koromix/koffi-freebsd-arm64/v/3.2.1) | `3.2.1` | Optional | os: freebsd; cpu: arm64 |
|
||||
| [`@koromix/koffi-freebsd-ia32`](https://www.npmjs.com/package/@koromix/koffi-freebsd-ia32/v/3.2.1) | `3.2.1` | Optional | os: freebsd; cpu: ia32 |
|
||||
| [`@koromix/koffi-freebsd-x64`](https://www.npmjs.com/package/@koromix/koffi-freebsd-x64/v/3.2.1) | `3.2.1` | Optional | os: freebsd; cpu: x64 |
|
||||
| [`@koromix/koffi-linux-arm`](https://www.npmjs.com/package/@koromix/koffi-linux-arm/v/3.2.1) | `3.2.1` | Optional | os: linux; cpu: arm |
|
||||
| [`@koromix/koffi-linux-arm64`](https://www.npmjs.com/package/@koromix/koffi-linux-arm64/v/3.2.1) | `3.2.1` | Optional | os: linux; cpu: arm64 |
|
||||
| [`@koromix/koffi-linux-ia32`](https://www.npmjs.com/package/@koromix/koffi-linux-ia32/v/3.2.1) | `3.2.1` | Optional | os: linux; cpu: ia32 |
|
||||
| [`@koromix/koffi-linux-loong64`](https://www.npmjs.com/package/@koromix/koffi-linux-loong64/v/3.2.1) | `3.2.1` | Optional | os: linux; cpu: loong64 |
|
||||
| [`@koromix/koffi-linux-riscv64`](https://www.npmjs.com/package/@koromix/koffi-linux-riscv64/v/3.2.1) | `3.2.1` | Optional | os: linux; cpu: riscv64 |
|
||||
| [`@koromix/koffi-linux-x64`](https://www.npmjs.com/package/@koromix/koffi-linux-x64/v/3.2.1) | `3.2.1` | Optional | os: linux; cpu: x64 |
|
||||
| [`@koromix/koffi-openbsd-ia32`](https://www.npmjs.com/package/@koromix/koffi-openbsd-ia32/v/3.2.1) | `3.2.1` | Optional | os: openbsd; cpu: ia32 |
|
||||
| [`@koromix/koffi-openbsd-x64`](https://www.npmjs.com/package/@koromix/koffi-openbsd-x64/v/3.2.1) | `3.2.1` | Optional | os: openbsd; cpu: x64 |
|
||||
| [`@koromix/koffi-win32-arm64`](https://www.npmjs.com/package/@koromix/koffi-win32-arm64/v/3.2.1) | `3.2.1` | Optional | os: win32; cpu: arm64 |
|
||||
| [`@koromix/koffi-win32-ia32`](https://www.npmjs.com/package/@koromix/koffi-win32-ia32/v/3.2.1) | `3.2.1` | Optional | os: win32; cpu: ia32 |
|
||||
| [`@koromix/koffi-win32-x64`](https://www.npmjs.com/package/@koromix/koffi-win32-x64/v/3.2.1) | `3.2.1` | Optional | os: win32; cpu: x64 |
|
||||
| [`@mixmark-io/domino`](https://www.npmjs.com/package/@mixmark-io/domino/v/2.2.0) | `2.2.0` | Required | — |
|
||||
| [`@modelcontextprotocol/sdk`](https://www.npmjs.com/package/@modelcontextprotocol/sdk/v/1.30.0) | `1.30.0` | Required | — |
|
||||
| [`@octokit/openapi-types`](https://www.npmjs.com/package/@octokit/openapi-types/v/29.0.1) | `29.0.1` | Required | — |
|
||||
| [`@octokit/openapi-webhooks-types`](https://www.npmjs.com/package/@octokit/openapi-webhooks-types/v/12.1.0) | `12.1.0` | Required | — |
|
||||
| [`@octokit/request-error`](https://www.npmjs.com/package/@octokit/request-error/v/7.1.2) | `7.1.2` | Required | — |
|
||||
| [`@octokit/types`](https://www.npmjs.com/package/@octokit/types/v/18.0.0) | `18.0.0` | Required | — |
|
||||
| [`@octokit/webhooks`](https://www.npmjs.com/package/@octokit/webhooks/v/14.2.0) | `14.2.0` | Required | — |
|
||||
| [`@octokit/webhooks-methods`](https://www.npmjs.com/package/@octokit/webhooks-methods/v/6.0.0) | `6.0.0` | Required | — |
|
||||
| [`@opentelemetry/api`](https://www.npmjs.com/package/@opentelemetry/api/v/1.9.1) | `1.9.1` | Required | — |
|
||||
| [`@opentelemetry/api-logs`](https://www.npmjs.com/package/@opentelemetry/api-logs/v/0.220.0) | `0.220.0` | Required | — |
|
||||
| [`@opentelemetry/core`](https://www.npmjs.com/package/@opentelemetry/core/v/2.11.0) | `2.11.0` | Required | — |
|
||||
| [`@opentelemetry/core`](https://www.npmjs.com/package/@opentelemetry/core/v/2.9.0) | `2.9.0` | Required | — |
|
||||
| [`@opentelemetry/exporter-logs-otlp-http`](https://www.npmjs.com/package/@opentelemetry/exporter-logs-otlp-http/v/0.220.0) | `0.220.0` | Required | — |
|
||||
| [`@opentelemetry/otlp-exporter-base`](https://www.npmjs.com/package/@opentelemetry/otlp-exporter-base/v/0.220.0) | `0.220.0` | Required | — |
|
||||
| [`@opentelemetry/otlp-transformer`](https://www.npmjs.com/package/@opentelemetry/otlp-transformer/v/0.220.0) | `0.220.0` | Required | — |
|
||||
| [`@opentelemetry/resources`](https://www.npmjs.com/package/@opentelemetry/resources/v/2.11.0) | `2.11.0` | Required | — |
|
||||
| [`@opentelemetry/resources`](https://www.npmjs.com/package/@opentelemetry/resources/v/2.9.0) | `2.9.0` | Required | — |
|
||||
| [`@opentelemetry/resources`](https://www.npmjs.com/package/@opentelemetry/resources/v/2.9.0) | `2.9.0` | Required | — |
|
||||
| [`@opentelemetry/resources`](https://www.npmjs.com/package/@opentelemetry/resources/v/2.9.0) | `2.9.0` | Required | — |
|
||||
| [`@opentelemetry/resources`](https://www.npmjs.com/package/@opentelemetry/resources/v/2.9.0) | `2.9.0` | Required | — |
|
||||
| [`@opentelemetry/sdk-logs`](https://www.npmjs.com/package/@opentelemetry/sdk-logs/v/0.220.0) | `0.220.0` | Required | — |
|
||||
| [`@opentelemetry/sdk-metrics`](https://www.npmjs.com/package/@opentelemetry/sdk-metrics/v/2.9.0) | `2.9.0` | Required | — |
|
||||
| [`@opentelemetry/sdk-trace`](https://www.npmjs.com/package/@opentelemetry/sdk-trace/v/2.9.0) | `2.9.0` | Required | — |
|
||||
| [`@opentelemetry/semantic-conventions`](https://www.npmjs.com/package/@opentelemetry/semantic-conventions/v/1.43.0) | `1.43.0` | Required | — |
|
||||
| [`@protobufjs/aspromise`](https://www.npmjs.com/package/@protobufjs/aspromise/v/1.1.2) | `1.1.2` | Required | — |
|
||||
| [`@protobufjs/base64`](https://www.npmjs.com/package/@protobufjs/base64/v/1.1.2) | `1.1.2` | Required | — |
|
||||
| [`@protobufjs/codegen`](https://www.npmjs.com/package/@protobufjs/codegen/v/2.0.5) | `2.0.5` | Required | — |
|
||||
| [`@protobufjs/eventemitter`](https://www.npmjs.com/package/@protobufjs/eventemitter/v/1.1.1) | `1.1.1` | Required | — |
|
||||
| [`@protobufjs/fetch`](https://www.npmjs.com/package/@protobufjs/fetch/v/1.1.1) | `1.1.1` | Required | — |
|
||||
| [`@protobufjs/float`](https://www.npmjs.com/package/@protobufjs/float/v/1.0.2) | `1.0.2` | Required | — |
|
||||
| [`@protobufjs/path`](https://www.npmjs.com/package/@protobufjs/path/v/1.1.2) | `1.1.2` | Required | — |
|
||||
| [`@protobufjs/pool`](https://www.npmjs.com/package/@protobufjs/pool/v/1.1.0) | `1.1.0` | Required | — |
|
||||
| [`@protobufjs/utf8`](https://www.npmjs.com/package/@protobufjs/utf8/v/1.1.2) | `1.1.2` | Required | — |
|
||||
| [`@smithy/core`](https://www.npmjs.com/package/@smithy/core/v/3.34.1) | `3.34.1` | Required | — |
|
||||
| [`@smithy/credential-provider-imds`](https://www.npmjs.com/package/@smithy/credential-provider-imds/v/4.5.2) | `4.5.2` | Required | — |
|
||||
| [`@smithy/fetch-http-handler`](https://www.npmjs.com/package/@smithy/fetch-http-handler/v/5.8.0) | `5.8.0` | Required | — |
|
||||
| [`@smithy/is-array-buffer`](https://www.npmjs.com/package/@smithy/is-array-buffer/v/2.2.0) | `2.2.0` | Required | — |
|
||||
| [`@smithy/node-http-handler`](https://www.npmjs.com/package/@smithy/node-http-handler/v/4.12.1) | `4.12.1` | Required | — |
|
||||
| [`@smithy/node-http-handler`](https://www.npmjs.com/package/@smithy/node-http-handler/v/4.12.1) | `4.12.1` | Required | — |
|
||||
| [`@smithy/node-http-handler`](https://www.npmjs.com/package/@smithy/node-http-handler/v/4.7.3) | `4.7.3` | Required | — |
|
||||
| [`@smithy/signature-v4`](https://www.npmjs.com/package/@smithy/signature-v4/v/5.7.3) | `5.7.3` | Required | — |
|
||||
| [`@smithy/types`](https://www.npmjs.com/package/@smithy/types/v/4.18.0) | `4.18.0` | Required | — |
|
||||
| [`@smithy/util-buffer-from`](https://www.npmjs.com/package/@smithy/util-buffer-from/v/2.2.0) | `2.2.0` | Required | — |
|
||||
| [`@smithy/util-utf8`](https://www.npmjs.com/package/@smithy/util-utf8/v/2.3.0) | `2.3.0` | Required | — |
|
||||
| [`@stablelib/base64`](https://www.npmjs.com/package/@stablelib/base64/v/1.0.1) | `1.0.1` | Required | — |
|
||||
| [`@standard-schema/spec`](https://www.npmjs.com/package/@standard-schema/spec/v/1.1.0) | `1.1.0` | Required | — |
|
||||
| [`@types/node`](https://www.npmjs.com/package/@types/node/v/22.20.2) | `22.20.2` | Required | — |
|
||||
| [`@types/retry`](https://www.npmjs.com/package/@types/retry/v/0.12.0) | `0.12.0` | Required | — |
|
||||
| [`@vscode/ripgrep`](https://www.npmjs.com/package/@vscode/ripgrep/v/1.18.0) | `1.18.0` | Required | — |
|
||||
| [`@vscode/ripgrep-darwin-arm64`](https://www.npmjs.com/package/@vscode/ripgrep-darwin-arm64/v/1.18.0) | `1.18.0` | Optional | os: darwin; cpu: arm64 |
|
||||
| [`@vscode/ripgrep-darwin-x64`](https://www.npmjs.com/package/@vscode/ripgrep-darwin-x64/v/1.18.0) | `1.18.0` | Optional | os: darwin; cpu: x64 |
|
||||
| [`@vscode/ripgrep-linux-arm`](https://www.npmjs.com/package/@vscode/ripgrep-linux-arm/v/1.18.0) | `1.18.0` | Optional | os: linux; cpu: arm |
|
||||
| [`@vscode/ripgrep-linux-arm64`](https://www.npmjs.com/package/@vscode/ripgrep-linux-arm64/v/1.18.0) | `1.18.0` | Optional | os: linux; cpu: arm64 |
|
||||
| [`@vscode/ripgrep-linux-ia32`](https://www.npmjs.com/package/@vscode/ripgrep-linux-ia32/v/1.18.0) | `1.18.0` | Optional | os: linux; cpu: ia32 |
|
||||
| [`@vscode/ripgrep-linux-ppc64`](https://www.npmjs.com/package/@vscode/ripgrep-linux-ppc64/v/1.18.0) | `1.18.0` | Optional | os: linux; cpu: ppc64 |
|
||||
| [`@vscode/ripgrep-linux-riscv64`](https://www.npmjs.com/package/@vscode/ripgrep-linux-riscv64/v/1.18.0) | `1.18.0` | Optional | os: linux; cpu: riscv64 |
|
||||
| [`@vscode/ripgrep-linux-s390x`](https://www.npmjs.com/package/@vscode/ripgrep-linux-s390x/v/1.18.0) | `1.18.0` | Optional | os: linux; cpu: s390x |
|
||||
| [`@vscode/ripgrep-linux-x64`](https://www.npmjs.com/package/@vscode/ripgrep-linux-x64/v/1.18.0) | `1.18.0` | Optional | os: linux; cpu: x64 |
|
||||
| [`@vscode/ripgrep-win32-arm64`](https://www.npmjs.com/package/@vscode/ripgrep-win32-arm64/v/1.18.0) | `1.18.0` | Optional | os: win32; cpu: arm64 |
|
||||
| [`@vscode/ripgrep-win32-ia32`](https://www.npmjs.com/package/@vscode/ripgrep-win32-ia32/v/1.18.0) | `1.18.0` | Optional | os: win32; cpu: ia32 |
|
||||
| [`@vscode/ripgrep-win32-x64`](https://www.npmjs.com/package/@vscode/ripgrep-win32-x64/v/1.18.0) | `1.18.0` | Optional | os: win32; cpu: x64 |
|
||||
| [`@xterm/headless`](https://www.npmjs.com/package/@xterm/headless/v/6.0.0) | `6.0.0` | Required | — |
|
||||
| [`accepts`](https://www.npmjs.com/package/accepts/v/2.0.0) | `2.0.0` | Required | — |
|
||||
| [`agent-base`](https://www.npmjs.com/package/agent-base/v/7.1.4) | `7.1.4` | Required | — |
|
||||
| [`ajv`](https://www.npmjs.com/package/ajv/v/8.20.0) | `8.20.0` | Required | — |
|
||||
| [`ajv-formats`](https://www.npmjs.com/package/ajv-formats/v/3.0.1) | `3.0.1` | Required | — |
|
||||
| [`argparse`](https://www.npmjs.com/package/argparse/v/2.0.1) | `2.0.1` | Required | — |
|
||||
| [`base64-js`](https://www.npmjs.com/package/base64-js/v/1.5.1) | `1.5.1` | Required | — |
|
||||
| [`bignumber.js`](https://www.npmjs.com/package/bignumber.js/v/9.3.1) | `9.3.1` | Required | — |
|
||||
| [`body-parser`](https://www.npmjs.com/package/body-parser/v/2.3.0) | `2.3.0` | Required | — |
|
||||
| [`bowser`](https://www.npmjs.com/package/bowser/v/2.14.1) | `2.14.1` | Required | — |
|
||||
| [`buffer-equal-constant-time`](https://www.npmjs.com/package/buffer-equal-constant-time/v/1.0.1) | `1.0.1` | Required | — |
|
||||
| [`bundle-name`](https://www.npmjs.com/package/bundle-name/v/4.1.0) | `4.1.0` | Required | — |
|
||||
| [`bytes`](https://www.npmjs.com/package/bytes/v/3.1.2) | `3.1.2` | Required | — |
|
||||
| [`call-bind-apply-helpers`](https://www.npmjs.com/package/call-bind-apply-helpers/v/1.0.2) | `1.0.2` | Required | — |
|
||||
| [`call-bound`](https://www.npmjs.com/package/call-bound/v/1.0.4) | `1.0.4` | Required | — |
|
||||
| [`chokidar`](https://www.npmjs.com/package/chokidar/v/4.0.3) | `4.0.3` | Required | — |
|
||||
| [`chokidar`](https://www.npmjs.com/package/chokidar/v/5.0.0) | `5.0.0` | Required | — |
|
||||
| [`compressible`](https://www.npmjs.com/package/compressible/v/2.0.18) | `2.0.18` | Required | — |
|
||||
| [`compression`](https://www.npmjs.com/package/compression/v/1.8.2) | `1.8.2` | Required | — |
|
||||
| [`content-disposition`](https://www.npmjs.com/package/content-disposition/v/1.1.0) | `1.1.0` | Required | — |
|
||||
| [`content-type`](https://www.npmjs.com/package/content-type/v/1.0.5) | `1.0.5` | Required | — |
|
||||
| [`content-type`](https://www.npmjs.com/package/content-type/v/2.1.0) | `2.1.0` | Required | — |
|
||||
| [`content-type`](https://www.npmjs.com/package/content-type/v/2.1.0) | `2.1.0` | Required | — |
|
||||
| [`content-type`](https://www.npmjs.com/package/content-type/v/2.1.0) | `2.1.0` | Required | — |
|
||||
| [`cookie`](https://www.npmjs.com/package/cookie/v/0.7.2) | `0.7.2` | Required | — |
|
||||
| [`cookie-signature`](https://www.npmjs.com/package/cookie-signature/v/1.2.2) | `1.2.2` | Required | — |
|
||||
| [`cors`](https://www.npmjs.com/package/cors/v/2.8.6) | `2.8.6` | Required | — |
|
||||
| [`cross-spawn`](https://www.npmjs.com/package/cross-spawn/v/7.0.6) | `7.0.6` | Required | — |
|
||||
| [`data-uri-to-buffer`](https://www.npmjs.com/package/data-uri-to-buffer/v/4.0.1) | `4.0.1` | Required | — |
|
||||
| [`debug`](https://www.npmjs.com/package/debug/v/2.6.9) | `2.6.9` | Required | — |
|
||||
| [`debug`](https://www.npmjs.com/package/debug/v/4.4.3) | `4.4.3` | Required | — |
|
||||
| [`debug`](https://www.npmjs.com/package/debug/v/4.4.3) | `4.4.3` | Required | — |
|
||||
| [`debug`](https://www.npmjs.com/package/debug/v/4.4.3) | `4.4.3` | Required | — |
|
||||
| [`debug`](https://www.npmjs.com/package/debug/v/4.4.3) | `4.4.3` | Required | — |
|
||||
| [`debug`](https://www.npmjs.com/package/debug/v/4.4.3) | `4.4.3` | Required | — |
|
||||
| [`debug`](https://www.npmjs.com/package/debug/v/4.4.3) | `4.4.3` | Required | — |
|
||||
| [`debug`](https://www.npmjs.com/package/debug/v/4.4.3) | `4.4.3` | Required | — |
|
||||
| [`debug`](https://www.npmjs.com/package/debug/v/4.4.3) | `4.4.3` | Required | — |
|
||||
| [`default-browser`](https://www.npmjs.com/package/default-browser/v/5.5.1) | `5.5.1` | Required | — |
|
||||
| [`default-browser-id`](https://www.npmjs.com/package/default-browser-id/v/5.0.1) | `5.0.1` | Required | — |
|
||||
| [`define-lazy-prop`](https://www.npmjs.com/package/define-lazy-prop/v/3.0.0) | `3.0.0` | Required | — |
|
||||
| [`depd`](https://www.npmjs.com/package/depd/v/2.0.0) | `2.0.0` | Required | — |
|
||||
| [`destroy`](https://www.npmjs.com/package/destroy/v/1.2.0) | `1.2.0` | Required | — |
|
||||
| [`detect-libc`](https://www.npmjs.com/package/detect-libc/v/2.1.2) | `2.1.2` | Required | — |
|
||||
| [`diff`](https://www.npmjs.com/package/diff/v/9.0.0) | `9.0.0` | Required | — |
|
||||
| [`dunder-proto`](https://www.npmjs.com/package/dunder-proto/v/1.0.1) | `1.0.1` | Required | — |
|
||||
| [`ecdsa-sig-formatter`](https://www.npmjs.com/package/ecdsa-sig-formatter/v/1.0.11) | `1.0.11` | Required | — |
|
||||
| [`ee-first`](https://www.npmjs.com/package/ee-first/v/1.1.1) | `1.1.1` | Required | — |
|
||||
| [`encodeurl`](https://www.npmjs.com/package/encodeurl/v/2.0.0) | `2.0.0` | Required | — |
|
||||
| [`es-define-property`](https://www.npmjs.com/package/es-define-property/v/1.0.1) | `1.0.1` | Required | — |
|
||||
| [`es-errors`](https://www.npmjs.com/package/es-errors/v/1.3.0) | `1.3.0` | Required | — |
|
||||
| [`es-object-atoms`](https://www.npmjs.com/package/es-object-atoms/v/1.1.2) | `1.1.2` | Required | — |
|
||||
| [`escape-html`](https://www.npmjs.com/package/escape-html/v/1.0.3) | `1.0.3` | Required | — |
|
||||
| [`etag`](https://www.npmjs.com/package/etag/v/1.8.1) | `1.8.1` | Required | — |
|
||||
| [`eventsource`](https://www.npmjs.com/package/eventsource/v/3.0.7) | `3.0.7` | Required | — |
|
||||
| [`eventsource-parser`](https://www.npmjs.com/package/eventsource-parser/v/3.1.1) | `3.1.1` | Required | — |
|
||||
| [`express`](https://www.npmjs.com/package/express/v/5.2.1) | `5.2.1` | Required | — |
|
||||
| [`express-rate-limit`](https://www.npmjs.com/package/express-rate-limit/v/8.7.0) | `8.7.0` | Required | — |
|
||||
| [`extend`](https://www.npmjs.com/package/extend/v/3.0.2) | `3.0.2` | Required | — |
|
||||
| [`fast-deep-equal`](https://www.npmjs.com/package/fast-deep-equal/v/3.1.3) | `3.1.3` | Required | — |
|
||||
| [`fast-sha256`](https://www.npmjs.com/package/fast-sha256/v/1.3.0) | `1.3.0` | Required | — |
|
||||
| [`fast-uri`](https://www.npmjs.com/package/fast-uri/v/3.1.7) | `3.1.7` | Required | — |
|
||||
| [`fetch-blob`](https://www.npmjs.com/package/fetch-blob/v/3.2.0) | `3.2.0` | Required | — |
|
||||
| [`fflate`](https://www.npmjs.com/package/fflate/v/0.8.3) | `0.8.3` | Required | — |
|
||||
| [`finalhandler`](https://www.npmjs.com/package/finalhandler/v/2.1.1) | `2.1.1` | Required | — |
|
||||
| [`formdata-polyfill`](https://www.npmjs.com/package/formdata-polyfill/v/4.0.10) | `4.0.10` | Required | — |
|
||||
| [`forwarded`](https://www.npmjs.com/package/forwarded/v/0.2.0) | `0.2.0` | Required | — |
|
||||
| [`fresh`](https://www.npmjs.com/package/fresh/v/2.0.0) | `2.0.0` | Required | — |
|
||||
| [`function-bind`](https://www.npmjs.com/package/function-bind/v/1.1.2) | `1.1.2` | Required | — |
|
||||
| [`gaxios`](https://www.npmjs.com/package/gaxios/v/7.3.1) | `7.3.1` | Required | — |
|
||||
| [`gcp-metadata`](https://www.npmjs.com/package/gcp-metadata/v/8.1.2) | `8.1.2` | Required | — |
|
||||
| [`get-intrinsic`](https://www.npmjs.com/package/get-intrinsic/v/1.3.0) | `1.3.0` | Required | — |
|
||||
| [`get-proto`](https://www.npmjs.com/package/get-proto/v/1.0.1) | `1.0.1` | Required | — |
|
||||
| [`google-auth-library`](https://www.npmjs.com/package/google-auth-library/v/10.9.1) | `10.9.1` | Required | — |
|
||||
| [`google-logging-utils`](https://www.npmjs.com/package/google-logging-utils/v/1.1.3) | `1.1.3` | Required | — |
|
||||
| [`gopd`](https://www.npmjs.com/package/gopd/v/1.2.0) | `1.2.0` | Required | — |
|
||||
| [`has-symbols`](https://www.npmjs.com/package/has-symbols/v/1.1.0) | `1.1.0` | Required | — |
|
||||
| [`hasown`](https://www.npmjs.com/package/hasown/v/2.0.4) | `2.0.4` | Required | — |
|
||||
| [`hono`](https://www.npmjs.com/package/hono/v/4.13.7) | `4.13.7` | Required | — |
|
||||
| [`http-errors`](https://www.npmjs.com/package/http-errors/v/2.0.1) | `2.0.1` | Required | — |
|
||||
| [`http-proxy-agent`](https://www.npmjs.com/package/http-proxy-agent/v/7.0.2) | `7.0.2` | Required | — |
|
||||
| [`https-proxy-agent`](https://www.npmjs.com/package/https-proxy-agent/v/7.0.6) | `7.0.6` | Required | — |
|
||||
| [`iconv-lite`](https://www.npmjs.com/package/iconv-lite/v/0.7.3) | `0.7.3` | Required | — |
|
||||
| [`inherits`](https://www.npmjs.com/package/inherits/v/2.0.4) | `2.0.4` | Required | — |
|
||||
| [`ip-address`](https://www.npmjs.com/package/ip-address/v/10.7.0) | `10.7.0` | Required | — |
|
||||
| [`ipaddr.js`](https://www.npmjs.com/package/ipaddr.js/v/1.9.1) | `1.9.1` | Required | — |
|
||||
| [`ipaddr.js`](https://www.npmjs.com/package/ipaddr.js/v/2.5.0) | `2.5.0` | Required | — |
|
||||
| [`is-docker`](https://www.npmjs.com/package/is-docker/v/3.0.0) | `3.0.0` | Required | — |
|
||||
| [`is-in-ssh`](https://www.npmjs.com/package/is-in-ssh/v/1.0.0) | `1.0.0` | Required | — |
|
||||
| [`is-inside-container`](https://www.npmjs.com/package/is-inside-container/v/1.0.0) | `1.0.0` | Required | — |
|
||||
| [`is-promise`](https://www.npmjs.com/package/is-promise/v/4.0.0) | `4.0.0` | Required | — |
|
||||
| [`is-wsl`](https://www.npmjs.com/package/is-wsl/v/3.1.1) | `3.1.1` | Required | — |
|
||||
| [`isexe`](https://www.npmjs.com/package/isexe/v/2.0.0) | `2.0.0` | Required | — |
|
||||
| [`jose`](https://www.npmjs.com/package/jose/v/6.2.12) | `6.2.12` | Required | — |
|
||||
| [`js-tokens`](https://www.npmjs.com/package/js-tokens/v/4.0.0) | `4.0.0` | Required | — |
|
||||
| [`json-bigint`](https://www.npmjs.com/package/json-bigint/v/1.0.0) | `1.0.0` | Required | — |
|
||||
| [`json-schema-to-ts`](https://www.npmjs.com/package/json-schema-to-ts/v/3.1.1) | `3.1.1` | Required | — |
|
||||
| [`json-schema-traverse`](https://www.npmjs.com/package/json-schema-traverse/v/1.0.0) | `1.0.0` | Required | — |
|
||||
| [`json-schema-typed`](https://www.npmjs.com/package/json-schema-typed/v/8.0.2) | `8.0.2` | Required | — |
|
||||
| [`jwa`](https://www.npmjs.com/package/jwa/v/2.0.1) | `2.0.1` | Required | — |
|
||||
| [`jws`](https://www.npmjs.com/package/jws/v/4.0.1) | `4.0.1` | Required | — |
|
||||
| [`koffi`](https://www.npmjs.com/package/koffi/v/3.2.1) | `3.2.1` | Required | — |
|
||||
| [`long`](https://www.npmjs.com/package/long/v/5.3.2) | `5.3.2` | Required | — |
|
||||
| [`math-intrinsics`](https://www.npmjs.com/package/math-intrinsics/v/1.1.0) | `1.1.0` | Required | — |
|
||||
| [`media-typer`](https://www.npmjs.com/package/media-typer/v/1.1.1) | `1.1.1` | Required | — |
|
||||
| [`merge-descriptors`](https://www.npmjs.com/package/merge-descriptors/v/2.0.0) | `2.0.0` | Required | — |
|
||||
| [`mime-db`](https://www.npmjs.com/package/mime-db/v/1.54.0) | `1.54.0` | Required | — |
|
||||
| [`mime-types`](https://www.npmjs.com/package/mime-types/v/3.0.2) | `3.0.2` | Required | — |
|
||||
| [`ms`](https://www.npmjs.com/package/ms/v/2.0.0) | `2.0.0` | Required | — |
|
||||
| [`ms`](https://www.npmjs.com/package/ms/v/2.1.3) | `2.1.3` | Required | — |
|
||||
| [`ms`](https://www.npmjs.com/package/ms/v/2.1.3) | `2.1.3` | Required | — |
|
||||
| [`ms`](https://www.npmjs.com/package/ms/v/2.1.3) | `2.1.3` | Required | — |
|
||||
| [`ms`](https://www.npmjs.com/package/ms/v/2.1.3) | `2.1.3` | Required | — |
|
||||
| [`ms`](https://www.npmjs.com/package/ms/v/2.1.3) | `2.1.3` | Required | — |
|
||||
| [`ms`](https://www.npmjs.com/package/ms/v/2.1.3) | `2.1.3` | Required | — |
|
||||
| [`ms`](https://www.npmjs.com/package/ms/v/2.1.3) | `2.1.3` | Required | — |
|
||||
| [`ms`](https://www.npmjs.com/package/ms/v/2.1.3) | `2.1.3` | Required | — |
|
||||
| [`negotiator`](https://www.npmjs.com/package/negotiator/v/0.6.4) | `0.6.4` | Required | — |
|
||||
| [`negotiator`](https://www.npmjs.com/package/negotiator/v/1.1.0) | `1.1.0` | Required | — |
|
||||
| [`node-addon-api`](https://www.npmjs.com/package/node-addon-api/v/7.1.1) | `7.1.1` | Required | — |
|
||||
| [`node-addon-native-custom-loader`](https://www.npmjs.com/package/node-addon-native-custom-loader/v/0.1.5) | `0.1.5` | Required | — |
|
||||
| [`node-addon-require-builtin-darwin-arm64`](https://www.npmjs.com/package/node-addon-require-builtin-darwin-arm64/v/0.1.5) | `0.1.5` | Optional | os: darwin; cpu: arm64 |
|
||||
| [`node-addon-require-builtin-darwin-x64`](https://www.npmjs.com/package/node-addon-require-builtin-darwin-x64/v/0.1.5) | `0.1.5` | Optional | os: darwin; cpu: x64 |
|
||||
| [`node-addon-require-builtin-linux-arm64-gnu`](https://www.npmjs.com/package/node-addon-require-builtin-linux-arm64-gnu/v/0.1.5) | `0.1.5` | Optional | os: linux; cpu: arm64; libc: glibc |
|
||||
| [`node-addon-require-builtin-linux-x64-gnu`](https://www.npmjs.com/package/node-addon-require-builtin-linux-x64-gnu/v/0.1.5) | `0.1.5` | Optional | os: linux; cpu: x64; libc: glibc |
|
||||
| [`node-addon-require-builtin-win32-arm64-msvc`](https://www.npmjs.com/package/node-addon-require-builtin-win32-arm64-msvc/v/0.1.5) | `0.1.5` | Optional | os: win32; cpu: arm64 |
|
||||
| [`node-addon-require-builtin-win32-ia32-msvc`](https://www.npmjs.com/package/node-addon-require-builtin-win32-ia32-msvc/v/0.1.5) | `0.1.5` | Optional | os: win32; cpu: ia32 |
|
||||
| [`node-addon-require-builtin-win32-x64-msvc`](https://www.npmjs.com/package/node-addon-require-builtin-win32-x64-msvc/v/0.1.5) | `0.1.5` | Optional | os: win32; cpu: x64 |
|
||||
| [`node-domexception`](https://www.npmjs.com/package/node-domexception/v/1.0.0) | `1.0.0` | Required | — |
|
||||
| [`node-fetch`](https://www.npmjs.com/package/node-fetch/v/3.3.2) | `3.3.2` | Required | — |
|
||||
| [`node-pty`](https://www.npmjs.com/package/node-pty/v/1.2.0-beta.15) | `1.2.0-beta.15` | Required | — |
|
||||
| [`object-assign`](https://www.npmjs.com/package/object-assign/v/4.1.1) | `4.1.1` | Required | — |
|
||||
| [`object-inspect`](https://www.npmjs.com/package/object-inspect/v/1.13.4) | `1.13.4` | Required | — |
|
||||
| [`on-finished`](https://www.npmjs.com/package/on-finished/v/2.4.1) | `2.4.1` | Required | — |
|
||||
| [`on-headers`](https://www.npmjs.com/package/on-headers/v/1.1.0) | `1.1.0` | Required | — |
|
||||
| [`once`](https://www.npmjs.com/package/once/v/1.4.0) | `1.4.0` | Required | — |
|
||||
| [`open`](https://www.npmjs.com/package/open/v/11.0.3) | `11.0.3` | Required | — |
|
||||
| [`openai`](https://www.npmjs.com/package/openai/v/6.40.0) | `6.40.0` | Required | — |
|
||||
| [`p-retry`](https://www.npmjs.com/package/p-retry/v/4.6.2) | `4.6.2` | Required | — |
|
||||
| [`parseurl`](https://www.npmjs.com/package/parseurl/v/1.3.3) | `1.3.3` | Required | — |
|
||||
| [`partial-json`](https://www.npmjs.com/package/partial-json/v/0.1.7) | `0.1.7` | Required | — |
|
||||
| [`path-key`](https://www.npmjs.com/package/path-key/v/3.1.1) | `3.1.1` | Required | — |
|
||||
| [`path-to-regexp`](https://www.npmjs.com/package/path-to-regexp/v/8.4.2) | `8.4.2` | Required | — |
|
||||
| [`picocolors`](https://www.npmjs.com/package/picocolors/v/1.1.1) | `1.1.1` | Required | — |
|
||||
| [`picomatch`](https://www.npmjs.com/package/picomatch/v/4.0.7) | `4.0.7` | Required | — |
|
||||
| [`pkce-challenge`](https://www.npmjs.com/package/pkce-challenge/v/5.0.1) | `5.0.1` | Required | — |
|
||||
| [`powershell-utils`](https://www.npmjs.com/package/powershell-utils/v/0.1.0) | `0.1.0` | Required | — |
|
||||
| [`powershell-utils`](https://www.npmjs.com/package/powershell-utils/v/0.2.1) | `0.2.1` | Required | — |
|
||||
| [`protobufjs`](https://www.npmjs.com/package/protobufjs/v/7.6.6) | `7.6.6` | Required | — |
|
||||
| [`proxy-addr`](https://www.npmjs.com/package/proxy-addr/v/2.0.7) | `2.0.7` | Required | — |
|
||||
| [`qs`](https://www.npmjs.com/package/qs/v/6.16.0) | `6.16.0` | Required | — |
|
||||
| [`range-parser`](https://www.npmjs.com/package/range-parser/v/1.3.0) | `1.3.0` | Required | — |
|
||||
| [`raw-body`](https://www.npmjs.com/package/raw-body/v/3.0.2) | `3.0.2` | Required | — |
|
||||
| [`readdirp`](https://www.npmjs.com/package/readdirp/v/4.1.2) | `4.1.2` | Required | — |
|
||||
| [`readdirp`](https://www.npmjs.com/package/readdirp/v/5.1.1) | `5.1.1` | Required | — |
|
||||
| [`require-from-string`](https://www.npmjs.com/package/require-from-string/v/2.0.2) | `2.0.2` | Required | — |
|
||||
| [`resolve.exports`](https://www.npmjs.com/package/resolve.exports/v/2.0.3) | `2.0.3` | Required | — |
|
||||
| [`retry`](https://www.npmjs.com/package/retry/v/0.13.1) | `0.13.1` | Required | — |
|
||||
| [`router`](https://www.npmjs.com/package/router/v/2.2.0) | `2.2.0` | Required | — |
|
||||
| [`run-applescript`](https://www.npmjs.com/package/run-applescript/v/7.1.0) | `7.1.0` | Required | — |
|
||||
| [`safe-buffer`](https://www.npmjs.com/package/safe-buffer/v/5.2.1) | `5.2.1` | Required | — |
|
||||
| [`safer-buffer`](https://www.npmjs.com/package/safer-buffer/v/2.1.2) | `2.1.2` | Required | — |
|
||||
| [`semver`](https://www.npmjs.com/package/semver/v/7.8.5) | `7.8.5` | Required | — |
|
||||
| [`send`](https://www.npmjs.com/package/send/v/1.2.1) | `1.2.1` | Required | — |
|
||||
| [`serve-static`](https://www.npmjs.com/package/serve-static/v/2.2.1) | `2.2.1` | Required | — |
|
||||
| [`setprototypeof`](https://www.npmjs.com/package/setprototypeof/v/1.2.0) | `1.2.0` | Required | — |
|
||||
| [`sharp`](https://www.npmjs.com/package/sharp/v/0.35.4) | `0.35.4` | Required | — |
|
||||
| [`shebang-command`](https://www.npmjs.com/package/shebang-command/v/2.0.0) | `2.0.0` | Required | — |
|
||||
| [`shebang-regex`](https://www.npmjs.com/package/shebang-regex/v/3.0.0) | `3.0.0` | Required | — |
|
||||
| [`side-channel`](https://www.npmjs.com/package/side-channel/v/1.1.1) | `1.1.1` | Required | — |
|
||||
| [`side-channel-list`](https://www.npmjs.com/package/side-channel-list/v/1.0.1) | `1.0.1` | Required | — |
|
||||
| [`side-channel-map`](https://www.npmjs.com/package/side-channel-map/v/1.0.1) | `1.0.1` | Required | — |
|
||||
| [`side-channel-weakmap`](https://www.npmjs.com/package/side-channel-weakmap/v/1.0.2) | `1.0.2` | Required | — |
|
||||
| [`standardwebhooks`](https://www.npmjs.com/package/standardwebhooks/v/1.1.1) | `1.1.1` | Required | — |
|
||||
| [`statuses`](https://www.npmjs.com/package/statuses/v/2.0.2) | `2.0.2` | Required | — |
|
||||
| [`toidentifier`](https://www.npmjs.com/package/toidentifier/v/1.0.1) | `1.0.1` | Required | — |
|
||||
| [`ts-algebra`](https://www.npmjs.com/package/ts-algebra/v/2.0.0) | `2.0.0` | Required | — |
|
||||
| [`tslib`](https://www.npmjs.com/package/tslib/v/2.8.1) | `2.8.1` | Required | — |
|
||||
| [`turndown`](https://www.npmjs.com/package/turndown/v/7.2.4) | `7.2.4` | Required | — |
|
||||
| [`type-is`](https://www.npmjs.com/package/type-is/v/2.1.0) | `2.1.0` | Required | — |
|
||||
| [`typebox`](https://www.npmjs.com/package/typebox/v/1.3.7) | `1.3.7` | Required | — |
|
||||
| [`undici`](https://www.npmjs.com/package/undici/v/8.10.2) | `8.10.2` | Required | — |
|
||||
| [`undici-types`](https://www.npmjs.com/package/undici-types/v/6.21.0) | `6.21.0` | Required | — |
|
||||
| [`unpipe`](https://www.npmjs.com/package/unpipe/v/1.0.0) | `1.0.0` | Required | — |
|
||||
| [`vary`](https://www.npmjs.com/package/vary/v/1.1.2) | `1.1.2` | Required | — |
|
||||
| [`web-streams-polyfill`](https://www.npmjs.com/package/web-streams-polyfill/v/3.3.3) | `3.3.3` | Required | — |
|
||||
| [`which`](https://www.npmjs.com/package/which/v/2.0.2) | `2.0.2` | Required | — |
|
||||
| [`wrappy`](https://www.npmjs.com/package/wrappy/v/1.0.2) | `1.0.2` | Required | — |
|
||||
| [`ws`](https://www.npmjs.com/package/ws/v/8.21.3) | `8.21.3` | Required | — |
|
||||
| [`wsl-utils`](https://www.npmjs.com/package/wsl-utils/v/1.0.0) | `1.0.0` | Required | — |
|
||||
| [`yaml`](https://www.npmjs.com/package/yaml/v/2.9.1) | `2.9.1` | Required | — |
|
||||
| [`zod`](https://www.npmjs.com/package/zod/v/4.6.2) | `4.6.2` | Required | — |
|
||||
| [`zod-to-json-schema`](https://www.npmjs.com/package/zod-to-json-schema/v/3.25.2) | `3.25.2` | Required | — |
|
||||
|
||||
<a id="regeneration"></a>
|
||||
|
||||
## Regeneration
|
||||
|
||||
In an installed repository checkout, regenerate both languages and the pairing record from the committed npm resolution:
|
||||
|
||||
```sh
|
||||
pnpm run gen-dependency-catalog
|
||||
pnpm run verify-dependency-catalog
|
||||
```
|
||||
|
||||
Refresh `latest` and its complete dependency tree from the public npm registry, then regenerate the catalog:
|
||||
|
||||
```sh
|
||||
pnpm run gen-dependency-catalog --refresh
|
||||
```
|
||||
|
||||
Commit the [npm lockfile](../scripts/dependency-catalog/package-lock.json), [resolution metadata](../scripts/dependency-catalog/resolution.json), and all three catalog pair files. Refresh uses a temporary directory with install scripts disabled; a failed resolution leaves the committed record intact. `doc-sync` checks generated files against the record.
|
||||
@@ -0,0 +1,650 @@
|
||||
<!-- Generated by scripts/gen-dependency-catalog.ts. Do not edit by hand. -->
|
||||
|
||||
# 依赖目录
|
||||
|
||||
[English](dependency-catalog.md) | 中文
|
||||
|
||||
## 摘要
|
||||
|
||||
查看 [README 中的 npm 命令](../README.zh.md)所安装的 `@deepseek-ai/dsh` 的直接和传递依赖。此记录中的 npm `latest` 版本为 **0.1.5-rc.1**;共 581 个依赖安装位置,涉及 561 个不同的包与版本组合。
|
||||
|
||||
## 目录
|
||||
|
||||
- [范围](#scope)
|
||||
- [直接依赖](#direct-dependencies)
|
||||
- [传递依赖](#transitive-dependencies)
|
||||
- [重新生成](#regeneration)
|
||||
|
||||
<a id="scope"></a>
|
||||
|
||||
## 范围
|
||||
|
||||
```sh
|
||||
npx @deepseek-ai/dsh web
|
||||
```
|
||||
|
||||
采集时间:`2026-09-12T08:31:20.812Z`。解析工具:npm `11.17.0`,Node.js `24.19.0`,`darwin/arm64`。Registry:https://registry.npmjs.org/
|
||||
|
||||
此记录使用空白 npm 消费项目解析公开发布包,包含必需依赖、自动安装的 Peer 依赖及可选依赖候选项。`web` 参数选择启动模式,不会缩小 CLI 的安装依赖。仓库的开发依赖和未被引用的 workspace 包不在此范围内。
|
||||
|
||||
可选项仅在平台匹配且安装成功时出现;经可选父包引入的依赖也可能被省略。平台列显示包自身的 `os`、`cpu` 和 `libc` 声明,`—` 表示包自身未声明限制。表格中的重复行保留 npm 在不同位置安装的相同包版本。此目录由仅生成 lockfile 的解析过程产生,不验证安装脚本或其下载的额外文件。
|
||||
|
||||
这是带时间的解析记录:npm 的 tag、版本范围、npm/Node.js 版本、平台、配置及现有本地安装或缓存均可能改变实际结果。普通生成和 CI 检查使用提交的记录;只有刷新命令查询 registry。参见 [npx 文档](https://docs.npmjs.com/cli/v11/commands/npx/)和 [npm lockfile 文档](https://docs.npmjs.com/cli/v11/configuring-npm/package-lock-json/)。
|
||||
|
||||
<a id="direct-dependencies"></a>
|
||||
|
||||
## 直接依赖
|
||||
|
||||
72 个安装位置由已发布 CLI 的依赖字段直接引用。
|
||||
|
||||
| 包 | 解析版本 | 安装条件 | 包声明的平台限制 |
|
||||
| --- | --- | --- | --- |
|
||||
| [`@deepseek-ai/cordis`](https://www.npmjs.com/package/@deepseek-ai/cordis/v/4.0.2) | `4.0.2` | 必需 | — |
|
||||
| [`@deepseek-ai/cordis-plugin-hmr`](https://www.npmjs.com/package/@deepseek-ai/cordis-plugin-hmr/v/1.0.17) | `1.0.17` | 必需 | — |
|
||||
| [`@deepseek-ai/cordis-plugin-include`](https://www.npmjs.com/package/@deepseek-ai/cordis-plugin-include/v/1.0.7) | `1.0.7` | 必需 | — |
|
||||
| [`@deepseek-ai/cordis-plugin-loader`](https://www.npmjs.com/package/@deepseek-ai/cordis-plugin-loader/v/1.0.3) | `1.0.3` | 必需 | — |
|
||||
| [`@deepseek-ai/cordis-plugin-timer`](https://www.npmjs.com/package/@deepseek-ai/cordis-plugin-timer/v/1.1.4) | `1.1.4` | 必需 | — |
|
||||
| [`@deepseek-ai/dsh-acp-app`](https://www.npmjs.com/package/@deepseek-ai/dsh-acp-app/v/0.1.5-rc.2) | `0.1.5-rc.2` | 必需 | — |
|
||||
| [`@deepseek-ai/dsh-agent-instructions`](https://www.npmjs.com/package/@deepseek-ai/dsh-agent-instructions/v/0.1.5-rc.2) | `0.1.5-rc.2` | 必需 | — |
|
||||
| [`@deepseek-ai/dsh-agent-tool-presentation`](https://www.npmjs.com/package/@deepseek-ai/dsh-agent-tool-presentation/v/0.1.5-rc.2) | `0.1.5-rc.2` | 必需 | — |
|
||||
| [`@deepseek-ai/dsh-app-boot`](https://www.npmjs.com/package/@deepseek-ai/dsh-app-boot/v/0.1.5-rc.2) | `0.1.5-rc.2` | 必需 | — |
|
||||
| [`@deepseek-ai/dsh-base`](https://www.npmjs.com/package/@deepseek-ai/dsh-base/v/0.1.5-rc.2) | `0.1.5-rc.2` | 必需 | — |
|
||||
| [`@deepseek-ai/dsh-client-ui-agent-preset`](https://www.npmjs.com/package/@deepseek-ai/dsh-client-ui-agent-preset/v/0.1.5-rc.2) | `0.1.5-rc.2` | 必需 | — |
|
||||
| [`@deepseek-ai/dsh-client-ui-cordis`](https://www.npmjs.com/package/@deepseek-ai/dsh-client-ui-cordis/v/0.1.5-rc.2) | `0.1.5-rc.2` | 必需 | — |
|
||||
| [`@deepseek-ai/dsh-cmdline`](https://www.npmjs.com/package/@deepseek-ai/dsh-cmdline/v/0.1.5-rc.2) | `0.1.5-rc.2` | 必需 | — |
|
||||
| [`@deepseek-ai/dsh-command-compact`](https://www.npmjs.com/package/@deepseek-ai/dsh-command-compact/v/0.1.5-rc.2) | `0.1.5-rc.2` | 必需 | — |
|
||||
| [`@deepseek-ai/dsh-command-goal`](https://www.npmjs.com/package/@deepseek-ai/dsh-command-goal/v/0.1.5-rc.2) | `0.1.5-rc.2` | 必需 | — |
|
||||
| [`@deepseek-ai/dsh-compaction-basic`](https://www.npmjs.com/package/@deepseek-ai/dsh-compaction-basic/v/0.1.5-rc.2) | `0.1.5-rc.2` | 必需 | — |
|
||||
| [`@deepseek-ai/dsh-compaction-tool-result-pruner`](https://www.npmjs.com/package/@deepseek-ai/dsh-compaction-tool-result-pruner/v/0.1.5-rc.2) | `0.1.5-rc.2` | 必需 | — |
|
||||
| [`@deepseek-ai/dsh-cordis-client-runner`](https://www.npmjs.com/package/@deepseek-ai/dsh-cordis-client-runner/v/0.1.5-rc.2) | `0.1.5-rc.2` | 必需 | — |
|
||||
| [`@deepseek-ai/dsh-fs-local`](https://www.npmjs.com/package/@deepseek-ai/dsh-fs-local/v/0.1.5-rc.2) | `0.1.5-rc.2` | 必需 | — |
|
||||
| [`@deepseek-ai/dsh-goal`](https://www.npmjs.com/package/@deepseek-ai/dsh-goal/v/0.1.5-rc.2) | `0.1.5-rc.2` | 必需 | — |
|
||||
| [`@deepseek-ai/dsh-goal-round-driver`](https://www.npmjs.com/package/@deepseek-ai/dsh-goal-round-driver/v/0.1.5-rc.2) | `0.1.5-rc.2` | 必需 | — |
|
||||
| [`@deepseek-ai/dsh-headless`](https://www.npmjs.com/package/@deepseek-ai/dsh-headless/v/0.1.5-rc.2) | `0.1.5-rc.2` | 必需 | — |
|
||||
| [`@deepseek-ai/dsh-home-paths`](https://www.npmjs.com/package/@deepseek-ai/dsh-home-paths/v/0.1.5-rc.2) | `0.1.5-rc.2` | 必需 | — |
|
||||
| [`@deepseek-ai/dsh-hooks-claude-code`](https://www.npmjs.com/package/@deepseek-ai/dsh-hooks-claude-code/v/0.1.5-rc.2) | `0.1.5-rc.2` | 必需 | — |
|
||||
| [`@deepseek-ai/dsh-hooks-codex`](https://www.npmjs.com/package/@deepseek-ai/dsh-hooks-codex/v/0.1.5-rc.2) | `0.1.5-rc.2` | 必需 | — |
|
||||
| [`@deepseek-ai/dsh-http-proxy`](https://www.npmjs.com/package/@deepseek-ai/dsh-http-proxy/v/0.1.5-rc.2) | `0.1.5-rc.2` | 必需 | — |
|
||||
| [`@deepseek-ai/dsh-jobs-local`](https://www.npmjs.com/package/@deepseek-ai/dsh-jobs-local/v/0.1.5-rc.2) | `0.1.5-rc.2` | 必需 | — |
|
||||
| [`@deepseek-ai/dsh-launch-environment`](https://www.npmjs.com/package/@deepseek-ai/dsh-launch-environment/v/0.1.5-rc.2) | `0.1.5-rc.2` | 必需 | — |
|
||||
| [`@deepseek-ai/dsh-mcp-client`](https://www.npmjs.com/package/@deepseek-ai/dsh-mcp-client/v/0.1.5-rc.2) | `0.1.5-rc.2` | 必需 | — |
|
||||
| [`@deepseek-ai/dsh-persona`](https://www.npmjs.com/package/@deepseek-ai/dsh-persona/v/0.1.5-rc.2) | `0.1.5-rc.2` | 必需 | — |
|
||||
| [`@deepseek-ai/dsh-plan-mode`](https://www.npmjs.com/package/@deepseek-ai/dsh-plan-mode/v/0.1.5-rc.2) | `0.1.5-rc.2` | 必需 | — |
|
||||
| [`@deepseek-ai/dsh-pwsh-local`](https://www.npmjs.com/package/@deepseek-ai/dsh-pwsh-local/v/0.1.5-rc.2) | `0.1.5-rc.2` | 必需 | — |
|
||||
| [`@deepseek-ai/dsh-pwsh-sandbox`](https://www.npmjs.com/package/@deepseek-ai/dsh-pwsh-sandbox/v/0.1.5-rc.2) | `0.1.5-rc.2` | 必需 | — |
|
||||
| [`@deepseek-ai/dsh-schedule`](https://www.npmjs.com/package/@deepseek-ai/dsh-schedule/v/0.1.5-rc.2) | `0.1.5-rc.2` | 必需 | — |
|
||||
| [`@deepseek-ai/dsh-sdk-app`](https://www.npmjs.com/package/@deepseek-ai/dsh-sdk-app/v/0.1.5-rc.2) | `0.1.5-rc.2` | 必需 | — |
|
||||
| [`@deepseek-ai/dsh-sdk-minimal`](https://www.npmjs.com/package/@deepseek-ai/dsh-sdk-minimal/v/0.1.5-rc.2) | `0.1.5-rc.2` | 必需 | — |
|
||||
| [`@deepseek-ai/dsh-session-projection`](https://www.npmjs.com/package/@deepseek-ai/dsh-session-projection/v/0.1.5-rc.2) | `0.1.5-rc.2` | 必需 | — |
|
||||
| [`@deepseek-ai/dsh-session-reference`](https://www.npmjs.com/package/@deepseek-ai/dsh-session-reference/v/0.1.5-rc.2) | `0.1.5-rc.2` | 必需 | — |
|
||||
| [`@deepseek-ai/dsh-skill`](https://www.npmjs.com/package/@deepseek-ai/dsh-skill/v/0.1.5-rc.2) | `0.1.5-rc.2` | 必需 | — |
|
||||
| [`@deepseek-ai/dsh-skill-filesystem`](https://www.npmjs.com/package/@deepseek-ai/dsh-skill-filesystem/v/0.1.5-rc.2) | `0.1.5-rc.2` | 必需 | — |
|
||||
| [`@deepseek-ai/dsh-terminal`](https://www.npmjs.com/package/@deepseek-ai/dsh-terminal/v/0.1.5-rc.2) | `0.1.5-rc.2` | 必需 | — |
|
||||
| [`@deepseek-ai/dsh-terminal-bash`](https://www.npmjs.com/package/@deepseek-ai/dsh-terminal-bash/v/0.1.5-rc.2) | `0.1.5-rc.2` | 必需 | — |
|
||||
| [`@deepseek-ai/dsh-time-context`](https://www.npmjs.com/package/@deepseek-ai/dsh-time-context/v/0.1.5-rc.2) | `0.1.5-rc.2` | 必需 | — |
|
||||
| [`@deepseek-ai/dsh-tmux-context`](https://www.npmjs.com/package/@deepseek-ai/dsh-tmux-context/v/0.1.5-rc.2) | `0.1.5-rc.2` | 必需 | — |
|
||||
| [`@deepseek-ai/dsh-token-meter`](https://www.npmjs.com/package/@deepseek-ai/dsh-token-meter/v/0.1.5-rc.2) | `0.1.5-rc.2` | 必需 | — |
|
||||
| [`@deepseek-ai/dsh-tool-ask-user`](https://www.npmjs.com/package/@deepseek-ai/dsh-tool-ask-user/v/0.1.5-rc.2) | `0.1.5-rc.2` | 必需 | — |
|
||||
| [`@deepseek-ai/dsh-tool-bash`](https://www.npmjs.com/package/@deepseek-ai/dsh-tool-bash/v/0.1.5-rc.2) | `0.1.5-rc.2` | 必需 | — |
|
||||
| [`@deepseek-ai/dsh-tool-bash-persistent`](https://www.npmjs.com/package/@deepseek-ai/dsh-tool-bash-persistent/v/0.1.5-rc.2) | `0.1.5-rc.2` | 必需 | — |
|
||||
| [`@deepseek-ai/dsh-tool-cordis`](https://www.npmjs.com/package/@deepseek-ai/dsh-tool-cordis/v/0.1.5-rc.2) | `0.1.5-rc.2` | 必需 | — |
|
||||
| [`@deepseek-ai/dsh-tool-fs`](https://www.npmjs.com/package/@deepseek-ai/dsh-tool-fs/v/0.1.5-rc.2) | `0.1.5-rc.2` | 必需 | — |
|
||||
| [`@deepseek-ai/dsh-tool-fs-search`](https://www.npmjs.com/package/@deepseek-ai/dsh-tool-fs-search/v/0.1.5-rc.2) | `0.1.5-rc.2` | 必需 | — |
|
||||
| [`@deepseek-ai/dsh-tool-goal`](https://www.npmjs.com/package/@deepseek-ai/dsh-tool-goal/v/0.1.5-rc.2) | `0.1.5-rc.2` | 必需 | — |
|
||||
| [`@deepseek-ai/dsh-tool-jobs`](https://www.npmjs.com/package/@deepseek-ai/dsh-tool-jobs/v/0.1.5-rc.2) | `0.1.5-rc.2` | 必需 | — |
|
||||
| [`@deepseek-ai/dsh-tool-present`](https://www.npmjs.com/package/@deepseek-ai/dsh-tool-present/v/0.1.5-rc.2) | `0.1.5-rc.2` | 必需 | — |
|
||||
| [`@deepseek-ai/dsh-tool-pwsh`](https://www.npmjs.com/package/@deepseek-ai/dsh-tool-pwsh/v/0.1.5-rc.2) | `0.1.5-rc.2` | 必需 | — |
|
||||
| [`@deepseek-ai/dsh-tool-pwsh-persistent`](https://www.npmjs.com/package/@deepseek-ai/dsh-tool-pwsh-persistent/v/0.1.5-rc.2) | `0.1.5-rc.2` | 必需 | — |
|
||||
| [`@deepseek-ai/dsh-tool-ralph`](https://www.npmjs.com/package/@deepseek-ai/dsh-tool-ralph/v/0.1.5-rc.2) | `0.1.5-rc.2` | 必需 | — |
|
||||
| [`@deepseek-ai/dsh-tool-skill`](https://www.npmjs.com/package/@deepseek-ai/dsh-tool-skill/v/0.1.5-rc.2) | `0.1.5-rc.2` | 必需 | — |
|
||||
| [`@deepseek-ai/dsh-tool-str-replace-editor`](https://www.npmjs.com/package/@deepseek-ai/dsh-tool-str-replace-editor/v/0.1.5-rc.2) | `0.1.5-rc.2` | 必需 | — |
|
||||
| [`@deepseek-ai/dsh-tool-subagent`](https://www.npmjs.com/package/@deepseek-ai/dsh-tool-subagent/v/0.1.5-rc.2) | `0.1.5-rc.2` | 必需 | — |
|
||||
| [`@deepseek-ai/dsh-tool-subagent-control`](https://www.npmjs.com/package/@deepseek-ai/dsh-tool-subagent-control/v/0.1.5-rc.2) | `0.1.5-rc.2` | 必需 | — |
|
||||
| [`@deepseek-ai/dsh-tool-todo`](https://www.npmjs.com/package/@deepseek-ai/dsh-tool-todo/v/0.1.5-rc.2) | `0.1.5-rc.2` | 必需 | — |
|
||||
| [`@deepseek-ai/dsh-tool-web`](https://www.npmjs.com/package/@deepseek-ai/dsh-tool-web/v/0.1.5-rc.2) | `0.1.5-rc.2` | 必需 | — |
|
||||
| [`@deepseek-ai/dsh-tool-workflow`](https://www.npmjs.com/package/@deepseek-ai/dsh-tool-workflow/v/0.1.5-rc.2) | `0.1.5-rc.2` | 必需 | — |
|
||||
| [`@deepseek-ai/dsh-web-app`](https://www.npmjs.com/package/@deepseek-ai/dsh-web-app/v/0.1.5-rc.2) | `0.1.5-rc.2` | 必需 | — |
|
||||
| [`@deepseek-ai/dsh-webhook`](https://www.npmjs.com/package/@deepseek-ai/dsh-webhook/v/0.1.5-rc.2) | `0.1.5-rc.2` | 必需 | — |
|
||||
| [`@deepseek-ai/dsh-webhook-github`](https://www.npmjs.com/package/@deepseek-ai/dsh-webhook-github/v/0.1.5-rc.2) | `0.1.5-rc.2` | 必需 | — |
|
||||
| [`@deepseek-ai/dsh-workflow-worker-thread`](https://www.npmjs.com/package/@deepseek-ai/dsh-workflow-worker-thread/v/0.1.5-rc.2) | `0.1.5-rc.2` | 必需 | — |
|
||||
| [`@deepseek-ai/schemastery`](https://www.npmjs.com/package/@deepseek-ai/schemastery/v/3.18.2) | `3.18.2` | 必需 | — |
|
||||
| [`commander`](https://www.npmjs.com/package/commander/v/15.0.0) | `15.0.0` | 必需 | — |
|
||||
| [`js-yaml`](https://www.npmjs.com/package/js-yaml/v/4.3.2) | `4.3.2` | 必需 | — |
|
||||
| [`node-addon-require-builtin`](https://www.npmjs.com/package/node-addon-require-builtin/v/0.1.5) | `0.1.5` | 必需 | — |
|
||||
|
||||
<a id="transitive-dependencies"></a>
|
||||
|
||||
## 传递依赖
|
||||
|
||||
509 个其余安装位置由依赖树引入。
|
||||
|
||||
| 包 | 解析版本 | 安装条件 | 包声明的平台限制 |
|
||||
| --- | --- | --- | --- |
|
||||
| [`@agentclientprotocol/sdk`](https://www.npmjs.com/package/@agentclientprotocol/sdk/v/1.4.0) | `1.4.0` | 必需 | — |
|
||||
| [`@anthropic-ai/sdk`](https://www.npmjs.com/package/@anthropic-ai/sdk/v/0.123.0) | `0.123.0` | 必需 | — |
|
||||
| [`@aws-crypto/sha256-browser`](https://www.npmjs.com/package/@aws-crypto/sha256-browser/v/5.2.0) | `5.2.0` | 必需 | — |
|
||||
| [`@aws-crypto/sha256-js`](https://www.npmjs.com/package/@aws-crypto/sha256-js/v/5.2.0) | `5.2.0` | 必需 | — |
|
||||
| [`@aws-crypto/supports-web-crypto`](https://www.npmjs.com/package/@aws-crypto/supports-web-crypto/v/5.2.0) | `5.2.0` | 必需 | — |
|
||||
| [`@aws-crypto/util`](https://www.npmjs.com/package/@aws-crypto/util/v/5.2.0) | `5.2.0` | 必需 | — |
|
||||
| [`@aws-sdk/client-bedrock-runtime`](https://www.npmjs.com/package/@aws-sdk/client-bedrock-runtime/v/3.1048.0) | `3.1048.0` | 必需 | — |
|
||||
| [`@aws-sdk/core`](https://www.npmjs.com/package/@aws-sdk/core/v/3.978.0) | `3.978.0` | 必需 | — |
|
||||
| [`@aws-sdk/credential-provider-env`](https://www.npmjs.com/package/@aws-sdk/credential-provider-env/v/3.972.71) | `3.972.71` | 必需 | — |
|
||||
| [`@aws-sdk/credential-provider-http`](https://www.npmjs.com/package/@aws-sdk/credential-provider-http/v/3.972.73) | `3.972.73` | 必需 | — |
|
||||
| [`@aws-sdk/credential-provider-ini`](https://www.npmjs.com/package/@aws-sdk/credential-provider-ini/v/3.973.16) | `3.973.16` | 必需 | — |
|
||||
| [`@aws-sdk/credential-provider-login`](https://www.npmjs.com/package/@aws-sdk/credential-provider-login/v/3.972.78) | `3.972.78` | 必需 | — |
|
||||
| [`@aws-sdk/credential-provider-node`](https://www.npmjs.com/package/@aws-sdk/credential-provider-node/v/3.972.83) | `3.972.83` | 必需 | — |
|
||||
| [`@aws-sdk/credential-provider-process`](https://www.npmjs.com/package/@aws-sdk/credential-provider-process/v/3.972.71) | `3.972.71` | 必需 | — |
|
||||
| [`@aws-sdk/credential-provider-sso`](https://www.npmjs.com/package/@aws-sdk/credential-provider-sso/v/3.973.15) | `3.973.15` | 必需 | — |
|
||||
| [`@aws-sdk/credential-provider-web-identity`](https://www.npmjs.com/package/@aws-sdk/credential-provider-web-identity/v/3.972.77) | `3.972.77` | 必需 | — |
|
||||
| [`@aws-sdk/eventstream-handler-node`](https://www.npmjs.com/package/@aws-sdk/eventstream-handler-node/v/3.972.34) | `3.972.34` | 必需 | — |
|
||||
| [`@aws-sdk/middleware-eventstream`](https://www.npmjs.com/package/@aws-sdk/middleware-eventstream/v/3.972.29) | `3.972.29` | 必需 | — |
|
||||
| [`@aws-sdk/middleware-websocket`](https://www.npmjs.com/package/@aws-sdk/middleware-websocket/v/3.972.53) | `3.972.53` | 必需 | — |
|
||||
| [`@aws-sdk/nested-clients`](https://www.npmjs.com/package/@aws-sdk/nested-clients/v/3.997.45) | `3.997.45` | 必需 | — |
|
||||
| [`@aws-sdk/signature-v4-multi-region`](https://www.npmjs.com/package/@aws-sdk/signature-v4-multi-region/v/3.996.46) | `3.996.46` | 必需 | — |
|
||||
| [`@aws-sdk/token-providers`](https://www.npmjs.com/package/@aws-sdk/token-providers/v/3.1048.0) | `3.1048.0` | 必需 | — |
|
||||
| [`@aws-sdk/token-providers`](https://www.npmjs.com/package/@aws-sdk/token-providers/v/3.1129.0) | `3.1129.0` | 必需 | — |
|
||||
| [`@aws-sdk/types`](https://www.npmjs.com/package/@aws-sdk/types/v/3.974.5) | `3.974.5` | 必需 | — |
|
||||
| [`@aws-sdk/util-locate-window`](https://www.npmjs.com/package/@aws-sdk/util-locate-window/v/3.965.10) | `3.965.10` | 必需 | — |
|
||||
| [`@aws-sdk/xml-builder`](https://www.npmjs.com/package/@aws-sdk/xml-builder/v/3.972.40) | `3.972.40` | 必需 | — |
|
||||
| [`@aws/lambda-invoke-store`](https://www.npmjs.com/package/@aws/lambda-invoke-store/v/0.3.0) | `0.3.0` | 必需 | — |
|
||||
| [`@babel/code-frame`](https://www.npmjs.com/package/@babel/code-frame/v/7.29.7) | `7.29.7` | 必需 | — |
|
||||
| [`@babel/helper-validator-identifier`](https://www.npmjs.com/package/@babel/helper-validator-identifier/v/7.29.7) | `7.29.7` | 必需 | — |
|
||||
| [`@babel/runtime`](https://www.npmjs.com/package/@babel/runtime/v/7.29.7) | `7.29.7` | 必需 | — |
|
||||
| [`@deepseek-ai/cordis-plugin-group`](https://www.npmjs.com/package/@deepseek-ai/cordis-plugin-group/v/1.0.2) | `1.0.2` | 必需; Peer 自动安装 | — |
|
||||
| [`@deepseek-ai/cosmokit`](https://www.npmjs.com/package/@deepseek-ai/cosmokit/v/1.8.3) | `1.8.3` | 必需 | — |
|
||||
| [`@deepseek-ai/dsh-acp`](https://www.npmjs.com/package/@deepseek-ai/dsh-acp/v/0.1.5-rc.2) | `0.1.5-rc.2` | 必需 | — |
|
||||
| [`@deepseek-ai/dsh-agent`](https://www.npmjs.com/package/@deepseek-ai/dsh-agent/v/0.1.5-rc.2) | `0.1.5-rc.2` | 必需 | — |
|
||||
| [`@deepseek-ai/dsh-agent-default-model`](https://www.npmjs.com/package/@deepseek-ai/dsh-agent-default-model/v/0.1.5-rc.2) | `0.1.5-rc.2` | 必需 | — |
|
||||
| [`@deepseek-ai/dsh-agent-loop`](https://www.npmjs.com/package/@deepseek-ai/dsh-agent-loop/v/0.1.5-rc.2) | `0.1.5-rc.2` | 必需 | — |
|
||||
| [`@deepseek-ai/dsh-agent-presets`](https://www.npmjs.com/package/@deepseek-ai/dsh-agent-presets/v/0.1.5-rc.2) | `0.1.5-rc.2` | 必需 | — |
|
||||
| [`@deepseek-ai/dsh-anonymous-user-id`](https://www.npmjs.com/package/@deepseek-ai/dsh-anonymous-user-id/v/0.1.5-rc.2) | `0.1.5-rc.2` | 必需; Peer 自动安装 | — |
|
||||
| [`@deepseek-ai/dsh-api-gateway`](https://www.npmjs.com/package/@deepseek-ai/dsh-api-gateway/v/0.1.5-rc.2) | `0.1.5-rc.2` | 必需 | — |
|
||||
| [`@deepseek-ai/dsh-api-remotes`](https://www.npmjs.com/package/@deepseek-ai/dsh-api-remotes/v/0.1.5-rc.2) | `0.1.5-rc.2` | 必需 | — |
|
||||
| [`@deepseek-ai/dsh-api-session-controller`](https://www.npmjs.com/package/@deepseek-ai/dsh-api-session-controller/v/0.1.5-rc.2) | `0.1.5-rc.2` | 必需 | — |
|
||||
| [`@deepseek-ai/dsh-api-settings-controller`](https://www.npmjs.com/package/@deepseek-ai/dsh-api-settings-controller/v/0.1.5-rc.2) | `0.1.5-rc.2` | 必需 | — |
|
||||
| [`@deepseek-ai/dsh-api-workspace-controller`](https://www.npmjs.com/package/@deepseek-ai/dsh-api-workspace-controller/v/0.1.5-rc.2) | `0.1.5-rc.2` | 必需 | — |
|
||||
| [`@deepseek-ai/dsh-api-workspace-files`](https://www.npmjs.com/package/@deepseek-ai/dsh-api-workspace-files/v/0.1.5-rc.2) | `0.1.5-rc.2` | 必需 | — |
|
||||
| [`@deepseek-ai/dsh-atomic-write`](https://www.npmjs.com/package/@deepseek-ai/dsh-atomic-write/v/0.1.5-rc.2) | `0.1.5-rc.2` | 必需 | — |
|
||||
| [`@deepseek-ai/dsh-attachment`](https://www.npmjs.com/package/@deepseek-ai/dsh-attachment/v/0.1.5-rc.2) | `0.1.5-rc.2` | 必需; Peer 自动安装 | — |
|
||||
| [`@deepseek-ai/dsh-attachment-local`](https://www.npmjs.com/package/@deepseek-ai/dsh-attachment-local/v/0.1.5-rc.2) | `0.1.5-rc.2` | 必需 | — |
|
||||
| [`@deepseek-ai/dsh-authorization`](https://www.npmjs.com/package/@deepseek-ai/dsh-authorization/v/0.1.5-rc.2) | `0.1.5-rc.2` | 必需; Peer 自动安装 | — |
|
||||
| [`@deepseek-ai/dsh-bash-local`](https://www.npmjs.com/package/@deepseek-ai/dsh-bash-local/v/0.1.5-rc.2) | `0.1.5-rc.2` | 必需; Peer 自动安装 | — |
|
||||
| [`@deepseek-ai/dsh-bash-sandbox`](https://www.npmjs.com/package/@deepseek-ai/dsh-bash-sandbox/v/0.1.5-rc.2) | `0.1.5-rc.2` | 必需 | — |
|
||||
| [`@deepseek-ai/dsh-brand`](https://www.npmjs.com/package/@deepseek-ai/dsh-brand/v/0.1.5-rc.2) | `0.1.5-rc.2` | 必需 | — |
|
||||
| [`@deepseek-ai/dsh-chunked-list`](https://www.npmjs.com/package/@deepseek-ai/dsh-chunked-list/v/0.1.5-rc.2) | `0.1.5-rc.2` | 必需 | — |
|
||||
| [`@deepseek-ai/dsh-client-connection`](https://www.npmjs.com/package/@deepseek-ai/dsh-client-connection/v/0.1.5-rc.2) | `0.1.5-rc.2` | 必需 | — |
|
||||
| [`@deepseek-ai/dsh-client-file-upload`](https://www.npmjs.com/package/@deepseek-ai/dsh-client-file-upload/v/0.1.5-rc.2) | `0.1.5-rc.2` | 必需 | — |
|
||||
| [`@deepseek-ai/dsh-client-hmr`](https://www.npmjs.com/package/@deepseek-ai/dsh-client-hmr/v/0.1.5-rc.2) | `0.1.5-rc.2` | 必需 | — |
|
||||
| [`@deepseek-ai/dsh-client-locale`](https://www.npmjs.com/package/@deepseek-ai/dsh-client-locale/v/0.1.5-rc.2) | `0.1.5-rc.2` | 必需 | — |
|
||||
| [`@deepseek-ai/dsh-client-modules`](https://www.npmjs.com/package/@deepseek-ai/dsh-client-modules/v/0.1.5-rc.2) | `0.1.5-rc.2` | 必需 | — |
|
||||
| [`@deepseek-ai/dsh-client-resources`](https://www.npmjs.com/package/@deepseek-ai/dsh-client-resources/v/0.1.5-rc.2) | `0.1.5-rc.2` | 必需 | — |
|
||||
| [`@deepseek-ai/dsh-client-ui-approval`](https://www.npmjs.com/package/@deepseek-ai/dsh-client-ui-approval/v/0.1.5-rc.2) | `0.1.5-rc.2` | 必需 | — |
|
||||
| [`@deepseek-ai/dsh-client-ui-attachment`](https://www.npmjs.com/package/@deepseek-ai/dsh-client-ui-attachment/v/0.1.5-rc.2) | `0.1.5-rc.2` | 必需 | — |
|
||||
| [`@deepseek-ai/dsh-client-ui-brand-official`](https://www.npmjs.com/package/@deepseek-ai/dsh-client-ui-brand-official/v/0.1.5-rc.2) | `0.1.5-rc.2` | 必需 | — |
|
||||
| [`@deepseek-ai/dsh-client-ui-chat`](https://www.npmjs.com/package/@deepseek-ai/dsh-client-ui-chat/v/0.1.5-rc.2) | `0.1.5-rc.2` | 必需 | — |
|
||||
| [`@deepseek-ai/dsh-client-ui-commands`](https://www.npmjs.com/package/@deepseek-ai/dsh-client-ui-commands/v/0.1.5-rc.2) | `0.1.5-rc.2` | 必需 | — |
|
||||
| [`@deepseek-ai/dsh-client-ui-conversation`](https://www.npmjs.com/package/@deepseek-ai/dsh-client-ui-conversation/v/0.1.5-rc.2) | `0.1.5-rc.2` | 必需 | — |
|
||||
| [`@deepseek-ai/dsh-client-ui-deliverables`](https://www.npmjs.com/package/@deepseek-ai/dsh-client-ui-deliverables/v/0.1.5-rc.2) | `0.1.5-rc.2` | 必需 | — |
|
||||
| [`@deepseek-ai/dsh-client-ui-directory-picker-browse`](https://www.npmjs.com/package/@deepseek-ai/dsh-client-ui-directory-picker-browse/v/0.1.5-rc.2) | `0.1.5-rc.2` | 必需 | — |
|
||||
| [`@deepseek-ai/dsh-client-ui-directory-picker-native`](https://www.npmjs.com/package/@deepseek-ai/dsh-client-ui-directory-picker-native/v/0.1.5-rc.2) | `0.1.5-rc.2` | 必需 | — |
|
||||
| [`@deepseek-ai/dsh-client-ui-goal`](https://www.npmjs.com/package/@deepseek-ai/dsh-client-ui-goal/v/0.1.5-rc.2) | `0.1.5-rc.2` | 必需 | — |
|
||||
| [`@deepseek-ai/dsh-client-ui-input-trigger`](https://www.npmjs.com/package/@deepseek-ai/dsh-client-ui-input-trigger/v/0.1.5-rc.2) | `0.1.5-rc.2` | 必需 | — |
|
||||
| [`@deepseek-ai/dsh-client-ui-jobs`](https://www.npmjs.com/package/@deepseek-ai/dsh-client-ui-jobs/v/0.1.5-rc.2) | `0.1.5-rc.2` | 必需 | — |
|
||||
| [`@deepseek-ai/dsh-client-ui-layout`](https://www.npmjs.com/package/@deepseek-ai/dsh-client-ui-layout/v/0.1.5-rc.2) | `0.1.5-rc.2` | 必需 | — |
|
||||
| [`@deepseek-ai/dsh-client-ui-message-feedback`](https://www.npmjs.com/package/@deepseek-ai/dsh-client-ui-message-feedback/v/0.1.5-rc.2) | `0.1.5-rc.2` | 必需 | — |
|
||||
| [`@deepseek-ai/dsh-client-ui-model-selection`](https://www.npmjs.com/package/@deepseek-ai/dsh-client-ui-model-selection/v/0.1.5-rc.2) | `0.1.5-rc.2` | 必需 | — |
|
||||
| [`@deepseek-ai/dsh-client-ui-open-in-app`](https://www.npmjs.com/package/@deepseek-ai/dsh-client-ui-open-in-app/v/0.1.5-rc.2) | `0.1.5-rc.2` | 必需 | — |
|
||||
| [`@deepseek-ai/dsh-client-ui-permission-presets`](https://www.npmjs.com/package/@deepseek-ai/dsh-client-ui-permission-presets/v/0.1.5-rc.2) | `0.1.5-rc.2` | 必需 | — |
|
||||
| [`@deepseek-ai/dsh-client-ui-plan`](https://www.npmjs.com/package/@deepseek-ai/dsh-client-ui-plan/v/0.1.5-rc.2) | `0.1.5-rc.2` | 必需 | — |
|
||||
| [`@deepseek-ai/dsh-client-ui-reference`](https://www.npmjs.com/package/@deepseek-ai/dsh-client-ui-reference/v/0.1.5-rc.2) | `0.1.5-rc.2` | 必需 | — |
|
||||
| [`@deepseek-ai/dsh-client-ui-renderer`](https://www.npmjs.com/package/@deepseek-ai/dsh-client-ui-renderer/v/0.1.5-rc.2) | `0.1.5-rc.2` | 必需 | — |
|
||||
| [`@deepseek-ai/dsh-client-ui-schedule`](https://www.npmjs.com/package/@deepseek-ai/dsh-client-ui-schedule/v/0.1.5-rc.2) | `0.1.5-rc.2` | 必需 | — |
|
||||
| [`@deepseek-ai/dsh-client-ui-session`](https://www.npmjs.com/package/@deepseek-ai/dsh-client-ui-session/v/0.1.5-rc.2) | `0.1.5-rc.2` | 必需 | — |
|
||||
| [`@deepseek-ai/dsh-client-ui-settings`](https://www.npmjs.com/package/@deepseek-ai/dsh-client-ui-settings/v/0.1.5-rc.2) | `0.1.5-rc.2` | 必需 | — |
|
||||
| [`@deepseek-ai/dsh-client-ui-settings-general`](https://www.npmjs.com/package/@deepseek-ai/dsh-client-ui-settings-general/v/0.1.5-rc.2) | `0.1.5-rc.2` | 必需 | — |
|
||||
| [`@deepseek-ai/dsh-client-ui-settings-models`](https://www.npmjs.com/package/@deepseek-ai/dsh-client-ui-settings-models/v/0.1.5-rc.2) | `0.1.5-rc.2` | 必需 | — |
|
||||
| [`@deepseek-ai/dsh-client-ui-settings-plugin-inventory`](https://www.npmjs.com/package/@deepseek-ai/dsh-client-ui-settings-plugin-inventory/v/0.1.5-rc.2) | `0.1.5-rc.2` | 必需 | — |
|
||||
| [`@deepseek-ai/dsh-client-ui-settings-plugins`](https://www.npmjs.com/package/@deepseek-ai/dsh-client-ui-settings-plugins/v/0.1.5-rc.2) | `0.1.5-rc.2` | 必需 | — |
|
||||
| [`@deepseek-ai/dsh-client-ui-sidebar`](https://www.npmjs.com/package/@deepseek-ai/dsh-client-ui-sidebar/v/0.1.5-rc.2) | `0.1.5-rc.2` | 必需 | — |
|
||||
| [`@deepseek-ai/dsh-client-ui-sidebar-documentpreview`](https://www.npmjs.com/package/@deepseek-ai/dsh-client-ui-sidebar-documentpreview/v/0.1.5-rc.2) | `0.1.5-rc.2` | 必需 | — |
|
||||
| [`@deepseek-ai/dsh-client-ui-sidebar-files`](https://www.npmjs.com/package/@deepseek-ai/dsh-client-ui-sidebar-files/v/0.1.5-rc.2) | `0.1.5-rc.2` | 必需 | — |
|
||||
| [`@deepseek-ai/dsh-client-ui-sidebar-right`](https://www.npmjs.com/package/@deepseek-ai/dsh-client-ui-sidebar-right/v/0.1.5-rc.2) | `0.1.5-rc.2` | 必需 | — |
|
||||
| [`@deepseek-ai/dsh-client-ui-skill`](https://www.npmjs.com/package/@deepseek-ai/dsh-client-ui-skill/v/0.1.5-rc.2) | `0.1.5-rc.2` | 必需 | — |
|
||||
| [`@deepseek-ai/dsh-client-ui-subagent`](https://www.npmjs.com/package/@deepseek-ai/dsh-client-ui-subagent/v/0.1.5-rc.2) | `0.1.5-rc.2` | 必需 | — |
|
||||
| [`@deepseek-ai/dsh-client-ui-theme`](https://www.npmjs.com/package/@deepseek-ai/dsh-client-ui-theme/v/0.1.5-rc.2) | `0.1.5-rc.2` | 必需 | — |
|
||||
| [`@deepseek-ai/dsh-client-ui-tool`](https://www.npmjs.com/package/@deepseek-ai/dsh-client-ui-tool/v/0.1.5-rc.2) | `0.1.5-rc.2` | 必需 | — |
|
||||
| [`@deepseek-ai/dsh-client-ui-trajectory`](https://www.npmjs.com/package/@deepseek-ai/dsh-client-ui-trajectory/v/0.1.5-rc.2) | `0.1.5-rc.2` | 必需 | — |
|
||||
| [`@deepseek-ai/dsh-client-ui-user-questions`](https://www.npmjs.com/package/@deepseek-ai/dsh-client-ui-user-questions/v/0.1.5-rc.2) | `0.1.5-rc.2` | 必需 | — |
|
||||
| [`@deepseek-ai/dsh-client-ui-workflow-run`](https://www.npmjs.com/package/@deepseek-ai/dsh-client-ui-workflow-run/v/0.1.5-rc.2) | `0.1.5-rc.2` | 必需 | — |
|
||||
| [`@deepseek-ai/dsh-client-ui-workspace`](https://www.npmjs.com/package/@deepseek-ai/dsh-client-ui-workspace/v/0.1.5-rc.2) | `0.1.5-rc.2` | 必需 | — |
|
||||
| [`@deepseek-ai/dsh-code-runtime`](https://www.npmjs.com/package/@deepseek-ai/dsh-code-runtime/v/0.1.5-rc.2) | `0.1.5-rc.2` | 必需; Peer 自动安装 | — |
|
||||
| [`@deepseek-ai/dsh-code-runtime-worker-thread`](https://www.npmjs.com/package/@deepseek-ai/dsh-code-runtime-worker-thread/v/0.1.5-rc.2) | `0.1.5-rc.2` | 必需 | — |
|
||||
| [`@deepseek-ai/dsh-command-feedback`](https://www.npmjs.com/package/@deepseek-ai/dsh-command-feedback/v/0.1.5-rc.2) | `0.1.5-rc.2` | 必需 | — |
|
||||
| [`@deepseek-ai/dsh-commands`](https://www.npmjs.com/package/@deepseek-ai/dsh-commands/v/0.1.5-rc.2) | `0.1.5-rc.2` | 必需 | — |
|
||||
| [`@deepseek-ai/dsh-compaction`](https://www.npmjs.com/package/@deepseek-ai/dsh-compaction/v/0.1.5-rc.2) | `0.1.5-rc.2` | 必需; Peer 自动安装 | — |
|
||||
| [`@deepseek-ai/dsh-cordis-host-runner`](https://www.npmjs.com/package/@deepseek-ai/dsh-cordis-host-runner/v/0.1.5-rc.2) | `0.1.5-rc.2` | 必需 | — |
|
||||
| [`@deepseek-ai/dsh-credentials`](https://www.npmjs.com/package/@deepseek-ai/dsh-credentials/v/0.1.5-rc.2) | `0.1.5-rc.2` | 必需 | — |
|
||||
| [`@deepseek-ai/dsh-credentials-local`](https://www.npmjs.com/package/@deepseek-ai/dsh-credentials-local/v/0.1.5-rc.2) | `0.1.5-rc.2` | 必需 | — |
|
||||
| [`@deepseek-ai/dsh-deepseek-llm-api-extensions`](https://www.npmjs.com/package/@deepseek-ai/dsh-deepseek-llm-api-extensions/v/0.1.5-rc.2) | `0.1.5-rc.2` | 必需 | — |
|
||||
| [`@deepseek-ai/dsh-deque`](https://www.npmjs.com/package/@deepseek-ai/dsh-deque/v/0.1.5-rc.2) | `0.1.5-rc.2` | 必需 | — |
|
||||
| [`@deepseek-ai/dsh-file-reference`](https://www.npmjs.com/package/@deepseek-ai/dsh-file-reference/v/0.1.5-rc.2) | `0.1.5-rc.2` | 必需 | — |
|
||||
| [`@deepseek-ai/dsh-file-reference-local`](https://www.npmjs.com/package/@deepseek-ai/dsh-file-reference-local/v/0.1.5-rc.2) | `0.1.5-rc.2` | 必需 | — |
|
||||
| [`@deepseek-ai/dsh-fs`](https://www.npmjs.com/package/@deepseek-ai/dsh-fs/v/0.1.5-rc.2) | `0.1.5-rc.2` | 必需; Peer 自动安装 | — |
|
||||
| [`@deepseek-ai/dsh-fs-observation-policy`](https://www.npmjs.com/package/@deepseek-ai/dsh-fs-observation-policy/v/0.1.5-rc.2) | `0.1.5-rc.2` | 必需 | — |
|
||||
| [`@deepseek-ai/dsh-fs-sandbox`](https://www.npmjs.com/package/@deepseek-ai/dsh-fs-sandbox/v/0.1.5-rc.2) | `0.1.5-rc.2` | 必需 | — |
|
||||
| [`@deepseek-ai/dsh-hook-protocol`](https://www.npmjs.com/package/@deepseek-ai/dsh-hook-protocol/v/0.1.5-rc.2) | `0.1.5-rc.2` | 必需; Peer 自动安装 | — |
|
||||
| [`@deepseek-ai/dsh-host-directory-picker`](https://www.npmjs.com/package/@deepseek-ai/dsh-host-directory-picker/v/0.1.5-rc.2) | `0.1.5-rc.2` | 必需 | — |
|
||||
| [`@deepseek-ai/dsh-host-directory-picker-auto`](https://www.npmjs.com/package/@deepseek-ai/dsh-host-directory-picker-auto/v/0.1.5-rc.2) | `0.1.5-rc.2` | 必需 | — |
|
||||
| [`@deepseek-ai/dsh-host-directory-picker-browse`](https://www.npmjs.com/package/@deepseek-ai/dsh-host-directory-picker-browse/v/0.1.5-rc.2) | `0.1.5-rc.2` | 必需 | — |
|
||||
| [`@deepseek-ai/dsh-host-directory-picker-native`](https://www.npmjs.com/package/@deepseek-ai/dsh-host-directory-picker-native/v/0.1.5-rc.2) | `0.1.5-rc.2` | 必需 | — |
|
||||
| [`@deepseek-ai/dsh-host-frontend-static`](https://www.npmjs.com/package/@deepseek-ai/dsh-host-frontend-static/v/0.1.5-rc.2) | `0.1.5-rc.2` | 必需 | — |
|
||||
| [`@deepseek-ai/dsh-host-open-in-app`](https://www.npmjs.com/package/@deepseek-ai/dsh-host-open-in-app/v/0.1.5-rc.2) | `0.1.5-rc.2` | 必需 | — |
|
||||
| [`@deepseek-ai/dsh-host-plugin-inventory`](https://www.npmjs.com/package/@deepseek-ai/dsh-host-plugin-inventory/v/0.1.5-rc.2) | `0.1.5-rc.2` | 必需 | — |
|
||||
| [`@deepseek-ai/dsh-host-webserver`](https://www.npmjs.com/package/@deepseek-ai/dsh-host-webserver/v/0.1.5-rc.2) | `0.1.5-rc.2` | 必需 | — |
|
||||
| [`@deepseek-ai/dsh-invariants`](https://www.npmjs.com/package/@deepseek-ai/dsh-invariants/v/0.1.5-rc.2) | `0.1.5-rc.2` | 必需 | — |
|
||||
| [`@deepseek-ai/dsh-jobs`](https://www.npmjs.com/package/@deepseek-ai/dsh-jobs/v/0.1.5-rc.2) | `0.1.5-rc.2` | 必需; Peer 自动安装 | — |
|
||||
| [`@deepseek-ai/dsh-llm`](https://www.npmjs.com/package/@deepseek-ai/dsh-llm/v/0.1.5-rc.2) | `0.1.5-rc.2` | 必需 | — |
|
||||
| [`@deepseek-ai/dsh-llm-deepseek`](https://www.npmjs.com/package/@deepseek-ai/dsh-llm-deepseek/v/0.1.5-rc.2) | `0.1.5-rc.2` | 必需 | — |
|
||||
| [`@deepseek-ai/dsh-llm-pi-ai`](https://www.npmjs.com/package/@deepseek-ai/dsh-llm-pi-ai/v/0.1.5-rc.2) | `0.1.5-rc.2` | 必需 | — |
|
||||
| [`@deepseek-ai/dsh-llm-retry`](https://www.npmjs.com/package/@deepseek-ai/dsh-llm-retry/v/0.1.5-rc.2) | `0.1.5-rc.2` | 必需 | — |
|
||||
| [`@deepseek-ai/dsh-message-feedback`](https://www.npmjs.com/package/@deepseek-ai/dsh-message-feedback/v/0.1.5-rc.2) | `0.1.5-rc.2` | 必需 | — |
|
||||
| [`@deepseek-ai/dsh-native-command`](https://www.npmjs.com/package/@deepseek-ai/dsh-native-command/v/0.1.5-rc.2) | `0.1.5-rc.2` | 必需 | — |
|
||||
| [`@deepseek-ai/dsh-output-retention`](https://www.npmjs.com/package/@deepseek-ai/dsh-output-retention/v/0.1.5-rc.2) | `0.1.5-rc.2` | 必需; Peer 自动安装 | — |
|
||||
| [`@deepseek-ai/dsh-package-manifest`](https://www.npmjs.com/package/@deepseek-ai/dsh-package-manifest/v/0.1.5-rc.2) | `0.1.5-rc.2` | 必需 | — |
|
||||
| [`@deepseek-ai/dsh-permission-presets`](https://www.npmjs.com/package/@deepseek-ai/dsh-permission-presets/v/0.1.5-rc.2) | `0.1.5-rc.2` | 必需 | — |
|
||||
| [`@deepseek-ai/dsh-plugin-package-inventory-deepseek`](https://www.npmjs.com/package/@deepseek-ai/dsh-plugin-package-inventory-deepseek/v/0.1.5-rc.2) | `0.1.5-rc.2` | 必需 | — |
|
||||
| [`@deepseek-ai/dsh-repeat-tool-reminder`](https://www.npmjs.com/package/@deepseek-ai/dsh-repeat-tool-reminder/v/0.1.5-rc.2) | `0.1.5-rc.2` | 必需 | — |
|
||||
| [`@deepseek-ai/dsh-sandbox`](https://www.npmjs.com/package/@deepseek-ai/dsh-sandbox/v/0.1.5-rc.2) | `0.1.5-rc.2` | 必需; Peer 自动安装 | — |
|
||||
| [`@deepseek-ai/dsh-sandbox-local`](https://www.npmjs.com/package/@deepseek-ai/dsh-sandbox-local/v/0.1.5-rc.2) | `0.1.5-rc.2` | 必需 | — |
|
||||
| [`@deepseek-ai/dsh-sandbox-policy`](https://www.npmjs.com/package/@deepseek-ai/dsh-sandbox-policy/v/0.1.5-rc.2) | `0.1.5-rc.2` | 必需 | — |
|
||||
| [`@deepseek-ai/dsh-sandbox-windows-acl`](https://www.npmjs.com/package/@deepseek-ai/dsh-sandbox-windows-acl/v/0.1.5-rc.2) | `0.1.5-rc.2` | 必需 | — |
|
||||
| [`@deepseek-ai/dsh-scope`](https://www.npmjs.com/package/@deepseek-ai/dsh-scope/v/0.1.5-rc.2) | `0.1.5-rc.2` | 必需 | — |
|
||||
| [`@deepseek-ai/dsh-sdk-jsonrpc-server`](https://www.npmjs.com/package/@deepseek-ai/dsh-sdk-jsonrpc-server/v/0.1.5-rc.2) | `0.1.5-rc.2` | 必需 | — |
|
||||
| [`@deepseek-ai/dsh-sdk-protocol`](https://www.npmjs.com/package/@deepseek-ai/dsh-sdk-protocol/v/0.1.5-rc.2) | `0.1.5-rc.2` | 必需; Peer 自动安装 | — |
|
||||
| [`@deepseek-ai/dsh-session`](https://www.npmjs.com/package/@deepseek-ai/dsh-session/v/0.1.5-rc.2) | `0.1.5-rc.2` | 必需 | — |
|
||||
| [`@deepseek-ai/dsh-session-checkpoint-policy`](https://www.npmjs.com/package/@deepseek-ai/dsh-session-checkpoint-policy/v/0.1.5-rc.2) | `0.1.5-rc.2` | 必需 | — |
|
||||
| [`@deepseek-ai/dsh-session-format`](https://www.npmjs.com/package/@deepseek-ai/dsh-session-format/v/0.1.5-rc.2) | `0.1.5-rc.2` | 必需 | — |
|
||||
| [`@deepseek-ai/dsh-session-format-catalog`](https://www.npmjs.com/package/@deepseek-ai/dsh-session-format-catalog/v/0.1.5-rc.2) | `0.1.5-rc.2` | 必需 | — |
|
||||
| [`@deepseek-ai/dsh-session-format-v0-to-v1`](https://www.npmjs.com/package/@deepseek-ai/dsh-session-format-v0-to-v1/v/0.1.5-rc.2) | `0.1.5-rc.2` | 必需 | — |
|
||||
| [`@deepseek-ai/dsh-session-format-v1-to-v2`](https://www.npmjs.com/package/@deepseek-ai/dsh-session-format-v1-to-v2/v/0.1.5-rc.2) | `0.1.5-rc.2` | 必需 | — |
|
||||
| [`@deepseek-ai/dsh-session-format-v2-to-v3`](https://www.npmjs.com/package/@deepseek-ai/dsh-session-format-v2-to-v3/v/0.1.5-rc.2) | `0.1.5-rc.2` | 必需 | — |
|
||||
| [`@deepseek-ai/dsh-session-log-deepseek`](https://www.npmjs.com/package/@deepseek-ai/dsh-session-log-deepseek/v/0.1.5-rc.2) | `0.1.5-rc.2` | 必需 | — |
|
||||
| [`@deepseek-ai/dsh-session-log-export`](https://www.npmjs.com/package/@deepseek-ai/dsh-session-log-export/v/0.1.5-rc.2) | `0.1.5-rc.2` | 必需 | — |
|
||||
| [`@deepseek-ai/dsh-session-persistence`](https://www.npmjs.com/package/@deepseek-ai/dsh-session-persistence/v/0.1.5-rc.2) | `0.1.5-rc.2` | 必需; Peer 自动安装 | — |
|
||||
| [`@deepseek-ai/dsh-session-persistence-jsonl`](https://www.npmjs.com/package/@deepseek-ai/dsh-session-persistence-jsonl/v/0.1.5-rc.2) | `0.1.5-rc.2` | 必需 | — |
|
||||
| [`@deepseek-ai/dsh-session-projection-cache`](https://www.npmjs.com/package/@deepseek-ai/dsh-session-projection-cache/v/0.1.5-rc.2) | `0.1.5-rc.2` | 必需 | — |
|
||||
| [`@deepseek-ai/dsh-session-query`](https://www.npmjs.com/package/@deepseek-ai/dsh-session-query/v/0.1.5-rc.2) | `0.1.5-rc.2` | 必需; Peer 自动安装 | — |
|
||||
| [`@deepseek-ai/dsh-session-query-sqlite`](https://www.npmjs.com/package/@deepseek-ai/dsh-session-query-sqlite/v/0.1.5-rc.2) | `0.1.5-rc.2` | 必需 | — |
|
||||
| [`@deepseek-ai/dsh-session-stats`](https://www.npmjs.com/package/@deepseek-ai/dsh-session-stats/v/0.1.5-rc.2) | `0.1.5-rc.2` | 必需 | — |
|
||||
| [`@deepseek-ai/dsh-session-telemetry`](https://www.npmjs.com/package/@deepseek-ai/dsh-session-telemetry/v/0.1.5-rc.2) | `0.1.5-rc.2` | 必需; Peer 自动安装 | — |
|
||||
| [`@deepseek-ai/dsh-session-telemetry-otel`](https://www.npmjs.com/package/@deepseek-ai/dsh-session-telemetry-otel/v/0.1.5-rc.2) | `0.1.5-rc.2` | 必需 | — |
|
||||
| [`@deepseek-ai/dsh-session-title`](https://www.npmjs.com/package/@deepseek-ai/dsh-session-title/v/0.1.5-rc.2) | `0.1.5-rc.2` | 必需 | — |
|
||||
| [`@deepseek-ai/dsh-session-title-first-prompt-llm`](https://www.npmjs.com/package/@deepseek-ai/dsh-session-title-first-prompt-llm/v/0.1.5-rc.2) | `0.1.5-rc.2` | 必需 | — |
|
||||
| [`@deepseek-ai/dsh-session-title-llm`](https://www.npmjs.com/package/@deepseek-ai/dsh-session-title-llm/v/0.1.5-rc.2) | `0.1.5-rc.2` | 必需; Peer 自动安装 | — |
|
||||
| [`@deepseek-ai/dsh-session-turn-outline`](https://www.npmjs.com/package/@deepseek-ai/dsh-session-turn-outline/v/0.1.5-rc.2) | `0.1.5-rc.2` | 必需 | — |
|
||||
| [`@deepseek-ai/dsh-settings`](https://www.npmjs.com/package/@deepseek-ai/dsh-settings/v/0.1.5-rc.2) | `0.1.5-rc.2` | 必需; Peer 自动安装 | — |
|
||||
| [`@deepseek-ai/dsh-settings-file`](https://www.npmjs.com/package/@deepseek-ai/dsh-settings-file/v/0.1.5-rc.2) | `0.1.5-rc.2` | 必需 | — |
|
||||
| [`@deepseek-ai/dsh-shell`](https://www.npmjs.com/package/@deepseek-ai/dsh-shell/v/0.1.5-rc.2) | `0.1.5-rc.2` | 必需; Peer 自动安装 | — |
|
||||
| [`@deepseek-ai/dsh-shell-env`](https://www.npmjs.com/package/@deepseek-ai/dsh-shell-env/v/0.1.5-rc.2) | `0.1.5-rc.2` | 必需 | — |
|
||||
| [`@deepseek-ai/dsh-skill-badge`](https://www.npmjs.com/package/@deepseek-ai/dsh-skill-badge/v/0.1.5-rc.2) | `0.1.5-rc.2` | 必需 | — |
|
||||
| [`@deepseek-ai/dsh-spill`](https://www.npmjs.com/package/@deepseek-ai/dsh-spill/v/0.1.5-rc.2) | `0.1.5-rc.2` | 必需; Peer 自动安装 | — |
|
||||
| [`@deepseek-ai/dsh-spill-local`](https://www.npmjs.com/package/@deepseek-ai/dsh-spill-local/v/0.1.5-rc.2) | `0.1.5-rc.2` | 必需 | — |
|
||||
| [`@deepseek-ai/dsh-spill-policy`](https://www.npmjs.com/package/@deepseek-ai/dsh-spill-policy/v/0.1.5-rc.2) | `0.1.5-rc.2` | 必需 | — |
|
||||
| [`@deepseek-ai/dsh-storage`](https://www.npmjs.com/package/@deepseek-ai/dsh-storage/v/0.1.5-rc.2) | `0.1.5-rc.2` | 必需 | — |
|
||||
| [`@deepseek-ai/dsh-storage-domain`](https://www.npmjs.com/package/@deepseek-ai/dsh-storage-domain/v/0.1.5-rc.2) | `0.1.5-rc.2` | 必需 | — |
|
||||
| [`@deepseek-ai/dsh-storage-json`](https://www.npmjs.com/package/@deepseek-ai/dsh-storage-json/v/0.1.5-rc.2) | `0.1.5-rc.2` | 必需 | — |
|
||||
| [`@deepseek-ai/dsh-subagent`](https://www.npmjs.com/package/@deepseek-ai/dsh-subagent/v/0.1.5-rc.2) | `0.1.5-rc.2` | 必需 | — |
|
||||
| [`@deepseek-ai/dsh-subagent-fork-in-process`](https://www.npmjs.com/package/@deepseek-ai/dsh-subagent-fork-in-process/v/0.1.5-rc.2) | `0.1.5-rc.2` | 必需 | — |
|
||||
| [`@deepseek-ai/dsh-subagent-in-process-driver`](https://www.npmjs.com/package/@deepseek-ai/dsh-subagent-in-process-driver/v/0.1.5-rc.2) | `0.1.5-rc.2` | 必需; Peer 自动安装 | — |
|
||||
| [`@deepseek-ai/dsh-subagent-spawn-in-process`](https://www.npmjs.com/package/@deepseek-ai/dsh-subagent-spawn-in-process/v/0.1.5-rc.2) | `0.1.5-rc.2` | 必需 | — |
|
||||
| [`@deepseek-ai/dsh-subprocess`](https://www.npmjs.com/package/@deepseek-ai/dsh-subprocess/v/0.1.5-rc.2) | `0.1.5-rc.2` | 必需 | — |
|
||||
| [`@deepseek-ai/dsh-subprocess-local`](https://www.npmjs.com/package/@deepseek-ai/dsh-subprocess-local/v/0.1.5-rc.2) | `0.1.5-rc.2` | 必需 | — |
|
||||
| [`@deepseek-ai/dsh-system-prompt`](https://www.npmjs.com/package/@deepseek-ai/dsh-system-prompt/v/0.1.5-rc.2) | `0.1.5-rc.2` | 必需 | — |
|
||||
| [`@deepseek-ai/dsh-timeout`](https://www.npmjs.com/package/@deepseek-ai/dsh-timeout/v/0.1.5-rc.2) | `0.1.5-rc.2` | 必需 | — |
|
||||
| [`@deepseek-ai/dsh-tool-call-timeout-policy`](https://www.npmjs.com/package/@deepseek-ai/dsh-tool-call-timeout-policy/v/0.1.5-rc.2) | `0.1.5-rc.2` | 必需 | — |
|
||||
| [`@deepseek-ai/dsh-tools`](https://www.npmjs.com/package/@deepseek-ai/dsh-tools/v/0.1.5-rc.2) | `0.1.5-rc.2` | 必需 | — |
|
||||
| [`@deepseek-ai/dsh-typert-loader`](https://www.npmjs.com/package/@deepseek-ai/dsh-typert-loader/v/0.1.5-rc.2) | `0.1.5-rc.2` | 必需 | — |
|
||||
| [`@deepseek-ai/dsh-typert-protocol`](https://www.npmjs.com/package/@deepseek-ai/dsh-typert-protocol/v/0.1.5-rc.2) | `0.1.5-rc.2` | 必需 | — |
|
||||
| [`@deepseek-ai/dsh-typert-registry`](https://www.npmjs.com/package/@deepseek-ai/dsh-typert-registry/v/0.1.5-rc.2) | `0.1.5-rc.2` | 必需 | — |
|
||||
| [`@deepseek-ai/dsh-user-approval`](https://www.npmjs.com/package/@deepseek-ai/dsh-user-approval/v/0.1.5-rc.2) | `0.1.5-rc.2` | 必需 | — |
|
||||
| [`@deepseek-ai/dsh-user-questions`](https://www.npmjs.com/package/@deepseek-ai/dsh-user-questions/v/0.1.5-rc.2) | `0.1.5-rc.2` | 必需 | — |
|
||||
| [`@deepseek-ai/dsh-util-crypto`](https://www.npmjs.com/package/@deepseek-ai/dsh-util-crypto/v/0.1.5-rc.2) | `0.1.5-rc.2` | 必需 | — |
|
||||
| [`@deepseek-ai/dsh-util-time`](https://www.npmjs.com/package/@deepseek-ai/dsh-util-time/v/0.1.5-rc.2) | `0.1.5-rc.2` | 必需; Peer 自动安装 | — |
|
||||
| [`@deepseek-ai/dsh-util-values`](https://www.npmjs.com/package/@deepseek-ai/dsh-util-values/v/0.1.5-rc.2) | `0.1.5-rc.2` | 必需 | — |
|
||||
| [`@deepseek-ai/dsh-util-workspace-path`](https://www.npmjs.com/package/@deepseek-ai/dsh-util-workspace-path/v/0.1.5-rc.2) | `0.1.5-rc.2` | 必需; Peer 自动安装 | — |
|
||||
| [`@deepseek-ai/dsh-web`](https://www.npmjs.com/package/@deepseek-ai/dsh-web/v/0.1.5-rc.2) | `0.1.5-rc.2` | 必需 | — |
|
||||
| [`@deepseek-ai/dsh-web-fetch-http`](https://www.npmjs.com/package/@deepseek-ai/dsh-web-fetch-http/v/0.1.5-rc.2) | `0.1.5-rc.2` | 必需 | — |
|
||||
| [`@deepseek-ai/dsh-web-frontend`](https://www.npmjs.com/package/@deepseek-ai/dsh-web-frontend/v/0.1.5-rc.2) | `0.1.5-rc.2` | 必需 | — |
|
||||
| [`@deepseek-ai/dsh-web-search-deepseek`](https://www.npmjs.com/package/@deepseek-ai/dsh-web-search-deepseek/v/0.1.5-rc.2) | `0.1.5-rc.2` | 必需 | — |
|
||||
| [`@deepseek-ai/dsh-win32-process`](https://www.npmjs.com/package/@deepseek-ai/dsh-win32-process/v/0.1.5-rc.2) | `0.1.5-rc.2` | 必需 | — |
|
||||
| [`@deepseek-ai/dsh-workflow`](https://www.npmjs.com/package/@deepseek-ai/dsh-workflow/v/0.1.5-rc.2) | `0.1.5-rc.2` | 必需; Peer 自动安装 | — |
|
||||
| [`@deepseek-ai/dsh-workspace`](https://www.npmjs.com/package/@deepseek-ai/dsh-workspace/v/0.1.5-rc.2) | `0.1.5-rc.2` | 必需 | — |
|
||||
| [`@deepseek-ai/node-addon-system`](https://www.npmjs.com/package/@deepseek-ai/node-addon-system/v/0.1.2) | `0.1.2` | 必需 | — |
|
||||
| [`@deepseek-ai/node-addon-system-darwin-arm64`](https://www.npmjs.com/package/@deepseek-ai/node-addon-system-darwin-arm64/v/0.1.2) | `0.1.2` | 可选 | os: darwin; cpu: arm64 |
|
||||
| [`@deepseek-ai/node-addon-system-darwin-x64`](https://www.npmjs.com/package/@deepseek-ai/node-addon-system-darwin-x64/v/0.1.2) | `0.1.2` | 可选 | os: darwin; cpu: x64 |
|
||||
| [`@deepseek-ai/node-addon-system-linux-arm64`](https://www.npmjs.com/package/@deepseek-ai/node-addon-system-linux-arm64/v/0.1.2) | `0.1.2` | 可选 | os: linux; cpu: arm64 |
|
||||
| [`@deepseek-ai/node-addon-system-linux-x64`](https://www.npmjs.com/package/@deepseek-ai/node-addon-system-linux-x64/v/0.1.2) | `0.1.2` | 可选 | os: linux; cpu: x64 |
|
||||
| [`@earendil-works/pi-ai`](https://www.npmjs.com/package/@earendil-works/pi-ai/v/0.85.1) | `0.85.1` | 必需 | — |
|
||||
| [`@earendil-works/pi-telemetry`](https://www.npmjs.com/package/@earendil-works/pi-telemetry/v/0.85.1) | `0.85.1` | 必需 | — |
|
||||
| [`@emnapi/runtime`](https://www.npmjs.com/package/@emnapi/runtime/v/1.11.3) | `1.11.3` | 可选 | — |
|
||||
| [`@google/genai`](https://www.npmjs.com/package/@google/genai/v/1.52.0) | `1.52.0` | 必需 | — |
|
||||
| [`@hono/node-server`](https://www.npmjs.com/package/@hono/node-server/v/2.1.1) | `2.1.1` | 必需 | — |
|
||||
| [`@img/colour`](https://www.npmjs.com/package/@img/colour/v/1.1.0) | `1.1.0` | 必需 | — |
|
||||
| [`@img/sharp-darwin-arm64`](https://www.npmjs.com/package/@img/sharp-darwin-arm64/v/0.35.4) | `0.35.4` | 可选 | os: darwin; cpu: arm64 |
|
||||
| [`@img/sharp-darwin-x64`](https://www.npmjs.com/package/@img/sharp-darwin-x64/v/0.35.4) | `0.35.4` | 可选 | os: darwin; cpu: x64 |
|
||||
| [`@img/sharp-freebsd-wasm32`](https://www.npmjs.com/package/@img/sharp-freebsd-wasm32/v/0.35.4) | `0.35.4` | 可选 | os: freebsd |
|
||||
| [`@img/sharp-libvips-darwin-arm64`](https://www.npmjs.com/package/@img/sharp-libvips-darwin-arm64/v/1.3.3) | `1.3.3` | 可选 | os: darwin; cpu: arm64 |
|
||||
| [`@img/sharp-libvips-darwin-x64`](https://www.npmjs.com/package/@img/sharp-libvips-darwin-x64/v/1.3.3) | `1.3.3` | 可选 | os: darwin; cpu: x64 |
|
||||
| [`@img/sharp-libvips-linux-arm`](https://www.npmjs.com/package/@img/sharp-libvips-linux-arm/v/1.3.3) | `1.3.3` | 可选 | os: linux; cpu: arm; libc: glibc |
|
||||
| [`@img/sharp-libvips-linux-arm64`](https://www.npmjs.com/package/@img/sharp-libvips-linux-arm64/v/1.3.3) | `1.3.3` | 可选 | os: linux; cpu: arm64; libc: glibc |
|
||||
| [`@img/sharp-libvips-linux-ppc64`](https://www.npmjs.com/package/@img/sharp-libvips-linux-ppc64/v/1.3.3) | `1.3.3` | 可选 | os: linux; cpu: ppc64; libc: glibc |
|
||||
| [`@img/sharp-libvips-linux-riscv64`](https://www.npmjs.com/package/@img/sharp-libvips-linux-riscv64/v/1.3.3) | `1.3.3` | 可选 | os: linux; cpu: riscv64; libc: glibc |
|
||||
| [`@img/sharp-libvips-linux-s390x`](https://www.npmjs.com/package/@img/sharp-libvips-linux-s390x/v/1.3.3) | `1.3.3` | 可选 | os: linux; cpu: s390x; libc: glibc |
|
||||
| [`@img/sharp-libvips-linux-x64`](https://www.npmjs.com/package/@img/sharp-libvips-linux-x64/v/1.3.3) | `1.3.3` | 可选 | os: linux; cpu: x64; libc: glibc |
|
||||
| [`@img/sharp-libvips-linuxmusl-arm64`](https://www.npmjs.com/package/@img/sharp-libvips-linuxmusl-arm64/v/1.3.3) | `1.3.3` | 可选 | os: linux; cpu: arm64; libc: musl |
|
||||
| [`@img/sharp-libvips-linuxmusl-x64`](https://www.npmjs.com/package/@img/sharp-libvips-linuxmusl-x64/v/1.3.3) | `1.3.3` | 可选 | os: linux; cpu: x64; libc: musl |
|
||||
| [`@img/sharp-linux-arm`](https://www.npmjs.com/package/@img/sharp-linux-arm/v/0.35.4) | `0.35.4` | 可选 | os: linux; cpu: arm; libc: glibc |
|
||||
| [`@img/sharp-linux-arm64`](https://www.npmjs.com/package/@img/sharp-linux-arm64/v/0.35.4) | `0.35.4` | 可选 | os: linux; cpu: arm64; libc: glibc |
|
||||
| [`@img/sharp-linux-ppc64`](https://www.npmjs.com/package/@img/sharp-linux-ppc64/v/0.35.4) | `0.35.4` | 可选 | os: linux; cpu: ppc64; libc: glibc |
|
||||
| [`@img/sharp-linux-riscv64`](https://www.npmjs.com/package/@img/sharp-linux-riscv64/v/0.35.4) | `0.35.4` | 可选 | os: linux; cpu: riscv64; libc: glibc |
|
||||
| [`@img/sharp-linux-s390x`](https://www.npmjs.com/package/@img/sharp-linux-s390x/v/0.35.4) | `0.35.4` | 可选 | os: linux; cpu: s390x; libc: glibc |
|
||||
| [`@img/sharp-linux-x64`](https://www.npmjs.com/package/@img/sharp-linux-x64/v/0.35.4) | `0.35.4` | 可选 | os: linux; cpu: x64; libc: glibc |
|
||||
| [`@img/sharp-linuxmusl-arm64`](https://www.npmjs.com/package/@img/sharp-linuxmusl-arm64/v/0.35.4) | `0.35.4` | 可选 | os: linux; cpu: arm64; libc: musl |
|
||||
| [`@img/sharp-linuxmusl-x64`](https://www.npmjs.com/package/@img/sharp-linuxmusl-x64/v/0.35.4) | `0.35.4` | 可选 | os: linux; cpu: x64; libc: musl |
|
||||
| [`@img/sharp-wasm32`](https://www.npmjs.com/package/@img/sharp-wasm32/v/0.35.4) | `0.35.4` | 可选 | — |
|
||||
| [`@img/sharp-webcontainers-wasm32`](https://www.npmjs.com/package/@img/sharp-webcontainers-wasm32/v/0.35.4) | `0.35.4` | 可选 | cpu: wasm32 |
|
||||
| [`@img/sharp-win32-arm64`](https://www.npmjs.com/package/@img/sharp-win32-arm64/v/0.35.4) | `0.35.4` | 可选 | os: win32; cpu: arm64 |
|
||||
| [`@img/sharp-win32-ia32`](https://www.npmjs.com/package/@img/sharp-win32-ia32/v/0.35.4) | `0.35.4` | 可选 | os: win32; cpu: ia32 |
|
||||
| [`@img/sharp-win32-x64`](https://www.npmjs.com/package/@img/sharp-win32-x64/v/0.35.4) | `0.35.4` | 可选 | os: win32; cpu: x64 |
|
||||
| [`@joplin/turndown-plugin-gfm`](https://www.npmjs.com/package/@joplin/turndown-plugin-gfm/v/1.0.68) | `1.0.68` | 必需 | — |
|
||||
| [`@koromix/koffi-android-arm64`](https://www.npmjs.com/package/@koromix/koffi-android-arm64/v/3.2.1) | `3.2.1` | 可选 | os: android; cpu: arm64 |
|
||||
| [`@koromix/koffi-android-x64`](https://www.npmjs.com/package/@koromix/koffi-android-x64/v/3.2.1) | `3.2.1` | 可选 | os: android; cpu: x64 |
|
||||
| [`@koromix/koffi-darwin-arm64`](https://www.npmjs.com/package/@koromix/koffi-darwin-arm64/v/3.2.1) | `3.2.1` | 可选 | os: darwin; cpu: arm64 |
|
||||
| [`@koromix/koffi-darwin-x64`](https://www.npmjs.com/package/@koromix/koffi-darwin-x64/v/3.2.1) | `3.2.1` | 可选 | os: darwin; cpu: x64 |
|
||||
| [`@koromix/koffi-freebsd-arm64`](https://www.npmjs.com/package/@koromix/koffi-freebsd-arm64/v/3.2.1) | `3.2.1` | 可选 | os: freebsd; cpu: arm64 |
|
||||
| [`@koromix/koffi-freebsd-ia32`](https://www.npmjs.com/package/@koromix/koffi-freebsd-ia32/v/3.2.1) | `3.2.1` | 可选 | os: freebsd; cpu: ia32 |
|
||||
| [`@koromix/koffi-freebsd-x64`](https://www.npmjs.com/package/@koromix/koffi-freebsd-x64/v/3.2.1) | `3.2.1` | 可选 | os: freebsd; cpu: x64 |
|
||||
| [`@koromix/koffi-linux-arm`](https://www.npmjs.com/package/@koromix/koffi-linux-arm/v/3.2.1) | `3.2.1` | 可选 | os: linux; cpu: arm |
|
||||
| [`@koromix/koffi-linux-arm64`](https://www.npmjs.com/package/@koromix/koffi-linux-arm64/v/3.2.1) | `3.2.1` | 可选 | os: linux; cpu: arm64 |
|
||||
| [`@koromix/koffi-linux-ia32`](https://www.npmjs.com/package/@koromix/koffi-linux-ia32/v/3.2.1) | `3.2.1` | 可选 | os: linux; cpu: ia32 |
|
||||
| [`@koromix/koffi-linux-loong64`](https://www.npmjs.com/package/@koromix/koffi-linux-loong64/v/3.2.1) | `3.2.1` | 可选 | os: linux; cpu: loong64 |
|
||||
| [`@koromix/koffi-linux-riscv64`](https://www.npmjs.com/package/@koromix/koffi-linux-riscv64/v/3.2.1) | `3.2.1` | 可选 | os: linux; cpu: riscv64 |
|
||||
| [`@koromix/koffi-linux-x64`](https://www.npmjs.com/package/@koromix/koffi-linux-x64/v/3.2.1) | `3.2.1` | 可选 | os: linux; cpu: x64 |
|
||||
| [`@koromix/koffi-openbsd-ia32`](https://www.npmjs.com/package/@koromix/koffi-openbsd-ia32/v/3.2.1) | `3.2.1` | 可选 | os: openbsd; cpu: ia32 |
|
||||
| [`@koromix/koffi-openbsd-x64`](https://www.npmjs.com/package/@koromix/koffi-openbsd-x64/v/3.2.1) | `3.2.1` | 可选 | os: openbsd; cpu: x64 |
|
||||
| [`@koromix/koffi-win32-arm64`](https://www.npmjs.com/package/@koromix/koffi-win32-arm64/v/3.2.1) | `3.2.1` | 可选 | os: win32; cpu: arm64 |
|
||||
| [`@koromix/koffi-win32-ia32`](https://www.npmjs.com/package/@koromix/koffi-win32-ia32/v/3.2.1) | `3.2.1` | 可选 | os: win32; cpu: ia32 |
|
||||
| [`@koromix/koffi-win32-x64`](https://www.npmjs.com/package/@koromix/koffi-win32-x64/v/3.2.1) | `3.2.1` | 可选 | os: win32; cpu: x64 |
|
||||
| [`@mixmark-io/domino`](https://www.npmjs.com/package/@mixmark-io/domino/v/2.2.0) | `2.2.0` | 必需 | — |
|
||||
| [`@modelcontextprotocol/sdk`](https://www.npmjs.com/package/@modelcontextprotocol/sdk/v/1.30.0) | `1.30.0` | 必需 | — |
|
||||
| [`@octokit/openapi-types`](https://www.npmjs.com/package/@octokit/openapi-types/v/29.0.1) | `29.0.1` | 必需 | — |
|
||||
| [`@octokit/openapi-webhooks-types`](https://www.npmjs.com/package/@octokit/openapi-webhooks-types/v/12.1.0) | `12.1.0` | 必需 | — |
|
||||
| [`@octokit/request-error`](https://www.npmjs.com/package/@octokit/request-error/v/7.1.2) | `7.1.2` | 必需 | — |
|
||||
| [`@octokit/types`](https://www.npmjs.com/package/@octokit/types/v/18.0.0) | `18.0.0` | 必需 | — |
|
||||
| [`@octokit/webhooks`](https://www.npmjs.com/package/@octokit/webhooks/v/14.2.0) | `14.2.0` | 必需 | — |
|
||||
| [`@octokit/webhooks-methods`](https://www.npmjs.com/package/@octokit/webhooks-methods/v/6.0.0) | `6.0.0` | 必需 | — |
|
||||
| [`@opentelemetry/api`](https://www.npmjs.com/package/@opentelemetry/api/v/1.9.1) | `1.9.1` | 必需 | — |
|
||||
| [`@opentelemetry/api-logs`](https://www.npmjs.com/package/@opentelemetry/api-logs/v/0.220.0) | `0.220.0` | 必需 | — |
|
||||
| [`@opentelemetry/core`](https://www.npmjs.com/package/@opentelemetry/core/v/2.11.0) | `2.11.0` | 必需 | — |
|
||||
| [`@opentelemetry/core`](https://www.npmjs.com/package/@opentelemetry/core/v/2.9.0) | `2.9.0` | 必需 | — |
|
||||
| [`@opentelemetry/exporter-logs-otlp-http`](https://www.npmjs.com/package/@opentelemetry/exporter-logs-otlp-http/v/0.220.0) | `0.220.0` | 必需 | — |
|
||||
| [`@opentelemetry/otlp-exporter-base`](https://www.npmjs.com/package/@opentelemetry/otlp-exporter-base/v/0.220.0) | `0.220.0` | 必需 | — |
|
||||
| [`@opentelemetry/otlp-transformer`](https://www.npmjs.com/package/@opentelemetry/otlp-transformer/v/0.220.0) | `0.220.0` | 必需 | — |
|
||||
| [`@opentelemetry/resources`](https://www.npmjs.com/package/@opentelemetry/resources/v/2.11.0) | `2.11.0` | 必需 | — |
|
||||
| [`@opentelemetry/resources`](https://www.npmjs.com/package/@opentelemetry/resources/v/2.9.0) | `2.9.0` | 必需 | — |
|
||||
| [`@opentelemetry/resources`](https://www.npmjs.com/package/@opentelemetry/resources/v/2.9.0) | `2.9.0` | 必需 | — |
|
||||
| [`@opentelemetry/resources`](https://www.npmjs.com/package/@opentelemetry/resources/v/2.9.0) | `2.9.0` | 必需 | — |
|
||||
| [`@opentelemetry/resources`](https://www.npmjs.com/package/@opentelemetry/resources/v/2.9.0) | `2.9.0` | 必需 | — |
|
||||
| [`@opentelemetry/sdk-logs`](https://www.npmjs.com/package/@opentelemetry/sdk-logs/v/0.220.0) | `0.220.0` | 必需 | — |
|
||||
| [`@opentelemetry/sdk-metrics`](https://www.npmjs.com/package/@opentelemetry/sdk-metrics/v/2.9.0) | `2.9.0` | 必需 | — |
|
||||
| [`@opentelemetry/sdk-trace`](https://www.npmjs.com/package/@opentelemetry/sdk-trace/v/2.9.0) | `2.9.0` | 必需 | — |
|
||||
| [`@opentelemetry/semantic-conventions`](https://www.npmjs.com/package/@opentelemetry/semantic-conventions/v/1.43.0) | `1.43.0` | 必需 | — |
|
||||
| [`@protobufjs/aspromise`](https://www.npmjs.com/package/@protobufjs/aspromise/v/1.1.2) | `1.1.2` | 必需 | — |
|
||||
| [`@protobufjs/base64`](https://www.npmjs.com/package/@protobufjs/base64/v/1.1.2) | `1.1.2` | 必需 | — |
|
||||
| [`@protobufjs/codegen`](https://www.npmjs.com/package/@protobufjs/codegen/v/2.0.5) | `2.0.5` | 必需 | — |
|
||||
| [`@protobufjs/eventemitter`](https://www.npmjs.com/package/@protobufjs/eventemitter/v/1.1.1) | `1.1.1` | 必需 | — |
|
||||
| [`@protobufjs/fetch`](https://www.npmjs.com/package/@protobufjs/fetch/v/1.1.1) | `1.1.1` | 必需 | — |
|
||||
| [`@protobufjs/float`](https://www.npmjs.com/package/@protobufjs/float/v/1.0.2) | `1.0.2` | 必需 | — |
|
||||
| [`@protobufjs/path`](https://www.npmjs.com/package/@protobufjs/path/v/1.1.2) | `1.1.2` | 必需 | — |
|
||||
| [`@protobufjs/pool`](https://www.npmjs.com/package/@protobufjs/pool/v/1.1.0) | `1.1.0` | 必需 | — |
|
||||
| [`@protobufjs/utf8`](https://www.npmjs.com/package/@protobufjs/utf8/v/1.1.2) | `1.1.2` | 必需 | — |
|
||||
| [`@smithy/core`](https://www.npmjs.com/package/@smithy/core/v/3.34.1) | `3.34.1` | 必需 | — |
|
||||
| [`@smithy/credential-provider-imds`](https://www.npmjs.com/package/@smithy/credential-provider-imds/v/4.5.2) | `4.5.2` | 必需 | — |
|
||||
| [`@smithy/fetch-http-handler`](https://www.npmjs.com/package/@smithy/fetch-http-handler/v/5.8.0) | `5.8.0` | 必需 | — |
|
||||
| [`@smithy/is-array-buffer`](https://www.npmjs.com/package/@smithy/is-array-buffer/v/2.2.0) | `2.2.0` | 必需 | — |
|
||||
| [`@smithy/node-http-handler`](https://www.npmjs.com/package/@smithy/node-http-handler/v/4.12.1) | `4.12.1` | 必需 | — |
|
||||
| [`@smithy/node-http-handler`](https://www.npmjs.com/package/@smithy/node-http-handler/v/4.12.1) | `4.12.1` | 必需 | — |
|
||||
| [`@smithy/node-http-handler`](https://www.npmjs.com/package/@smithy/node-http-handler/v/4.7.3) | `4.7.3` | 必需 | — |
|
||||
| [`@smithy/signature-v4`](https://www.npmjs.com/package/@smithy/signature-v4/v/5.7.3) | `5.7.3` | 必需 | — |
|
||||
| [`@smithy/types`](https://www.npmjs.com/package/@smithy/types/v/4.18.0) | `4.18.0` | 必需 | — |
|
||||
| [`@smithy/util-buffer-from`](https://www.npmjs.com/package/@smithy/util-buffer-from/v/2.2.0) | `2.2.0` | 必需 | — |
|
||||
| [`@smithy/util-utf8`](https://www.npmjs.com/package/@smithy/util-utf8/v/2.3.0) | `2.3.0` | 必需 | — |
|
||||
| [`@stablelib/base64`](https://www.npmjs.com/package/@stablelib/base64/v/1.0.1) | `1.0.1` | 必需 | — |
|
||||
| [`@standard-schema/spec`](https://www.npmjs.com/package/@standard-schema/spec/v/1.1.0) | `1.1.0` | 必需 | — |
|
||||
| [`@types/node`](https://www.npmjs.com/package/@types/node/v/22.20.2) | `22.20.2` | 必需 | — |
|
||||
| [`@types/retry`](https://www.npmjs.com/package/@types/retry/v/0.12.0) | `0.12.0` | 必需 | — |
|
||||
| [`@vscode/ripgrep`](https://www.npmjs.com/package/@vscode/ripgrep/v/1.18.0) | `1.18.0` | 必需 | — |
|
||||
| [`@vscode/ripgrep-darwin-arm64`](https://www.npmjs.com/package/@vscode/ripgrep-darwin-arm64/v/1.18.0) | `1.18.0` | 可选 | os: darwin; cpu: arm64 |
|
||||
| [`@vscode/ripgrep-darwin-x64`](https://www.npmjs.com/package/@vscode/ripgrep-darwin-x64/v/1.18.0) | `1.18.0` | 可选 | os: darwin; cpu: x64 |
|
||||
| [`@vscode/ripgrep-linux-arm`](https://www.npmjs.com/package/@vscode/ripgrep-linux-arm/v/1.18.0) | `1.18.0` | 可选 | os: linux; cpu: arm |
|
||||
| [`@vscode/ripgrep-linux-arm64`](https://www.npmjs.com/package/@vscode/ripgrep-linux-arm64/v/1.18.0) | `1.18.0` | 可选 | os: linux; cpu: arm64 |
|
||||
| [`@vscode/ripgrep-linux-ia32`](https://www.npmjs.com/package/@vscode/ripgrep-linux-ia32/v/1.18.0) | `1.18.0` | 可选 | os: linux; cpu: ia32 |
|
||||
| [`@vscode/ripgrep-linux-ppc64`](https://www.npmjs.com/package/@vscode/ripgrep-linux-ppc64/v/1.18.0) | `1.18.0` | 可选 | os: linux; cpu: ppc64 |
|
||||
| [`@vscode/ripgrep-linux-riscv64`](https://www.npmjs.com/package/@vscode/ripgrep-linux-riscv64/v/1.18.0) | `1.18.0` | 可选 | os: linux; cpu: riscv64 |
|
||||
| [`@vscode/ripgrep-linux-s390x`](https://www.npmjs.com/package/@vscode/ripgrep-linux-s390x/v/1.18.0) | `1.18.0` | 可选 | os: linux; cpu: s390x |
|
||||
| [`@vscode/ripgrep-linux-x64`](https://www.npmjs.com/package/@vscode/ripgrep-linux-x64/v/1.18.0) | `1.18.0` | 可选 | os: linux; cpu: x64 |
|
||||
| [`@vscode/ripgrep-win32-arm64`](https://www.npmjs.com/package/@vscode/ripgrep-win32-arm64/v/1.18.0) | `1.18.0` | 可选 | os: win32; cpu: arm64 |
|
||||
| [`@vscode/ripgrep-win32-ia32`](https://www.npmjs.com/package/@vscode/ripgrep-win32-ia32/v/1.18.0) | `1.18.0` | 可选 | os: win32; cpu: ia32 |
|
||||
| [`@vscode/ripgrep-win32-x64`](https://www.npmjs.com/package/@vscode/ripgrep-win32-x64/v/1.18.0) | `1.18.0` | 可选 | os: win32; cpu: x64 |
|
||||
| [`@xterm/headless`](https://www.npmjs.com/package/@xterm/headless/v/6.0.0) | `6.0.0` | 必需 | — |
|
||||
| [`accepts`](https://www.npmjs.com/package/accepts/v/2.0.0) | `2.0.0` | 必需 | — |
|
||||
| [`agent-base`](https://www.npmjs.com/package/agent-base/v/7.1.4) | `7.1.4` | 必需 | — |
|
||||
| [`ajv`](https://www.npmjs.com/package/ajv/v/8.20.0) | `8.20.0` | 必需 | — |
|
||||
| [`ajv-formats`](https://www.npmjs.com/package/ajv-formats/v/3.0.1) | `3.0.1` | 必需 | — |
|
||||
| [`argparse`](https://www.npmjs.com/package/argparse/v/2.0.1) | `2.0.1` | 必需 | — |
|
||||
| [`base64-js`](https://www.npmjs.com/package/base64-js/v/1.5.1) | `1.5.1` | 必需 | — |
|
||||
| [`bignumber.js`](https://www.npmjs.com/package/bignumber.js/v/9.3.1) | `9.3.1` | 必需 | — |
|
||||
| [`body-parser`](https://www.npmjs.com/package/body-parser/v/2.3.0) | `2.3.0` | 必需 | — |
|
||||
| [`bowser`](https://www.npmjs.com/package/bowser/v/2.14.1) | `2.14.1` | 必需 | — |
|
||||
| [`buffer-equal-constant-time`](https://www.npmjs.com/package/buffer-equal-constant-time/v/1.0.1) | `1.0.1` | 必需 | — |
|
||||
| [`bundle-name`](https://www.npmjs.com/package/bundle-name/v/4.1.0) | `4.1.0` | 必需 | — |
|
||||
| [`bytes`](https://www.npmjs.com/package/bytes/v/3.1.2) | `3.1.2` | 必需 | — |
|
||||
| [`call-bind-apply-helpers`](https://www.npmjs.com/package/call-bind-apply-helpers/v/1.0.2) | `1.0.2` | 必需 | — |
|
||||
| [`call-bound`](https://www.npmjs.com/package/call-bound/v/1.0.4) | `1.0.4` | 必需 | — |
|
||||
| [`chokidar`](https://www.npmjs.com/package/chokidar/v/4.0.3) | `4.0.3` | 必需 | — |
|
||||
| [`chokidar`](https://www.npmjs.com/package/chokidar/v/5.0.0) | `5.0.0` | 必需 | — |
|
||||
| [`compressible`](https://www.npmjs.com/package/compressible/v/2.0.18) | `2.0.18` | 必需 | — |
|
||||
| [`compression`](https://www.npmjs.com/package/compression/v/1.8.2) | `1.8.2` | 必需 | — |
|
||||
| [`content-disposition`](https://www.npmjs.com/package/content-disposition/v/1.1.0) | `1.1.0` | 必需 | — |
|
||||
| [`content-type`](https://www.npmjs.com/package/content-type/v/1.0.5) | `1.0.5` | 必需 | — |
|
||||
| [`content-type`](https://www.npmjs.com/package/content-type/v/2.1.0) | `2.1.0` | 必需 | — |
|
||||
| [`content-type`](https://www.npmjs.com/package/content-type/v/2.1.0) | `2.1.0` | 必需 | — |
|
||||
| [`content-type`](https://www.npmjs.com/package/content-type/v/2.1.0) | `2.1.0` | 必需 | — |
|
||||
| [`cookie`](https://www.npmjs.com/package/cookie/v/0.7.2) | `0.7.2` | 必需 | — |
|
||||
| [`cookie-signature`](https://www.npmjs.com/package/cookie-signature/v/1.2.2) | `1.2.2` | 必需 | — |
|
||||
| [`cors`](https://www.npmjs.com/package/cors/v/2.8.6) | `2.8.6` | 必需 | — |
|
||||
| [`cross-spawn`](https://www.npmjs.com/package/cross-spawn/v/7.0.6) | `7.0.6` | 必需 | — |
|
||||
| [`data-uri-to-buffer`](https://www.npmjs.com/package/data-uri-to-buffer/v/4.0.1) | `4.0.1` | 必需 | — |
|
||||
| [`debug`](https://www.npmjs.com/package/debug/v/2.6.9) | `2.6.9` | 必需 | — |
|
||||
| [`debug`](https://www.npmjs.com/package/debug/v/4.4.3) | `4.4.3` | 必需 | — |
|
||||
| [`debug`](https://www.npmjs.com/package/debug/v/4.4.3) | `4.4.3` | 必需 | — |
|
||||
| [`debug`](https://www.npmjs.com/package/debug/v/4.4.3) | `4.4.3` | 必需 | — |
|
||||
| [`debug`](https://www.npmjs.com/package/debug/v/4.4.3) | `4.4.3` | 必需 | — |
|
||||
| [`debug`](https://www.npmjs.com/package/debug/v/4.4.3) | `4.4.3` | 必需 | — |
|
||||
| [`debug`](https://www.npmjs.com/package/debug/v/4.4.3) | `4.4.3` | 必需 | — |
|
||||
| [`debug`](https://www.npmjs.com/package/debug/v/4.4.3) | `4.4.3` | 必需 | — |
|
||||
| [`debug`](https://www.npmjs.com/package/debug/v/4.4.3) | `4.4.3` | 必需 | — |
|
||||
| [`default-browser`](https://www.npmjs.com/package/default-browser/v/5.5.1) | `5.5.1` | 必需 | — |
|
||||
| [`default-browser-id`](https://www.npmjs.com/package/default-browser-id/v/5.0.1) | `5.0.1` | 必需 | — |
|
||||
| [`define-lazy-prop`](https://www.npmjs.com/package/define-lazy-prop/v/3.0.0) | `3.0.0` | 必需 | — |
|
||||
| [`depd`](https://www.npmjs.com/package/depd/v/2.0.0) | `2.0.0` | 必需 | — |
|
||||
| [`destroy`](https://www.npmjs.com/package/destroy/v/1.2.0) | `1.2.0` | 必需 | — |
|
||||
| [`detect-libc`](https://www.npmjs.com/package/detect-libc/v/2.1.2) | `2.1.2` | 必需 | — |
|
||||
| [`diff`](https://www.npmjs.com/package/diff/v/9.0.0) | `9.0.0` | 必需 | — |
|
||||
| [`dunder-proto`](https://www.npmjs.com/package/dunder-proto/v/1.0.1) | `1.0.1` | 必需 | — |
|
||||
| [`ecdsa-sig-formatter`](https://www.npmjs.com/package/ecdsa-sig-formatter/v/1.0.11) | `1.0.11` | 必需 | — |
|
||||
| [`ee-first`](https://www.npmjs.com/package/ee-first/v/1.1.1) | `1.1.1` | 必需 | — |
|
||||
| [`encodeurl`](https://www.npmjs.com/package/encodeurl/v/2.0.0) | `2.0.0` | 必需 | — |
|
||||
| [`es-define-property`](https://www.npmjs.com/package/es-define-property/v/1.0.1) | `1.0.1` | 必需 | — |
|
||||
| [`es-errors`](https://www.npmjs.com/package/es-errors/v/1.3.0) | `1.3.0` | 必需 | — |
|
||||
| [`es-object-atoms`](https://www.npmjs.com/package/es-object-atoms/v/1.1.2) | `1.1.2` | 必需 | — |
|
||||
| [`escape-html`](https://www.npmjs.com/package/escape-html/v/1.0.3) | `1.0.3` | 必需 | — |
|
||||
| [`etag`](https://www.npmjs.com/package/etag/v/1.8.1) | `1.8.1` | 必需 | — |
|
||||
| [`eventsource`](https://www.npmjs.com/package/eventsource/v/3.0.7) | `3.0.7` | 必需 | — |
|
||||
| [`eventsource-parser`](https://www.npmjs.com/package/eventsource-parser/v/3.1.1) | `3.1.1` | 必需 | — |
|
||||
| [`express`](https://www.npmjs.com/package/express/v/5.2.1) | `5.2.1` | 必需 | — |
|
||||
| [`express-rate-limit`](https://www.npmjs.com/package/express-rate-limit/v/8.7.0) | `8.7.0` | 必需 | — |
|
||||
| [`extend`](https://www.npmjs.com/package/extend/v/3.0.2) | `3.0.2` | 必需 | — |
|
||||
| [`fast-deep-equal`](https://www.npmjs.com/package/fast-deep-equal/v/3.1.3) | `3.1.3` | 必需 | — |
|
||||
| [`fast-sha256`](https://www.npmjs.com/package/fast-sha256/v/1.3.0) | `1.3.0` | 必需 | — |
|
||||
| [`fast-uri`](https://www.npmjs.com/package/fast-uri/v/3.1.7) | `3.1.7` | 必需 | — |
|
||||
| [`fetch-blob`](https://www.npmjs.com/package/fetch-blob/v/3.2.0) | `3.2.0` | 必需 | — |
|
||||
| [`fflate`](https://www.npmjs.com/package/fflate/v/0.8.3) | `0.8.3` | 必需 | — |
|
||||
| [`finalhandler`](https://www.npmjs.com/package/finalhandler/v/2.1.1) | `2.1.1` | 必需 | — |
|
||||
| [`formdata-polyfill`](https://www.npmjs.com/package/formdata-polyfill/v/4.0.10) | `4.0.10` | 必需 | — |
|
||||
| [`forwarded`](https://www.npmjs.com/package/forwarded/v/0.2.0) | `0.2.0` | 必需 | — |
|
||||
| [`fresh`](https://www.npmjs.com/package/fresh/v/2.0.0) | `2.0.0` | 必需 | — |
|
||||
| [`function-bind`](https://www.npmjs.com/package/function-bind/v/1.1.2) | `1.1.2` | 必需 | — |
|
||||
| [`gaxios`](https://www.npmjs.com/package/gaxios/v/7.3.1) | `7.3.1` | 必需 | — |
|
||||
| [`gcp-metadata`](https://www.npmjs.com/package/gcp-metadata/v/8.1.2) | `8.1.2` | 必需 | — |
|
||||
| [`get-intrinsic`](https://www.npmjs.com/package/get-intrinsic/v/1.3.0) | `1.3.0` | 必需 | — |
|
||||
| [`get-proto`](https://www.npmjs.com/package/get-proto/v/1.0.1) | `1.0.1` | 必需 | — |
|
||||
| [`google-auth-library`](https://www.npmjs.com/package/google-auth-library/v/10.9.1) | `10.9.1` | 必需 | — |
|
||||
| [`google-logging-utils`](https://www.npmjs.com/package/google-logging-utils/v/1.1.3) | `1.1.3` | 必需 | — |
|
||||
| [`gopd`](https://www.npmjs.com/package/gopd/v/1.2.0) | `1.2.0` | 必需 | — |
|
||||
| [`has-symbols`](https://www.npmjs.com/package/has-symbols/v/1.1.0) | `1.1.0` | 必需 | — |
|
||||
| [`hasown`](https://www.npmjs.com/package/hasown/v/2.0.4) | `2.0.4` | 必需 | — |
|
||||
| [`hono`](https://www.npmjs.com/package/hono/v/4.13.7) | `4.13.7` | 必需 | — |
|
||||
| [`http-errors`](https://www.npmjs.com/package/http-errors/v/2.0.1) | `2.0.1` | 必需 | — |
|
||||
| [`http-proxy-agent`](https://www.npmjs.com/package/http-proxy-agent/v/7.0.2) | `7.0.2` | 必需 | — |
|
||||
| [`https-proxy-agent`](https://www.npmjs.com/package/https-proxy-agent/v/7.0.6) | `7.0.6` | 必需 | — |
|
||||
| [`iconv-lite`](https://www.npmjs.com/package/iconv-lite/v/0.7.3) | `0.7.3` | 必需 | — |
|
||||
| [`inherits`](https://www.npmjs.com/package/inherits/v/2.0.4) | `2.0.4` | 必需 | — |
|
||||
| [`ip-address`](https://www.npmjs.com/package/ip-address/v/10.7.0) | `10.7.0` | 必需 | — |
|
||||
| [`ipaddr.js`](https://www.npmjs.com/package/ipaddr.js/v/1.9.1) | `1.9.1` | 必需 | — |
|
||||
| [`ipaddr.js`](https://www.npmjs.com/package/ipaddr.js/v/2.5.0) | `2.5.0` | 必需 | — |
|
||||
| [`is-docker`](https://www.npmjs.com/package/is-docker/v/3.0.0) | `3.0.0` | 必需 | — |
|
||||
| [`is-in-ssh`](https://www.npmjs.com/package/is-in-ssh/v/1.0.0) | `1.0.0` | 必需 | — |
|
||||
| [`is-inside-container`](https://www.npmjs.com/package/is-inside-container/v/1.0.0) | `1.0.0` | 必需 | — |
|
||||
| [`is-promise`](https://www.npmjs.com/package/is-promise/v/4.0.0) | `4.0.0` | 必需 | — |
|
||||
| [`is-wsl`](https://www.npmjs.com/package/is-wsl/v/3.1.1) | `3.1.1` | 必需 | — |
|
||||
| [`isexe`](https://www.npmjs.com/package/isexe/v/2.0.0) | `2.0.0` | 必需 | — |
|
||||
| [`jose`](https://www.npmjs.com/package/jose/v/6.2.12) | `6.2.12` | 必需 | — |
|
||||
| [`js-tokens`](https://www.npmjs.com/package/js-tokens/v/4.0.0) | `4.0.0` | 必需 | — |
|
||||
| [`json-bigint`](https://www.npmjs.com/package/json-bigint/v/1.0.0) | `1.0.0` | 必需 | — |
|
||||
| [`json-schema-to-ts`](https://www.npmjs.com/package/json-schema-to-ts/v/3.1.1) | `3.1.1` | 必需 | — |
|
||||
| [`json-schema-traverse`](https://www.npmjs.com/package/json-schema-traverse/v/1.0.0) | `1.0.0` | 必需 | — |
|
||||
| [`json-schema-typed`](https://www.npmjs.com/package/json-schema-typed/v/8.0.2) | `8.0.2` | 必需 | — |
|
||||
| [`jwa`](https://www.npmjs.com/package/jwa/v/2.0.1) | `2.0.1` | 必需 | — |
|
||||
| [`jws`](https://www.npmjs.com/package/jws/v/4.0.1) | `4.0.1` | 必需 | — |
|
||||
| [`koffi`](https://www.npmjs.com/package/koffi/v/3.2.1) | `3.2.1` | 必需 | — |
|
||||
| [`long`](https://www.npmjs.com/package/long/v/5.3.2) | `5.3.2` | 必需 | — |
|
||||
| [`math-intrinsics`](https://www.npmjs.com/package/math-intrinsics/v/1.1.0) | `1.1.0` | 必需 | — |
|
||||
| [`media-typer`](https://www.npmjs.com/package/media-typer/v/1.1.1) | `1.1.1` | 必需 | — |
|
||||
| [`merge-descriptors`](https://www.npmjs.com/package/merge-descriptors/v/2.0.0) | `2.0.0` | 必需 | — |
|
||||
| [`mime-db`](https://www.npmjs.com/package/mime-db/v/1.54.0) | `1.54.0` | 必需 | — |
|
||||
| [`mime-types`](https://www.npmjs.com/package/mime-types/v/3.0.2) | `3.0.2` | 必需 | — |
|
||||
| [`ms`](https://www.npmjs.com/package/ms/v/2.0.0) | `2.0.0` | 必需 | — |
|
||||
| [`ms`](https://www.npmjs.com/package/ms/v/2.1.3) | `2.1.3` | 必需 | — |
|
||||
| [`ms`](https://www.npmjs.com/package/ms/v/2.1.3) | `2.1.3` | 必需 | — |
|
||||
| [`ms`](https://www.npmjs.com/package/ms/v/2.1.3) | `2.1.3` | 必需 | — |
|
||||
| [`ms`](https://www.npmjs.com/package/ms/v/2.1.3) | `2.1.3` | 必需 | — |
|
||||
| [`ms`](https://www.npmjs.com/package/ms/v/2.1.3) | `2.1.3` | 必需 | — |
|
||||
| [`ms`](https://www.npmjs.com/package/ms/v/2.1.3) | `2.1.3` | 必需 | — |
|
||||
| [`ms`](https://www.npmjs.com/package/ms/v/2.1.3) | `2.1.3` | 必需 | — |
|
||||
| [`ms`](https://www.npmjs.com/package/ms/v/2.1.3) | `2.1.3` | 必需 | — |
|
||||
| [`negotiator`](https://www.npmjs.com/package/negotiator/v/0.6.4) | `0.6.4` | 必需 | — |
|
||||
| [`negotiator`](https://www.npmjs.com/package/negotiator/v/1.1.0) | `1.1.0` | 必需 | — |
|
||||
| [`node-addon-api`](https://www.npmjs.com/package/node-addon-api/v/7.1.1) | `7.1.1` | 必需 | — |
|
||||
| [`node-addon-native-custom-loader`](https://www.npmjs.com/package/node-addon-native-custom-loader/v/0.1.5) | `0.1.5` | 必需 | — |
|
||||
| [`node-addon-require-builtin-darwin-arm64`](https://www.npmjs.com/package/node-addon-require-builtin-darwin-arm64/v/0.1.5) | `0.1.5` | 可选 | os: darwin; cpu: arm64 |
|
||||
| [`node-addon-require-builtin-darwin-x64`](https://www.npmjs.com/package/node-addon-require-builtin-darwin-x64/v/0.1.5) | `0.1.5` | 可选 | os: darwin; cpu: x64 |
|
||||
| [`node-addon-require-builtin-linux-arm64-gnu`](https://www.npmjs.com/package/node-addon-require-builtin-linux-arm64-gnu/v/0.1.5) | `0.1.5` | 可选 | os: linux; cpu: arm64; libc: glibc |
|
||||
| [`node-addon-require-builtin-linux-x64-gnu`](https://www.npmjs.com/package/node-addon-require-builtin-linux-x64-gnu/v/0.1.5) | `0.1.5` | 可选 | os: linux; cpu: x64; libc: glibc |
|
||||
| [`node-addon-require-builtin-win32-arm64-msvc`](https://www.npmjs.com/package/node-addon-require-builtin-win32-arm64-msvc/v/0.1.5) | `0.1.5` | 可选 | os: win32; cpu: arm64 |
|
||||
| [`node-addon-require-builtin-win32-ia32-msvc`](https://www.npmjs.com/package/node-addon-require-builtin-win32-ia32-msvc/v/0.1.5) | `0.1.5` | 可选 | os: win32; cpu: ia32 |
|
||||
| [`node-addon-require-builtin-win32-x64-msvc`](https://www.npmjs.com/package/node-addon-require-builtin-win32-x64-msvc/v/0.1.5) | `0.1.5` | 可选 | os: win32; cpu: x64 |
|
||||
| [`node-domexception`](https://www.npmjs.com/package/node-domexception/v/1.0.0) | `1.0.0` | 必需 | — |
|
||||
| [`node-fetch`](https://www.npmjs.com/package/node-fetch/v/3.3.2) | `3.3.2` | 必需 | — |
|
||||
| [`node-pty`](https://www.npmjs.com/package/node-pty/v/1.2.0-beta.15) | `1.2.0-beta.15` | 必需 | — |
|
||||
| [`object-assign`](https://www.npmjs.com/package/object-assign/v/4.1.1) | `4.1.1` | 必需 | — |
|
||||
| [`object-inspect`](https://www.npmjs.com/package/object-inspect/v/1.13.4) | `1.13.4` | 必需 | — |
|
||||
| [`on-finished`](https://www.npmjs.com/package/on-finished/v/2.4.1) | `2.4.1` | 必需 | — |
|
||||
| [`on-headers`](https://www.npmjs.com/package/on-headers/v/1.1.0) | `1.1.0` | 必需 | — |
|
||||
| [`once`](https://www.npmjs.com/package/once/v/1.4.0) | `1.4.0` | 必需 | — |
|
||||
| [`open`](https://www.npmjs.com/package/open/v/11.0.3) | `11.0.3` | 必需 | — |
|
||||
| [`openai`](https://www.npmjs.com/package/openai/v/6.40.0) | `6.40.0` | 必需 | — |
|
||||
| [`p-retry`](https://www.npmjs.com/package/p-retry/v/4.6.2) | `4.6.2` | 必需 | — |
|
||||
| [`parseurl`](https://www.npmjs.com/package/parseurl/v/1.3.3) | `1.3.3` | 必需 | — |
|
||||
| [`partial-json`](https://www.npmjs.com/package/partial-json/v/0.1.7) | `0.1.7` | 必需 | — |
|
||||
| [`path-key`](https://www.npmjs.com/package/path-key/v/3.1.1) | `3.1.1` | 必需 | — |
|
||||
| [`path-to-regexp`](https://www.npmjs.com/package/path-to-regexp/v/8.4.2) | `8.4.2` | 必需 | — |
|
||||
| [`picocolors`](https://www.npmjs.com/package/picocolors/v/1.1.1) | `1.1.1` | 必需 | — |
|
||||
| [`picomatch`](https://www.npmjs.com/package/picomatch/v/4.0.7) | `4.0.7` | 必需 | — |
|
||||
| [`pkce-challenge`](https://www.npmjs.com/package/pkce-challenge/v/5.0.1) | `5.0.1` | 必需 | — |
|
||||
| [`powershell-utils`](https://www.npmjs.com/package/powershell-utils/v/0.1.0) | `0.1.0` | 必需 | — |
|
||||
| [`powershell-utils`](https://www.npmjs.com/package/powershell-utils/v/0.2.1) | `0.2.1` | 必需 | — |
|
||||
| [`protobufjs`](https://www.npmjs.com/package/protobufjs/v/7.6.6) | `7.6.6` | 必需 | — |
|
||||
| [`proxy-addr`](https://www.npmjs.com/package/proxy-addr/v/2.0.7) | `2.0.7` | 必需 | — |
|
||||
| [`qs`](https://www.npmjs.com/package/qs/v/6.16.0) | `6.16.0` | 必需 | — |
|
||||
| [`range-parser`](https://www.npmjs.com/package/range-parser/v/1.3.0) | `1.3.0` | 必需 | — |
|
||||
| [`raw-body`](https://www.npmjs.com/package/raw-body/v/3.0.2) | `3.0.2` | 必需 | — |
|
||||
| [`readdirp`](https://www.npmjs.com/package/readdirp/v/4.1.2) | `4.1.2` | 必需 | — |
|
||||
| [`readdirp`](https://www.npmjs.com/package/readdirp/v/5.1.1) | `5.1.1` | 必需 | — |
|
||||
| [`require-from-string`](https://www.npmjs.com/package/require-from-string/v/2.0.2) | `2.0.2` | 必需 | — |
|
||||
| [`resolve.exports`](https://www.npmjs.com/package/resolve.exports/v/2.0.3) | `2.0.3` | 必需 | — |
|
||||
| [`retry`](https://www.npmjs.com/package/retry/v/0.13.1) | `0.13.1` | 必需 | — |
|
||||
| [`router`](https://www.npmjs.com/package/router/v/2.2.0) | `2.2.0` | 必需 | — |
|
||||
| [`run-applescript`](https://www.npmjs.com/package/run-applescript/v/7.1.0) | `7.1.0` | 必需 | — |
|
||||
| [`safe-buffer`](https://www.npmjs.com/package/safe-buffer/v/5.2.1) | `5.2.1` | 必需 | — |
|
||||
| [`safer-buffer`](https://www.npmjs.com/package/safer-buffer/v/2.1.2) | `2.1.2` | 必需 | — |
|
||||
| [`semver`](https://www.npmjs.com/package/semver/v/7.8.5) | `7.8.5` | 必需 | — |
|
||||
| [`send`](https://www.npmjs.com/package/send/v/1.2.1) | `1.2.1` | 必需 | — |
|
||||
| [`serve-static`](https://www.npmjs.com/package/serve-static/v/2.2.1) | `2.2.1` | 必需 | — |
|
||||
| [`setprototypeof`](https://www.npmjs.com/package/setprototypeof/v/1.2.0) | `1.2.0` | 必需 | — |
|
||||
| [`sharp`](https://www.npmjs.com/package/sharp/v/0.35.4) | `0.35.4` | 必需 | — |
|
||||
| [`shebang-command`](https://www.npmjs.com/package/shebang-command/v/2.0.0) | `2.0.0` | 必需 | — |
|
||||
| [`shebang-regex`](https://www.npmjs.com/package/shebang-regex/v/3.0.0) | `3.0.0` | 必需 | — |
|
||||
| [`side-channel`](https://www.npmjs.com/package/side-channel/v/1.1.1) | `1.1.1` | 必需 | — |
|
||||
| [`side-channel-list`](https://www.npmjs.com/package/side-channel-list/v/1.0.1) | `1.0.1` | 必需 | — |
|
||||
| [`side-channel-map`](https://www.npmjs.com/package/side-channel-map/v/1.0.1) | `1.0.1` | 必需 | — |
|
||||
| [`side-channel-weakmap`](https://www.npmjs.com/package/side-channel-weakmap/v/1.0.2) | `1.0.2` | 必需 | — |
|
||||
| [`standardwebhooks`](https://www.npmjs.com/package/standardwebhooks/v/1.1.1) | `1.1.1` | 必需 | — |
|
||||
| [`statuses`](https://www.npmjs.com/package/statuses/v/2.0.2) | `2.0.2` | 必需 | — |
|
||||
| [`toidentifier`](https://www.npmjs.com/package/toidentifier/v/1.0.1) | `1.0.1` | 必需 | — |
|
||||
| [`ts-algebra`](https://www.npmjs.com/package/ts-algebra/v/2.0.0) | `2.0.0` | 必需 | — |
|
||||
| [`tslib`](https://www.npmjs.com/package/tslib/v/2.8.1) | `2.8.1` | 必需 | — |
|
||||
| [`turndown`](https://www.npmjs.com/package/turndown/v/7.2.4) | `7.2.4` | 必需 | — |
|
||||
| [`type-is`](https://www.npmjs.com/package/type-is/v/2.1.0) | `2.1.0` | 必需 | — |
|
||||
| [`typebox`](https://www.npmjs.com/package/typebox/v/1.3.7) | `1.3.7` | 必需 | — |
|
||||
| [`undici`](https://www.npmjs.com/package/undici/v/8.10.2) | `8.10.2` | 必需 | — |
|
||||
| [`undici-types`](https://www.npmjs.com/package/undici-types/v/6.21.0) | `6.21.0` | 必需 | — |
|
||||
| [`unpipe`](https://www.npmjs.com/package/unpipe/v/1.0.0) | `1.0.0` | 必需 | — |
|
||||
| [`vary`](https://www.npmjs.com/package/vary/v/1.1.2) | `1.1.2` | 必需 | — |
|
||||
| [`web-streams-polyfill`](https://www.npmjs.com/package/web-streams-polyfill/v/3.3.3) | `3.3.3` | 必需 | — |
|
||||
| [`which`](https://www.npmjs.com/package/which/v/2.0.2) | `2.0.2` | 必需 | — |
|
||||
| [`wrappy`](https://www.npmjs.com/package/wrappy/v/1.0.2) | `1.0.2` | 必需 | — |
|
||||
| [`ws`](https://www.npmjs.com/package/ws/v/8.21.3) | `8.21.3` | 必需 | — |
|
||||
| [`wsl-utils`](https://www.npmjs.com/package/wsl-utils/v/1.0.0) | `1.0.0` | 必需 | — |
|
||||
| [`yaml`](https://www.npmjs.com/package/yaml/v/2.9.1) | `2.9.1` | 必需 | — |
|
||||
| [`zod`](https://www.npmjs.com/package/zod/v/4.6.2) | `4.6.2` | 必需 | — |
|
||||
| [`zod-to-json-schema`](https://www.npmjs.com/package/zod-to-json-schema/v/3.25.2) | `3.25.2` | 必需 | — |
|
||||
|
||||
<a id="regeneration"></a>
|
||||
|
||||
## 重新生成
|
||||
|
||||
在已安装依赖的仓库中,从提交的 npm 记录重新生成两种语言的目录和配对记录:
|
||||
|
||||
```sh
|
||||
pnpm run gen-dependency-catalog
|
||||
pnpm run verify-dependency-catalog
|
||||
```
|
||||
|
||||
从公开 npm registry 刷新 `latest` 及其完整依赖树,然后重新生成目录:
|
||||
|
||||
```sh
|
||||
pnpm run gen-dependency-catalog --refresh
|
||||
```
|
||||
|
||||
提交 [npm lockfile](../scripts/dependency-catalog/package-lock.json)、[解析元数据](../scripts/dependency-catalog/resolution.json)和三个目录配对文件。刷新使用临时目录并禁用安装脚本;失败时不替换已提交的解析记录。`doc-sync` 检查生成文件是否与记录一致。
|
||||
@@ -154,6 +154,8 @@
|
||||
"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",
|
||||
|
||||
+8539
File diff suppressed because it is too large.
Load diff
@@ -0,0 +1,8 @@
|
||||
{
|
||||
"capturedAt": "2026-09-12T08:31:20.812Z",
|
||||
"npm": "11.17.0",
|
||||
"node": "24.19.0",
|
||||
"platform": "darwin",
|
||||
"arch": "arm64",
|
||||
"registry": "https://registry.npmjs.org/"
|
||||
}
|
||||
@@ -0,0 +1,110 @@
|
||||
/** Production dependency selection and offline catalog freshness regressions. */
|
||||
|
||||
import { mkdirSync, mkdtempSync, readFileSync, rmSync, writeFileSync } from 'node:fs'
|
||||
import { tmpdir } from 'node:os'
|
||||
import { dirname, join, resolve } from 'node:path'
|
||||
import { afterEach, describe, expect, it } from 'vitest'
|
||||
import { collectDependencies, computeDependencyCatalogOutputs, staleDependencyCatalogPaths } from './gen-dependency-catalog.ts'
|
||||
|
||||
const roots: string[] = []
|
||||
afterEach(() => {
|
||||
for (const root of roots.splice(0)) rmSync(root, { recursive: true, force: true, maxRetries: 3 })
|
||||
})
|
||||
|
||||
function lockfile() {
|
||||
return {
|
||||
lockfileVersion: 3,
|
||||
packages: {
|
||||
'': { dependencies: { '@deepseek-ai/dsh': 'latest' } },
|
||||
'node_modules/@deepseek-ai/dsh': {
|
||||
version: '1.0.0', dependencies: { library: '^2.0.0', alias: 'npm:[email protected]' },
|
||||
optionalDependencies: { unavailable: '1.0.0' },
|
||||
},
|
||||
'node_modules/library': { version: '1.0.0' },
|
||||
'node_modules/@deepseek-ai/dsh/node_modules/library': { version: '2.0.0' },
|
||||
'node_modules/alias': { name: 'original', version: '1.0.0' },
|
||||
'node_modules/plugin': { version: '1.0.0', peerDependencies: { peer: '*' } },
|
||||
'node_modules/peer': { version: '3.0.0', peer: true },
|
||||
'node_modules/native-linux': { version: '1.0.0', optional: true, os: ['linux'], cpu: ['arm64'], libc: ['glibc'] },
|
||||
'node_modules/native-helper': { version: '1.0.0', optional: true, devOptional: true },
|
||||
'node_modules/test-only': { version: '1.0.0', dev: true },
|
||||
},
|
||||
}
|
||||
}
|
||||
|
||||
function fixture(): string {
|
||||
const root = mkdtempSync(join(tmpdir(), 'dsh-dependency-catalog-test-'))
|
||||
roots.push(root)
|
||||
mkdirSync(join(root, 'scripts/dependency-catalog'), { recursive: true })
|
||||
writeFileSync(join(root, 'scripts/dependency-catalog/package-lock.json'), JSON.stringify(lockfile()))
|
||||
writeFileSync(join(root, 'scripts/dependency-catalog/resolution.json'), JSON.stringify({
|
||||
capturedAt: '2026-09-12T00:00:00.000Z', npm: '11.17.0', node: '24.19.0',
|
||||
platform: 'darwin', arch: 'arm64', registry: 'https://registry.npmjs.org/',
|
||||
}))
|
||||
return root
|
||||
}
|
||||
|
||||
describe('published npm dependency catalog', () => {
|
||||
it('retains nested versions, aliases, peers, and optional candidates while excluding development-only packages', () => {
|
||||
const { version, rows } = collectDependencies(lockfile())
|
||||
expect(version).toBe('1.0.0')
|
||||
expect(rows).toHaveLength(7)
|
||||
expect(rows.filter(row => row.direct).map(row => [row.name, row.version])).toEqual([
|
||||
['library', '2.0.0'], ['original', '1.0.0'],
|
||||
])
|
||||
expect(rows.find(row => row.name === 'peer')).toMatchObject({ peer: true, optional: false })
|
||||
expect(rows.find(row => row.name === 'native-linux')).toMatchObject({
|
||||
optional: true, platforms: 'os: linux; cpu: arm64; libc: glibc',
|
||||
})
|
||||
expect(rows.find(row => row.name === 'native-helper')).toMatchObject({ optional: true })
|
||||
expect(rows.map(row => row.name)).not.toContain('test-only')
|
||||
expect(rows.map(row => row.name)).not.toContain('unavailable')
|
||||
})
|
||||
|
||||
it('does not silently produce an incomplete catalog from invalid or unrelated resolutions', () => {
|
||||
expect(() => collectDependencies({ lockfileVersion: 2 })).toThrow('lockfileVersion 3')
|
||||
expect(() => collectDependencies({ lockfileVersion: 3, packages: {} })).toThrow('consumer must be an object')
|
||||
const input = lockfile()
|
||||
input.packages[''].dependencies['@deepseek-ai/dsh'] = 'next'
|
||||
expect(() => collectDependencies(input)).toThrow('must request only @deepseek-ai/dsh@latest')
|
||||
const missing = lockfile()
|
||||
Reflect.deleteProperty(missing.packages, 'node_modules/alias')
|
||||
expect(() => collectDependencies(missing)).toThrow('missing direct dependency alias')
|
||||
const linked = lockfile()
|
||||
Object.assign(linked.packages['node_modules/library'], { link: true })
|
||||
expect(() => collectDependencies(linked)).toThrow('is a local link')
|
||||
})
|
||||
|
||||
it('sorts packages independently of lockfile object order and keeps duplicate installation locations', () => {
|
||||
const input = lockfile()
|
||||
const reordered = { ...input, packages: Object.fromEntries(Object.entries(input.packages).reverse()) }
|
||||
expect(collectDependencies(reordered)).toEqual(collectDependencies(input))
|
||||
Object.assign(input.packages, { 'node_modules/plugin/node_modules/library': { version: '1.0.0' } })
|
||||
expect(collectDependencies(input).rows.filter(row => row.name === 'library' && row.version === '1.0.0')).toHaveLength(2)
|
||||
})
|
||||
|
||||
it('rejects missing, edited, or stale translations and pairing records without rewriting them', () => {
|
||||
const root = fixture()
|
||||
const outputs = computeDependencyCatalogOutputs(root)
|
||||
expect(staleDependencyCatalogPaths(root)).toEqual([...outputs.keys()])
|
||||
for (const [path, content] of outputs) {
|
||||
mkdirSync(dirname(join(root, path)), { recursive: true })
|
||||
writeFileSync(join(root, path), content)
|
||||
}
|
||||
expect(staleDependencyCatalogPaths(root)).toEqual([])
|
||||
for (const [path, content] of outputs) {
|
||||
writeFileSync(join(root, path), `${content}stale\n`)
|
||||
expect(staleDependencyCatalogPaths(root)).toEqual([path])
|
||||
expect(readFileSync(join(root, path), 'utf8')).toBe(`${content}stale\n`)
|
||||
writeFileSync(join(root, path), content)
|
||||
}
|
||||
const updated = lockfile()
|
||||
updated.packages['node_modules/peer'].version = '3.1.0'
|
||||
writeFileSync(join(root, 'scripts/dependency-catalog/package-lock.json'), JSON.stringify(updated))
|
||||
expect(staleDependencyCatalogPaths(root)).toEqual([...outputs.keys()])
|
||||
})
|
||||
|
||||
it('keeps the checked-in catalog synchronized with its recorded npm resolution', () => {
|
||||
expect(staleDependencyCatalogPaths(resolve(import.meta.dirname, '..'))).toEqual([])
|
||||
})
|
||||
})
|
||||
@@ -0,0 +1,332 @@
|
||||
/** Generate the README npx dependency catalog from a recorded public npm resolution. */
|
||||
|
||||
import { existsSync, mkdirSync, readFileSync, writeFileSync } from 'node:fs'
|
||||
import { mkdtemp, rm } from 'node:fs/promises'
|
||||
import { tmpdir } from 'node:os'
|
||||
import { dirname, join, resolve } from 'node:path'
|
||||
import { parseArgs } from 'node:util'
|
||||
import { execa } from 'execa'
|
||||
import { gitBlobHash, storeGitBlob } from './translation-pairing-git.ts'
|
||||
import { renderTranslationPairingRecord, translationPairPaths } from './translation-pairing-record.ts'
|
||||
|
||||
const ROOT = resolve(import.meta.dirname, '..')
|
||||
const PACKAGE = '@deepseek-ai/dsh'
|
||||
const ENTRY = `node_modules/${PACKAGE}`
|
||||
const REGISTRY = 'https://registry.npmjs.org/'
|
||||
const LOCK = 'scripts/dependency-catalog/package-lock.json'
|
||||
const METADATA = 'scripts/dependency-catalog/resolution.json'
|
||||
const PATHS = translationPairPaths('docs/dependency-catalog.md')
|
||||
type Locale = 'en' | 'zh'
|
||||
|
||||
/** npm lockfile fields used to describe an installed package or optional candidate. */
|
||||
interface PackageEntry {
|
||||
name?: string
|
||||
version: string
|
||||
dependencies?: Record<string, string>
|
||||
optionalDependencies?: Record<string, string>
|
||||
dev?: boolean
|
||||
optional?: boolean
|
||||
peer?: boolean
|
||||
os?: string[]
|
||||
cpu?: string[]
|
||||
libc?: string[]
|
||||
}
|
||||
|
||||
/** One package location in npm's resolved tree; duplicate versions retain their locations. */
|
||||
export interface DependencyRow {
|
||||
readonly location: string
|
||||
readonly name: string
|
||||
readonly version: string
|
||||
readonly direct: boolean
|
||||
readonly optional: boolean
|
||||
readonly peer: boolean
|
||||
readonly platforms: string
|
||||
}
|
||||
|
||||
interface ResolutionMetadata {
|
||||
capturedAt: string
|
||||
npm: string
|
||||
node: string
|
||||
platform: string
|
||||
arch: string
|
||||
registry: string
|
||||
}
|
||||
|
||||
function record(value: unknown, label: string): Record<string, unknown> {
|
||||
if (typeof value !== 'object' || value === null || Array.isArray(value)) {
|
||||
throw new Error(`dependency-catalog: ${label} must be an object`)
|
||||
}
|
||||
return value as Record<string, unknown>
|
||||
}
|
||||
|
||||
function string(value: unknown, label: string): string {
|
||||
if (typeof value !== 'string' || value.length === 0 || /[\r\n]/.test(value)) {
|
||||
throw new Error(`dependency-catalog: ${label} must be a nonempty single-line value`)
|
||||
}
|
||||
return value
|
||||
}
|
||||
|
||||
function parseEntry(value: unknown, location: string): PackageEntry {
|
||||
const raw = record(value, location)
|
||||
const entry: PackageEntry = { version: string(raw['version'], `${location} version`) }
|
||||
if (raw['name'] !== undefined) entry.name = string(raw['name'], `${location} name`)
|
||||
if (raw['link'] === true) throw new Error(`dependency-catalog: ${location} is a local link`)
|
||||
for (const key of ['dev', 'optional', 'peer'] as const) {
|
||||
if (raw[key] === undefined) continue
|
||||
if (typeof raw[key] !== 'boolean') throw new Error(`dependency-catalog: ${location} ${key} must be boolean`)
|
||||
entry[key] = raw[key]
|
||||
}
|
||||
for (const key of ['dependencies', 'optionalDependencies'] as const) {
|
||||
if (raw[key] === undefined) continue
|
||||
entry[key] = Object.fromEntries(Object.entries(record(raw[key], `${location} ${key}`))
|
||||
.map(([name, spec]) => [string(name, 'dependency name'), string(spec, `${location} ${name}`)]))
|
||||
}
|
||||
for (const key of ['os', 'cpu', 'libc'] as const) {
|
||||
const values = raw[key]
|
||||
if (values === undefined) continue
|
||||
if (!Array.isArray(values)) throw new Error(`dependency-catalog: ${location} ${key} must be an array`)
|
||||
entry[key] = values.map(value => string(value, `${location} ${key}`))
|
||||
}
|
||||
return entry
|
||||
}
|
||||
|
||||
/**
|
||||
* Read npm's resolved production tree without substituting workspace or development dependencies.
|
||||
* @param input - Parsed npm lockfile v3 from a consumer with only dsh as its dependency.
|
||||
* @returns The CLI version and sorted package locations, excluding the synthetic consumer and CLI itself.
|
||||
*/
|
||||
export function collectDependencies(input: unknown): { version: string; rows: DependencyRow[] } {
|
||||
const lock = record(input, 'lockfile')
|
||||
if (lock['lockfileVersion'] !== 3) throw new Error('dependency-catalog: expected npm lockfileVersion 3')
|
||||
const packages = record(lock['packages'], 'packages')
|
||||
const consumer = record(packages[''], 'consumer')
|
||||
const requested = record(consumer['dependencies'], 'consumer dependencies')
|
||||
if (Object.keys(requested).length !== 1 || requested[PACKAGE] !== 'latest') {
|
||||
throw new Error(`dependency-catalog: consumer must request only ${PACKAGE}@latest`)
|
||||
}
|
||||
const entries = new Map(Object.entries(packages).filter(([location]) => location !== '')
|
||||
.map(([location, entry]) => [location, parseEntry(entry, location)]))
|
||||
const cli = entries.get(ENTRY)
|
||||
if (cli === undefined || cli.dev) throw new Error(`dependency-catalog: missing production ${PACKAGE}`)
|
||||
const direct = new Set<string>()
|
||||
for (const name of Object.keys({ ...cli.dependencies, ...cli.optionalDependencies })) {
|
||||
const location = [`${ENTRY}/node_modules/${name}`, `node_modules/${name}`]
|
||||
.find(candidate => entries.has(candidate))
|
||||
if (location === undefined) {
|
||||
if (cli.optionalDependencies?.[name] !== undefined) continue
|
||||
throw new Error(`dependency-catalog: missing direct dependency ${name}`)
|
||||
}
|
||||
direct.add(location)
|
||||
}
|
||||
const rows: DependencyRow[] = []
|
||||
for (const [location, entry] of entries) {
|
||||
if (location === ENTRY || entry.dev) continue
|
||||
const name = location.split('node_modules/').at(-1)
|
||||
if (name === undefined || !/^(@[^/]+\/)?[^/]+$/.test(name)) {
|
||||
throw new Error(`dependency-catalog: invalid npm package location ${location}`)
|
||||
}
|
||||
rows.push({
|
||||
location,
|
||||
name: entry.name ?? name,
|
||||
version: entry.version,
|
||||
direct: direct.has(location),
|
||||
optional: entry.optional === true,
|
||||
peer: entry.peer === true,
|
||||
platforms: (['os', 'cpu', 'libc'] as const)
|
||||
.flatMap(key => entry[key] === undefined ? [] : [`${key}: ${entry[key].join(', ')}`]).join('; '),
|
||||
})
|
||||
}
|
||||
if (rows.length === 0) throw new Error('dependency-catalog: empty dependency tree')
|
||||
rows.sort((a, b) => a.name.localeCompare(b.name, 'en')
|
||||
|| a.version.localeCompare(b.version, 'en') || a.location.localeCompare(b.location, 'en'))
|
||||
return { version: cli.version, rows }
|
||||
}
|
||||
|
||||
function readMetadata(scanRoot: string): ResolutionMetadata {
|
||||
const value = record(JSON.parse(readFileSync(resolve(scanRoot, METADATA), 'utf8')), 'resolution metadata')
|
||||
return {
|
||||
capturedAt: string(value['capturedAt'], 'capturedAt'),
|
||||
npm: string(value['npm'], 'npm'),
|
||||
node: string(value['node'], 'node'),
|
||||
platform: string(value['platform'], 'platform'),
|
||||
arch: string(value['arch'], 'arch'),
|
||||
registry: string(value['registry'], 'registry'),
|
||||
}
|
||||
}
|
||||
|
||||
function renderCatalog(version: string, rows: readonly DependencyRow[], meta: ResolutionMetadata, locale: Locale): string {
|
||||
const zh = locale === 'zh'
|
||||
const unique = new Set(rows.map(row => `${row.name}@${row.version}`)).size
|
||||
const direct = rows.filter(row => row.direct)
|
||||
const transitive = rows.filter(row => !row.direct)
|
||||
const table = (selected: readonly DependencyRow[]): string[] => [
|
||||
zh ? '| 包 | 解析版本 | 安装条件 | 包声明的平台限制 |' : '| Package | Resolved version | Installation | Declared platform restrictions |',
|
||||
'| --- | --- | --- | --- |',
|
||||
...selected.map((row) => {
|
||||
const flags = [row.optional ? (zh ? '可选' : 'Optional') : (zh ? '必需' : 'Required')]
|
||||
if (row.peer) flags.push(zh ? 'Peer 自动安装' : 'Auto-installed peer')
|
||||
return `| [\`${row.name}\`](https://www.npmjs.com/package/${row.name}/v/${row.version}) | \`${row.version}\` | ${flags.join('; ')} | ${row.platforms || '—'} |`
|
||||
}),
|
||||
'',
|
||||
]
|
||||
return [
|
||||
'<!-- Generated by scripts/gen-dependency-catalog.ts. Do not edit by hand. -->',
|
||||
'',
|
||||
zh ? '# 依赖目录' : '# Dependency catalog',
|
||||
'',
|
||||
zh ? '[English](dependency-catalog.md) | 中文' : 'English | [中文](dependency-catalog.zh.md)',
|
||||
'',
|
||||
zh ? '## 摘要' : '## Summary',
|
||||
'',
|
||||
zh
|
||||
? `查看 [README 中的 npm 命令](../README.zh.md)所安装的 \`${PACKAGE}\` 的直接和传递依赖。此记录中的 npm \`latest\` 版本为 **${version}**;共 ${rows.length} 个依赖安装位置,涉及 ${unique} 个不同的包与版本组合。`
|
||||
: `Look up the direct and transitive dependencies of \`${PACKAGE}\` installed by the [README npm command](../README.md). The recorded npm \`latest\` release is **${version}**; there are ${rows.length} dependency locations representing ${unique} distinct package/version pairs.`,
|
||||
'',
|
||||
zh ? '## 目录' : '## Table of Contents',
|
||||
'',
|
||||
zh ? '- [范围](#scope)' : '- [Scope](#scope)',
|
||||
zh ? '- [直接依赖](#direct-dependencies)' : '- [Direct dependencies](#direct-dependencies)',
|
||||
zh ? '- [传递依赖](#transitive-dependencies)' : '- [Transitive dependencies](#transitive-dependencies)',
|
||||
zh ? '- [重新生成](#regeneration)' : '- [Regeneration](#regeneration)',
|
||||
'',
|
||||
'<a id="scope"></a>',
|
||||
'',
|
||||
zh ? '## 范围' : '## Scope',
|
||||
'',
|
||||
'```sh',
|
||||
'npx @deepseek-ai/dsh web',
|
||||
'```',
|
||||
'',
|
||||
zh
|
||||
? `采集时间:\`${meta.capturedAt}\`。解析工具:npm \`${meta.npm}\`,Node.js \`${meta.node}\`,\`${meta.platform}/${meta.arch}\`。Registry:${meta.registry}`
|
||||
: `Captured: \`${meta.capturedAt}\`. Resolver: npm \`${meta.npm}\`, Node.js \`${meta.node}\`, \`${meta.platform}/${meta.arch}\`. Registry: ${meta.registry}`,
|
||||
'',
|
||||
zh
|
||||
? '此记录使用空白 npm 消费项目解析公开发布包,包含必需依赖、自动安装的 Peer 依赖及可选依赖候选项。`web` 参数选择启动模式,不会缩小 CLI 的安装依赖。仓库的开发依赖和未被引用的 workspace 包不在此范围内。'
|
||||
: 'This record resolves published packages in an empty npm consumer, including required dependencies, automatically installed peers, and optional dependency candidates. The `web` argument selects a launch mode; it does not narrow the CLI installation. Repository development dependencies and unreferenced workspace packages are outside this scope.',
|
||||
'',
|
||||
zh
|
||||
? '可选项仅在平台匹配且安装成功时出现;经可选父包引入的依赖也可能被省略。平台列显示包自身的 `os`、`cpu` 和 `libc` 声明,`—` 表示包自身未声明限制。表格中的重复行保留 npm 在不同位置安装的相同包版本。此目录由仅生成 lockfile 的解析过程产生,不验证安装脚本或其下载的额外文件。'
|
||||
: 'Optional entries appear only when their platform matches and installation succeeds; dependencies reached through optional parents can also be omitted. The platform column shows each package’s own `os`, `cpu`, and `libc` declarations; `—` means no restriction declared by that package. Repeated rows retain identical package versions installed at different locations. This catalog comes from a lockfile-only resolution and does not verify install scripts or additional files they download.',
|
||||
'',
|
||||
zh
|
||||
? '这是带时间的解析记录:npm 的 tag、版本范围、npm/Node.js 版本、平台、配置及现有本地安装或缓存均可能改变实际结果。普通生成和 CI 检查使用提交的记录;只有刷新命令查询 registry。参见 [npx 文档](https://docs.npmjs.com/cli/v11/commands/npx/)和 [npm lockfile 文档](https://docs.npmjs.com/cli/v11/configuring-npm/package-lock-json/)。'
|
||||
: 'This is a dated resolution: npm tags, version ranges, npm/Node.js versions, platform, configuration, and existing local installations or caches can change the actual result. Normal generation and CI checks use the committed record; only the refresh command queries the registry. See the [npx documentation](https://docs.npmjs.com/cli/v11/commands/npx/) and [npm lockfile documentation](https://docs.npmjs.com/cli/v11/configuring-npm/package-lock-json/).',
|
||||
'',
|
||||
'<a id="direct-dependencies"></a>',
|
||||
'',
|
||||
zh ? '## 直接依赖' : '## Direct dependencies',
|
||||
'',
|
||||
zh ? `${direct.length} 个安装位置由已发布 CLI 的依赖字段直接引用。` : `${direct.length} locations are referenced directly by the published CLI dependency fields.`,
|
||||
'',
|
||||
...table(direct),
|
||||
'<a id="transitive-dependencies"></a>',
|
||||
'',
|
||||
zh ? '## 传递依赖' : '## Transitive dependencies',
|
||||
'',
|
||||
zh ? `${transitive.length} 个其余安装位置由依赖树引入。` : `${transitive.length} further locations are brought in by the dependency tree.`,
|
||||
'',
|
||||
...table(transitive),
|
||||
'<a id="regeneration"></a>',
|
||||
'',
|
||||
zh ? '## 重新生成' : '## Regeneration',
|
||||
'',
|
||||
zh
|
||||
? '在已安装依赖的仓库中,从提交的 npm 记录重新生成两种语言的目录和配对记录:'
|
||||
: 'In an installed repository checkout, regenerate both languages and the pairing record from the committed npm resolution:',
|
||||
'',
|
||||
'```sh',
|
||||
'pnpm run gen-dependency-catalog',
|
||||
'pnpm run verify-dependency-catalog',
|
||||
'```',
|
||||
'',
|
||||
zh ? '从公开 npm registry 刷新 `latest` 及其完整依赖树,然后重新生成目录:' : 'Refresh `latest` and its complete dependency tree from the public npm registry, then regenerate the catalog:',
|
||||
'',
|
||||
'```sh',
|
||||
'pnpm run gen-dependency-catalog --refresh',
|
||||
'```',
|
||||
'',
|
||||
zh
|
||||
? `提交 [npm lockfile](../${LOCK})、[解析元数据](../${METADATA})和三个目录配对文件。刷新使用临时目录并禁用安装脚本;失败时不替换已提交的解析记录。\`doc-sync\` 检查生成文件是否与记录一致。`
|
||||
: `Commit the [npm lockfile](../${LOCK}), [resolution metadata](../${METADATA}), and all three catalog pair files. Refresh uses a temporary directory with install scripts disabled; a failed resolution leaves the committed record intact. \`doc-sync\` checks generated files against the record.`,
|
||||
'',
|
||||
].join('\n')
|
||||
}
|
||||
|
||||
/**
|
||||
* Compute all catalog artifacts without network access or writes.
|
||||
* @param scanRoot - Repository root containing the recorded npm resolution.
|
||||
* @returns Repository-relative paths and their deterministic contents.
|
||||
*/
|
||||
export function computeDependencyCatalogOutputs(scanRoot: string = ROOT): ReadonlyMap<string, string> {
|
||||
const { version, rows } = collectDependencies(JSON.parse(readFileSync(resolve(scanRoot, LOCK), 'utf8')))
|
||||
const metadata = readMetadata(scanRoot)
|
||||
const en = renderCatalog(version, rows, metadata, 'en')
|
||||
const zh = renderCatalog(version, rows, metadata, 'zh')
|
||||
return new Map([
|
||||
[PATHS.source, en],
|
||||
[PATHS.zh, zh],
|
||||
[PATHS.meta, renderTranslationPairingRecord(PATHS, {
|
||||
sourceHash: gitBlobHash(Buffer.from(en)),
|
||||
zhHash: gitBlobHash(Buffer.from(zh)),
|
||||
})],
|
||||
])
|
||||
}
|
||||
|
||||
/**
|
||||
* Check every generated document and pairing record against the npm resolution.
|
||||
* @param scanRoot - Repository root containing the resolution and generated files.
|
||||
* @returns Paths with missing or stale generated contents.
|
||||
*/
|
||||
export function staleDependencyCatalogPaths(scanRoot: string = ROOT): string[] {
|
||||
return [...computeDependencyCatalogOutputs(scanRoot)]
|
||||
.filter(([path, content]) => !existsSync(resolve(scanRoot, path)) || readFileSync(resolve(scanRoot, path), 'utf8') !== content)
|
||||
.map(([path]) => path)
|
||||
}
|
||||
|
||||
async function refreshResolution(): Promise<void> {
|
||||
const temporary = await mkdtemp(join(tmpdir(), 'dsh-dependency-catalog-'))
|
||||
try {
|
||||
writeFileSync(join(temporary, 'package.json'), `${JSON.stringify({
|
||||
name: 'dsh-dependency-catalog', version: '0.0.0', private: true, dependencies: { [PACKAGE]: 'latest' },
|
||||
}, null, 2)}\n`)
|
||||
const options = { cwd: temporary, env: { npm_config_user_agent: undefined }, timeout: 300_000 }
|
||||
const { stdout: npm } = await execa('npm', ['--version'], options)
|
||||
await execa('npm', [
|
||||
'install', '--package-lock-only', '--lockfile-version=3', '--ignore-scripts', '--no-audit', '--no-fund',
|
||||
'--include=prod', '--include=optional', '--include=peer', '--legacy-peer-deps=false', `--registry=${REGISTRY}`,
|
||||
], options)
|
||||
const lock = readFileSync(join(temporary, 'package-lock.json'), 'utf8')
|
||||
collectDependencies(JSON.parse(lock))
|
||||
const metadata: ResolutionMetadata = {
|
||||
capturedAt: new Date().toISOString(), npm, node: process.versions.node,
|
||||
platform: process.platform, arch: process.arch, registry: REGISTRY,
|
||||
}
|
||||
mkdirSync(resolve(ROOT, dirname(LOCK)), { recursive: true })
|
||||
writeFileSync(resolve(ROOT, LOCK), lock)
|
||||
writeFileSync(resolve(ROOT, METADATA), `${JSON.stringify(metadata, null, 2)}\n`)
|
||||
} finally {
|
||||
await rm(temporary, { recursive: true, force: true, maxRetries: 3 })
|
||||
}
|
||||
}
|
||||
|
||||
async function main(): Promise<void> {
|
||||
const { values } = parseArgs({ options: { check: { type: 'boolean' }, refresh: { type: 'boolean' } } })
|
||||
if (values.check && values.refresh) throw new Error('dependency-catalog: --check cannot refresh the registry record')
|
||||
if (values.refresh) await refreshResolution()
|
||||
if (values.check) {
|
||||
const stale = staleDependencyCatalogPaths()
|
||||
if (stale.length > 0) {
|
||||
throw new Error(`dependency-catalog: stale ${stale.join(', ')}; run pnpm run gen-dependency-catalog`)
|
||||
}
|
||||
console.log('dependency-catalog: all 3 artifacts match the recorded npm resolution')
|
||||
return
|
||||
}
|
||||
for (const [path, content] of computeDependencyCatalogOutputs()) {
|
||||
if (path.endsWith('.md')) storeGitBlob(ROOT, Buffer.from(content))
|
||||
writeFileSync(resolve(ROOT, path), content)
|
||||
}
|
||||
console.log('dependency-catalog: generated both languages and the pairing record')
|
||||
}
|
||||
|
||||
if (process.argv[1] !== undefined && import.meta.filename === resolve(process.argv[1])) await main()
|
||||
@@ -213,6 +213,13 @@ describe('gate graph validation', () => {
|
||||
expect(quick).toEqual(full.filter(gate => gate.quick === true))
|
||||
})
|
||||
|
||||
it('checks the recorded npm dependency catalog in both documentation aggregates', () => {
|
||||
for (const mode of ['doc-sync', 'doc-quick'] as const) {
|
||||
expect(withPnpmEntrypoint(() => gatesForMode(mode).find(gate => gate.id === 'dependency-catalog')))
|
||||
.toMatchObject({ args: ['/private/pnpm.cjs', 'run', 'verify-dependency-catalog'] })
|
||||
}
|
||||
})
|
||||
|
||||
it('keeps the hygiene aggregate aligned with the package script checks', () => {
|
||||
const ids = withPnpmEntrypoint(() => gatesForMode('hygiene').map(subject => subject.id))
|
||||
|
||||
|
||||
@@ -740,6 +740,7 @@ function docSyncLeafGates(options: {
|
||||
pnpmScript('export-jsdoc', 'verify-export-jsdoc', { label: 'export jsdoc' }),
|
||||
pnpmScript('tool-catalog', 'verify-tool-catalog', { label: 'tool catalog' }),
|
||||
pnpmScript('config-catalog', 'verify-config-catalog', { label: 'config catalog' }),
|
||||
pnpmScript('dependency-catalog', 'verify-dependency-catalog', { label: 'npm dependency catalog', quick: true }),
|
||||
pnpmScript('persistence-catalog', 'verify-persistence-catalog', { label: 'persistence catalog' }),
|
||||
pnpmScript('persistence-changes', 'verify-persistence-changes', { label: 'persistence type history' }),
|
||||
pnpmScript('session-format-catalog', 'verify-session-format-catalog', { label: 'Session format catalog' }),
|
||||
|
||||
Reference in new issue
Block a user